'Open remote backup database and set archive bit on all entries already backed up. 'This is used for switching from Modified Date/time or FastPick to Archive flag 'Update version 10/26/2011 - MDR 'support for MSAccess MOD operator for performance optimization (split into parts) CONST RBSProvider = "Dr.Backup" CONST Version = "(v3.0.3)" MyDEBUG = False CONST YESNO = 4 CONST Parts = 5 'break into multiple passes to be memory friendly ModOperator = "MOD" '** standard pre-amble for all interactive scripts ** 'get OS volume Set OSobj = CreateObject("Scripting.FileSystemObject") OSfolder = OSobj.getspecialfolder(0) objStartFolder = Left(OSfolder, 3) 'root of search file tree OSVolume = Left(OSfolder, 1) '** added to elevate privs - initial call will have zero arguments ** If WScript.Arguments.count = 0 AND NewOS() Then Set objShell = CreateObject("Shell.Application") 'Pass a bogus argument with leading blank space, say [ uac] objShell.ShellExecute "wscript.exe", Chr(34) & _ WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1 Wscript.Quit End If 'find location of 32-bit script processing program - in syswow64 on 64-bit machines ScriptEXE = OSFolder & "\SYSTEM32\Cscript.exe" Set objFSOexe = CreateObject("Scripting.FileSystemObject") If objFSOexe.FileExists(OSFolder & "\SYSWOW64\Cscript.exe") Then '640bit system found. switch to 32-bit cscript ScriptEXE = OSFolder & "\SYSWOW64\Cscript.exe" End If '** if we have UAC escalated count will be 1, otherwise 0 on legacy machines ** '** force use of cscript by re-running so we get console display ** If Wscript.Arguments.Count < 2 Then strPath = Wscript.ScriptFullName 'use psexec? Response = Msgbox("Use SYSTEM account? (PSEXEC) ", YESNO + 256, "PSEXEC-SYSTEM") If Response = VbYes Then PSEXEC = TRUE If Instr(ScriptEXE, "SYSWOW64") <> 0 Then '64-bit machine If objFSOexe.FileExists(OSVolume & ":\Program Files (x86)\Remote Backup\Custom\psexec.exe") Then ScriptEXE = """" & OSVolume & ":\Program Files (x86)\Remote Backup\Custom\psexec.exe"" -sid " & ScriptEXE & "" Else PSEXEC = False End If Else '32-bit machine If objFSOexe.FileExists(OSVolume & ":\Program Files\Remote Backup\Custom\psexec.exe") Then ScriptEXE = """" & OSVolume & ":\Program Files\Remote Backup\Custom\psexec.exe"" -sid " & ScriptEXE & " " Else PSEXEC = False End If End If Else PSEXEC = FALSE End If If PSEXEC Then strCommand = "%comspec% /k " & """" & ScriptEXE & " //nologo """ & strPath & """" & " 1 2" & """" Else strCommand = "%comspec% /k " & ScriptEXE & " //nologo """ & strPath & """" & " 1 2" End If 'Wscript.Echo "strCommand = " & strCommand Set objShell = CreateObject("Wscript.Shell") objShell.Run(strCommand), 1, True Wscript.Quit End If On Error GoTo 0 Wscript.StdOut.Write(RBSProvider & " - Switch to Archive Bit Utility " & Version & VbCrLF) Wscript.StdOut.WriteLine("Start: " & Now() & VbCr) Wscript.StdOut.Writeline(" ") status = MsgBox("Warning: This script will CLEAR the Archive flag on all files found in your your local catalog.", vbOkCancel + vbInformation + vbDefaultButton2, "Clear Archive Flags?") If status = vbCancel Then Wscript.Quit End If 'Get catalog location from Registry Const HKEY_LOCAL_MACHINE = &H80000002 strComputer = "." strKeyPath = "SOFTWARE\Quantum Tech, Inc.\Remote Backup\Settings" strEntryName = "ClientDB" Set objReg = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv") status = objReg.GetStringValue( HKEY_LOCAL_MACHINE, strKeyPath, strEntryName, strValue) 'Sometimes security products block access to the registry. If so, lookup will fail. 'Give the user an opportunity to specify location of backup catalog manually rather than hard fail. If (status <> 0) or (Err.Number <> 0) Then strValue = InputBox("Unable to lookup database location in registry." & VbCrLf & "Please enter path below: ","Locate Backup Catalog", "C:\Program Files (x86)\Remote Backup") If Len(strValue) = 0 Then Wscript.StdOut.WriteLine("Cancelled. Script aborted." & VbCr) Wscript.Quit End If End If DBPath = strValue Database = strValue & "\" & "backup.mdb" 'Wscript.StdOut.WriteLine("Processing Database: " & Database) 'INITIALIZE DATABASE 'grab Database type field from registry strEntryName = "DBType" err.clear Set objReg = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv") status = objReg.GetStringValue( HKEY_LOCAL_MACHINE, strKeyPath, strEntryName, strValue) If (status = 0) and (Err.Number = 0) Then 'dbtype field found. DBType = strValue Else DBType = "0" 'default to MS Access db End If If DBType <> "0" Then 'Get SQL Server from registry ModOperator = "%" strEntryName = "DBServer" Err.Clear Set objReg = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv") status = objReg.GetStringValue( HKEY_LOCAL_MACHINE, strKeyPath, strEntryName, strValue) If (status = 0) and (Err.Number = 0) Then DBServer = strValue WScript.StdOut.Writeline (VbCrLf& "Processing SQL Server Database: " & DBServer & " (RBBACKUP)" & VbCrLf) SQLDb = True NullSub = "IsNull([LongPath],[Filename])" 'complex query string for MSSQL Else WScript.StdOut.Writeline ("Registry error: " & err.description & " Error Code: " & err.number & VbCr) WScript.StdOut.Writeline ("Unable to access SQL Server in registry. Quitting." & VbCr) Wscript.Quit End If Else 'Setup for MS Access database WScript.StdOut.Writeline (VbCrLf & "Processing Access Database: " & Database & VbCrLf) SQLDb = False NULLSub = "IIf(IsNull([LongPath]),[Filename],[LongPath])" 'complex query string for MS Access End If 'End setup and database initialization - begin script function here 'CONNECT TO DATABASE If SQLDb = FALSE Then Err.Clear Set conn = CreateObject("ADODB.Connection") Set backupset = CreateObject("ADODB.Recordset") strConnect = "Provider=MSDASQL; DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & DataBase & ";UID=admin;PWD=;" conn.Open strConnect If Err.Number <> 0 Then Wscript.StdOut.WriteLine(VbCrLf & "Unable to Open Access Database.") Wscript.StdOut.WriteLine(VbCrLf & "Can't continue." & VbCr) Wscript.Quit End If Else Err.Clear 'SQL database Open goes here Set conn = CreateObject("ADODB.Connection") Set backupset = CreateObject("ADODB.Recordset") Const adUseServer = 2 '8/13/2017 - let the server do the heavy lifting on this one backupset.Cursorlocation = adUseServer strConnect = "Provider=SQLOLEDB;Data Source=" & DBSERVER & ";Trusted_Connection=Yes;" & _ "Initial Catalog=RBBACKUP;" conn.CommandTimeout = 0 conn.Open strConnect If Err.Number <> 0 Then Wscript.StdOut.WriteLine(VbCrLf & "Unable to Open SQL Database.") Wscript.StdOut.WriteLine(VbCrLf & "Can't continue." & VbCr) Wscript.Quit End If End If ''All rbclient versions > 9.4 store timestamps for modified date in GMT. Let's compute offset of this computer from GMT ''so that we can adjust our comparisons accordingly. ''set oShell = CreateObject("WScript.Shell") ''atb = "HKEY_LOCAL_MACHINE\System\CurrentControlSet\" &_ '' "Control\TimeZoneInformation\ActiveTimeBias" ''offsetMin = oShell.RegRead(atb) 'MsgBox ("offsetMin = " & offsetMin) 'Get the computer’s current time zone offset (alternate method, no dependent on registry key ActiveTimeBias not present in Azure VMs) For Each LocalTimeZone in GetObject("winmgmts:").InstancesOf("Win32_ComputerSystem") OffsetMin = LocalTimeZone.CurrentTimeZone * -1 Next Total = 0 Processed = 0 NotFound = 0 Cleared = 0 Errors = 0 Skipped = 0 AlreadyCleared = 0 LongFiles = 0 For Pass = 0 to Parts -1 sqlStmt = "SELECT Catalog.ID, Catalog.DateStamp, Catalog.SetNameID, " & _ " Catalog.Status," & _ " Catalog.[Filename], Catalog.LongPathID," & _ " Catalog.OrigSize, Catalog.PrepSize, " & _ " Catalog.FullPFolder, Catalog.LPathID, LongPaths.LongPath, " & NullSub & _ " AS OrigName, SetNames.[Name] AS SetName, Catalog.SubFolder, " & _ " Catalog.Plugin, Catalog.ModifiedDate, " & _ " Catalog.BackupLocation, Catalog.LPathID FROM SetNames INNER JOIN" & _ " (LongPaths RIGHT JOIN [Catalog] ON LongPaths.PathID = Catalog.LongPathID)" & _ " ON SetNames.ID = Catalog.SetNameID " & _ " WHERE Catalog.ID " & ModOperator & " " & Parts & " = " & Pass 'Query to get the files from the catalog backupset.open sqlStmt, conn, 3, 3 'loop through all files and delete from catalog table Total = Total + backupset.RecordCount Set objFSO = CreateObject("Scripting.FileSystemObject") Do Until backupset.EOF 'Lets see if a file really exists and if so, touch it to set archive flag for future incremental backups If MyDebug then Wscript.StdOut.Writeline("Processing file = " & backupset("Filename")) 'Lets see if a file really exists and if so, touch it to set archive flag for future incremental backups If Len(backupset("Filename") & " ") = 1 Then 'This is an old-style long filename. Let' fetch upto 512 characters of that name FullFilename = backupset("Longpath").Getchunk(512) If MyDebug Then Wscript.StdOut.Writeline("Legacy Long filename = " & FullFilename) LongFiles = LongFiles + 1 If Len(FullFilename & " ") = 1 Then FullFilename = "C:\Legacy-Longfile-Not-Found-Error" Else 'Need to check if this is a regular file, or an alias to a long filename and handle appropriately 'Wscript.Echo "LPATHID = " & Backupset("LPATHID") If Backupset("LPATHID") = "0" OR Len(Backupset("LPATHID") & " ") = 1 Then 'This is a plain olde filename - simple case. 'Wscript.Echo "FullFileName (NormalFile) = " & FullFilename FullFilename = backupset("Filename") If Len(FullFilename & " ") = 1 Then FullFilename = "C:\Normal-File-Not-Found-Error" Else If MyDebug Then Wscript.StdOut.Writeline("Processing Long256 file = " & backupset("Filename")) 'We are processing an alias to a longfile. 'Need to lookup the actual filename and map an internal share to it 'CONNECT TO DATABASE Err.Clear If SQLDb = FALSE Then Set objLongConn = CreateObject("ADODB.Connection") strLongConnect = "Provider=MSDASQL; DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & DataBase & ";UID=admin;PWD=;" objLongConn.Open strLongConnect, 3, 3 If Err.Number <> 0 Then Wscript.StdOut.WriteLine(VbCrLf & "Unable to Open Access Database for longfile lookup.") Wscript.StdOut.WriteLine(VbCrLf & "Can't continue." & VbCr) Wscript.Quit End If Else Err.Clear 'SQL database Open goes here Set ObjLongConn = CreateObject("ADODB.Connection") strLongConnect = "Provider=SQLOLEDB;Data Source=" & DBSERVER & ";Trusted_Connection=Yes;" & _ "Initial Catalog=RBBACKUP;" ObjLongConn.Open strLongConnect, 3, 3 If Err.Number <> 0 Then Wscript.StdOut.WriteLine(VbCrLf & "Unable to Open SQL Database for longfile lookup.") Wscript.StdOut.WriteLine(VbCrLf & "Can't continue." & VbCr) Wscript.Quit End If End If 'begin looking up longfile alias CleanUpLongFile = False Set rsLongFileEntry = CreateObject("ADODB.Recordset") sqlLongStmt = "Select SourceFolder, SourceFile from [LongPaths256] WHERE LPathID = " & Backupset("LPathID") rsLongFileEntry.open sqlLongStmt, objLongConn, 3, 3 'Wscript.StdOut.WriteLine(VbCrLf & "LPATHID Query Status = " & rsLongFileEntry.EOF) If rsLongFileEntry.EOF = FALSE Then If MyDebug Then Wscript.StdOut.Writeline("Creating SHARE for file = " & backupset("Filename")) 'Found the record. Process it here. MyDrive = FreeDrive() If MyDebug Then Wscript.Echo "MyDrive = " & MyDrive MyPC = MyComputerName() If MyDebug Then Wscript.Echo "MyComputerName = " & MyPC MySourceFolder = rsLongFileEntry("SourceFolder") If Len(MySourceFolder) = 2 Then 'root of drive, ignore share mapping. use actual file. FullFilename = MysourceFolder & "\" & rsLongFileEntry("SourceFile") LongFiles = LongFiles + 1 If MyDebug Then Wscript.Echo "FullFileName (Long-Root) = " & FullFilename If Len(FullFilename & " ") = 1 Then FullFilename = "C:\Root-Shared-File-Not-Found-Error" Else MakeShare MySourceFolder, "DRBACKUP" If MyDebug Then Wscript.Echo "SourceFolder = " & rsLongFileEntry("SourceFolder") MapStatus = MapDrive(MyDrive, "\\" & MyPC & "\" & "DRBACKUP") If MyDebug Then Wscript.Echo "MapStatus = " & MapStatus FullFilename = MyDrive & ":\" & rsLongFileEntry("SourceFile") OriginalFullFilename = rsLongFileEntry("SourceFolder") & "\" & rsLongFileEntry("SourceFile") If MyDebug Then Wscript.Echo "FullFileName (Long) = " & FullFilename CleanupLongFile = TRUE LongFiles = LongFiles + 1 If Len(FullFilename & " ") = 1 Then FullFilename = "C:\Shared-File-Not-Found-Error" End If rsLongFileEntry.Close 'rsLongFileEntry = Nothing Else Wscript.Echo "Failed to lookup long filename - some sort of database corruption/mismatch likely" 'error looking up longfilename rcord If Len(FullFilename & " ") = 1 Then FullFilename = "C:\File-Lookup-Not-Found-Error" End If objLongConn.Close 'objLongConn = Nothing End If End If 'by here, we are either using the normal filename, the legacy long filename (upto 259 characters) 'or a share-mounted version of the real long filename as looked up in the alias long256 table 'handle unexpected error in catalog If Len(FullFilename & " ") = 1 Then FullFileName = "C:\Default-Empty-File-Placeholder" If objFSO.FileExists(FullFilename) Then Set objFile = objFSO.GetFile(FullFilename) If objFile.Attributes AND 32 Then 'we need to put a check in here that clears AB ONLY if modified date/time in catalog are same as 'modified date/time on actual file...in case file has actually changed since last backup ModifiedDateGMT = dateadd("n", -1 * cint(offsetMin), backupset("ModifiedDate")) 'special processing here...detect minor differences in file times and detect local vs gmt time written to catalog for full backups If Abs(datediff("s", ModifiedDateGMT, objFile.DateLastModified)) < 2 OR _ Abs(datediff("s", backupset("ModifiedDate"), objFile.DateLastModified)) < (3600 + 2) Then On Error Resume Next objFile.Attributes = objFile.Attributes XOR 32 'crude test here to make sure that we updated archive flag If objFile.Attributes AND 32 Then Wscript.Echo "Flag Clear Error: " & FullFilename If myDebug = TRUE Then status = MsgBox("Archive Flag Clear Error on: " & FullFilename, vbOKONLY, "Clear Archive Flag Error") End If Errors = Errors + 1 Else Cleared = Cleared + 1 End If On Error GoTo 0 Else If MyDebug then Wscript.Echo " " Wscript.Echo "WARN: File modified since date recorded in catalog (" & FullFileName & ")" Wscript.Echo " DateDiff: " & datediff("s", dateadd("n", -1 * cint(offsetMin), backupset("ModifiedDate")), objFile.DateLastModified) Wscript.Echo " ID: " & backupset("ID") & " (" & backupset("SetNameID") & ")" Wscript.Echo " BackupDate: " & backupset("DateStamp") Wscript.Echo " In Catalog: " & dateadd("n", -1 * cint(offsetMin), backupset("ModifiedDate")) Wscript.Echo " On Disk: " & objFile.DateLastModified End If Skipped = Skipped + 1 End If Else 'AB already cleared AlreadyCleared = AlreadyCleared + 1 End If 'manually delete file system object If IsObject(objFile) Then If Not objFile Is Nothing Then Set objFile = Nothing End If End If 'objFile = nothing Else 'File Not found on disk NotFound = NotFound + 1 End If Processed = Processed + 1 'since catalog could be large, provide feedback here If (Processed Mod 100) = 0 OR MyDebug = True Then Wscript.StdOut.Write("Catalog Processing: " & Processed & "/" & Total & VbCr) End If If CleanUpLongFile = TRUE Then 'Free up drive letter & remove local share UnmapDrive(MyDrive) RemoveShare("DRBACKUP") End If On Error Resume Next backupset.MoveNext On Error GoTo 0 Loop backupset.close Next 'pass Wscript.StdOut.Write("Catalog Processing: " & Processed & "/" & Total & VbCrLF) 'done clearing Archive bit flag from catalog files. 'Show stats Wscript.StdOut.Writeline (VbCrLf & VbCrLf & "Stats... " & VbCrLf) Wscript.StdOut.WriteLine( _ " Deleted, Moved or Renamed : " & NotFound & VbCrLf & _ " Archive Flag Cleared : " & Cleared & VbCrLf & _ " Error Clearing Archive Flag : " & Errors & VbCrLf & _ " Recently Modified - Skipped : " & Skipped & VbCrLf & _ " Archive Flag Already Cleared : " & AlreadyCleared & VbCrLf & _ " Extra Long filenames : " & LongFiles & VbCrLf) Wscript.StdOut.Write("Catalog Processing: " & Processed & "/" & Total & VbCrLF) 'Wscript.Echo VbCrLf & "Archive Flag Cleared (" & Cleared & ")" 'show report Wscript.StdOut.Writeline(" ") Wscript.StdOut.Write(RBSProvider & " - Switch to Archive Bit Utility " & Version & VbCrLF) Wscript.StdOut.Writeline("All client-side catalog entry archive flags cleared." & vbCRLF & vbCRLF) 'all done Wscript.StdOut.WriteLine("Complete: " & Now()) & VbCrLf Pause "press ENTER to close this command box..." Wscript.quit Function NewOS() On Error Resume Next strComputer = "." OScaption = "" NewOS = False Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colOperatingSystems = objWMIService.ExecQuery _ ("Select * from Win32_OperatingSystem") For Each objOperatingSystem in colOperatingSystems OScaption = objOperatingSystem.Caption Next If Instr(OScaption,"XP") > 0 OR _ Instr(OScaption, "2003") > 0 OR _ instr(OScaption, "2000") > 0 OR _ len(OScaption) = 0 Then NewOS = False Else NewOS = True End If Exit Function End Function Function GetMachineNameString() 'get a string representation of machine name with timestamp Set wshShell = WScript.CreateObject( "WScript.Shell" ) strComputerName = wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" ) strComputerName = Replace(strComputerName, " ", "_") 'WScript.Echo "Computer Name: " & strComputerName GetMachineNameString = strComputerName Set wshShell = Nothing Exit Function End Function Function FreeDrive() 'find a free drive letter not in use CONST DefaultStart = "A" Ltr = DefaultStart Set objFS = CreateObject("Scripting.FileSystemObject") Do While objFS.DriveExists(Ltr) and UCase(Ltr) <= "Z" Ltr = Chr(ASC(Ltr) + 1) If Ltr = "[" Then Wscript.Echo "Drive letter allocation failed." FreeDrive = "" Exit Function End If Loop FreeDrive = Ltr Set objFS = Nothing Exit Function End Function Function MyComputerName 'fetch the name of the computer Set wshShell = CreateObject( "WScript.Shell" ) strComputerName = wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" ) 'WScript.Echo "Computer Name: " & strComputerName MyComputerName = strComputerName Set wshShell = Nothing Exit Function End Function Function MapDrive(DriveLetter, UNCPath) 'attempt to map a network drive Set objNetwork = CreateObject("Wscript.Network") On Error Resume Next objNetwork.MapNetworkDrive DriveLetter & ":", UNCPath, FALSE If NOT (Err = 0 OR Err = 22) Then 'Wscript.Echo "Error = " & Err & " MAP Description: " & Err.Description Err.Clear On Error Resume Next 'Wscript.Echo "Failed to establish path mapping: " & DriveLetter & ": to " & UNCPath & " " & Err.Description MapDrive = FALSE Exit Function End If MapDrive = TRUE On Error GoTo 0 'Wscript.Echo "Mapped: " & DriveLetter & ": " & UNCPath Set objNetwork = Nothing End Function Function UnMapDrive(DriveLetter) 'attempt to unmap a network drive Set objNetwork = CreateObject("Wscript.Network") On Error Resume Next objNetwork.RemoveNetworkDrive DriveLetter & ":", TRUE, TRUE If Err <> 0 Then Err.Clear On Error Resume Next 'Wscript.Echo "Failed to remove path mapping: " & DriveLetter & ":" UnMapDrive = FALSE Exit Function End If UnMapDrive = TRUE 'Wscript.Sleep(100) Set objNetwork = Nothing On Error GoTo 0 End Function Function MakeShare(sSharePath, sShareName) Const FILE_SHARE = 0 Const MAX_CONNECT = 2 RemoveShare sShareName 'create security descriptor - sd Set wmi = GetObject("winmgmts://./root/cimv2") Set trustee = wmi.Get("Win32_Trustee").SpawnInstance_() trustee.Domain = Null trustee.Name = "Everyone" trustee.SID = Array(1,1,0,0,0,0,0,1,0,0,0,0) 'SID S-1-1-0 (binary) Set ace = wmi.Get("Win32_Ace").SpawnInstance_() ace.AccessMask = 2032127 'full access ace.AceFlags = 3 'object inheritance + container inheritance ace.AceType = 0 'allow access ace.Trustee = trustee Set sd = wmi.Get("Win32_SecurityDescriptor").SpawnInstance_() sd.DACL = Array(ace) Set objWin = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") Set ObjWinS = objWin.Get("Win32_Share") On Error Resume Next MakeShare = ObjWinS.Create(sSharePath, sShareName, FILE_SHARE, MAX_CONNECT, sShareName, "", sd) 'Wscript.Echo "create share status=" & Err & " Description: " & Err.Description If NOT (Err = 0 OR Err = 22) Then Wscript.Echo "Failed to create share: " & sSharePath & " (" & Err.Description & ")" Exit Function End If Set objWinS = Nothing Set objWin = Nothing Set wmi = Nothing 'Wscript.Echo "Created share: " & sShareName End Function Sub RemoveShare(sShareName) Dim cShares, oShare On Error Resume Next Set objWin = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") Set cShares = objWin.ExecQuery _ ("Select * from Win32_Share Where Name = '" & sShareName & "'") For Each oShare in cShares oShare.Delete Next Set objWin = Nothing End Sub Sub Pause(strPause) WScript.Echo (strPause) z = WScript.StdIn.ReadLine End Sub '' SIG '' Begin signature block '' SIG '' MIInAwYJKoZIhvcNAQcCoIIm9DCCJvACAQExCzAJBgUr '' SIG '' DgMCGgUAMGcGCisGAQQBgjcCAQSgWTBXMDIGCisGAQQB '' SIG '' gjcCAR4wJAIBAQQQTvApFpkntU2P5azhDxfrqwIBAAIB '' SIG '' AAIBAAIBAAIBADAhMAkGBSsOAwIaBQAEFDcwKjEZaHjz '' SIG '' zioxPCcCtbcwb5wMoIIf4jCCBW8wggRXoAMCAQICEEj8 '' SIG '' k7RgVZSNNqfJionWlBYwDQYJKoZIhvcNAQEMBQAwezEL '' SIG '' MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFu '' SIG '' Y2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UE '' SIG '' CgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMMGEFB '' SIG '' QSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0yMTA1MjUw '' SIG '' MDAwMDBaFw0yODEyMzEyMzU5NTlaMFYxCzAJBgNVBAYT '' SIG '' AkdCMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxLTAr '' SIG '' BgNVBAMTJFNlY3RpZ28gUHVibGljIENvZGUgU2lnbmlu '' SIG '' ZyBSb290IFI0NjCCAiIwDQYJKoZIhvcNAQEBBQADggIP '' SIG '' ADCCAgoCggIBAI3nlBIiBCR0Lv8WIwKSirauNoWsR9Qj '' SIG '' kSs+3H3iMaBRb6yEkeNSirXilt7Qh2MkiYr/7xKTO327 '' SIG '' toq9vQV/J5trZdOlDGmxvEk5mvFtbqrkoIMn2poNK1Dp '' SIG '' S1uzuGQ2pH5KPalxq2Gzc7M8Cwzv2zNX5b40N+OXG139 '' SIG '' HxI9ggN25vs/ZtKUMWn6bbM0rMF6eNySUPJkx6otBKvD '' SIG '' aurgL6en3G7X6P/aIatAv7nuDZ7G2Z6Z78beH6kMdrMn '' SIG '' IKHWuv2A5wHS7+uCKZVwjf+7Fc/+0Q82oi5PMpB0RmtH '' SIG '' NRN3BTNPYy64LeG/ZacEaxjYcfrMCPJtiZkQsa3bPizk '' SIG '' qhiwxgcBdWfebeljYx42f2mJvqpFPm5aX4+hW8udMIYw '' SIG '' 6AOzQMYNDzjNZ6hTiPq4MGX6b8fnHbGDdGk+rMRoO7Hm '' SIG '' ZzOatgjggAVIQO72gmRGqPVzsAaV8mxln79VWxycVxrH '' SIG '' eEZ8cKqUG4IXrIfptskOgRxA1hYXKfxcnBgr6kX1773V '' SIG '' Z08oXgXukEx658b00Pz6zT4yRhMgNooE6reqB0acDZM6 '' SIG '' CWaZWFwpo7kMpjA4PNBGNjV8nLruw9X5Cnb6fgUbQMqS '' SIG '' NenVetG1fwCuqZCqxX8BnBCxFvzMbhjcb2L+plCnuHu4 '' SIG '' nRU//iAMdcgiWhOVGZAA6RrVwobx447sX/TlAgMBAAGj '' SIG '' ggESMIIBDjAfBgNVHSMEGDAWgBSgEQojPpbxB+zirynv '' SIG '' gqV/0DCktDAdBgNVHQ4EFgQUMuuSmv81lkgvKEBCcCA2 '' SIG '' kVwXheYwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF '' SIG '' MAMBAf8wEwYDVR0lBAwwCgYIKwYBBQUHAwMwGwYDVR0g '' SIG '' BBQwEjAGBgRVHSAAMAgGBmeBDAEEATBDBgNVHR8EPDA6 '' SIG '' MDigNqA0hjJodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9B '' SIG '' QUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDA0BggrBgEF '' SIG '' BQcBAQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3Nw '' SIG '' LmNvbW9kb2NhLmNvbTANBgkqhkiG9w0BAQwFAAOCAQEA '' SIG '' Er+h74t0mphEuGlGtaskCgykime4OoG/RYp9UgeojR9O '' SIG '' IYU5o2teLSCGvxC4rnk7U820+9hEvgbZXGNn1EAWh0SG '' SIG '' cirWMhX1EoPC+eFdEUBn9kIncsUj4gI4Gkwg4tsB981G '' SIG '' TyaifGbAUTa2iQJUx/xY+2wA7v6Ypi6VoQxTKR9v2Bmm '' SIG '' T573rAnqXYLGi6+Ap72BSFKEMdoy7BXkpkw9bDlz1AuF '' SIG '' OSDghRpo4adIOKnRNiV3wY0ZFsWITGZ9L2POmOhp36w8 '' SIG '' qF2dyRxbrtjzL3TPuH7214OdEZZimq5FE9p/3Ef738NS '' SIG '' n+YGVemdjPI6YlG87CQPKdRYgITkRXta2DCCBhowggQC '' SIG '' oAMCAQICEGIdbQxSAZ47kHkVIIkhHAowDQYJKoZIhvcN '' SIG '' AQEMBQAwVjELMAkGA1UEBhMCR0IxGDAWBgNVBAoTD1Nl '' SIG '' Y3RpZ28gTGltaXRlZDEtMCsGA1UEAxMkU2VjdGlnbyBQ '' SIG '' dWJsaWMgQ29kZSBTaWduaW5nIFJvb3QgUjQ2MB4XDTIx '' SIG '' MDMyMjAwMDAwMFoXDTM2MDMyMTIzNTk1OVowVDELMAkG '' SIG '' A1UEBhMCR0IxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRl '' SIG '' ZDErMCkGA1UEAxMiU2VjdGlnbyBQdWJsaWMgQ29kZSBT '' SIG '' aWduaW5nIENBIFIzNjCCAaIwDQYJKoZIhvcNAQEBBQAD '' SIG '' ggGPADCCAYoCggGBAJsrnVP6NT+OYAZDasDP9X/2yFNT '' SIG '' GMjO02x+/FgHlRd5ZTMLER4ARkZsQ3hAyAKwktlQqFZO '' SIG '' GP/I+rLSJJmFeRno+DYDY1UOAWKA4xjMHY4qF2p9YZWh '' SIG '' hbeFpPb09JNqFiTCYy/Rv/zedt4QJuIxeFI61tqb7/fo '' SIG '' XT1/LW2wHyN79FXSYiTxcv+18Irpw+5gcTbXnDOsrSHV '' SIG '' JYdPE9s+5iRF2Q/TlnCZGZOcA7n9qudjzeN43OE/TpKF '' SIG '' 2dGq1mVXn37zK/4oiETkgsyqA5lgAQ0c1f1IkOb6rGnh '' SIG '' WqkHcxX+HnfKXjVodTmmV52L2UIFsf0l4iQ0UgKJUc2R '' SIG '' GarhOnG3B++OxR53LPys3J9AnL9o6zlviz5pzsgfrQH4 '' SIG '' lrtNUz4Qq/Va5MbBwuahTcWk4UxuY+PynPjgw9nV/35g '' SIG '' RAhC3L81B3/bIaBb659+Vxn9kT2jUztrkmep/aLb+4xJ '' SIG '' bKZHyvahAEx2XKHafkeKtjiMqcUf/2BG935A591Gsllv '' SIG '' WwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAUMuuSmv81 '' SIG '' lkgvKEBCcCA2kVwXheYwHQYDVR0OBBYEFA8qyyCHKLjs '' SIG '' b0iuK1SmKaoXpM0MMA4GA1UdDwEB/wQEAwIBhjASBgNV '' SIG '' HRMBAf8ECDAGAQH/AgEAMBMGA1UdJQQMMAoGCCsGAQUF '' SIG '' BwMDMBsGA1UdIAQUMBIwBgYEVR0gADAIBgZngQwBBAEw '' SIG '' SwYDVR0fBEQwQjBAoD6gPIY6aHR0cDovL2NybC5zZWN0 '' SIG '' aWdvLmNvbS9TZWN0aWdvUHVibGljQ29kZVNpZ25pbmdS '' SIG '' b290UjQ2LmNybDB7BggrBgEFBQcBAQRvMG0wRgYIKwYB '' SIG '' BQUHMAKGOmh0dHA6Ly9jcnQuc2VjdGlnby5jb20vU2Vj '' SIG '' dGlnb1B1YmxpY0NvZGVTaWduaW5nUm9vdFI0Ni5wN2Mw '' SIG '' IwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLnNlY3RpZ28u '' SIG '' Y29tMA0GCSqGSIb3DQEBDAUAA4ICAQAG/4Lhd2M2bnuh '' SIG '' FSCbE/8E/ph1RGHDVpVx0ZE/haHrQECxyNbgcv2FymQ5 '' SIG '' PPmNS6Dah66dtgCjBsULYAor5wxxcgEPRl05pZOzI3IE '' SIG '' Gwwsepp+8iGsLKaVpL3z5CmgELIqmk/Q5zFgR1TSGmxq '' SIG '' oEEhk60FqONzDn7D8p4W89h8sX+V1imaUb693TGqWp3T '' SIG '' 32IKGfIgy9jkd7GM7YCa2xulWfQ6E1xZtYNEX/ewGnp9 '' SIG '' ZeHPsNwwviJMBZL4xVd40uPWUnOJUoSiugaz0yWLODRt '' SIG '' Qxs5qU6E58KKmfHwJotl5WZ7nIQuDT0mWjwEx7zSM7fs '' SIG '' 9Tx6N+Q/3+49qTtUvAQsrEAxwmzOTJ6Jp6uWmHCgrHW4 '' SIG '' dHM3ITpvG5Ipy62KyqYovk5O6cC+040Si15KJpuQ9VJn '' SIG '' bPvqYqfMB9nEKX/d2rd1Q3DiuDexMKCCQdJGpOqUsxLu '' SIG '' COuFOoGbO7Uv3RjUpY39jkkp0a+yls6tN85fJe+Y8voT '' SIG '' nbPU1knpy24wUFBkfenBa+pRFHwCBB1QtS+vGNRhsceP '' SIG '' 3kSPNrrfN2sRzFYsNfrFaWz8YOdU254qNZQfd9O/VjxZ '' SIG '' 2Gjr3xgANHtM3HxfzPYF6/pKK8EE4dj66qKKtm2DTL1K '' SIG '' FCg/OYJyfrdLJq1q2/HXntgr2GVw+ZWhrWgMTn8v1SjZ '' SIG '' sLlrgIfZHDCCBmMwggTLoAMCAQICEQCiyBpK2RYJqyrQ '' SIG '' fCmhakTEMA0GCSqGSIb3DQEBDAUAMFQxCzAJBgNVBAYT '' SIG '' AkdCMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxKzAp '' SIG '' BgNVBAMTIlNlY3RpZ28gUHVibGljIENvZGUgU2lnbmlu '' SIG '' ZyBDQSBSMzYwHhcNMjMwNDI0MDAwMDAwWhcNMjUwNDIz '' SIG '' MjM1OTU5WjBaMQswCQYDVQQGEwJVUzERMA8GA1UECAwI '' SIG '' TWFyeWxhbmQxGzAZBgNVBAoMEkRvY3RvciBCYWNrdXAs '' SIG '' IExMQzEbMBkGA1UEAwwSRG9jdG9yIEJhY2t1cCwgTExD '' SIG '' MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA '' SIG '' x0Fda2evA9iJ2FlkX5dlI6MmRGjfIW2vDlsZyQQ60uXl '' SIG '' JaQP78U6cpk/JBvXkBufelm00aQxYXFubPBvzoUxOSIy '' SIG '' 7Cf3I0FKpGwTaJA0oyx9+3JIBtOnONDdRPyApqerO8Ty '' SIG '' 9MqI+uHoXV+PjymKbs5a2eqiwJVapwfjC+krKAqETE+x '' SIG '' PHNzXHGrUtbYCt8ZJ9OMAw+r91N5km97/lPEgbXwAp7o '' SIG '' +HGyqs+greUjTVt2aTjGLBVuv9TDM1amthE4B+/ETTSQ '' SIG '' QrJs7wvJDO22RdsALhtJgbuxgBzZrLGovtuEkEh0U386 '' SIG '' GK5x/6pwMESYyek4ftiIx3eYR+MfWa32iPN6HNumlvzz '' SIG '' AP+/YgwdITeR1G3JTe964YLOlA/R1a8UoHUbF1BMQBL1 '' SIG '' eP9J4NrChSB9LenLeajSUNBJ2OGBejRKiSyyXVSRiHPX '' SIG '' iGeyW0b7ImXEy0W9+G6hjTkM0VVy6PGMl+G19xfQrghl '' SIG '' /cdM1br3+W6Qv1dRkPSJ4iIMm/JeZtmepzafT50gEVKo '' SIG '' ZC/TOx9Zgsu2CyJtCX0LqnOW0+yjrS3BZfKQO18XfPk6 '' SIG '' xe2Og9qmkGTssg5M3Db/ggS3cdXVvSORVi7sKSuVIRvL '' SIG '' gIbKWScGk1x4ASU27TxfIK01cu8a8RLCmCOPV10tdVDM '' SIG '' obNSW7tzpDVcgv2+H4Fyl0UCAwEAAaOCAagwggGkMB8G '' SIG '' A1UdIwQYMBaAFA8qyyCHKLjsb0iuK1SmKaoXpM0MMB0G '' SIG '' A1UdDgQWBBQEYA10hDAAvYc7TTTv2eypysnw6zAOBgNV '' SIG '' HQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIwADATBgNVHSUE '' SIG '' DDAKBggrBgEFBQcDAzBKBgNVHSAEQzBBMDUGDCsGAQQB '' SIG '' sjEBAgEDAjAlMCMGCCsGAQUFBwIBFhdodHRwczovL3Nl '' SIG '' Y3RpZ28uY29tL0NQUzAIBgZngQwBBAEwSQYDVR0fBEIw '' SIG '' QDA+oDygOoY4aHR0cDovL2NybC5zZWN0aWdvLmNvbS9T '' SIG '' ZWN0aWdvUHVibGljQ29kZVNpZ25pbmdDQVIzNi5jcmww '' SIG '' eQYIKwYBBQUHAQEEbTBrMEQGCCsGAQUFBzAChjhodHRw '' SIG '' Oi8vY3J0LnNlY3RpZ28uY29tL1NlY3RpZ29QdWJsaWND '' SIG '' b2RlU2lnbmluZ0NBUjM2LmNydDAjBggrBgEFBQcwAYYX '' SIG '' aHR0cDovL29jc3Auc2VjdGlnby5jb20wHQYDVR0RBBYw '' SIG '' FIESbXJvbW1AZHJiYWNrdXAubmV0MA0GCSqGSIb3DQEB '' SIG '' DAUAA4IBgQBUtCFda5GZ7SK7ANRd652yGDNbWwSyOQnH '' SIG '' YFQkjJkpiXa5mfa8dC9ZYf97E9rXEWXY2VWoruXat5P9 '' SIG '' 3JXi40+sxIOTEdONp7P2DfJV7IjijXgycCnDFvWRHAHe '' SIG '' Q2HIvyC9H+vBAkUcnCmeT5F7bZDdWa7NYsOm04u+UECP '' SIG '' Z+YcAG+C3dvYuIyTX9FLmDfeEQNAjDcmQAnEcQgblkb7 '' SIG '' 6WinhMKM+s7YVWaLEpc6eyOGCqxnXIWQy+bL3Z0p4g2t '' SIG '' p443Qv1UgGyEqcYR6hXIUpZqHCLbTSq+JnA7QHFBRwfZ '' SIG '' AIFm8z7+CfsdxfnC4Kw2i9XXlHfTB8WGTKpCXLb7440n '' SIG '' vpf+C5uYigZcJyuBh3gHJXE/Gb95rGcde8bPJRyIVuo5 '' SIG '' 2wALpE00fcPjD5ycA+559KvqDdFa+gxiFiPqKj6E36Vs '' SIG '' RMT+qkqeOieMy1cyccSVqh+58CKyGx4gNOc5Sx3KBiyR '' SIG '' vE1HA1I7O2AZn1Q0PkwfSx++NoT1zMsafWEw1Fkwggbs '' SIG '' MIIE1KADAgECAhAwD2+s3WaYdHypRjaneC25MA0GCSqG '' SIG '' SIb3DQEBDAUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UE '' SIG '' CBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENp '' SIG '' dHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29y '' SIG '' azEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZp '' SIG '' Y2F0aW9uIEF1dGhvcml0eTAeFw0xOTA1MDIwMDAwMDBa '' SIG '' Fw0zODAxMTgyMzU5NTlaMH0xCzAJBgNVBAYTAkdCMRsw '' SIG '' GQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNV '' SIG '' BAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGlt '' SIG '' aXRlZDElMCMGA1UEAxMcU2VjdGlnbyBSU0EgVGltZSBT '' SIG '' dGFtcGluZyBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP '' SIG '' ADCCAgoCggIBAMgbAa/ZLH6ImX0BmD8gkL2cgCFUk7nP '' SIG '' oD5T77NawHbWGgSlzkeDtevEzEk0y/NFZbn5p2QWJgn7 '' SIG '' 1TJSeS7JY8ITm7aGPwEFkmZvIavVcRB5h/RGKs3EWsnb '' SIG '' 111JTXJWD9zJ41OYOioe/M5YSdO/8zm7uaQjQqzQFcN/ '' SIG '' nqJc1zjxFrJw06PE37PFcqwuCnf8DZRSt/wflXMkPQEo '' SIG '' vA8NT7ORAY5unSd1VdEXOzQhe5cBlK9/gM/REQpXhMl/ '' SIG '' VuC9RpyCvpSdv7QgsGB+uE31DT/b0OqFjIpWcdEtlEzI '' SIG '' jDzTFKKcvSb/01Mgx2Bpm1gKVPQF5/0xrPnIhRfHuCkZ '' SIG '' pCkvRuPd25Ffnz82Pg4wZytGtzWvlr7aTGDMqLufDRTU '' SIG '' GMQwmHSCIc9iVrUhcxIe/arKCFiHd6QV6xlV/9A5VC0m '' SIG '' 7kUaOm/N14Tw1/AoxU9kgwLU++Le8bwCKPRt2ieKBtKW '' SIG '' h97oaw7wW33pdmmTIBxKlyx3GSuTlZicl57rjsF4VsZE '' SIG '' Jd8GEpoGLZ8DXv2DolNnyrH6jaFkyYiSWcuoRsDJ8qb/ '' SIG '' fVfbEnb6ikEk1Bv8cqUUotStQxykSYtBORQDHin6G6Ui '' SIG '' rqXDTYLQjdprt9v3GEBXc/Bxo/tKfUU2wfeNgvq5yQ1T '' SIG '' gH36tjlYMu9vGFCJ10+dM70atZ2h3pVBeqeDAgMBAAGj '' SIG '' ggFaMIIBVjAfBgNVHSMEGDAWgBRTeb9aqitKz1SA4dib '' SIG '' wJ3ysgNmyzAdBgNVHQ4EFgQUGqH4YRkgD8NBd0UojtE1 '' SIG '' XwYSBFUwDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQI '' SIG '' MAYBAf8CAQAwEwYDVR0lBAwwCgYIKwYBBQUHAwgwEQYD '' SIG '' VR0gBAowCDAGBgRVHSAAMFAGA1UdHwRJMEcwRaBDoEGG '' SIG '' P2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VU0VSVHJ1 '' SIG '' c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDB2 '' SIG '' BggrBgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6 '' SIG '' Ly9jcnQudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FB '' SIG '' ZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZaHR0cDov '' SIG '' L29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwF '' SIG '' AAOCAgEAbVSBpTNdFuG1U4GRdd8DejILLSWEEbKw2yp9 '' SIG '' KgX1vDsn9FqguUlZkClsYcu1UNviffmfAO9Aw63T4uRW '' SIG '' +VhBz/FC5RB9/7B0H4/GXAn5M17qoBwmWFzztBEP1dXD '' SIG '' 4rzVWHi/SHbhRGdtj7BDEA+N5Pk4Yr8TAcWFo0zFzLJT '' SIG '' MJWk1vSWVgi4zVx/AZa+clJqO0I3fBZ4OZOTlJux3LJt '' SIG '' QW1nzclvkD1/RXLBGyPWwlWEZuSzxWYG9vPWS16toytC '' SIG '' iiGS/qhvWiVwYoFzY16gu9jc10rTPa+DBjgSHSSHLeT8 '' SIG '' AtY+dwS8BDa153fLnC6NIxi5o8JHHfBd1qFzVwVomqfJ '' SIG '' N2Udvuq82EKDQwWli6YJ/9GhlKZOqj0J9QVst9JkWtgq '' SIG '' IsJLnfE5XkzeSD2bNJaaCV+O/fexUpHOP4n2HKG1qXUf '' SIG '' cb9bQ11lPVCBbqvw0NP8srMftpmWJvQ8eYtcZMzN7iea '' SIG '' 5aDADHKHwW5NWtMe6vBE5jJvHOsXTpTDeGUgOw9Bqh/p '' SIG '' oUGd/rG4oGUqNODeqPk85sEwu8CgYyz8XBYAqNDEf+oR '' SIG '' nR4GxqZtMl20OAkrSQeq/eww2vGnL8+3/frQo4TZJ577 '' SIG '' AWZ3uVYQ4SBuxq6x+ba6yDVdM3aO8XwgDCp3rrWiAoa6 '' SIG '' Ke60WgCxjKvj+QrJVF3UuWp0nr1Irpgwggb2MIIE3qAD '' SIG '' AgECAhEAkDl/mtJKOhPyvZFfCDipQzANBgkqhkiG9w0B '' SIG '' AQwFADB9MQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl '' SIG '' YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3Jk '' SIG '' MRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxJTAjBgNV '' SIG '' BAMTHFNlY3RpZ28gUlNBIFRpbWUgU3RhbXBpbmcgQ0Ew '' SIG '' HhcNMjIwNTExMDAwMDAwWhcNMzMwODEwMjM1OTU5WjBq '' SIG '' MQswCQYDVQQGEwJHQjETMBEGA1UECBMKTWFuY2hlc3Rl '' SIG '' cjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMSwwKgYD '' SIG '' VQQDDCNTZWN0aWdvIFJTQSBUaW1lIFN0YW1waW5nIFNp '' SIG '' Z25lciAjMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC '' SIG '' AgoCggIBAJCycT954dS5ihfMw5fCkJRy7Vo6bwFDf3Na '' SIG '' KJ8kfKA1QAb6lK8KoYO2E+RLFQZeaoogNHF7uyWtP1sK '' SIG '' pB8vbH0uYVHQjFk3PqZd8R5dgLbYH2DjzRJqiB/G/hjL '' SIG '' k0NWesfOA9YAZChWIrFLGdLwlslEHzldnLCW7VpJjX5y '' SIG '' 5ENrf8mgP2xKrdUAT70KuIPFvZgsB3YBcEXew/BCaer/ '' SIG '' JswDRB8WKOFqdLacRfq2Os6U0R+9jGWq/fzDPOgNnDhm '' SIG '' 1fx9HptZjJFaQldVUBYNS3Ry7qAqMfwmAjT5ZBtZ/eM6 '' SIG '' 1Oi4QSl0AT8N4BN3KxE8+z3N0Ofhl1tV9yoDbdXNYtrO '' SIG '' nB786nB95n1LaM5aKWHToFwls6UnaKNY/fUta8pfZMdr '' SIG '' KAzarHhB3pLvD8Xsq98tbxpUUWwzs41ZYOff6Bcio3lB '' SIG '' Ys/8e/OS2q7gPE8PWsxu3x+8Iq+3OBCaNKcL//4dXqTz '' SIG '' 7hY4Kz+sdpRBnWQd+oD9AOH++DrUw167aU1ymeXxMi1R '' SIG '' +mGtTeomjm38qUiYPvJGDWmxt270BdtBBcYYwFDk+K3+ '' SIG '' rGNhR5G8RrVGU2zF9OGGJ5OEOWx14B0MelmLLsv0ZCxC '' SIG '' R/RUWIU35cdpp9Ili5a/xq3gvbE39x/fQnuq6xzp6z1a '' SIG '' 3fjSkNVJmjodgxpXfxwBws4cfcz7lhXFAgMBAAGjggGC '' SIG '' MIIBfjAfBgNVHSMEGDAWgBQaofhhGSAPw0F3RSiO0TVf '' SIG '' BhIEVTAdBgNVHQ4EFgQUJS5oPGuaKyQUqR+i3yY6zxSm '' SIG '' 8eAwDgYDVR0PAQH/BAQDAgbAMAwGA1UdEwEB/wQCMAAw '' SIG '' FgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwSgYDVR0gBEMw '' SIG '' QTA1BgwrBgEEAbIxAQIBAwgwJTAjBggrBgEFBQcCARYX '' SIG '' aHR0cHM6Ly9zZWN0aWdvLmNvbS9DUFMwCAYGZ4EMAQQC '' SIG '' MEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwuc2Vj '' SIG '' dGlnby5jb20vU2VjdGlnb1JTQVRpbWVTdGFtcGluZ0NB '' SIG '' LmNybDB0BggrBgEFBQcBAQRoMGYwPwYIKwYBBQUHMAKG '' SIG '' M2h0dHA6Ly9jcnQuc2VjdGlnby5jb20vU2VjdGlnb1JT '' SIG '' QVRpbWVTdGFtcGluZ0NBLmNydDAjBggrBgEFBQcwAYYX '' SIG '' aHR0cDovL29jc3Auc2VjdGlnby5jb20wDQYJKoZIhvcN '' SIG '' AQEMBQADggIBAHPa7Whyy8K5QKExu7QDoy0UeyTntFsV '' SIG '' fajp/a3Rkg18PTagadnzmjDarGnWdFckP34PPNn1w3kl '' SIG '' bCbojWiTzvF3iTl/qAQF2jTDFOqfCFSr/8R+lmwr05Tr '' SIG '' tGzgRU0ssvc7O1q1wfvXiXVtmHJy9vcHKPPTstDrGb4V '' SIG '' LHjvzUWgAOT4BHa7V8WQvndUkHSeC09NxKoTj5evATUr '' SIG '' y5sReOny+YkEPE7jghJi67REDHVBwg80uIidyCLxE2rb '' SIG '' GC9ueK3EBbTohAiTB/l9g/5omDTkd+WxzoyUbNsDbSgF '' SIG '' R36bLvBk+9ukAzEQfBr7PBmA0QtwuVVfR745ZM632iNU '' SIG '' MuNGsjLY0imGyRVdgJWvAvu00S6dOHw14A8c7RtHSJwi '' SIG '' alWC2fK6CGUD5fEp80iKCQFMpnnyorYamZTrlyjhvn0b '' SIG '' oXztVoCm9CIzkOSEU/wq+sCnl6jqtY16zuTgS6Ezqwt2 '' SIG '' oNVpFreOZr9f+h/EqH+noUgUkQ2C/L1Nme3J5mw2/ndD '' SIG '' mbhpLXxhL+2jsEn+W75pJJH/k/xXaZJL2QU/bYZy06LQ '' SIG '' wGTSOkLBGgP70O2aIbg/r6ayUVTVTMXKHxKNV8Y57Vz/ '' SIG '' 7J8mdq1kZmfoqjDg0q23fbFqQSduA4qjdOCKCYJuv+P2 '' SIG '' t7yeCykYaIGhnD9uFllLFAkJmuauv2AV3Yb1MYIGjTCC '' SIG '' BokCAQEwaTBUMQswCQYDVQQGEwJHQjEYMBYGA1UEChMP '' SIG '' U2VjdGlnbyBMaW1pdGVkMSswKQYDVQQDEyJTZWN0aWdv '' SIG '' IFB1YmxpYyBDb2RlIFNpZ25pbmcgQ0EgUjM2AhEAosga '' SIG '' StkWCasq0HwpoWpExDAJBgUrDgMCGgUAoIGqMBkGCSqG '' SIG '' SIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcC '' SIG '' AQsxDjAMBgorBgEEAYI3AgEVMCMGCSqGSIb3DQEJBDEW '' SIG '' BBSG2WYi6ON3QSUkYCRrMWQcLvUDczBKBgorBgEEAYI3 '' SIG '' AgEMMTwwOqAcgBoAUwB3AGkAdABjAGgAMgBBAEIAXwBT '' SIG '' AFEATKEagBhodHRwOi8vd3d3LmRyYmFja3VwLm5ldCAw '' SIG '' DQYJKoZIhvcNAQEBBQAEggIARudMmUs5b4d5BHs8cRCy '' SIG '' wizo9wL/zh1FQSDjg08GmvLXOcBpbCeW9b/SNtfpwgM8 '' SIG '' 1knc5+VIa3SEjFm0eZ9EqNf6noddbyQq26A79QuMezI4 '' SIG '' 4yK57PwbJxhy6TrbP7fmcU5UnGT6ChEUuUua71bNhVk8 '' SIG '' wVrCszdwCpLkCclnpeO8wOkoV0LTvc+7IN8+7l9wiuXZ '' SIG '' 7sNYneVTf59y16QmpfJERGvnfbqhHUgeuL1dVHjqCpKv '' SIG '' jKldj3XTie1zauYPQAtX16pgg+KCn33OqA5zxDYllNX3 '' SIG '' HTfVNi5cxajk+BBjmLXxZtjrlLgOdAbgo/0tcryzqqAc '' SIG '' AWJPVG9wSLh3vqHzdTg59ZYUe6RjLwXx49B4zCKnt5lA '' SIG '' RAc1Mfi3rAVnUDGEE3KreIq3DLxjQfdHgMgUh+Okpab9 '' SIG '' FB0BUwYvM/pWErr3P/q+91EfhZh4QCKsAoyiUm0g3RWX '' SIG '' 45DUqMz3kgazshvGGf7HVrrAKzLttLLD5clKroiFWD9S '' SIG '' QlX9LjXJCxZeQQdBzFF6iVmMgdn8my4xx2pc8TbguArU '' SIG '' SF/v5d8pEOcSpY9ktwLnlJgxPw0UXWrW4GItQ2hRzs6g '' SIG '' A65PAGD3mwuj+xUYxGiyDGHBnlW2crVAQNcDDzP7ZqJn '' SIG '' 6TSA7mbtSRlpvkhLofOamjqBXEjJ9JJeI+TTObqX3cEU '' SIG '' FJuhggNMMIIDSAYJKoZIhvcNAQkGMYIDOTCCAzUCAQEw '' SIG '' gZIwfTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0 '' SIG '' ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEY '' SIG '' MBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMSUwIwYDVQQD '' SIG '' ExxTZWN0aWdvIFJTQSBUaW1lIFN0YW1waW5nIENBAhEA '' SIG '' kDl/mtJKOhPyvZFfCDipQzANBglghkgBZQMEAgIFAKB5 '' SIG '' MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZI '' SIG '' hvcNAQkFMQ8XDTIzMDUwMjIwMjY1OFowPwYJKoZIhvcN '' SIG '' AQkEMTIEMLBkMEAdELte5v+sro4rK+FKCaBT0/ILoTOh '' SIG '' 9s092zGovZh0TYZI4T2+EOjujkJSjjANBgkqhkiG9w0B '' SIG '' AQEFAASCAgBLR88/tZf0yAhPLc4h+W8YBr+nrRHmjqFT '' SIG '' kAspW9MJPGIQPL8dpxG1tQuZ1a8fyp93zwXCpN44yT5B '' SIG '' GNuigQ/ImrOzNwbwS4IOxwfm3XgPbMk/aRKWljitlT8f '' SIG '' 5+RRGg3hm5FCczm9uTfns7ZaAsNWEHPMnqO0RrBsEvbx '' SIG '' x+u5EWQ3E7PqYGHBgK2Fb2gH1uiZ8vLCDRp5ifZr1n2S '' SIG '' RAlcJKLjbYU8EF/booF1CKHj8BSzdwCSkbK0dkmsc2s4 '' SIG '' DnlcRzr4gopDv2jqiaEJR0Qq/+8E9vQHvaZX45PBhMne '' SIG '' rshsh6ukKavcRFpCY6MZdLZEpXpNNUokwlXi9pgF2NXG '' SIG '' miXDResm/PYhsqOrn3xvQPxuGH3A+4iM0SW0e5Rldb++ '' SIG '' 8Mx+KIxwsxG8mlUPDQqnzIcIGBi0//orE8fZomkNROwF '' SIG '' 2lhGByLO1JUstrm0zoz0zEDSNVtcdI3ITxuG5SD+YK46 '' SIG '' woGxP4kK2RWgJt04sr3ULPx3Uln5i5xw37cVNcIS6mzh '' SIG '' hhMQ935om2j9w+bscO03O3cIvQXvyFbei0d86xNTu/X+ '' SIG '' eeZgwUsezHOPQJytOhmBa2wECaAr1LfbzYKhU1wcrUVV '' SIG '' jHPhOsrsyIhm0QXjFVZRJBkQjpQlmsq8H4yBPfFziTT+ '' SIG '' ly9sa7StjYvHx4jRpwH0KII29wW163im/Q== '' SIG '' End signature block