'Downloads and installs "Homer", a specialized web server
'that eliminates browser error messages resulting from 
'the use of a blocking "hosts" or "pac" file.

Option Explicit
Const DEBUG_VERBOSE = False
Const HOMER_URLS = "http://www.funkytoad.com/download/Homer.zip|http://www.hostsfile.org/Downloads/Homer.zip|http://www.ericphelps.com/security/Homer.zip"
Const HOMER_SHA1 = "8577e095f6c8506624d241a2957a63871ce61f20"
ForceCscript
Status "Close this window at any time to kill the install script." & vbCrLf & vbCrLf
UAC
Main

Sub Main
Dim fs, ws, sc
Dim strShortcutFolder, strProgramFolder, strCommand, strUrl
	'Create objects
	Set ws = CreateObject("WScript.Shell")
	Set fs = CreateObject("Scripting.FileSystemObject")

	'Find (and make) the Program folder
	strProgramFolder = WriteableProgramFolder()
	If strProgramFolder = "" Then strProgramFolder = InputBox("I can't locate a folder where I can install Homer. Please enter a folder where I can create the ""Homer"" install folder.", "Homer Installer", "C:\")
	If strProgramFolder = "" Then Exit Sub
	On Error Goto 0
	strProgramFolder = fs.BuildPath(strProgramFolder, "Homer")
	Status "Using """ & strProgramFolder & """ as installation target."
	If Not fs.FolderExists(strProgramFolder) Then 
		fs.CreateFolder strProgramFolder
	End If
	If Not fs.FolderExists(fs.BuildPath(strProgramFolder, "images")) Then 
		fs.CreateFolder fs.BuildPath(strProgramFolder, "images")
	End If
	
' 	'Create the unzip utility
' 	Status "Creating ""unzip.exe"" utility..."
' 	CreateUnzip fs.BuildPath(strProgramFolder, "unzip.exe")

	'Download Homer (until it works)
	Status "Downloading... "
	For Each strUrl In Split(HOMER_URLS, "|")
		If ((fs.FileExists(fs.BuildPath(strProgramFolder, "Homer.exe"))) _
		And (fs.FileExists(fs.BuildPath(strProgramFolder, "images\transparent.gif")))) Then
			Status vbTab & "Homer program is already installed! Skipping download."
			Exit For
		End If
		If InStr(strUrl, "http") <> 0 Then
			Status vbTab & strUrl
			On Error Resume Next
			If fs.FileExists(fs.BuildPath(strProgramFolder, "Homer.zip")) Then
				fs.DeleteFile fs.BuildPath(strProgramFolder, "Homer.zip")
			End If
			strUrl = Trim(strUrl) 'In case someone adds spaces to the pipe delimiting
			If SaveWebBinary(strUrl, fs.BuildPath(strProgramFolder, "Homer.zip")) Then
				Status vbTab & "... Success!"
				'Double check good download
				If fs.FileExists(fs.BuildPath(strProgramFolder, "Homer.zip")) Then
					'Extract needed files from zip
					Status "Extracting files from Homer.zip"
					If Not fs.FileExists(fs.BuildPath(strProgramFolder, "images\transparent.gif")) Then 
						If Not Unzip(fs.BuildPath(strProgramFolder, "Homer.zip"), "images\transparent.gif", fs.BuildPath(strProgramFolder, "images\transparent.gif")) Then
							If Not Unzip(fs.BuildPath(strProgramFolder, "Homer.zip"), "Homer\images\transparent.gif", fs.BuildPath(strProgramFolder, "images\transparent.gif")) Then
								Status vbTab & "Unable to Unzip """ & fs.BuildPath(strProgramFolder, "Homer.zip") & """. Deleted file."
								fs.DeleteFile fs.BuildPath(strProgramFolder, "Homer.zip")
							End If
						End If
					End If
					If fs.FileExists(fs.BuildPath(strProgramFolder, "Homer.zip")) Then
						If Not fs.FileExists(fs.BuildPath(strProgramFolder, "Homer.exe")) Then 
							If Not Unzip(fs.BuildPath(strProgramFolder, "Homer.zip"), "Homer.exe", fs.BuildPath(strProgramFolder, "Homer.exe")) Then
								If Not Unzip(fs.BuildPath(strProgramFolder, "Homer.zip"), "Homer\Homer.exe", fs.BuildPath(strProgramFolder, "Homer.exe")) Then
									Status vbTab & "Unable to Unzip """ & fs.BuildPath(strProgramFolder, "Homer.zip") & """. Deleted file."
									fs.DeleteFile fs.BuildPath(strProgramFolder, "Homer.zip")
								End If
							End If
						End If
					End If
					If fs.FileExists(fs.BuildPath(strProgramFolder, "Homer.exe")) Then 
						If Ucase(SHA1(fs.BuildPath(strProgramFolder, "Homer.exe"))) = Ucase(HOMER_SHA1) Then
							Status vbTab & "Homer.exe SHA1 is correct. Download is valid!"
						Else
							Status vbTab & "Homer.exe SHA1 was not correct. Deleted file."
							fs.DeleteFile fs.BuildPath(strProgramFolder, "Homer.exe")
						End If
					End If
					'If everything worked, don't bother downloading another URL
					If fs.FileExists(fs.BuildPath(strProgramFolder, "Homer.exe")) Then 
						If fs.FileExists(fs.BuildPath(strProgramFolder, "images\transparent.gif")) Then
							Exit For
						End If
					End If
				End If
			End If
			On Error Goto 0
		End If
	Next
	'Forced cleanup one way or another
	On Error Resume Next
	fs.DeleteFile fs.BuildPath(strProgramFolder, "Homer.zip")
	fs.DeleteFile fs.BuildPath(strProgramFolder, "unzip.exe")
	On Error Goto 0

	'Create Homer shortcut
	strShortcutFolder = WriteableShortcutFolder()
	If strShortcutFolder = "" Then
		Status "Unable to create a shortcut. Please add one manually!"
	Else
		Status "Creating a shortcut in: " & vbCrLf & strShortcutFolder & vbCrLf
	End If
	Set sc = ws.CreateShortcut(fs.BuildPath(strShortcutFolder, "Homer.lnk"))
	sc.TargetPath = """" & fs.BuildPath(strProgramFolder, "\Homer.exe") & """"
	sc.Arguments = "l m"
	sc.WorkingDirectory = """" & fs.BuildPath(strProgramFolder, "\") & """"
	sc.WindowStyle = 7 '7=Minimized. This does the same thing as the "m" argument.
	sc.Description = "A specialized web server used to help you block unwanted web content."
	sc.IconLocation = fs.BuildPath(strProgramFolder, "Homer.exe") & ",0"
	sc.Save

	'Registering a firewall opening (not needed, but by doing it, we prevent Windows from asking the user)
	AddToFirewall fs.BuildPath(strProgramFolder, "Homer.exe")
	
	MsgBox "Finished",,"Finished"
End Sub

Sub Status(strMessage)
	'Writes a message to the UI only if the script is running under CSCRIPT
	If Lcase(Right(Wscript.FullName, 12)) = "\cscript.exe" Then
		Wscript.Echo strMessage
	End If
End Sub

Function SaveWebBinary(strUrl, strFile) 'As Boolean
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2
Const ForWriting = 2
Dim web, varByteArray, strData, strBuffer, lngCounter, ado
	On Error Resume Next
	'Download the file with any available object
	Err.Clear
	Set web = Nothing
	Set web = CreateObject("WinHttp.WinHttpRequest.5.1")
	If web Is Nothing Then Set web = CreateObject("WinHttp.WinHttpRequest")
	If web Is Nothing Then Set web = CreateObject("MSXML2.ServerXMLHTTP")
	If web Is Nothing Then Set web = CreateObject("Microsoft.XMLHTTP")
	web.Open "GET", strURL, False
	web.SetRequestHeader "REFERER", strUrl
 	web.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
 	web.SetRequestHeader "Accept", "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5"
 	web.SetRequestHeader "Accept-Language", "en-us,en;q=0.5"
 	web.SetRequestHeader "Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7"
	web.Send
	If Err.Number <> 0 Then
		SaveWebBinary = False
		Set web = Nothing
		Exit Function
	End If
	If web.Status <> "200" Then
		SaveWebBinary = False
		Set web = Nothing
		Exit Function
	End If
	varByteArray = web.ResponseBody
	Set web = Nothing
	'Now save the file with any available method
	On Error Resume Next
	Set ado = Nothing
	Set ado = CreateObject("ADODB.Stream")
	If ado Is Nothing Then
		Set fs = CreateObject("Scripting.FileSystemObject")
		Set ts = fs.OpenTextFile(strFile, ForWriting, True)
		strData = ""
		strBuffer = ""
		For lngCounter = 0 to UBound(varByteArray)
			ts.Write Chr(255 And Ascb(Midb(varByteArray,lngCounter + 1, 1)))
		Next
		ts.Close
	Else
		ado.Type = adTypeBinary
		ado.Open
		ado.Write varByteArray
		ado.SaveToFile strFile, adSaveCreateOverWrite
		ado.Close
	End If
	SaveWebBinary = True
End Function

Function SHA1(strFilePath)
Dim ws, st, ssc
Dim strHash, strFile, strFileContents, bytFileContents, bytHash, lngPos
	Set ws = CreateObject("Wscript.Shell")
	strFile = strFilePath
	If Left(strFile, 1) <> "" Then strFile = """" & strFile & """"
	strHash = ""
	'CERTUTIL
	If strHash = "" Then
		On Error Resume Next
		strHash = ws.Exec("certutil.exe -hashfile " & strFile & " SHA1").stdOut.ReadAll
		strHash = Split(strHash, vbCr)(1)
		strHash = Replace(strHash, vbCr, "")
		strHash = Replace(strHash, vbLf, "")
		strHash = Replace(strHash," ", "")
		strHash = Trim(strHash)
		On Error Goto 0
		If Len(strHash) <> 40 Then strHash = ""
	End If
	'FCIV
	If strHash = "" Then
		On Error Resume Next
		strHash = ws.Exec("fciv.exe -sha1 " & strFile).stdOut.ReadAll
		strHash = Split(strHash, vbCr)(3)
		strHash = Replace(strHash, vbCr, "")
		strHash = Replace(strHash, vbLf, "")
		strHash = Split(strHash)(0)
		strHash = Trim(strHash)
		On Error Goto 0
		If Len(strHash) <> 40 Then strHash = ""
	End If
	'DotNet
	If strHash = "" Then
		strHash = CompileAndRun_DotNet(SHA1_DotNetSource(strFilePath), "vb")
		If Len(strHash) <> 40 Then strHash = ""
	End If
	'Return the result
	SHA1 = strHash
End Function

Function File2StringBinary(strFile) 'As String
Dim fs, ts, strData, lngLength
Const ForReading = 1
	strData = ""
	Set fs = CreateObject("Scripting.FileSystemObject")
	If fs.FileExists(strFile) Then
		On Error Resume Next
		lngLength = fs.GetFile(strFile).Size
		Set ts = fs.OpenTextFile(strFile, ForReading, True)
		strData = ts.Read(lngLength)
		ts.Close
		On Error Goto 0
	End If
	File2StringBinary = strData
End Function

Sub UAC()
'Run this subroutine FIRST THING on any script 
'that will require admin priveleges. 
Const FOR_WRITING = 2
Const TEMP_FOLDER = 2
Dim ws, fs, ts, wmi, col, obj
Dim strData, strUacFile, strArg, strArgs, strOsVersion, strUserName, strGroup, strMember
Dim lngArg, lngOsVersion
Dim blnIsAdmin, blnHasAdmins
	'Create needed objects
	Set fs = CreateObject("Scripting.FileSystemObject")
	Set ws = CreateObject("WScript.Shell")
	'Define the name of the special script that will re-launch this one for UAC if needed.
	'Can't use %TEMP% or other per-user folder, can't use script folder because it might be
	'in protected area.	
	strUacFile = WriteableCommonFolder()
	If strUacFile = "" Then
		If MsgBox("I can't find a location to write temporary files. I won't be able to request admin rights. Should I continue and try installing with my current permissions?",vbYesNo,"Homer Installer") = vbNo Then
			WScript.Quit
		Else
			Exit Sub
		End If
	End If
	strUacFile = fs.BuildPath(strUacFile, "\~" & WScript.ScriptName)
	'If the UAC script exists, we can assume it launched this one! It should be deleted.
	If fs.FileExists(strUacFile) Then
		fs.DeleteFile strUacFile
		Exit Sub
	End If	
	'Now build the actual command that will re-launch the script with a UAC prompt
	strData = "CreateObject(""Shell.Application"").ShellExecute "
	strData = strData & """" & """" & """" & fs.BuildPath(fs.GetParentFolderName(Wscript.FullName), "cscript.exe") & """" & """" & """"
	strData = strData & ", "
	strData = strData & """" & """" & """" & WScript.ScriptFullName & """" & """"
	If strArgs = "" Then
		strData = strData & """, "
	Else
		strData = strData & " " & strArgs & """, "
	End If
	strData = strData & """" & """" & """" & fs.GetParentFolderName(WScript.ScriptFullName) & """" & """" & """"
	strData = strData & ", "
	strData = strData & """runas"""
	strData = strData & ", 1"
	'Show a message
	If MsgBox("Can I request administrative privileges to install this for all users?", vbYesNo, "Homer Installer") = vbNo Then Exit Sub
	'Save the UAC command in a separate script
	Set ts = fs.OpenTextFile(strUacFile, FOR_WRITING, True)
	ts.Write strData
	ts.Close
	'Launch the UAC script
	ws.Run "wscript.exe" & " """ & strUacFile & """", 1, False
	'We MUST exit at this point and let the UAC script re-launch us.
	WScript.Quit
End Sub

Function Unzip(strZipFile, strZipFilePathToExtract, strDestFullPath)
'Unzips one file out of a zip. The strZipFilePathToExtract is a path 
'inside the zip like "images\transparent.gif". The comparison is 
'loose: if you only supply a name, it will match any path.
'strDestFullPath must be a full path to allow for the possibility
'of renaming e.g., "C:\Homer\images\transparent.gif".
Dim sa, fs, zip, fol
Dim strTempFolder, strProgramFolder, strFiles, strFile, strCommand
Dim blnSuccess
	'Initialize
	Set sa = CreateObject("Shell.Application")
	Set fs = CreateObject("Scripting.FileSystemObject")
	blnSuccess = False
	'First try Windows native Shell.Application
	If Not blnSuccess  Then
		Status vbTab & "Shell.Application"
		'We'll need a temp folder because Shell.Application extracts everything
		strTempFolder = fs.GetBaseName(WScript.ScriptFullName) & "_" & RandomName()
		strTempFolder = fs.BuildPath(fs.GetSpecialFolder(2), strTempFolder)
		fs.CreateFolder strTempFolder
		Set fol = Nothing
		On Error Resume Next
		Set fol = sa.NameSpace(strTempFolder)
		On Error Goto 0
		If Not(fol Is Nothing) Then
			'Declare the input zip file.
			Set zip = Nothing
			On Error Resume Next
			Set zip = sa.NameSpace(strZipFile)
			On Error Goto 0
			If Not(zip Is Nothing) Then
				'Extract the items from the zip file to the temporary location
				fol.CopyHere zip.Items, 4
				'Find the desired file
				strFiles = FindFiles(fs.GetFolder(strTempFolder), fs.GetFileName(strZipFilePathToExtract))
				For Each strFile In Split(strFiles, vbTab)
					If DEBUG_VERBOSE Then Status "Unzip: Looking -- " & strFile 
					If InStr(1, strFile, strZipFilePathToExtract, vbTextCompare) Then
						If DEBUG_VERBOSE Then Status "Unzip: Found -- " & strFile 
						Exit For
					Else
						strFile = ""
					End If
				Next
				If strFile <> "" Then
					If fs.FileExists(strDestFullPath) Then fs.DeleteFile strDestFullPath
					fs.MoveFile strFile, strDestFullPath
					Status vbTab & "... Success -- " & strDestFullPath
					blnSuccess = True
					If Not fs.FileExists(strDestFullPath) Then
						If DEBUG_VERBOSE Then Status "Unzip: Can't extract/move file -- " & fs.GetFileName(strZipFilePathToExtract)
						blnSuccess = False
					End If
				Else
					If DEBUG_VERBOSE Then Status "Unzip: Zip doesn't have " & fs.GetFileName(strZipFilePathToExtract)
				End If
			End If
			fs.DeleteFolder strTempFolder, True
		End If
	End If
	If Not blnSuccess Then
		'Try using a separate zip program
		Status vbTab & "UnZip.exe"
		'Unzip(strZipFile, strZipFilePathToExtract, strDestFullPath)
		blnSuccess = True
		strTempFolder = fs.GetBaseName(WScript.ScriptFullName) & "_" & RandomName()
		strTempFolder = fs.BuildPath(fs.GetSpecialFolder(2), strTempFolder)
		strProgramFolder = fs.GetParentFolderName(strDestFullPath)
		If DEBUG_VERBOSE Then Status "Unzip: Creating ""unzip.exe"" utility..."
		CreateUnzip fs.BuildPath(strTempFolder, "unzip.exe")
		If Not fs.FileExists(fs.BuildPath(strTempFolder, "unzip.exe")) Then
			blnSuccess = False
		Else 
			If Not fs.FileExists(strDestFullPath) Then 
				strCommand = """" & fs.BuildPath(strTempFolder, "unzip.exe") _
					& """ -j """ & strZipFile & """ """ & strZipFilePathToExtract _
					& """ -d """ & strProgramFolder & """"
				ws.Run strCommand, 1, True
			End If
			If Not fs.FileExists(strDestFullPath) Then
				blnSuccess = False
			End If
		End If
		fs.DeleteFolder strTempFolder, True
	End If
	Unzip = blnSuccess 
End Function

Function RandomName()
' https://www.mvps.org/scripting/dotnet/
Const VALID_ALPHABET = "abcdefghijklmnopqrstuvwxyz0123456789~-_"
Const OUTPUT_SIZE = 8
Dim intChars, strRandomName
	Randomize
	strRandomName = ""
	For intChars = 1 To OUTPUT_SIZE
		strRandomName = strRandomName & Mid(VALID_ALPHABET, ((Len(VALID_ALPHABET)) * Rnd + 1), 1)
	Next
	RandomName = strRandomName
End Function

Function FindFiles(objFolder, strFileName)'As String
'Returns a tab-delimited
'list of full paths for a given file name. Recursively
'searches all directories starting with the objFolder
'argument for any that match the name strFileName.
Dim fils, fil, fols, fol, strFiles, strSubFiles
	'Get each file in turn
	Set fils = objFolder.Files
	If Err.Number <> 0 Then Exit Function
	For Each fil In fils
		If Lcase(fil.Name) = Lcase(strFileName) Then
			If strFiles = "" Then
				strFiles = strFiles & fil.Path
			Else
				strFiles = strFiles & vbTab & fil.Path
			End If
		End If
	Next
	'Check for any sub folders and recursively process them
	Set fols = objFolder.SubFolders
	For each fol in fols
		If Lcase(fol.Name) <> "recycled" Then
			strSubFiles = FindFiles(fol, strFileName)
			If strSubFiles <> "" Then
				If strFiles = "" Then
					strFiles = strFiles & strSubFiles
				Else
					strFiles = strFiles & vbTab & strSubFiles
				End If
			End If
		End If
	Next
	FindFiles = strFiles
End Function

Function WriteableCommonFolder()
'Checks folders that should be accessible to all users to find one we're 
'allowed to write in. The assumption is that a non-privileged 
'user will return the same result from this function as a privileged user.
Dim strFolders, ws, fs
	Set fs = CreateObject("Scripting.FileSystemObject")
	Set ws = CreateObject("WScript.Shell")
	Status "Looking for temporary common folder ..."
	strFolders = strFolders & "|" & ws.Environment("Process").Item("ALLUSERSPROFILE")
	strFolders = strFolders & "|" & ws.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Common AppData")
	strFolders = strFolders & "|" & ws.Environment("Process").Item("PUBLIC")
	strFolders = strFolders & "|" & fs.GetParentFolderName(Wscript.ScriptFullName)
	strFolders = strFolders & "|" & ws.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Common Documents")
	strFolders = strFolders & "|" & ws.Environment("Process").Item("SystemDrive")
	strFolders = strFolders & "|" & fs.GetDriveName(WScript.Path)
	strFolders = strFolders & "|" & ws.SpecialFolders("AllUsersStartup")
	strFolders = strFolders & "|" & ws.SpecialFolders("AllUsersPrograms")
	strFolders = strFolders & "|" & ws.Environment("Process").Item("ProgramFiles(x86)")
	strFolders = strFolders & "|" & ws.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir (x86)")
	strFolders = strFolders & "|" & ws.Environment("Process").Item("ProgramFiles")
	strFolders = strFolders & "|" & ws.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir")
	WriteableCommonFolder = WriteableFolder(strFolders)
End Function

Function WriteableProgramFolder()
'Checks a list of folders we want to install a program in so we
'can find one we're allowed to write in.
Dim strFolders, ws, fs
	Set fs = CreateObject("Scripting.FileSystemObject")
	Set ws = CreateObject("WScript.Shell")
	Status "Looking for program folder ..."
	'Normal path
	strFolders = strFolders & "|" & ws.Environment("Process").Item("ProgramFiles(x86)")
	strFolders = strFolders & "|" & ws.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir (x86)")
	strFolders = strFolders & "|" & ws.Environment("Process").Item("ProgramFiles")
	strFolders = strFolders & "|" & ws.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir")
	'Drive root
	strFolders = strFolders & "|" & ws.Environment("Process").Item("SystemDrive")
	strFolders = strFolders & "|" & fs.GetDriveName(WScript.Path)
	'Public user profile
	strFolders = strFolders & "|" & ws.Environment("Process").Item("PUBLIC")
	'Personal user profile
	strFolders = strFolders & "|" & ws.Environment("Process").Item("USERPROFILE")
	WriteableProgramFolder = WriteableFolder(strFolders)
End Function

Function WriteableShortcutFolder()
'Checks a list of folders we want to install a shortcut in so we
'can find one we're allowed to write in.
Dim strFolders, ws, fs
	Set fs = CreateObject("Scripting.FileSystemObject")
	Set ws = CreateObject("WScript.Shell")
	Status "Looking for shortcut folder ..."
	strFolders = strFolders & "|" & ws.SpecialFolders("AllUsersStartup")
	strFolders = strFolders & "|" & ws.SpecialFolders("Startup")
	strFolders = strFolders & "|" & ws.SpecialFolders("AllUsersPrograms")
	strFolders = strFolders & "|" & ws.SpecialFolders("Programs")
	strFolders = strFolders & "|" & ws.SpecialFolders("AllUsersDesktop")
	strFolders = strFolders & "|" & ws.SpecialFolders("Desktop")
	WriteableShortcutFolder = WriteableFolder(strFolders)
End Function

Function WriteableFolder(strPipeDelimitedFolders)
'Takes a pipe-delimited list of folders like "C:\foo|C:\bar" and
'returns the name of the first one we can actually write to.
'Returns empty string on failure.
Const FOR_WRITING = 2
Const TEST_NAME = "~~test~~.exe"
Dim fs, strFolder, strFolders, strWriteableFolder
	'Create needed objects
	Set fs = CreateObject("Scripting.FileSystemObject")
	strFolders = strPipeDelimitedFolders
	strWriteableFolder = ""
	For Each strFolder In Split(strFolders, "|")
		If strWriteableFolder = "" Then
			If strFolder <> "" Then
				On Error Resume Next
				strFolder = fs.BuildPath(strFolder, "\")
				Err.Clear
				Status vbTab & strFolder
				fs.OpenTextFile(fs.BuildPath(strFolder, TEST_NAME), FOR_WRITING, True).WriteLine "test"
				If Err.Number = 0 Then
					If fs.FileExists(fs.BuildPath(strFolder, TEST_NAME)) Then
						strWriteableFolder = strFolder
						Status vbTab & "... Success!"
					End If
				End If
				fs.DeleteFile fs.BuildPath(strFolder, TEST_NAME)
				On Error Goto 0
			End If
		End If
	Next
	WriteableFolder = strWriteableFolder
End Function

Sub AddToFirewall(strFilePath)
'Really, we don't need this because it's only for localhost 
'use. But if we don't enable it, Windows will ask.
Dim objFirewall, objPolicy, objProfile, colApplications, objApplication, blnRule, strOut, fs, ws
	Set fs = CreateObject("Scripting.FileSystemObject")
	Set ws = CreateObject("WScript.Shell")
	Set objFirewall = Nothing
	On Error Resume Next
	Set objFirewall = CreateObject("HNetCfg.FwMgr")
	On Error Goto 0
	Status "Adding a firewall rule for """ & fs.GetBaseName(strFilePath) & """ ..."
	If objFirewall Is Nothing Then
		Status vbTab & "Using netsh.exe"
		On Error Resume Next
		strOut = ws.Exec("netsh.exe advfirewall firewall show rule name=""" & fs.GetBaseName(strFilePath) & """").stdout
		If InStr(strOut, "No rules match") Then
			ws.Run "netsh.exe advfirewall firewall add rule name=""" & fs.GetBaseName(strFilePath) & """ dir=in action=allow program=""" & Replace(strFilePath, """", "") & """", 1, True
			strOut = ws.Exec("netsh.exe advfirewall firewall show rule name=""" & fs.GetBaseName(strFilePath) & """").stdout
				If InStr(strOut, "No rules match") Then
					Status vbTab & "Failed to add a firewall rule. No worries, it isn't really needed."
				Else
					Status vbTab & "... Success! Firewall rule added."
				End If
		Else
			Status "A firewall rule already existed For """ & fs.GetBaseName(strFilePath) & """"
		End If
		On Error Goto 0
	Else
		Status vbTab & "Using HNetCfg.FwMgr"
		Set objPolicy = objFirewall.LocalPolicy
		Set objProfile = objPolicy.GetProfileByType(1)
		'Check to see if we already have a rule
		blnRule = False
		Set colApplications = objProfile.AuthorizedApplications
		For Each objApplication in colApplications
		    If Replace(Ucase(strFilePath), """", "") = Replace(Ucase(objApplication.ProcessImageFileName), """", "") Then
		    	blnRule = True
		    End If
		Next
		'Set a rule allowing the application
		If Not blnRule Then
			Status vbTab & "Adding new rule ..."
			Set objApplication = CreateObject("HNetCfg.FwAuthorizedApplication")
			objApplication.Name = fs.GetBaseName(strFilePath)
			objApplication.IPVersion = 2
			objApplication.ProcessImageFileName = strFilePath
			objApplication.RemoteAddresses = "*"
			objApplication.Scope = 0
			objApplication.Enabled = True
			Set colApplications = objProfile.AuthorizedApplications
			On Error Resume Next
			colApplications.Add(objApplication)
			On Error Goto 0
		Else
			Status vbTab & "A firewall rule already exists."
		End If
		'Check for the rule now...
		blnRule = False
		Set colApplications = objProfile.AuthorizedApplications
		For Each objApplication in colApplications
		    If Replace(Ucase(strFilePath), """", "") = Replace(Ucase(objApplication.ProcessImageFileName), """", "") Then
		    	blnRule = True
		    End If
		Next
		If Not blnRule Then
			Status vbTab & "Failed to add a firewall rule. No worries, it isn't really needed."
		Else
			Status vbTab & "... Success!"
		End If
	End If
End Sub

Sub ForceCscript()
'If running under WSCRIPT, re-run the script with CSCRIPT
Dim ws, fs, strCmd, intArg
	If Lcase(Right(Wscript.FullName, 12)) = "\cscript.exe" Then Exit Sub
	'Start building the necessary command line to re-launch the script
	Set ws = CreateObject("Wscript.Shell")
	Set fs = CreateObject("Scripting.FileSystemObject")
	strCmd = fs.BuildPath(fs.GetParentFolderName(Wscript.FullName), "cscript.exe")
	'Add quotes in case engine has spaces in the path
	If Left(strCmd, 1) <> """" Then
		strCmd = """" & strCmd & """"
	End If
	'Add the script name (with quotes just in case)
	strCmd = strCmd & " """ & WScript.ScriptFullName & """"
	'Add arguments if there are any
	If WScript.Arguments.Count > 0 Then
		For intArg = 0 To WScript.Arguments.Count - 1
			'If there is a space in an argument, add quotes around the argument
			If InStr(WScript.Arguments(intArg), " ") <> 0 Then
				strCmd = strCmd & " """ & WScript.Arguments(intArg) & """"
			Else
				strCmd = strCmd & " " & WScript.Arguments(intArg)
			End If
		Next
	End If
	'Run the script again with CSCRIPT. Kill this WSCRIPT instance.
	ws.Run strCmd, 1, False
	WScript.Quit
End Sub

Function SHA1_DotNetSource(strFileToBeHashedPath)
'VB.Net source to return a 40 byte SHA1 hash of a supplied file path.
Dim strSource, strFile
	strFile = strFileToBeHashedPath
	'Enforce quoted file name
	If Left(strFile, 1) <> """" Then strFile = """" & strFile
	If Right(strFile, 1) <> """" Then strFile = strFile & """"
	'Now store the VB.Net code
	'Code based on Lionel Eppe's http://us.informatiweb.net/programmation/36--generate-hashes-md5-sha-1-and-sha-256-of-a-file.html"
	strSource = ""
	strSource = strSource & vbCrLf & "Imports System.IO"
	strSource = strSource & vbCrLf & "Imports System.Security"
	strSource = strSource & vbCrLf & "Imports System.Security.Cryptography"
	strSource = strSource & vbCrLf & "Module Main"
	strSource = strSource & vbCrLf & "	Sub Main()"
	strSource = strSource & vbCrLf & "		System.Console.WriteLine(hash_generator(" & strFile & "))"
	strSource = strSource & vbCrLf & "	End Sub"
	strSource = strSource & vbCrLf & "	Function hash_generator(ByVal file_name As String)"
	strSource = strSource & vbCrLf & "		Dim hash"
	strSource = strSource & vbCrLf & "		hash = SHA1.Create()"
	strSource = strSource & vbCrLf & "		Dim hashValue() As Byte"
	strSource = strSource & vbCrLf & "		Dim fileStream As FileStream = File.OpenRead(file_name)"
	strSource = strSource & vbCrLf & "		fileStream.Position = 0"
	strSource = strSource & vbCrLf & "		hashValue = hash.ComputeHash(fileStream)"
	strSource = strSource & vbCrLf & "		Dim hash_hex = PrintByteArray(hashValue)"
	strSource = strSource & vbCrLf & "		fileStream.Close()"
	strSource = strSource & vbCrLf & "		Return hash_hex"
	strSource = strSource & vbCrLf & "	End Function"
	strSource = strSource & vbCrLf & "	Public Function PrintByteArray(ByVal array() As Byte)"
	strSource = strSource & vbCrLf & "		Dim hex_value As String = """""
	strSource = strSource & vbCrLf & "		Dim i As Integer"
	strSource = strSource & vbCrLf & "		For i = 0 To array.Length - 1"
	strSource = strSource & vbCrLf & "			hex_value += array(i).ToString(""X2"")"
	strSource = strSource & vbCrLf & "		Next i"
	strSource = strSource & vbCrLf & "		Return hex_value.ToLower"
	strSource = strSource & vbCrLf & "	End Function"
	strSource = strSource & vbCrLf & "End Module"
	SHA1_DotNetSource = strSource
End Function

Function CompileAndRun_DotNet(strSource, strType)
'Compiles and runs DotNet code, capturing the output.
'The strType is file extension like "vb" or "cs". See the "Select Case" in the code.
'The strSource is the actual source, NOT the name of a file.
'Inspiration from https://www.mvps.org/scripting/dotnet/
Dim fs, ws, fol, cmd
Dim strFolder, strSubFolder, strCompilerPath, strSourcePath, strDebugArgs
Dim strExePath, strCommand, strArgs, strRandom, intChar, strCompilerOut
Dim strCompilerName, strCompileAndRun_DotNet
	'Set the compiler arguments. 
	Select Case LCase(strType)
		Case "vb"
			strCompilerName = "vbc.exe"
			strArgs = " /nowarn /nologo /quiet /debug- "
			strDebugArgs = " /debug+ "
		Case "cs"
			strCompilerName = "csc.exe"
			strArgs = " /warn:0 /nologo /debug- "
			strDebugArgs = " /debug+ "
		Case "js"
			strCompilerName = "jsc.exe"
			strArgs = " /warn:0 /nologo /debug- "
			strDebugArgs = " /debug+ "
		Case Else
			strCompilerName = "vbc.exe"
			strArgs = " "
			strDebugArgs = " "
	End Select
	If DEBUG_VERBOSE Then
		Status "strSource is " & Len(strSource) & " bytes."
		Status "strType is " & strType & "."
		Status "Compiler will be " & strCompilerName & "."
	End If 
	'Create Objects
	Set fs = CreateObject("Scripting.FileSystemObject")
	Set ws = CreateObject("WScript.Shell")
	'Get path to compiler
	On Error Resume Next
	strFolder = ""
	strCompilerPath = ""	
	strFolder = ws.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\InstallRoot")
	On Error Goto 0
	If strFolder = "" Then
		If DEBUG_VERBOSE Then
			Status "ERROR: The "".Net"" framework doesn't appear to be installed."
		End If
		CompileAndRun_DotNet = ""
		Exit Function
	End If
	For Each fol In fs.GetFolder(strFolder).SubFolders
		strSubFolder = fol.Name
		If fs.FileExists(fs.BuildPath(strFolder, fs.BuildPath(strSubFolder, strCompilerName))) Then 
			strCompilerPath = fs.BuildPath(strFolder, fs.BuildPath(strSubFolder, strCompilerName))
		End If
	Next
	If strCompilerPath = "" Then
		If DEBUG_VERBOSE Then
			Status "ERROR: The "".Net"" installation doesn't have a """ & strCompilerName & """ compiler."
		End If
		CompileAndRun_DotNet = ""
		WScript.Quit
	End If
	'Get name of (temporary) source file
	strRandom = ""
	Randomize
	For intChar = 1 To 8
		strRandom = strRandom & Mid(Rnd(), 4, 1)
	Next
	strRandom = fs.GetBaseName(WScript.ScriptFullName) & "_" & strRandom
	strSourcePath = fs.BuildPath(fs.GetSpecialFolder(2), strRandom & "." & strType)
	'Get name of (temporary) target exe
	strExePath = fs.BuildPath(fs.GetSpecialFolder(2), strRandom & ".exe")
	'Make full compile command
	If DEBUG_VERBOSE Then
		strCommand = strCompilerPath & strDebugArgs & strSourcePath
	Else
		strCommand = strCompilerPath & strArgs & strSourcePath
	End If
	'Run the compiler
	fs.OpenTextFile(strSourcePath, 2, True).Write strSource
	If DEBUG_VERBOSE Then
		Status strCommand
		'Run the compiler, capturing and displaying the output.
		intChar = 0
		Set cmd = ws.Exec(strCommand)
		Do While cmd.Status = 0
			If DEBUG_VERBOSE Then
				intChar = intChar + 1
			End If
			WScript.Sleep 1
		Loop
		Status String(intChar, ".")
		Status strCompilerName & " StdErr: " & cmd.StdErr.ReadAll
		Status strCompilerName & " StdOut: " & cmd.StdOut.ReadAll
	Else
		'Run the compiler invisibly, deleting the source after.
		ws.Run strCommand, 0, True
		fs.DeleteFile strSourcePath	
	End If
	'Run the newly-created exe and capture the output
	If fs.FileExists(strExePath) Then
		If DEBUG_VERBOSE Then
			Status strExePath
		End If
		intChar = 0
		Set cmd = ws.Exec(strExePath)
		Do While cmd.Status = 0
			If DEBUG_VERBOSE Then
				intChar = intChar + 1
			End If
			WScript.Sleep 1
		Loop
		CompileAndRun_DotNet = cmd.StdOut.ReadAll
		If DEBUG_VERBOSE Then
			Status String(intChar, ".")
			Status cmd.StdErr.ReadAll
		Else
			fs.DeleteFile strExePath
		End If
	Else
		If DEBUG_VERBOSE Then
			Status "MISSING: " & strExePath
		End If
	End If
End Function

Sub CreateUnzip(strOutFile)
'Creates the UNZIP.EXE Win32 binary available from http://www.info-zip.org/
'Unfortunately, the mirror sites for this are often overloaded, so I 
'elected to embed the file here
Dim ts, x
If Instr(strOutFile, "\") = 0 Then strOutFile = Left(Wscript.ScriptFullName, InStrRev(WScript.ScriptFullName, "\")) & strOutFile
	Set ts = CreateObject("Scripting.FileSystemObject").OpenTextFile(strOutFile, 2, True)
	On Error Resume Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000E00000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000C052C6448433A8178433A8178433A817E62CBB178333A8178433A917EA33A817FF2FA4179433A817B215A3178533A817072FA6179133A817B215A2171633A817526963688433A817000000000000000000000000000000000000000000000000504500004C010300509223420000000000000000E0000F010B01060000200100",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("0010000000B0020090D6030000C0020000E003000000400000100000000200000400000000000000040000000000000000F00300001000000000000003000000000010000010000000001000001000000000000010000000000000000000000000E00300F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000555058300000000000B00200001000000000000000040000000000000000000000000000800000E0",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("55505831000000000020010000C00200001A010000040000000000000000000000000000400000E055505832000000000010000000E0030000020000001E0100000000000000000000000000400000C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000322E303300555058210D09020904BFBBAF815EDF7E13B903008816010000900200260A00D8",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("ECEFFEFFE80A006D9C8B4424088B4C240450510E001C83C408C39000F66FFF1F515355565768608D42006A021C011BBD68E076400B910139791A340F0BFFCB76F78B5C24384F3CBD014D002033C03BDD0F94C0A3FFBFFDDBB892468B118BFA83C9FF12F2AEF7D1498BF103F23BF2720FEEFFEDFF8A063C5C74093C2F74054E0E73F1466A0768CCE34100564EEC9BFBDB99DC410C85C00F84814C78683C50421736DDFF0F746D396C24187E1B8B54241C1D388B42B6FD64D7C92019FC4C6800E44A8D8F9EFBA5FB2068F8E308545152C705488C003EF36FEFF217CC8BF02B1085F6740F68203C8547960B5F04EB5C8D191C8D18045C5F9ACDF7EB4668144B540C",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("E4445250892DBAEE203B4714431C7818DFB5D35061B029B11833FF3BD79BC1FDF60F8CCB02863BF70F85C3073B2942FF6FDBFD013BC7891DE8557E4028A1088B008A0884C9741F9B6B63FF80F95C7503C6002FE16E135E1675C7FEFBBDE936508B0D2C83C1044E890975C277F75BFB8B0B83C304650E289B430089268915BC18DB6C7777893DC0050F8E017333ED6CC8C472E12F7C690334897C24108BF373E9015B73BBBB3EEB048B10A1401D1BA7BF4B681A9A00166D34526A61BBE16C19A53333C93BDF06F3B1E7BF7FC183C00285EDA338741CC706003DCEC3FEF6FEC62BC7C1F802A38A7EEB1D85FF74191F8EBDF69FECD62BD7C1FA02ABA5788038331F",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("EEDFCC168B460483C6049110F05ACCB6B91D85C9A9D0003B00B210F69F9DE0AD0DCBD82BCFC1F9022BD1F93F5BBB70E98103996FAC9D06BF30776FF877C48A108ACA3A17751C61148A50010C570175FE8D86BB0EBC83C7025EE0AEEB051BC083D8FFED6B23DC7775648FC7E56900E71BEDD768954C11A4510356BC32D8ED20EB1EF7741AF215E4C0960CC2A2ECB048ED0DF06C3AEDC7ED8D3F857AFEFFFF906801041768745C8C7DC47868049B42614D500D68BB1D853F0CFF156C9DE886B80A425F5E04F6CCF65D5B59C396C452AAD80761C206F8DF7434A1D008E500E4EC752B6D4CE8FE9AB5C992CCE8073F83EC0CDFB6BA3A0F100D14498B07098B2D743B",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("EE687DFFDB558B1433F6AA4A3BB81B6DD3D389638954278F8C05F76DC12D6CFEC3C88209F42DF9C2ED85BB79088D7801838A07471874CD96B7BFFBA5FAF8560F87D89C33D28A90301C40872495C6EE0DDBB41B0646DC099CA14C623BF35116DA77ED2BC61F4A9EC24A23D06AFE4C5A97EC772140A30A27071BDE7620C715891D0D0E50AA039B2CCC1B42501F6D0B39905454B756DB7976D89F391D250B893DC43A0DE6DBE1C3753314C4010F8E31038B17E3D0CED04AF905D4FADA97DBEE84131D381F07F5038A4701473ACB6127D90BE975F88B1388EFBB64339158B88CA3161CC880BDA315B66060B9451A96398C645B029CF046423D1B5F68215C32846868",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("4976250772A4A46C92103621076C706CD60372C97070258D858E874D78A52A2BC0318B82E1B3C7EA897B2881C5E746D49E0F015B1ABACE0244E4953C47790244A90279F29001448B023A02AD7D252F2E021D8BC5ABDB246CCA66D9A745985DC9813C49787880815CC9811F8084C9815CC9848888490AB20D111268334608998C68168C38B2106B4ABD1025B28CB990E6630E8C0290089990039098906FB664980A2C9CAC644B869C0AECD7AC51F230E5C1D1F6A7035728F60614EB56A17C6BACFD46721617EB3768079667087B2FA1A026A010A08D600D7B0857F485063BC7C607FBD38B60AA047D05EE78CE5EEB310BB8259A2053C770B101D7A7008F0C8C1C",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("72064D1C8A9CC338F8D1DE2F1137A150AF06DBC778FB49740E0875263922751EEB0C0D74D9BE6D9008100758213B076C422A39E1334D7C433F9A2D02BB4CB80A3BC890678BC07E05A2567039EF00E46431CC893A60D8FD7440A4146A012B81651173707875D80690C3997CB375DFA88B8885D27457DC53CE50CBB33CDB2B0780238C1B9C826C9C3E13A13192D01A0ECF19014B0D7A9F24110A7F17378908575D890ABB419E68657315197410EF89BFC5482DC30F83DC7C1483F9FF60E642A9753E6E0E4C2E18A17BB669B8098D058950DC6EF048CA4A19E8CF1403711996CD72B938153516621317EC744DB36C2C1891B10B2BD559765DD7022718035807A019",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("C4A6EB9AA6CEEF0F3B8203A265D32C9BCF7F17ACCC0C180EB66B9A4CDE982F001E00011E0F396C400208030405FFC9DF2D06140708091E0A1E0B0C0D0E0F10111EB0D2FFFF121E131E141E151617181E191A1B1C1E101EEF005468A8C516180C0A1F8B8E369F95C0FA4889560F84911FCF5E99008704D4E601E2D8D1B372049B6A048EF4E6F103E4C21628566898E8B3CB6E953D26C4EA6A2001619B2EEC68C0E9331C870E2C81C042F63605016890EC265AD86EB39416EE405018BCED30EC77815C100CD9A8EE2B98B9402E0C3CB3040807EC10E6C0DCEF1B087CC6DE006804088CF10DA9DD955C14C737F7D81C7F6BB67E5F83E00A5E27746A4BF8037E1C68",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("2818D8D94ACAE648B51B5D906C3911F66A8C28C9EE0990ED010D1C2CF0EA4A36FC56545CEB5E14EBC841C8B72C64A4C841C841B0C0C841C841CCDC6420E44118EC4C4D87F12084EC2109DB5C39840C191F181CEBEC78C12805CF21F3020EE8CAEE05596A24DBDBDC54383F501D45480F9257321000E400E44C2417200C0C32910C8114140BFC6E0113C390558BEC538352880516F8518B750C2B84F677AC2C6DF0472212DC8BF88B45D94DEBD0FFDD4B136E93F7C60305740F3206460FB6D8C1DFEA16FCE80833049F498AD1C1A2745B8D9B96ACBC01C10033061D086F29B0402861AB8BCA7661DFEA83E107F38D6424007BF19CF0605FE2595A265B5DC3CC00",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("A1648D588B7D1FCA0AC3FC0DE400BB705108A84F192270210AB5237436FC969BB7FFBF7BCABF08BDF6C101740AD1E981F12083B8EDEB02094F757D7F62F7EC890E42A981FAFF7CD75FA3525ED96DC192536F9C50542322F07BAF852C120024A11C74ABBFDD6925FDFF0D0C028BC883F146AFC8B82D8635E3C5401C1420DF0A6F5D4C0482568B35A20C33C881E1CDF685772F0057C1EA7F0C8E33CA231889D4CF9DBD0D291A03135869C985F36CBFD10808418BFA1C18E78DECB576F61833CF5F3C5E3D1A296FFBD7BA38569908A24A7856341209EEBEF6585A674523092690148A0684BAFFE2DDCF16254A8A138C8A4601D7464EF096DD1575EAF800EF7C2BCA",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("A5E0009B368B481857017ED72EA7FE890635587C33DB33C927DF42775B1E14D38BD04871A3097EC75EE8B613BA100766C60242890AEB0916FA87763059BC4588440C1441250C1D22F6FD387CC5472C5E1EA163B4DB600BCD5EA1D4A2746965AF5029F7A10CB65F94141C56DCD07479455A8BFE7051DB02D722EA7DBF74152B76EA36F4750D57B8054F5B012CBC50F8032BF98BC18BF74C4002F3A55F21F737ACE103F3A4892D1033A33974D1AE588A2ED61419165CD1BD099D573DC6478F0FFD66639303892F6A7D7BC3A37FB6848C7A2455100A5F8BC56621166B1611CC1F2C576CDB128F9C04524250735B6A8A5350B6CC28BA7822AAAB6FE0F01083FE0574",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("64590C92EDEE57473688191F108D54A152A9CDD5D2B85A1B29FE029BBDBB99C9237E8EA1613667B0D85D1950381C5152676363218BBD759C95DBC55F31363066B6132B53B4BE4B5B9D0858505388EC48C27B290C95EF668B3D1C9BD96F7F47F0A8F675074C83C8FF5BC3950B6BD0ED565184B0E11042962C63851A1B1D52B4D562D8E61B20569FA0E31891CC10928F1456C92C81EB18FC62182273114DD4B612BC2A41CD0A4972FFBF8E086F0C216C8A54340432D08AC28807ED85474002FF0B0C7CDB800BBF391E8EBC300FF6421802F4A1DCBB4CD3509BE1FF95EB08A1540E75BF6ADA0918A8FFD77408D65EF1C7934EC6080DE0BCC17E02626379DA6B3510",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("1AC8C9C85742F69F35F1810E32C88AC1880E7D84F40AB789E15F374882420C0CBBDC0C536A0D4BAC96AD0E7440B55CBFB0F0A15D7AC77E11876A08556E238BE84DF1D62BEBB2785A4249168A04501B77EF5AC508BE0346EBCB380C803EA44EC01A86D8EB053A2C1157EEEDA0C64C3C393D5C55C7DA249BD2165210DA56C08AE7BE49960641D037C94F5ADF95643608C09ED85EDBDDEEE9C27509B8B8041CC3F5E6AC3F2172D25C489DD1FBCA1F335A216EFB0A091ABFD0E08A4C76D11CDE03D08D04958CCF987D4C50624075125326A8C42336692901638106B54FFFF2C710B1B1D1714D0019572745A6C0B7BBFDAD1B05803B2275284380891F1D8A0392DA89",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("BE516EEA227465538DB8D7DE3FD7194A1775E8EB54260B46161E61C3F04B458328017E0D2756C8C26412250C2171B4C099EC751749D21CF27326BAD60BC5D740046E7A5106C815584E740FAE0DB760EBC384853009208B1B34039B54010391AFEE1B2CDB967BEBB25D47F675C60EB86DAD051E481A75E5E336A0E1C1C707CA0A5DE911108CD7BAECC307057F0496D838F7BC1044FFA2E060E142FB473C3125311E930B772E74153C2A1156426D63C70F5975EB08745818550B3B8DF1A68899744D392D5016A7DB1B9B6C46F6E016B115E43B5998C1FA394A1558A4FB7F214C75B38A1E84DB885C5657C306F28274174CEA3ACB0B41B184DB1E5E5DC2A9E3CB5F",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("81EC1848A1D48AC23FF1A7E003C8A05AC4D281F9400DC01DB6E0FF0F9FC283C20756A80457F5184B78C02D75781408F209D968EE09EDBE56501B2409781E3C9F33CAD444FF7B6B464DBE77810C9850502932346DABE1DB2A7EBCA51CE1219B0131F86CE0A8474EA10C83AC1DF55D1E0AC681C4A0C3C26AFB6ABED84052603508183C502CE9C0C000260F087B8F76B450F346D0F2587B4270664B5878C7947CAC5BD295547808B3528521F99D0344EE140065CD90BD8CDD77505076818C3C6CEF5701081C68D21C2D08D3A76CC24920114D41F605A4E94A0FC70220951410964B5118BEC47F10F41952C2E7C81A0690F32DE4849B0EBE1C3B83FF2910B217B205",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("925274098E53F790E4C7AB561C30C2A9C3764F18510824520918C287D0BA5F351EEC1028F07C207BBB03DDEB1E3818CA18145064ACCB5AF341552414288C84961C08B308F021CB0985CDC8C9A146BBCE0DA6014169CD1063111905035565545EC2DE728D6801079668216C395D3E04DBFFA505DE0F8F0F41408D14303BD7771106B3D00D7EE9890A4649044875F74DA6EBB24157CDE0482B595F62495B7390113104998DEA9A43FF2434DC388F35E8A055B32B8B19AED9E0F006891430442823C11ABDC2488BCA16B7267468A1DFA14C9EED56BC5759F5AE3BD9BF1C012C3A2836180F86CFFF0AEC0DCEFD017337DECD83C508D3E07072E3DD0BD83672C9F6C3",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("C8840D18845DF4374944D1EB4D493BEE6073366CDC2D590A533972CACBBFC4BBDFF3D3F7D223D009388D3CD0FF8A4F01D3EBDBF6D2DD2BE9080F8BF13B20765B0463775EA3B0D77EBCE61F346ABEDF1859786A50B557A9C3F7D023016F8FB7C86CCAEB91637004888874C975DD6F403D00AE8912AF9703B18B015D4556884C5BCCB9ADD976CD3BC618E589FB1C0365A66107EF2413085098F9861F02D3CE2BEE514C23C3D3EB64A0049773512C10F22099400C03C3B6541B333B4710C8597FBCF6E02BC1BA05CFB53BE873BA67ABB03A6A3972C64B30ADC1F6C568553C6CC1B7D2D7CAEE430C8A17E18BF2E5DD9110E4C8582E02488FD0984D04DD1D4EC2EB8D",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("2BD0C2442C3B9CE028EC2C7D7A04744C49085A27B895DC36495181E21B367ABDD0FAC13E83ED08F7FD76D47AF1008AA2259C0866E0B10F0F8F72B1F7040D0C0D15F7B1F57790B6CE890FC177025DBA2E60DBFAC02BD085760CD7EB1BFD0FC12BFA2F2074323BF1772E898D7FD41A8FBECF05A09AAB8BCE800F163DAA6B03CA03C2DB08FEE0CDAFEB612BF1FD3A178C7D38DD37B0D38DB809C1EC7C6F06781E43A43FFE3DE62621A2BC468A8F3247888E03700B77EA064A3892FFDF817A4DBF42B7B07521696809878674486D757B69DD9BAE740168FD0B188731C236985175BF52373C60D1506F43E4C1ED037877E90B912803D1741615480F5F2BD55E80FB03",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("5E225D2BD1168915E4298899076E1924C3A6010C07023157200E099F200F46D2342C303B194E60029D89DB06408111B8280CBDA4ED95E4648184949024501C983C008A008C56641C705C8D971116021BE088980B9D2320570207EFC4920736300D292509EFBC058309EF0D4F408BCF83038F0B072BEF450D5BB8001928281482E42812093C32C9204F3C2C341701C851363643A08D35323CCA9C0F241310020D7F1C02AE73F97711B0722013812020F924504B094F34A1BC92E61EAC96EFE430896CCF074DD334DD2C0324141C38180E60D7360CC762980093A8FCAE4093D40F857630C1E00250D76E485685362C741CA1619C6D9788B2D37657180D41E981FE",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("16EF3BCA72F0A1C05B760167C23E5AE113513C2410019990C0C0EF3BD03DE328033C9BBABE8B0D59FB7DA7BF9EEB17D41105E0BD888F0F6A0468F0A3C8E5D823371558CC8492011C98516EC02262217B801B546A08762BA50C2E1190553A2E0B387C6A02FDFFB680667ECB685C1EC7C5C16D602970E8638FEF3576E602EB7E6A0366A17E2C5024FB6027350BD780530651271DF4155C0436C4791E4230F87621333CB3C03C151136F0E0C72039C32C27D40AB76B743C4688AE86A023B73A8811E6154652ECB05176B2E340895E8FAC0C33F0EED53F463BF072D5EB73C43E07C704B022FB17E130A64A762BA1EC46A6980DF921A1C0A256E84421609E948023D8",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("0A38BE375DB2DCE1AE4CF104FF44E44181FF92BD33FDD5EF0F82511ACC2D91BD331BFEC1CF24098D6610663B05962A75231960240DA9A099E051ACA3033B3C3070893F048616D78D441101050856597564E21F475D25C7073CE3BDA5006777336CF0CAD8003B90630FA17D971B2220563C408045F642AAF528EB5830859D8FE49CF62768212B0B2501B7286CF74C3C831E38967B3538E83D0E1674C1EB1D4E58555977D835F524518DA9520E30506A12B041234148BF36F61C37769FD1CB148D833DD836017FA3FD503EB5D3C67457BB300985BE8087E07D5D89350EA364A1186BF8655A09201F17A5E1904859630636D1ECC140CF858970957F38F6300F8448",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("FC8281D3C1DB280C052C102F50B01C078685302BC26D3327CDF8317C3B7553B6E1C52879B8F8A50C90E3E6933E34011050892436421D38AB886DE90E44D78AED47A61B7494B000FA020F6679DE1207EB3533EF6683ADBF76D454CF8911075422B6782AF812B3AE1B9BA2AC7672E89F6640508177E85AA85A247EC667F276D75B5C766E8BAE8B3356C300EEFCED542A0E74449106C6D130EC4DE8504168F4C81938C3912E85AECC2875040506A8396C1856C624459C88D8D3166E96075118EE109C1D69E03C4D08FDA0D4BD3342942B927720F9BB0E022021B434B27C8BBDB60A072D8A653DA50BA67322DA5A423CB7A1208D75AC3B736A0127E877D6EB8D0783",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("FB5305BB0B728D7305891EB557433A59D3BD73990E087F8B2C3176C85D5D8750A1C0458335A035C6AB8DB1198B6F5901B00DF4E387C4A2954836BB6E3A5EA3E9408CB81C0A5F6DA864C83A184F08E6596851990101809EA5301FA2835630155E201A1DB385DF0F8D30DCB5E1E6182E742D35B8843E7405B86B64C905D08E2C513CE70C4772D4F97BEF45216887E4C250EA00FAEB5B1BE8B1413C60B025D3DDA96E54010D751BC04E0C6FA338B2FB2E2CAAB974DB33E76E7BB98082757E5051EEFB8FE4465990D187C97639D84DCEDA83F9C347B84074FBBAC32A0B54154065DB913D40ACFAFE26D875AD9086863A623606321FDD61846886391BA716A596FE0F",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("1F5D3BC21BDB83E346670BCE1AFE7E435A34C33BC175121E0DBB52C45D83395EC1153593195196842E20BB09F31313C38AD85D14FF0E961A998550689447500D60A39757E2FE0BF4D296ADF463B18A152080E10880F90D13B3F6B7ED0F94C2200129FDD1E20BD1892D3ED876E7CC15841D1AC1E2021DFB1BD403C7AA5AA1707842BAF33B2BD82A740E51041C785FF8017D4108F083E85A2948740DDB60EF66534DC908EB2436414DD05BA075DB24F75F0477D03EBB0E256CE07627E1F7ABA06748A302DE2DE40A0E073DD9E93C2A7656473B442EF35E07D457326DED740A091BA860D90935D41DD19E3AC9BE0A2EC82FF04227BFC16D99F7FE50B86766F02F44",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("6F0052F7E9C28BC2C1E81F03D087F4A9B8C39C5068354437855A7AF481F1B23DC8A244E4F20089262B813724FAAE6089519B5C26F13E8B028F6825CEA009D3578036103C7988CC59A501F69F0A4E5EC33C15767BD833803CE4CF01C50101B12C1FC802CAC1E9D198EE420E611890F420FD4217B0D136C6686AEE3D3CD9CC85ED720A05056D86CB090786E0327284C10987B7F08C9000BCBF4F1C15F4844D4077421CC3501CC82B8BD7323DA672A0F559C0EC00EB2268F75667EC024FF99C4C66D167908DCF825E6687108C6B4818AB01C8C35B069FD65AD7A877410571DA2DA72CC4563A73272146D0D84CD81D20343B503C04B9EB1ED603EC568526C8511FCC",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("F47A21D12100EEFF46AB0C3551F3A47E451786C557B980CD0A1F6B2762B5F2A90928458928BA017E44B8153CCDE0050529F811BE9EA3703003F28BFE5B7EA17F691FD779084F81CF00E010478BEE2BEFF07A70A9008DE018B50825B76551ACACE2463D6D1E682CBB021239CCE43E78DD9B09A17B608E0CB30190273AC0F734B56BC084474DA0081076848DD0A731BB7DF08E955CD815B852C2CFC885F93A203B2D385255555092513B270D4351C528468D98625687DB0B1C4EB3CD7F17609BA84663645509AE0851B4E0197D550E9503D78EBE57EC15062FC10CA1E996FECD5B122BC82BCF76032514193003DE1D2F297B3E3B3075FB645668B40263F54A36E0",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("0D3B9C844C6279B20734318CF7410FC230955C20C0F607140747886062AABD75067F37E57ED5EBC44B0856B5833A0046204C6E633E08C874E218C552377412876F7B2FA15FC5EB0B56D4A31068070C02E311E15ADC819D12CE3A6912745BFCB201EB6A1D07F650F4E24903AC54BB41A90784C2A5EA74F12C6B51EBD00BD8BDBBE77AA73CABC8250EB0E21711C7A0F75F82D801DE58950666A15E68EE2A20DF323BC3D81532026C727E27C8AC7B3824BE4847031CE9DCB7803C51AFBE28F2165C0AC9C956C6808800EEC0CA86688517925EF6895BC21C517FDCF5F4DF8109A4CB77F67A81082C811C7D91808B055C2C95837D8260569F05CE511C522F58E2E3C1",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("0FC7401C1966505CC11183FD24756E27357ED2AD4E747B18017445EE0C3AFD81C0845286AF7AB71B80313C009189354C2CC27CBD95F340F8B310EE2D120088607282844903CD9CF68428DB0BEFCF4059B80F06EA0D7176144C7482C5CE3CACA951755E68F1F4E90145749641EB1B3BB04A5E202B84FA60B3191F1FFFF8BA4B141B805C58459D22D3240CFD516C199302F30CF042240FF652F08A42132B7C6A2F650126DED318EF59E869A010D184E3069D297E803E5C7546A1EB1B3A883D00693B6A217CE477892D23F8E6E837EAD6DDC6062FF802D1412C06A52EE405F6F762803D682F7559F620F8FEE9590060B80983088848FF40F8E2C19A6DF65874E857",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("69CCD0588AE6F4756A8030AED8BEBDB83BD97D30D925007F713DCC0BEE61EE0F8FDF057767BC2AEEFF25EE700BF7AF1553333BC53EDCD81E9DAF59190228C302281063F1889674F7FB688BDC23B1020886CE172AF2D1C32E98186D028F00442AE40058F9C0028D3E9B75384463F90CF85E6562C605394E69FDBF82970EB28D48BF83F938770F34F7BC51F791FC51E40658FBB14A2EE3B4F9733F1AD6E05E2A3BA889C6226061E4966CC92A000F6109C0561A6D5CF8FE561D8D24E80A75084EC68615002462F61AFC921F409A24787746D5FD893D9EA158420C1A00DEDB93F7561BD1B530E910C473EE303819EA03FEEDDC86E0044100D82C45FCB30D408EB474",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("F85BBDC6AB66074E6066F36C4734C41179893428FF79121CBB391154A17C9AB8A0B7038CCECE756F508D97ED00C850F8EB3F5A027E388163F1023B027D332CEB2C25200BBC477A952FD831AB59A097420F629F003048CB2D4918403B4A0BD451E41081F51F36DB01A5879359C348548E0F7B34D7C8178BFF81204DD32DBBCA03F54F8B0BADC700ECA41BB00500010A020315A9805CB61F044F358A5801BE70A93AD1169DFFBA75F98D6CAE1CAE0518200B35DC98E80E18085C84B200246109D40F93754953D25610FD620034AEECF6C50F6895F962A15C32F4A6497AC1090F87B970AED4E9AD8688F45B27990648723B51D68385DC51EE201778D000B9306E41",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("838730762F39DDC7A28EF0364FF9EB6D18742A796AC746D98073B05C53F03F70EC9E0998B0329BFAAFA7F8D8ED70B94742C492575CAA603B1B458B26CA324709ECFE44347507B8246CEB16DD37C6B78A3904B81851680C06202410605351130E2B5CA3520239998CC02AF71D040939B7D1B90D4874619433887A35073E80D8DFA1404640890CB2A340CB00FE1175AB53B1CE8591DD210C3BFB7769F9046247BA3DC00BED047B43E35206E69A00E3DB11467108C7A01E495AA782385708972B7AA3071EE1481CC52950184AF6C2040A8C2F124D24FC415C6D0228F1ABAC08172A048E857B0765320F8D1F085F3BC38ECDEA4E3E953E9159E0FB5F00A468CC20F1",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("585B20B15070C2544D4378482EB81CEBB02818A9E49281797502E1D045FC91270C7B9E3C1B4CB9000508B766483630A50055551A03B823BCAD78DB14F8DD011CA3032074F1503B8BFE88DCBED5FFEF03F7DF1BFF83E7CEC706EB445474AB0B8473D2BFBF56CE0D207C6457529955B880437DD58540414888E6B09F19ADBBD71BF646C01BE0366CBE1BEC9EB9F826B8F004CFF7ADD9CE47EDE51A55740CBD17BFEB676436C30ABD7D0BE8EBE45F0160250371155178B13A5C80FD844EE00D25555152572900CDB53D40862CF7DEAA5D2EF9C670CB5DB979B8DCF6EC24707A52517651574863D820ECD850605F86A5400620D08BE00468D50409744531FA453C72",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("9CC53030762C1B6E8A7D67868CD762B0BDCDB5BB078EE12190091483EE0316344A350EE68C414819006700450D55D91DF88162E73CA10C7084C9192047C04834ABE404563230FC880ED483BF591B4072F0C5EB5B337306F8B0402614D537BF8FE8440C6EB6C6219986C33BC83932DD05B05BC5CD1616EB4FCA7ED484E40B04987467C85042DE6B00A9C0757A4825B7C645520F78FC040F700FF119EE0BA9E419BDE0FA4202740F78247440D108271F332006BEBC4F4B6BB014B9FC464950F533B40C1601D33BC0D34B0CF6ED120F2B15752753578480ADB2864D3BD9008C0B540F4572A15FD1C6F6EF52F79754AE99CBE5C0554758995B5A008A0864E8020403",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("C80EB88D6EB4D588045750EB741B3DD5144557CF1C7A8DD252C1EC4702500A3E6645A11146E881E65DC100F16202187A601A24C3729A863AAAE65344A612707FB5FB231BDFB40C74103D4D331A84A4D5C2F6277A4DAB8D56FC58084A6A7AB7821F590C8DF4D85166011C1F0602BD15782B03B15572C4FD51B15A0AB6EE8202358A5784A578F2BB00BFB390F6180556CB519CEEC306AB05E1853D414CAA662B5BF75A3D4265060B0D741D9BEDD8EE63187F48743FC5743ABC756F61BD2B42FB0E72278D57B50E4DA8047417287777A8C5F3B78D4EF212A7DE28D85904CC43BD0E851A91B3EF3CBD04063560070906B9DBEEA9721DF6A5013D570452FBAC40E64B",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("05BD0555B89B1EAB8E38D918BAFCDB2BD65F8461E18D7C37C1C2B6E7821980FBD83103D64C13BB4F3E38254872C074717FE5130B5BA207CBEABBFB06ED50F8A8C8F94898DD06772319E185E2009F60804FC8BB2F5576C2014061D385EE2D102D6E3B83C082ADFDAF8000084A3C09A43B45909E84DB3640761814FEE94FE09B90EEFF3681FBC1745980FB0274192E38C6C2EF268B62C1F808663D08D514AA805BA457EB7115A4E8FD7F891A12925780018A4F085168AC5A25C1A0FDB277C4DA20D8D557F54B8205402E10C8FC3778E3A912898D43FE6A4D775F6EF76C2A6F486138062BF5911B4632C8EE069C2850DF0384071828EB6A868407C8C3EB547216EB",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("396F258C90A318160818025E75284FA00491AA01DF6D9A6EBB536360FC79033F8F00039D1780BC00010103029050AA96444F77C5BBC32E9D73077D6C10FD04727B842A580F0AC082359082BFF576074D063BE9765E537D1ED0451C750A6707816FED7A285FD5404C307F515357A8935B10B8524C7533012E689C207A3B1B86103C7C5552FFD02EF065D1F90C0F57394E4F9D501C495F0C0510A83E1B42B0C32457569B0247618A3ECB33DB43CC7E0657F88D4602C0E0B721BE22ADE89AA3D03FB08121C3C7874970FAA168B6E0DD48100D6711AD05A789F505230B9563E115CC55D007A2558F2D8108097F7C44140376D49D0BC15194083AA86511B1BA5B94D0",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("49C97540FF137840C85102FFDEEB600BF107010C7409C1E0080CCCEB0148CF884D4560FEFB30AA7F88CF1A8BFA8BD1E71527881062852438603848AA29C8E14DAA460218231E2262ED370075708A303741243EFE5378B2C5745705E5C364A30DD502086C0F3A1931555043AEA42F91C090147E3F0BAB8A1180A03738B4176F6FDBEE76060B60E3101390C8850776D8DAE2893DC3E98BFD672FC635CC4731C003F02BD003C8890044C68E175F8918896CB498F1EC516CC05604973A6859B921E01869F4E10DC21436B51C74159F745063AC561F666F6BE56EE8C1785FFC02892804283BFDABBA55347FE7C55095C72C880306E4D17E09DA0ADD1689128BCF8BFB",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("084CB110A0A9ABDAB6688F5245350213658AF76A0CF5793FA4970567C725F8C1515553847B934B56981E2283C20C52194CE68A1855EA38440373B7D6CD6E728D70147517959066208F4F87EEA5425619028BF24AAE4C68850291A855844EF216B7DFC07F0CD017D3E20BC2478808A894C09FB0FF1FD1E84983F9087D1788064683E908EDF64207CE0735004649234D758DD04499805D5BD60C6F4DD5F6710C54FBC9350420730E0AFFA5EAC6075EFA044088074746EB1DB8E7166DAA7A5156B627514525AAFD76098A1688171BBE5B36A8DD5BCB5353311EB05FD3502DE351B82F6E0B8DF6135363208B710C400496976AA9B91EBBD3751F161D528D6D5E010F",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("0FBDDC542DEA5593038A1809ABBFA2CD11E55365C3FCA7D781B6A6B8F2A3309345A7C4E50E2BF80651ABC87FE07B010930FDFE7809751E586F68A4B32ADE7DE40DEC48F605AA16807512684D661EE6B41EB06F0C6417588D50FC1C0810CDC9DED1FF415A683C51423E2916A38139CA1593E9365990027B30FFC71234331BC05041E6D77B032206DDB9CA7E06CF02DF1D62E017353BC27E208B9674BFE277150F03C167A1840B2BC2AC5BB310C3327D069A208078CD024FCFAC80766BF329B97D0268113B978E7D2BC803D0452BC0E6849D5AC9AD36D6D7C354DA809D043166B3114F8F56D5012DDEDB7A188F9E056C222F14A17C43A1280DF902A40D7C17C539",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("0B9F0C50BD5FAC6D7C761F38752B81C12636FE8B6C6810173BD88BD3728BD016801302AFCAAFFD2A266D9386B1EAFE918A3F76347303FA2BC22BDA454EA6BA7A616375BFC5C3EE592448082BC30ABF4C9D878A70285ABC5F4216BC462314DF5C3267C439CFC8E0F6574740AB00D3995A06057E42C34CC67F124824082C153B4B1A3910D880C7DA0AC1083BA8750C4760CF663F3A7D2F9E6A4BB884BB03482821A142054100277A0411AC1110E121C77434285446C080FD22FC9AF13B8B5AA1334A5F566BAC10E1B23F45C29B011F4ED63F0D3C88C156B7E68FE0BFF94E81CE466E2BCE81A3491D733BE87826901618F6260393A7E066673B0D0C5561EC899051",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("07B833452B7398628F309403C65EC571EC368011FCCE1F03D12038B08259F6E451260D0087326C1087188985C450ECA3C633A858111D5FDB704B97CC3BDE24C4071AD8C63838F1E20B02954811ADC021A108191D166DAFF6C0358F5F5251F260D7BE03460E4FC33B67618CB5669BCD84305A69562F160BD05D085FBB397E74A96D2310EE2DFC427C04C26C4499E4B213EB15F402F13F5B4330EA90DC4480781302752791D93A0E8CE31E8160E204BE0985D95F5474A32E395E5BC9EB039EA38C9D78C70A1D7235E0EB89133BCE016043ED0F8C195E218BF5A981701D40218816F151AE6F625C87F9040F874DF9FA2300BC29D86F407FD72BD14B3BD3360206D9",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("698875F0B9631B3C02D7D7A33B1B0C318A10299D0ED63A2FF41408C702B9218B700B8562D6A99008B8896A6005DA18C1E108D86C2CD68E233047271E5FF813A0321C2BDF03DD53730DB9039D2B9A7C49D8781C2013B7FE52BC03D53BDA727E5885D24A800E547E07880646474A712D1013CE2E20AADAE813B0120AC3AE23F84AC15CA5C93271566AD616C605CF5655E51B2810C119CCA425213058A155984D43B449BF32B3DDE276142B8816824B20E1D0F0DE2FCD45D36148401D237A0F8292325F73AC71D8FFD84C28FE3BF17656B62F06B2E472257FDE2BDD535552C3F20038C05ABB1CACB0AEF5B36DB77831F5A90D46030A8B901016F8319646F7D91BC9",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("9F046D15025618478D0D48D467E30BC93C0A750B7AE0038D76ED194BE8C1492BC7518083994177F71FFC1180FA0D7523F18D53FF6246836C55A0FD2B88E0EB02DAB7AD196001451341EB1027AD75B7570B882BEB022F414E488F3DEC6F4672BD3BF57652F635A1F5FE2BFD845C498557A957C70103E4B0FC14A6DBF8EE1F248D4900196DC2720391450232CB786EFFCF6D02167E1414C67E0B6F847B6DB6C2CBB12CC90B6F83FF20B5652E0682563D531E432A52FCF08D430250F8302D75C5E48D4FFC06E93723029AE2FF39FE0C745D81FE494D46F8D83E29EEAA730456D4043D56FB42390A5AA47BB65A03E2B705C6551D54CCB2FE7799DB7CC600AE20720A",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("8A481F80E10F881B921594804B9E614F620ED8FE8D4B048D45FC515708485ACC8A3F08BBF8525649093670573EF8742AC74051CD19F0F72AEB507104764983D62ED9BFDBF85681E7EA37663DA45B9536E8750EDD726752247F9AA26C964485B9CF8D743E0A07F1E40403C177B7F7AEA1C47F9F8D5C2B042BD5FC4F8913D8161C1B38AEF99E8AD40BA3C3C35FA280F9025F0F94A95FAF2F3840A209A132FF003D0A23718A15A240B19B026EFA794C0922805919D871AF04A752015A9CD4C70B5EF56A1F24D0FA2EAA83648D0C2F83E0BBE0168C504428134640F38DB18399D05C82080BB0562D6875F6C34037638DD22F1DFB86A809011AEB0F03FF0A7409C608",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("1EEB0BDF413F4761708D4E68880D9C8BA1DD3ED50977C1FE3920890BFC79EA6666ED3C8B24C3DF406D6BF14304C2037857B7FB6F5BF00A04408903EB0B536A0A432A364006A9F65153F4299429357E76F7D941A4566C5F4042890DC2C74674712B0407BA32187C1180F68DD81A2400ABFF96340B1D43E13A6756D93C62DB23B2072C8A264D6A020DA1F5DBFD743FA1D4EC48A30578165706B65778DDDFA1075C05F56822165BF606A10EA545A262260FE04F487076EEE6B8E984ECC15B9FADD6204861D245008774F6AFD9D6383C650CBE9F644D3C0933B4201AC574DA10BAC18542CA610549EFF8415A6161236BC070011D1BF612FE0D713B56707C7C8BBE08",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("4742417042AC610989160858A2B5C5474BCD4E8DABA642D6019876E16108B48DC734C234506C0B42A9301E8141CE2D86E02E89B94F752750631035E8A63BA95FA6ADE84E2E0F632BEB279ED4D758FA10799E992457A9736505EB7DC9565E2EB661C1847B55794F4864424E1AAA554E40209BD02632547AD6B9AA847075229DE62AD6E4302AB59989DB8825104D670D02C4E2045FC70B0FCF68383453644987F975120638EC400A592C92CB1ACF6C1BA45FFE18EA88A6657C74283AE6DBF0EF96092610112C8AD880FB0D8826742108CBCBDB46061C0420741771741251865FB0D275DC032522686C8B0018486055195FC52722F6492B4BA671086FEAC0750729",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("9D85F6C787BF20DE9B7B740C6119C7476CD7231B15902D1F4C8BDAC59BA0013275586817B5C701634910A72EAEABB19E8A53470450B3781D7840CF75CA483D2EA914A83A55464DC07F8BC6EB11B8BC001A48941CE1B6A03FD00BA0EA9E7EBF91525349AAECA3F861097359118937CE0514A263EB803BD4FE6174A90BC94A0217DF9C04F06004E00B75375D781456ABA4289D77C38005C50E6A50063FEB8238C256402F9A288D03FEEF889F212E3A72508BD68BCEC1EA15C1E9192DF04B85F1C7C1504A89483850DB5CE9B6E5CE18C74021001A10203BCBB67C0B83E11F1F1C0C081536686F6E050F153FD1E2142E10FE56C2EC982C484CB332745E72073DA0BB",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("A3E4E8D6D87D05B8457F14E855C031DF73E064C11766506274071B295314B47A3756101AA35AA8425C50480435A9E58302605246D4888667B400A8B018026E722F2EB035C090DC87F00F9DDBBB176B5E4B1620078D7001177FA9A3660B6FF053C4679C932758D82E90512147D501A1DEDB0F4B998645A5FC75FDAAAB3F97066B04AD007D408DB8EF142DF5019D7C8C22FAE2490078866AA93588157ABF2781FB23302A1B0CE8A5A0C35056E6892C16F1F33C84E40D2BD8C6C0A281AF88C3194F08E7889B038A0774F87F0B115B574447C6E78605E01F03B87F754C408A511384D275151B7C070D44D78A41123C19D03C851A7AAB1A603C2875D1068FBFDFDA68",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("0452132A1232750DA163505095C96211D90CB0462F80B37E3DFB576CF45FDD84938534ED3C1B75099A5E8A46D0DF5BEB1A3C1375140F8CA0B71E113C7885A7001F8A6FC954CF1B2D3A3D0A0BD50E2A7704383DA6A08B0D30A9601E1E64975FD487CB741534002676ECDEC8740C5584857B3F81EE02A170F4333E271991DB7487864E6A4046592BCCC84D202288434CDB758D66588007B84E098A4FB81476D0BD0E468A570616AF6994A8708CD8513B72448B68FF39F75002CD8DB3FD7A62EA8E20115C3018BB038826F4C57D0A53133BF20149E5AD33C6831CD13C0B902E0D411D141646D85E7406C720D412B676A1BC2DC80A041A7405CA0E3C1B8C6264E10A",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("3CC81C16A566A19B85473B10B99C8E8E3C4066BF8BEF0541905DF11C747AA1D6505700C7820BCB7614C05540A82BF6BF11550045474875F6EB4827221C0E80A90EE7134A3E05711222B511A16B3034F278E67073C70B1FDD68F5C0B7043A0C8845EDA1DFC34C47797586A8C612FF568365A52140FB08761A803D1010A00576A22E7557115F708AE8788AD140CEF4AF2825B0C24A18A8871800018EDE6FB30B7EC18B2D8F3D3C9535387A44A572C52BC7888112CC688F96B627B8312A490D09CB98C49A8D700867405B922152092CDC94990EFF91B1012D7E3DC82BCD03CF03CB511ECCDC2124C07E444529C6302E29C6A5FA00EFF91C272F7CBF02D62DB77803",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("5D7A610BF30FD04A30045FB1A111CDB6B54A66D7C30F4CC0DA85DAB86941035102D303C20C09C40ED9090111089F03CD4974531BFE220B5E672C5514A21A10FEB789DC16393AD1D8A00817BF90B8E28BC77F57B929436B43A3E2C3BF04F3AB4C0C1908B7B9000928F9474E372014D2EC09A833E0B20202E8974DB7746809428E40097030B219699E757440782076AA0FABDFB86A5FC31F18A1602C4B10B308180028EE20149C539E1D68204284DB116D3D6408CC40E71E62C58935FF348D4022B8D67D458A20B8AB128F6ACB83C3962B62EBC1F83A7CFE96FC8B08F58CAE03A05A23C78D2C082E3D11918A648A4DCD6D949B8ED9D3EFE21C250874119CED1F72",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("7E0A917B6720A4629B8554083EB625EC1E85F6B5EE450423D75AD8F9DE7DD0EB8094191844F696EDFA6EB8F16BF10D55A43BBC025C042F55306C546A5F65BBCE8744D8B79F15382BDEF33BD87D4967CF6E2FC913423E7CC16B5002D45D3356862430C60CD08961A10E63A01865714864265F042F7271F311788E03C0E9D2A06CC00B6D414A808B088D14D104601B1C284E701A64848B24CF6D4C5C2B142A5C2AF452704340E15BD92BEA2BE852A18F052E0243DF3BEE8B82E6A28BCD61CE6A3C50D1AA8F601CB7A7F8DBD5ABD674D5890FD0723297C3AAF7EBC88DB5AE8DBA050E56C52D7A1A1303D03B7EBF1BB90A57EB195E8A8D25888E8B6084FE05464548",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("19E79E30C4890E45D6E67CF0C022A4546C2D1436B2084C99BA2BA01286820288C12505985C921C880F6717C22DFF496E5E0543F2878D5504889054B17788ACB676753F425E487C5904CE18C35FC7D6176B6F7418130A89283E88F535A357893C315F808505CC204FF69EAB605DBCED2C0009830F32C96864744CA1341D8AEF891A3C54385C2474375B69F540265458014209585DC037D2D85C1302452CB606FA7E8515283330D14C4644B18FFA464C414877245D269964B2504D98F878142FF67915A328344D3C9CA71CBD1E748BB136AB2F260DBC133E1CA068054E74E774E9D9646C56D06E4AA1DDBFC8B3BD50613C38DEEB2E2C32F66C29242C2328C07863",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("91EF30294CC615C042188143E215D650E383ABD75A7F401510E5012DE1125F9408267068937FEBFC44481B6F7D3C97458BCE83C6A24DB08B3B7CC44E8BD7246FAD5E20D1EF4EF84E027D486E5557721F11ACC55F64B2423D67395A3242378207027CB83BC6FE4A46817AEC0389B0C1EF02DE78BA76576A7333784C5F3B47D864760D43910817752C9DCD1C33A70C76FC200262C23759CF1D4355085B4023E1861DCEE907E8807848772BF11A10DEE08E4819D83B19FB83EE10F12D102B8AA1104E52CE9570244129191B168B419E760C0CE86407C4844C26AEE0490BF422BA3521BABD95742D2F45E4876F11A2BD938BCF4FCFBE43087D4203361112D710E408",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("FEF8162CEB3A7C96889D6C4581FD81F590B1FB3710558058B617183A2533ED9D080898B5F95AF54FF262892D60C0129A71AE04F939FA29590F3B81EC8080BBDDD6A237C23905F2B990DCB808D0A9CB41C37D68592EEAE7BB7AB9701409BC244C1CE14E9EB324171807104780B3CE510016081170B7F75A8F3D22442419A158AA11AF48A94710F0A8E846922004521A41B68E50C4135FDC24F9FE0A15779DC3B9209405DFD77B05AB4B79680B682C916BA428CE1885614C4D49AAB82051236C7E2DA92258288743BED79664093E6F5F426CACD8A130A656155C2B8618A3206D6EBE0B0181642AAF4A2464694872A224570D05690664284B05C3B8F6706905CC1F",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("052EC12714393276407E7D4A7D2149D48E2B13CDBFBEF7E70999EC7E466247B68BFB863551ECE71F475EB5285E03C844F6B35EC36FB73A332004AE8B16E50FEA0FB76F650483C50464043DF50F87E804C054DD1A752008DF04F34B27718BC38683C4187E4286C07641917D50E59B950119C0861003C235422371D86ACBB216BBA50DAF8BD4C08E0347CCB70DB1D494A8FD41728A901373B1426F8B19A2BD81FE2238D5DF893D422372F08DBC2AE81AAECF6A01132A1EDDE6850552B22CE28FEA40B3E3B1F72A5ED0891FDF4CCC8DD3B2C9883F2405B07716800A1F27223032152C759E9581786910EB8D3C11C55741E98280B47C9CCA90A1EA86154A4C920C84",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("7515971314CB48FD603BF015F6AB8D36D0480B30BD23C391AABB5785C10CD7444A01666F5B118D67E9F13F10730EB5E1A90B36AC3497457D7CDD14C923B046891E027D46D071CECA028327FF025E6A5B70CC870399029D283BCF5820E63630AEEB598D16B50E6D80755001F11D7DA8D5A889761AF103EA42FA788B8E5A11757148468379C881258D0399FD657964390307038D14D7EBA2ED9D20598D80E36BFE3C64A064070728FD20CBB29C077F0B0766AE10E4AF01BDFAF6E5A218D657F809C66B410FF7EFD5425A1361604B819824E05F1126221CCE0D81D68E0392D51852EA9718FC1D385298124C5750426669CE18DBF03020101B74A40773EB09A13FFF",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("60151D7E2D53176A016A1568C86CA48C8251A5E3519D7B2093C6159C98732C3AD01C40530DDB0177EAAAB6504991DBF70B810FBC4850DA750233F62364C0BEBB750F81FFB876964CC0B19201B0D6854C48CB1A87C60A187CB12A93180B400EF90239142460C922D93D620F183D31897FEC2EE9C3623084A0684170A80106A57C0DDC3F676FC4558BAC24D00870E850A2EEB424D807573B0681EAA3DE5C850004A138539B887DE838A0B9114146488BB889EA8ED62FCD8B01C65C8448DF08FE567B03434A891875EDAB4875278BFF36F7EE8C24EC4D8B9424F006BDC7BC005DC7021EC1E96683C6C41250BC513F2B8B3060F275098322F6370083F91076EF8BBC",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("39A2B57D37BA390F737F0FB8808DA48870B05113281664480E6DAB7B0B3EF48B37A32C787623DBDFFE09BAD3E63BC87312A38C482B37781D50C71FA0C0DD04D11172F28D50DB4C1CF4E2066C18F1364479D2BAEDC362A28E03CE89B0D42489EE28B565B048EB1E7C344CB6F71788CB03CF48898C341BE2B9E1DB0C0F7F06A25408F609688B9ABBFD8B07688F038CA5F7D807488D840689B48C23B19A20DC0BCE8424DC6379D3303BDDDB0B1C1C6CD0191DEEAC3B3F118C181435CC3C78EC061D122CDB8D8C6A83CEFFE588F8A0CCC213D797E254F9160F8FBE02C3040FB8C3FF83324D241C40A418E4E4810487BFB659716484B49001EED3B9DF4DC33BD00F8E",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("46535A14E90450173E9D8640B7F046E846DE2BD5AE723B68273014764B7FA255E218842BDD026B782DC12BD5D32B102D07702B3E2BCFFFD7F750A8F8433BDA73138E78E01F1F15DD6F072B1272ED1D30EB148A1A15B72B537608647677A2D6BC4AC24FE5899C9DA03E5A223BED0050633C5B325ABC0F94518D7A863BC7480822AA3C890A3812FD7C68A59104358CB474528A4F0B74B3E78C80C320F31D928818511300E4D10F1A9F14FFC8D3E389BCB4D0684B23DF6A0F1B8CC52EBF1C978B060C5AA4B7F7B1893CD9B123D904EBD6802C349A133D4CC25076D04343181E5E80198ABC61E16D3AA1DC2AC375FF94B1156E60C77807C65063EB454C52C005D320",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("E0BE73118EADBA413492D21F886FBD9BEE567E2BC21DE88A141011D07409D30DE42A04426266237C070729F07DBA83CB80BEE112E5D3E237E83BC57327DCCD54BF730CC1FD9B89190776FB6CDC2D5904F1D503CB2272E4A9FD17220C34C1BD85C7740833F8D1E8385A17BB0775F8504AE210224414EE2219F94A23D7A708B14F282A4C4E2BD839F9C702F5D88C244823C779DF837178F08ADCC20B0B160F8E70858F3A77E5E355C77B0440890B9D4276A6789780C763B68E5128F5C4B9CD767D24908E44C0F05CD1DB0DB1764710A40760AA55AA49E070309E70F07C4288254FCE03107D21305D5204AA70FC83E84413A2577D96D0C22A2EBCEB5E7DA3A24034",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("BF7C8D40A2542AD583747862BB6B218657AB6C0F9F2CFFA86838A34A402938DBBD0ACEF930E4570CACE3B122CAAF4408EC888B1E00B804437D57FE57EE1DDCE8851760DDE4498B14DDE00685056007A27803CC15ED8BBE3A67160CE4F85D1404900B10511A2866B1CB01BDEA8050F6B5040D218C0AD79C8BA8001815BFC99C040C5E060025F88846DEE8E364115C7AFD003406BDD9CAA8481D414E96080EF205BAC4C65118E920A2BC3661878AF615E97B89DCE229E49B0D518B04B250D4EB40ED480D81223376303DB5498E92ECC002731641A9838B753E580313940FCB8066454F03ED80996FD96AC91737CD43D8D1899936893B1450C600B65C7F6C3A60C0",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("A9D86E5052668A7E2E800D1D1837354E6452450782910EC8A96877BFB4F04154691099BE64C745F7FE0E59B49658C4599349F9E42D45BDF618EB3D4A5B73C17A8B028F24C1E819185CE9F7F6820BB50563D90DEFED159B8002EC77E01F3A28E31F9C5E09783B2C3E60D18870548BF565805E2AAD48C58BEAF552C402CDE80900D88074A528777404C836340EDBBB0416E80C08D178CF32C1233F128EBC7D1FB95B220E11EFE5142D2BC8E6BB501430BEDB4805153C22BE01CA28200041BC2244D0181BBD2076DF7307DAD5BA2715FC830D063CD5D004E28D910A1A447BE02E0E114D65486281B77F4905E3FA08F3A474280609740C0D85B723040D7232695150",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("6C5854B3F45F44F05244BBABD67B14A1DCF9148A88C863BB834B842F5183BA64751436E0D097BD5468A8022E08EB229E677A153983DE9323C1A15A725C68A06CC7ABEE4A57053C7461572C7741DB4F008B51180F70B0E210F61D450BFCDA1BD283E23E0A206A30DAE8F99651380928480F53652B6A2A9F78357817D21D75637823689C03FE3C941948D9EB4A60225E1B6146D134D3AC515B59006EAB556158EA9A00BD9E461A5CB005B82A26B57480D4368EEB24FB5E05FDC85914CFC70DF8442B3A106B66A2E57371FCC42E321E2A03C8F603F240EA91890E23F85432636D398F8E40B88934517BC0B4854DFB700E330BFA4F8D7C3B2049663B0D960516C5FB",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("E25DAE3DA32800189FC5F0D01C5256918B0546633D044446F874185274CC5850FF51C55B1443A83283FF7E3C4212A3332B5752444858AA83D8C8006E57B6F12631572780048001B4CA4D1D0A64A122B530B12B88D0750E83FD0355B95196BD0B3C285294846ECB488C0203529FA82389D95F676F30053C883E803CACC46E4D0B582E0F1CEA892FE730920F4E5BE1148F30301468D7D901D0A4392098020D603A16168BCC0B0C253728CAD37202D201EC59A0C515523E0CC880C13302D09639D007E7EE8686E800D4A130907C17B0508B14B1523F42C93664D32F3CEC4003390CD2D539880E0D856F5AC3C961D03D2B5C1466A93A8DD441321013080EB4D5460B",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("8D7D5F06F240AC60B6012D2339CADBD2195A1A2C1D02FF1A08120F89616E49741F453A6912563AF8C90CF3403ED9154254241417FE27A865AC145D30C7403A584BC8FF167560157A29E923833F00166F7A2942461150628501F1400F535730D8055CF274415118F7FB2FC9FF82585CA1E4481384C975208206B14D0D235C3830EC00C53B34649BA26D438F568534040581F97FF86FE880841E2FB8D34D6210F7E18BF288C1EE063B102C71A9CA1E720C2B2B82AEB5B8A103C15A290BC1F9DBC019AF0B1BC3268D0489E25B755B04800272F614925EC1BBAB3B57580602C1E203D6D1D1EA30DA25C81DF1C318130492129BDDB9E62B1504112BC65E1E4E306160",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("95BF2B840D9344DFD00A8BFA0CC780D011A452476AA838213C0A3F5B285FA17A0BA37FF313A0796A84A530CC48CA4B80FBE14027B10453553A151BAA6F8BF98C5139A8BE1EF0EC0115FECA547E8A0A5D67D1142FD080C3BD3F75333080E58A57AB2E84354261052D42AF5ED9F71A56E003C7FC6AF6371E0A47702A7549B0880182010E76467427BFF75833D6B030B51A578C0B760F80902675DDB6DDE9D60D4D5B22850138893ADF82C035E80C1321740C3C814630825E50003805FF540CABFF03F18BDE1BBF7535552912040EEB118A033C250739FB11A0BF613C5D74105371D8EDDBB6E53BD7045D678D5A0E2F9A363441862D043BF3B6831FE9DCBFE485ED",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("751A7443BD723C2D75C0E18586094A4EB0F9EB65181C94230C37F8697BB7412A56043EEB0AB8295135FC9B07E9807E012D74346D06BCB75C73F9ED1568F977223E005CD240D557C72CC0BF2D7D6B4B478A163BFA76DE9CFFA8B7254573970F826A583C44B12920D5224E51AF203BE183030C2FC69F9EA34E72848DA315B65253C350750E9610B54A858A08097F567F4150435153DB140DED5B010BBC46BD5A60B3518B30846039E7FBD70EB3BFE2D9FCF88A0B51D26E668A260EEF2740180939FB033BF8752294554B662C8B5ACEBFAA9A2F08E82D0A40B7A05FDC84D27403404FF93F16045F2E09F92AF95B7412FE16A30113D3F685BCB7D480C2ECF5E87520",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("82D6215C44DB3481C9E620368A2AA3370E7F44272A9DBCCEA3F4B65D5F0035A4E93BC6079C0C8C506DB050F3A28840E1E6D904989CB04B6873BF676B5D31443116A199049D51BC2B634068AE0784B9393509115F04AB0C91D43E30751240FFC0706AC6E8428AA3C899285513B858A82951267BB6A88FAA7714E5F35027556CA32CFDAB5515047A01C0D178DBAA772041044C743C0A5CC4D9279509A148082A17FA466F9D1DB62F03D60885D27E170D32B1C0541F42DA706F9E98040345EB2154B6FF4161739B0BEB20641247D0B72BC06BA0115305143BA6F1C8BE6F7E04ACA1BC50AA8555A8529BEFB083440C2E336281531CB2AB27172B8A4160223B6D4EF3",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("C5A2DA4146519298D996EDC163530C23B6DB4D51C385243BC71B104BB8AD025704192B6514B8EA180742992154AFB2E0600666EB645CA0F0A0E98E1683A110D065E03DD11DBE8E53CBB8FB16EE810318018A15141C8851045C516B4E28C84992C2016D97000C741A04430ECDD622B09907B046C02E5BD2D00C1F44CB31EA433C204F44FA0308311E5AF122628407BCD4505B340CC9083E0770400B0D081CC0DE55C06D28512AC19F743721D8662D9A5228852E15FA6E81F096DC1AFAE0342ABC5CF17F3D7573EE9D8DDDBB82B618CD2C7E64B808D7EB29B804872AD0E7954CA5D8EF0104DC11504505A9987BA029002B64FE211A80B068055FE106562E1EED7E",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("3C7D1A5E0390CF455568909EC803C8E6AB43F95168C08074AD01BC3FFFA362953C5768E0E20F1927F4751903085908EB1CBD338A0B987E2CB8281D2D1E46094C840343200F2982EE55064242C0810797ECA66DE4D921805A3B4005B34355000F35FC2858163F547E7C26F0076EE96A05C9016CA1040900DECFA267134C893D11C00860A446C7C33CB253663D6917409B9C3C57D2FCFCF409D746D692591129246BDA04B95F2F1C9312068D82DD7FD91F3E83C62081FE1CE172E401130294906F08103D280ED2828A15418B05DB59526C25210D74FBE3A03E62AB25AA6966ED4625683F00712E004005048D0A4492282EE86B43F3D70690B8E32C1A668140E434",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("344C48EDF450B8ECA07B22800FBFA212391D267529AC14C0891BCF0D05C0D96A1B4530E0F02DB9548C6A30A19C6AFBDC802F5539744D2B58DC763B09395383C15072CC0ED15E551193A0F08D06F6452C2652C6E85FD076542D0072D15F24FE5EB47598B5455D3CC838F81D981011356D7552EDD9CE80857707846FE15092A2082E97E385920BFC58524E5378026CDDBF2D903429A0AC5D6677B0A975440DB47C7438E1C0C26B6A2D5095BD47615F69F93DD0017C81065037797864330CA48C7E69A13B504F82D90F3BFB7432ACC42007344AA79242395C655A016A4128277406137042B25C42DE2C9CD2551D8B1CD47E2057B7F9928584BB431F979CB08FAD66",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("D790143795A40802A60A80D1EDA047D1C8D8DC1E42B2F787B80F894B01774ED500D6AD806B0C0A9BDE0F982A2CAB9D74A1943CF66F03E792063BC17498490F86C7C4F68013E6A91DD151D210A91D26EB070F9670BEAF0B8EA88627340DFE046ADD756269B19A19EA0C765CC9C08C8F1123C1F12C0D44D9037D31E111A062762F6834522B2817110053004B428C0581C61B368C64EC0B9B4EAA8EA2F8705F11829C25FC98947C067BB14A8404580A96DE23602F8A929C45477891550E70EB48614058484DBB51BAD21B80B0A8095CDB2309CFD8C8DC84AD987C59A2E187FA741DA1646909B8302F7F4443C5AB7A241C032007F6B510CAA830AA61182751D65E8B",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("215D6523A9A6CE010D2BE8B5C8EA419D6021BD7D03751A8FE1292BE82412752F60A1B1C0881CC03CCC34E139C24B8B355152008A3442ADF8EB5C8A9145F95318E000F2423A85C4003DDE56B3D608E4180B05DEF96AD0658474E7035137084126C79A072DD140677BB81CEB400E84630C281D02030C070A81E2D9BE17241B8C17FB8FE037390F3A83DCEC1D4DDDD5299C698E9DFC2AF0B69C1256A35217775500D6D621725ACC08426B216BB5C4B31841920ECCC8AC034793CA130BA6977F1D04CC439901EC077443A7625134DC0CC56092412AC6EB0AE7652CA241416A51B33CA9B655C8C02334429C6E367B0B362F3C35C10058D1F40668C689091BFCDF83E0",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("43DE0981F436A2180C4F94536880AD0A413DA45702C1C3DACBDDAC53537CB307C10B257B189BC18CA851DCBAAA039D44B03BC28B764E733BFF893C8D4411EA3BC116825F0262527C803850751F8E9DBD52C04F17233448F0DE86833173D2C8A376147884828744FD2BCA0971063B11991E1DF1F1E01B7FC36A16A313415041270D58235C9C33A50C822047B73D196C2CC51241B0B42BC66AC8A6A847CCDB0D30DF24826F6D56D7F4C60FB9E42081013172513B811C61F017EB21EDE00249063D9F2BD78FC1D92F9D03C2F4449A116689AFE8B5FF108A4902884802EB07A99A46F3D6BA435BB905D9069981E27545BCB537EAC1FE0DEDCB8267E102273BFEDCCD",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("38C59E39244B2DEC4638C22288F1C8186F9283C520F38500816A72204765F51DD3C9B5D90147F6CCF87C80C350406D230409CAAFDBDCEEFDCF78201D12BC32666868795603902B0DB00B880431009A270A13C54F1F6F9A9BF5AE1CC01666A390410F0B6DD6452F46B2501F29B24C66B62213942F28963723671F2CA3982E302C38A39C87EDB5642DD01E2FA015830B8D7A1631245FA3FA122203C4A0EE28B25130CFA010875C9866D4A8B623DB1BA516755A0B8475500974281A894E468601800CC2C01E120CAA15091AF86C3D455DC0524AA634DBFCEE211469A064928841128A0D650A53DC0003F91F73DA7D4844B725B81F9E884213DA8FA807C100EF8905",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("5E17740823461E1744BF41A6E5DB83F911771FC76E9F0DB804B6FCB5067E091F83484F74F7D8181008F605886408742C0B74E546B511F606B3F90B0851E7F7F90575165FCA20BE6F448D7DEFEB0607DF728B0D885B94AB20E227F7FDAD6DBBD9311BC993BF092201C1E1060BCAD77551CD27BFFB877F9003DEEB9C291D010000050C0B8601015F2CDE642A20966359A0B29A82F6C6057BC38A0F018A4C1F1D3E2CB538DF151F880D2E697BDCD113032B04A2662A1367AC4C7272C660680A1082190FA0E041C9C9655C25A36C5F702080F1813D28A3742C30A378BCC832C9C97C363C7E6703B61C42802F828B487C20CB244E8456A388F728DE92EF34A38CBBF9",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("001999841F1C1AF1E1E1F01CC31B238D1F0D5872985978702659A0085CB61CC85A0E5CFD501FC8939C161EA35426A34836C9D9652C4CCC2E345BC86629C95E8560A05ABD0763E320A86120B00C891553B6D7A84470EE4D11081810AD574B973C88139C2FF11C6F07004D180A7E578C552C54DD0C03086A02C26C2D62377E0B85CB12E1EE7024750A05B37555D1124B042156566090B30862065647533513318815D2971F56451261E90F872D81FE449C4CD055582AB096628308E0FF0D270187C2ECC61A541485E8866E3315ED80E30036D46DD40F93D92215162BC87ADB25807F57040BDA84D9744FF0724780054F80A10958376AA9A099027E3F741E902B51",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("BBA0217D211D85D26A031732B8C822DABFAAB0361430245DF742043201B70A73E3FE240BFDDD237665F6C30274308D7189F5989DECC277268E3904628BCE5F37660A57404EEB410240D6456CDBFD3404A324C74138B3219BE1C577BD385136D8D6D5141210F5082EFB88B76DB1B380080BCF08EFE495BB6B4EA2E2D874FBF67462E7CD5DD85B33CB03504E1B3EE5DF0CEDE4C981FAC15934E50C22D9EBEC02D0B008E2988946875DEB418E110984DB94BAEBA27A2B00257E0C72690D37E9477A74618D570C5F7F8242357C6B1C7E0E50EB3CA878C32094E1D943A0750BA7CE6EB02E8ACB2B3D237314B85BB2513D4A06524142C1B7218B8D0280CF017EE00FF9",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("C820CD8D7C2F200F83A0FD820285A1642948C81844FC62083C4AE522E71AAB130782035730F641B064EC30760A5511708C981949112C522F2DBC3C04B00A1C3C3A103C7F2AD0E05FA20B187D0B88043E4609116C15BC657E014E39D6F92238602215A121008EBAB5002A3EFFA86DBB0EF8F90AB870521A61E1C64414002451F01008C35FF80D5C30BBCE251856F6C108A388F088ECB539BE549CA22E8C60C575256818149820647616A4597EC5A3FC9B0F06287C540D88D48D80BFE9414714C70080044081F9049F1F2AC46F157CE8B9FF1E3D4BBF082678AB701027151C9B26DAEEF29BF4FA09890D009C2D04057D69100B7A42DC890520737F5A71F3B3A029",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("3500064689358E41CDCE0B54A435181DFBDAFF34CAD3E083C208574C891D0BF01D023ED65D891D7EA6A1E4A637E6BEF10C2302EA09C1E989380D31A2678EEA3BCD9A3775269C0D392CD20D7041D17BBE52EB12A3BE52835C6577DE3BDA7EC83D078E9021E447893D3DF83F5638793D8BB026CB23E8D3E8F4BEB3464B21A312A131C580F7F5CEEAEAFD89F5032417D29F6D5E2ACADE2C214C00A38B7237FBA28B062BA4C7D3EFDA0DE8B39925207511435DA0761D1E853D92AF8111A4739B4D85229B74AFED8FC786A2208B0CAD75BE035B18BC363E1A6A5E8BB0101FA196D90EC817025C39F5DDE2A3909688FB04852F25EAFD553CBD4E7975E4B83C4A6C82DA",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("4346D68A0E610A38FCFF0E8D1C308BFE3BF37356A1D79A04D35B87100880F940CD38D928C5022BC60B66511D4551535ABE167BE7991926EB3C478EFDC10DDE72AAFE408B148B8D0CDD28CEF606BDFA125104A9A03D3B370E75F190D7CCBE4DC3148B8888C6893884332A260E8D14E6EE6D281D75078A19AD13A40F653108DC761595539A2751B08A40D6B910A16B4F91BAD1AD011972B3638F187E0E3D9107096E95DF766F67CC7E7CD9302B85C21C80E4BF89973953A3013DF02B22E215C440A2C35FA155ADE2D53DA897E22B08C3F0EE2A68274470633238921D51D8A8D83149B84DDB81DA543D3BEF920328F6F18B372C0F8E1D1F560423744DE244B7F080",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("3A2D610A124259A0F804506A101646E359C235A40807E372626ECA2C71FE4DF2BA329604C48B362C47C8C34023B26221B1CD507012B9F77B8977209BCD6215A10F25B1D8A664020DD654E90DA4226210CC666A568D1F0F173A6820672232BA42031942760FCF94B1F705E400990004A432914D0EA4450370E90A530A9BB81CEB78E22C021EA63A1C7B56EA207C665E2CEB5C29A38823DB6F84EB4E1AF6097B27EB42FE69EB2FB90A66EDD99D6F39221A3D9C14390FF4C5909C4820C9743BF7120EE6E2851D4E14244D0F6D2E509E8FE3C54DA613886F7334393F2109093D612EE489BB1A3DB568B79F6C3BCF7C08427E0F07512337B680FADA0A3AB100917D30",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("B993685406BBA8B381CD6C67016B384B5C0501889F91809C298932C52BD4750720C35B0E8F287529BD8F4230E9F60D0BEF5B76D31B222C751C4D475F42D78AB96441171F411BEB1AD8B125295F1FEFA384E662D8191D4ABB4666813A6C2434793896B088F8892852893112205936DDF690B3C0DDB903DF05C19A6996CDB20AC26625C14E74D32C9BA6BAE024C2445EC986E46D000E0001020E03099BB091B30406050624070A75EF3EB208090A0B0E0C060D8BFFEE53F7759866D9031FC3819010022F2141B3000403EFFAD4861A105FFA71532F005DB0FE1D5A667856BAD8D9C26DA20C65BADC060F2CC24BAAA057FC495FE213DC28F727B8E01B56080D608B",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("14AD0851DE458CB28A7ECB5152565026CCD6C7420B3D2C099EA5DD2A0BDE3F68240D35274831174C25A1E22CB2773BD45050F706686C35943ABA4325CA3566E660A20D7F160C15B984534211FA01C2335BDB717C0A23985608994A6EDB5122C256340E9CD2B1B637351B0F19B6A940349B91DD945EBA78F9BA746A281427545A523D7BE851875E5926516AFDDEA3A40F66A1B3C23D01CEDA73AF5BBA57B645B751B6F404159A1F52950FB78B243A1148100CE1B7240B3DA031752A689010CD54AA1500775920E29D4138B02F582ABBCA97FC5789392366ADB4579C18F2E31445D5684811E8202000CD5DAB4ED819752F9411B4DBB9BE31F7C028441866660D36",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("664B49610C171E86408E1410BC115DA7E242025F18C56751B004F055F914CBC9060473181020255706045514714B2403180D18935801FAF0508CEEE2F75B1011A31A8D56C53E7B41B114E04A961E5425A9A00409904302D454BD77C60285C225A7B702FE45D790004D9E7C0236C49097FCD80F8FDA0411010C023458944A3D95E020ACA8125A02DE0D09416E03893CB0082B9A84453F1D04EE8B3811BEFF4538011A063A596445AC688BB360E75300075EE3517C2B320730E7F20356CC4D200F6B0153173068C72A1AC19CBBAEABC827AA1F718D42FFA0A900EC10B9E744CE3406B98532807C0ED2D0526CDEBD9213B000EB3A09D8FCEB33294649DF135568E4",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("11DE3C8334DB6634BE4C68146003CE0B1036EB531AD7024F17CA802728AE7844800B32A65B401C8AD6252E680187762F03F28916A8012D051D2B72CEB610FF01231AE34BA8456A809E68C93AFDE14DA38053CC511AAA2A4E222E8D8D8B4764888FB9BE02712003FFB5CD4AC97D07BE8CAD12EE44D73669BF82AE85D07EE8C8BFC1BDF599F7FDD1196A201106CCC300E211778102D412B7565A57514E12E278582013246B5DAC025EF1EC421A00F24026E8E8E219E94632BC6418C039B00A38187F0D4123922714B15274305725B9BB7A8B2440D08F0A6AA72884503C0A7CCB8FC830A169F7EFA365A0905518CA675E54369D03E62ACB361EEAB38AB781ECEC38",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("8C01EE938AF7B424FC0F0D22BABA3B8B068440FFEC788382347A302BC81F50142A329505BE8C5EB05184C91E74D16F2745A8CF906A76D803D384A8AB4BBA0A1ECA06EFC00762D299463BF7184403132451B810A7E8421D40518F44FD1FE750138A4812A067CF303C1F51E62FD48BF9ECDB8AD8EB05BB948BBE3AEA5415D78396A84DEE8BEAF0F6CD20B31541B90D0406B503A2F85090A3E458BCCCCC98147EA830518CB21F722066A84BD4F0CC4CA05D3A0B6008CD88513073BDF441800A301E95B4525542EB407EE856A6DD01DAC7C2C161F7F1CD50DCF8F2CDCCCCCCE7C1EA03FE1C15E06C1F801A1F730B739DE9169E59A6758A1667A3524A7E0319509658",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("1564640299C5E5909A9A7D02FE0D72228B3E6A272FBCC08CEB072CB53053CCA81E4B659556067555F1087AF74D3380E102F647A7921B0BEB34C4041615686DED2E268D80CAC841CF0202DBAE10F537EB2859085D54671BA06B3FA05DD0666E3130D036A48564A2E07700E47816F6053F01B8F2EC4270B27E4454DEB01663FFBD517740A808B840543B3C3B52C920F49624512AC762479E6C9B6FE50C47C9B78EC3147952682C17A1A0CE07934096C4B3AD9041BB5C2A99C61A343C64CA60667BC681F3610ECC800C8D4C8A945C0A5A7F426417D94B9A2E4A24703001CB5608E42C4AA8A755F2B92AB0FFAC810D92D574DED8170AB931EC2A782E7428189BC0E4",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("2A7C2B911E45A9EC68345B5E65DF045694AC650D8054F29D41E19AEC332070A59F3044205319BF42983019A484F8E556D5013B34540EA802B82CA7B241CEAF247046A188926B74426540504C8641B041A6D8A3FB9503608B0D16151996BAAA4DD5F6C6113C99C600D8E0EF1052F6C280B157B0420805FCB65D61358811371040B34574045833B62D8D360A2025381021B28C2DCD393B081F3A042CCD48333C023D3F017434558F3E33EDB528801502DE151B66BF018A4C1C346F45FF5FF803880840434F75F1C6002C4097168A0E3859A377104680F92C400A75F58576C6B7C1FD037CC8A6512A4B4C65B0F1C640FF29AF195D7443119B8A92CA3A3A1CF447D0",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("D72025000C407F03B4ED86741406081BC04824DB83C064F4AA1A74B414E18A5DA05D30EF10E18070051AC9FD05BAAD460A3B162116C12DF6D81AC075E5E5D6E11921244620042D371AD2C596AE2E27104322201BC86085E51AC0085B221CF2C921CB04451D02244A1DB28C0C1E01381FB0DBC2D6F61824518F522368E0F359BE61DD2B30F7DF2612EDCB73725C01F0A07743743A08D26C2D9A80251AF1400EEF8E2FD150B55DBF901B5F62BFA0067E6EB6E75BBFB0541B9041BFC046BFD03B39647B3F40E0B0D024DBFCFBB91CBFF021BFE0061ABF001C133D7ADC52EFC6BCBF200D4F10062C80463473CE1003AAF07C8D5C2414FB5649E001E03C8BC2D62C68",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("701186CDE0712536B9B0709706E66F48F7000FB7EEC6E19F044DF82534240285248F34DD5686C10F2604DC0452E6CF3D342702024722E9044569BA479A2840D60458422980EB0CAE0D7C7739172A7B6E3753C1217ADC507B5252B1C195E87833D3E264C5D4DB13D0555CC3970608BAB28C2C230BB10EA823CBC8320D9F04960F6E0E045790996033742A270F2702FB5620403F7F7F34317C64EB440663EB3D70EB361CE1083F62EB2FCA7423DA74157F85EF2C6BC01B3F790673EB0C7BA5643C6CC2BFD9791CC60DDED73D22CB7915D9C8209F0422C318802123939C711B9B1016025C2F202D4A041D2884113E8028184808C087D62DDB26FB7822179B8F3B5D",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("6D9008262F3A172F90932139041A04C8D96B643F1A4A2F020C727272FC1D0227968A608D1D2C281A9DAC659031C6322AEB18061F2845E64D501A2D01442000507544AB784F0FD89040EC18803531CB3D7C0323D41B0A811ACECBA880BD205D445F8CBDC1A8672C6433F6BE1810080913201010C7C61E391010BB0835BB0D08BFC8F3919100BF04BEF853BE8C3C32F202BAF0BA01B9E8B9FA7501ED851534041C55811D45A3B8A6101B4330429E332C236A885916D5BB403EE5EAC5D50FC08BE908BABBEAE566612C7E0F0F44A482CD91F8EC00C975B749B161B6133FB41CA60ABA4F57664182326D5510B4A846EA55578854F493728BF881C6FC9B77A2DE8868",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("663BFE388403518C7E76498BC68BCB5C0F4C620C8A5D50BB8C08DE028F307CED18059589FE1BB9149C82B9990F4776CFEF738F13030111052681D17475A2FDB7DFA90A7F3D74317748742283E8067413048FB5916B71D827661D3BCE72B80C9964B230091C5000BEB517FB3C3F152DBB0764937C27A13CB86009701B32C944E88C41436E5D572EEC7F4696279028074D33B0CF77691654414D4DA01E43C3269BE4D00C137409F23C4F6E3B534404471124E125934D3C312C55580CE421B7E799768D634D464B59F379F6414C51494DBF006C8365934D32308409F8DB24CFF3EC56533B555483A8EE2A60C86CDFB87C1D7028A0A9140350DF18CB5583FB0A8476",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("75EB6ED6DC6E6E966E7536742D5242651E9E159A9AE654680F74DA2C8D787EFEDE4CEB4AB8AC0643B8583CB89435C8D01729D7864A48665FE16B9EB4161E9706176A1AC098D997986F0567C1A2A58008CF675327B7A85156E41C89FB38043220162E8F83D97D4EA404058447CE7FC03320CF210233E26A1B63642B5A281EC83D9F052AC8E5923FFF28C10225B7FD039F4A4C45451DAD134DABFC430095E27C8A451F2AE8C9317AB8FC2167EC21D0214B77CA02D0D2E954056C025A3E215A50495458ED5F084659448945048D480D3BD12754DBDA9B448A5C28056C02740642E010F805B4208F063D8E11C5BE56881E9BF0D1BB92DFF93DD6D6C80681EA0113B0",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("8CBDD6011D0CCC5A7491C13685504404380E14004EB2B18D4DD607D59A4535588AC01BEA43E3AAB8E4C7F383E604C9856AB237B849D8208DD82056851D0A01B37F05583E00761E678C97AA4E66CA0EEB0D27108E101158F6C37301881D9C80E390F6DBC5A36C83BE2083C32053DF22736082986CE306CCE96C9C962CF32693CB462E4C3A7D8922870513073C545C7D05B7D8665B600C7A750FBB10A30E1EDCFED86F0FA157994E83AB4B75E68D94287289D886BFC684C102D823BB27BA5193206A42700472203808C23C6A76744BB12066078B682C1756E81510905E4CAADD0F116F542BCF2D03EA0ADF0551DC682C0F83CEF9C69841002B41C950FC1293CCFD",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("0C83E00CA80B1D0AB8D24E060ED7E8410C729005DF05D6AD845B78AE342B2266075F3B2E9923C6AC241208686A68E416855FF668D430112C24351C422E1CD8680D1415DC45B44B2A494D125509549732EB008BF15E683B962276D4308AF07A02C512B7D775165A657CE14C6CCD040A0B64E795422316E293DD9C964E1C5200E494230104378016B0AF947B09BE4370B7AEBCBB744FC01FD09C00B8488056518C46AC0877431A23709E8F4F609A8F060376CCEEED4D5307E81000EE1A744410843BE4D3F305C007032985899682017C886A7602A2014478CD971B404F18DE7ADC40BFA4166D41F103F8645A697011A9C96C13DDCD510AF6CEAAB8CD21B9A6BC7E",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("25364A71AB6766A52D50B875DEB8FC6C5520A450C714C0002D5BBAEF8FC5529608924AAA833A452624E75BA0157D633400BED7BFC06DF00396785644415477E93DAFA85FA008B24C7728741F01BB8FFDDD74110648437542BECC535DD4FEBEC809EB7ABF7FFB0A6C06731E50524F7523BEB81465BEE5B75F9EB05E5244547452064D53567415FBB6B7F04B455974F9A81B48A0063BA314D8DD459410BE980C722E54B8BB2A117DAB3A52509F6CDAEC4AAA04402041289230BCCA2DD0CE0C3A29B1902F89809B691034340656DB8EFC780C6F48BD8C401FCDC3C200AA175F0170393A2E7AFCAF5D9CB502C4DF88F168742FBF9020F18004840B0F504840BC8234",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("556A44CD0D8BB5371D4816B0C56D0C68E0BBFD6DAB2006A60C682F418D5C05BFA053E0F5800D4FFB8B9C0A5AA3E5303103428856ADC6962665C0035D4530963453D874545A74A814B632209C59C68ADBB7450F8E7DFBFC83FA7574013C9C0D14DC506CBF59302EA25C209EA50BD5DC59B86D1661EF05105D086661B6FBF93D704B53AF1B4BFF235940027E6B60184E772A681C24C901588B07C7EB2BB529272F01EFB814653786BDFA8B50DA558DF5D16A8A16575501B06A30C36019285A82683E0E760577704C4443450330006D13ED4D025050F255010F2C5672A36E44E422364FA6213D35FABBF259E1F056E1563681FB1EFEBA402256B7DC43439406F7B9",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("E4B525E1A80671794818585854CAF76035ACAB3A833A19F96D02B12DD2B5040501C9CDAD0EC4DAB9D462CDC50181976864EE0C5156D45E020B90780F8B0171BB44A96AE6C689D2833D78F3D65C2EB95F0768D0EB4E68F0E858914AB0636A05CB4910C12FB91809482EC023407F2C39402504280DB552508470EB17B0DF3C55CD2D6A6206F45776FD0D56FA52343921C6D5C3BD40297A5357953E9280260A4DD118AB14D512E30C08618238CA1C69408888D9063AE0CF2E7A7525A0408AC81AC9C0E8137C23B63104D2C1340C32AE51DA5E029D1FEB3E2B08807D51D311031F2FCC1D08F210D18952FF50BB5F54A0648FD1E95F8A91A27577B9F8FD7D1FB82000",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("8B4A5D87728C5C3C8B21EF4B0AA0EB7E1044660448684A3F017FDB38E8B4FD120F874604848D68F21C11CD3D540674CD6108EE22DDF6C401363603FD5FC32452A880B257B10812256B0D02EDB127A8072643228B666C1928101E292B45C832F2581C2AA8042C025C81C8CD2D2FA801ACA68E1563D06F3DBEFF14244597224F424E6AE548A3127433CB0B202BEBC6028E15718D33A2DFBC8AB17A1ECA0C0485F9DD8D0AC7B6C149162FC164693C50A8F810F43C2DF9B6F091B87AE28058F6DA1AD27C400ED95A77F83B80C22D8C953D201246BECE196220C41F3A3E314356BA5821EA25233F2B4A175BB612083425234031396CF94B04452541EB36BC19104BE5",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("E2382C4222DB230C913E24284355F021DA2437FA96448B329833AA96EFE116047C86AD2654F1E7E12DE18A65B2BD064D304D77D3095027741EFB200F9FBFBFA62871ED44EB760643EB6F4CEB839A41BA682480904C9349F7F3F7EB510653EB4A4BEB4353E0F7D30C36B02ED01D50EB2206F70AF7F349EB1B32EB141CD40E467470C23F65332CD0BB272C2B4E81E2AD533D0659303DE103794D3E53C1DDD80DD75802CA1D601E68452B4E0467666D03464C60DCE9154534DBC9D3284140D6125842A8B9D7F38025EA5452314EA0132243004434064ABF444F278BCB8BD3AE67DBD67ED383E2BB02C1E1050BCAB90602B2C01CDC05703CA3842D07AC04A17C509B",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("0AA1FA25B8020D0CA744688454DAE66A4399566179015CD9287DC49A03B66A05773D9E6619043B3ECB0336E3E3122524463104854C28F10EC6425AC310FA9E929B6C785464603F78195548107FDF0A0956CBE96A2E2BF0C0033831BAEFF0140901A8DF2D466A036880542A926648BA541320407C6986A4192C78187431C3460B5FAB229C0233201FA4E9609B32CAE6500910A234D53F3F7F1CEB47A963EB4070EB3962EB32A049D32025D2A0D2919143CE3C3C3C6CD93C9E054ACEE2C865FAE490365522D38C3D0422CB4EBA6C48B1802343B01096AF4943FA22024A40CDB34B4120A840442DDB9BB175D0DF7327FB78EE90317E22EB16B008263148CE4C030D",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("3F31048121196442044222B47112A80FBFFC04020D6B650C09CE45A04224514C2E54E1E30DBD826FA00CAD0026B1A4B8419D2044086854F6D56100A123012780AD3F885F5B740ED1F6A138605BA3120FBF0C0D626A2295EC885D54423CE0D90AA97E1979D668D41B6A807420CFDD04DBE74BC00614FD0B7511F6D05808B3675BC40C1663EB1024086D052C40963F2D45EB2138514E04FA150D1246166909C408AE5F451B500B456C70806E3E0576244C48E75C28EBAF88E708E0F805B64B5531006BC354F72601A5904FB60923686A98BBEE6A47A20EE2B70D2AA31AEB041AC9215B11DF2D28AB5D41030643EB02809924E0D5DB254425C1AD1B501F28144C54",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("9A18C42358B9D1A83257721B07176A8AE80EC6FE3C55F4ECBA6CB64BE4BFEA0315A7EB4CEEE15CA301FF02DF0100820806F4E80007281805FDCD56579B0E11B7A6290CB76857FFD09B24829F1717BD1DE2449F8CF6044A250A3A81EB2384575DF6B03384153A46013B140099B093374E013893999009E402025A9009E400030309E40099210432809C9004E80005804CC80405AF0EC804720606747A900964CA340707CE3920384568294BE0DAB71C2296518A560512E1C2D9CD8D0952111002512401C517026DC05225344C2817EA3EC0EB5B365604DFC16903D01E5FFB629A45075310D10022E0DBCD19140252540168B1E76B50CA0903C80E5C0A5619516F",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("00744091B0501F0CD53B828E74708050803B0103A8C1AEAE40321A6EDC6E80471462A5F9097E38C19B88732CBFE025428260F9249BF78BD1C77C13414A99238B70108B584A97286CCA7843B88B50D8BD2AB62036544B3F8032010B468BF8FD5DBD513DD88BE83AE01FC1EF19C1EED514370101C1ED0B12C70097806EC2E60F0483E55ACCD50730E07B3C72C00502BA3C0E83770977B090B9DEB5C4A6560114688C0A4CD59025F1A2CD82462010F9BE0836E2861981C76C1750BA3BA22D6B517E5768AC325162F6414C8620BEA38805236E34B602D9CE9E323C5634C48CC10EE2526CBE649D5556A8DA511C2C51E99382729958C0797C46414395820111FC1130",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("83A2D46E51AE841FB4BB75140C358017C0E0E04133E9ADBD8E2A51A3182B88667806442B7503D84DE023FC1EB032053499603D8CE141EF061C706DDD4556FFD74F6503A2F6055F0BC0303D847B1320703E4C22012D16415D234053044F07C1B248908FF020337E12447334D6A1501CD1485341B21324678BE0104B271857143ADBEB5C7C0C9FB0AAEA5E4403320940A0EF43CE7D6C8B1D7C0BF8B654F48545A85F743E005023880B9C0D80A42BF8FFD383011814A976640486E01512EBB22A285FB84CDB567912D4DAEABC3A77B1761840228B2D508B42917818D014515EE97C51B98C0AB64FE785714644BC37203DA4D1BA244B6FD8730C4EB028702D87F528",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("EDC809B70383C6753213C003359216FB3D902180A63A64BC0BA821A092A81484DA08C890FAD3C637820F15F846201B9D23CAF846C3167551332C0523C1505700F23D5983782A506EA48A82996E348875A1325133BF205E0ADC46912A3C0AB75134AC52D1440F0D3D29006076151077C68B7C00324F37E043B510EE1D98606C38271A10B58A3260A2B79DAA7512344D55D4400CA5B0B0D1269B8AD6D1130CE738EC41DD9108750DED50563236B022EB6F0714FCD60383C5FB820955575653C016CC5835F873546E3048576D536536163A50C120515A310110DE866B3C6824552DB00129A253C15D810E0812D60DEF7266210E00B5005E8087881A3359C3101C81",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("802E56789F1857C9F21905CBD88D47E3A37E907FF08D4DFC81E6F1774381FB19108E82B575294793F001C402B11B5777004380A3470CEC2F800F0BA03A89308A090203108D995C3BC36EE9747392E024045DD1A18754B61A140BEDBCEB05609E260461CD1E46C82196108D188A0540835E88911A833D248614EAB2185ED087EC6CEB1249EC11503E4189ECACAB3ABDD78B2C30B3C1E6368B68D930D84421AAF96C300474321C6F8382593B18304D810E3CF011B814552849E036ECCD4A361939751C0D55C00A13E256FBA2FA665C7028F1A11F60230AD13E8051559B590A2B702720ED77B60D2A56520F74AE0E8957ABA0C416068923C82FD48337601F139905",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("00FE2E5CE09110B63F96984AD202BE01352C55852AEE920889011B87E23161BF1801E370245CD5245090C333F6F1287E017F754DC2A0FECF22DD103C81FF80F7CF127F275F537C780B66E7BC0735120416F7F33504CC18041A1CEB55B55E8A375D10B468EB4839742A0683780CEE6FB7DF7CC0E048146681C16C3C77B7996DDB0D5003424754180C13CAD37CCD16081118041AE17178D1240D261160DE09B341E4D0B81342C1EBD0E81E4039DAF870180F60F1CC3BAC0AF83A713735A1C355934492DF12120816014F675BBF9D10748A0A392B45CD78D06F0815833BB50C860511E88301BDA7AA04D50841DB8BBA24D9A0085AA511B01E31A830092046202A05",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("708919A80B7878919D72A7560A09E8004007447E6020747B2C29F3894B2840B7610F785F96032CBEB2A8B86553049C8D43189F1485EB36503715148D4B493C2EB4102AEE5308B86CAF8025E88943435E14D14318593F1A01C325809215B9E4515BE2895790029B57026D9088145E96E81B1E96EBA228380A13D0378B048A07A5ACF450036040BCA855E4561C70FC6FE54E2483EA048D462C52E99D41932A4E55EA1CB26C3F654F75716174465089132083A04E283E028903B0E90BF0428849401CEB300F5031002BB06DB054B104024EFD0255851719CCC1A35231358CB2B3997CAD68799D1E4D50FE925679E8B6091456F820FF78DD1BF00DD3058D5608D2D2",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("A8020A4EC3019B9B10C9A8044618E8A8C3B049A25591497736808D050434C23C89498CB558808555B02A1852B08C4F20028DB1605628D2203408FDA0D857CB57CAA88362C6562FD8FFC468E4A2C75B7C81911A282E8A4CE00C8A706A1121277EA391A6258A900C527F8C657FD8DB0383CFFF5695D291A2B6A681EF02065951D7B920078DD8F0568E015E48771413D47519477821AA6D841A127F0E3C5CAF506502CCD94709068BA2C36414930B092E6403138F6021A87B1F6006013A4EAD0DD775E2D88C033C233B57882506C440E0089670EF615E8DB420A622A495CC41197AED9622DBC806ACDC041F5284434100BEA41E579E1A1B085A505D1C70BAC7C64C",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("2C135132C605A6052FF764A1D906A70046640DA21C5D70C3B086CF08BA0C81D64B35458D6A2F6D188CCC80E0D90D2451A3A876B142AA6B97F045463A287D186B0C58D7F525521722038A0327339B17C02FC7059A60CE068BA00A0D013D58257B63844FDC9E43E19686546C0FBB1901F41EE36D8D56893D1D10DA849354752F58AB1C2B14E41E881DCF24EF051BEF9019E0C421C16ABF087AD02F5629B8A3C4B31D90771375306A3A75219DC85DB63902526DD8483511B117E82CE5F4BA403725A9FA0AC71D40F6D602D0B34FC8475C553936B9B251B61CA7F7E23B29F90D5F513D20DAEF7D0D6A0DA161E21C029CCD3EBDF696241146F79C838F1962E3EF3861",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("67B8743C8B5D5815BD3D2336BFDE4008E267515F22E27D1F698DA81AA1474591DD578A0B505EF8EC9D1D7B42A778204E6A2E505521205F1588FD510B0E0F0C4BBF4C1D846DB109FD0E2B4F8224555D87571555BAC1A8E2F7746CBE3C8BC5AC6E4B4EC93ACB3ACBA37438B0110AD933556864383A61CF31F4ED8512D9619E5C381467E09EF97C8DE400E156C40C6267EC88515529A18DDC0E150F918DF8EF9752C220C492EA31B50EFE8457C27B8DA94A87747F83C196BD82754CFD7E8B451EDA7581BC1052DB1731DE9B1017E6C2AD04228640CABB15272118FD875155B7021A12351E2E750F782DE9028818AA0C1F80B2109844434CA8BE2EEB26FB4068EC8B",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("E2EB84BA051473E816ED8A8045A24D281A4840157359CA06C4204C7058C808B628F62159181818C1A495060DAA06801CF113552FFC3C3A7507C6AB2E46EBACA5E81251042B014ECAA05143C10C560B33BC4F41DDDD27A00E0B8841021A537B21CC02F23C5F8985286B1020C2868C550FDA558317790833C0E40D67470A1A203755208C53A2004640881B0BF7ACCB8524332AC543982D8401556F15C32093704C4F40483B7AB127DE834415C7090078CF12B4CB5C408BB30B064F3DC88838BB1D54751B0D61201A300AA82B2C2C2595BA38C4B236483F8E571B2B8881AFF9866815C39AED50634456C174421CEA971A81C8A9EFAA1369B510D1E10BC8129EC612",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("B64A144CDF10C95830501DA8F1EE8E820FB10AE6C5576A41F74B740318E03BF5892DCC22746C09A9CF8C0701CD1B94BB186673820598672E0D9C7DA7EA819D58CBDC29B840DEA2EA04901D8038E077239625D62FBB07751A458606D9F59888007558ECBE8B1D00BB0919EB7B631C50B188119A67F3C52C469C436B164E17918602C16E42FE362EE0D4DF80FD9337538A0D0A1BB680CD716AED1DA41EBBE66ED77A19FB751E2F0F1FBB0B43906984C6DB1CED744628E083FFC50A5C2F5BF722DF2D1C216C7526A1B28AC68860DC119A2D4429565A4F24071A72058FE1EB01430F0D0B28D80094918412026B3EF2DFC546E083F85C0F8734909410418006622608",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("9E7AC17CF422E02073E9158556600198B98A9E3B503D77A7B3FA139328A6FCFAA1A09D77AE42B64457550E4F1DB9DB219DDA9E8A0D209629A8C9082F024200AE00D1597C7800E82CF67F9C1CDD236505E98E7BEE3B368493B3459C78184D13D2BD3B8BD007232045EB67065FD1171DC6601A108356648B26937A0F7B7288E0A5EA75457F722F02621445916B35081CD88AF3E7DF55C054F5983EA4212DA4A0BACFE8B628EA284AAED5473808F0B0FF7451E3485695008FACD4C056815B39007AF7C7C20181B3C55287E721BB01B19C6D9740B048FD2F774F40347B4402191B42D1F999949D088B3265AD06380F8CAC0B346B0046C3A8049A32E86F74554C42B9",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("9203028CC27456BDC05DAD9280E4907980CC104F28E874EC10DF756167A890B1A17C40829305C790024636908C1F2182437C743B8D730157853411350A04A066107504B34F046C39E9E30357516CAFA648B01120E9B94BAD9285948E505C0D79FEAF80E4835F0352913022975F03520AB3F16045D74018200CBB9A705B6EA04E62F1A04A7F4C688FD164B1132280C160B694F14718104B11753D2E0CD902BCC59338A4188C396280DF39526796224B01542093F40A810C5910E408BBEDD904CE0C760C539703790BB651D76C07689E030058040093CD8A62A8000129ECB502F403140090C44B641C1F2FAC64408A3FA8A32FA2489F57564FFE020EB2B298A1AA",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("B120741E9498B00A954151576DF06F1931FF880431497540065B619638B26F08A30894221AB15D0772259A68C502E61FE0A71CFF25CC6686BCB98A068D7E018801A10A4A14780D65642EB6FD5E094041A30D8A515F101715980466F475EAA1B466432E7B8157282E26C30AA1C03D4326692626C0C077667EEFEB0E680BDC0B3C6F1553DDA3A0FB2BC23D01907EB597B8128A463009515964C911C43462CC9D41D0EC2A3897B8E0080E18FE08B8B851D5E89CF708A5E48514CF642D3A5858B24C61A164180465F8CD12B3AEB5BB1B5E4B494DE677AD4E241E46BC33BE5B572B0C58D692104A7B7E6B4542065B8A03A17708B29394611932B1CD119A7A6D0DC042",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("890CD9228CF05BC6012F9D40AD240058A3A03160A94B409CAA29F0AAB4B7B257F56CFABDD7C279C958841ED650B4577376C2289851D71544AF46C8526D05322034B2A1CA509090836C680423A97753BA648B3D2368848455A4BC38B28CC46A60042E71DEF79D2258495EA328A32120CDA5CB68039025019C0ACC247FF68A038D6BFDB50062134CC2517013148E512BD18F167C6248661C0EAF0C117DC62A1656C21285AC98580FA2974A7CBF6DC8B71C49070F478808B21F02408673855020752D90911E5917741BE953E4AC81F48BC629320B610BE439CD163842F7212AD24902DF9CCF115B4D30D0B5543752AF7A1D82175B1B4A61C35C45B939302E209D4C",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("B81E5C1651C1C0623BB12817AB87F9A1989AE8AB2C50A70B1F1CD8F712AF44E45BE41AA1B0BA40A0DAEA7801270FB810AE78F0EB6CDD4C8A03752821B549901DFCC6A53D0F7638E62857B9856C019D0154199FF858AA83E860A3A4046028770A788D40079F3FB19DA900062185D223FB5D88FE74258039617220507513F70B0C2B9B6A9D30BE08194A0108480303A43C2E5F119434A94B302A182E1D3E90DE3D532DEB3AA129969262BB327E291CB02C31320E2707CA089CD621F275526EA3CC8964C6A487718811307421414C61389E6E20BC09BA5111CF26C1DFABB933DB065492D87934021126D880BDDB1321891DA32739101E4824EC7E0D3C8C3BCB0F01",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("F0D76B220F8E09A803FB80106F5951895C2A3BEB751659822A61249C180564CA67FD3F209B06621D034500680D890E4D00183F2BDA1680030C270103E06855F03C3A867B5390AB8F778A4C28FF00E1D0FBF77D5C751448BB20A318C60428002185775168964428751C3BDE19E38DBCB5CE1D1945022E402816A6C851F40A80533E545B3212A255E230212016F86249BC80702C8AB421156CD555F21E10488C24DE354CA93D0C46831C5055E7F4877C2F95885C1403807D2F21C4E72FCD33BF67BDF6174151C73560A75823FB63A399754155AD1606A3A158902A1A152159F102F562E864AC84312F9463D45B17BD908AB64C0304405135BB5BC9507303093A04",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("0A2F0B2843CB741B48448C5201B48E36C22F3A55A78D0A1418CD04FFBFB03E41738BF37450558D68D583FD32773A2928F7BCF895781C6C067D78095AE130CB2B51203C2E7C37DA5DF28A410A750D2E2E460341221C6D5164FE3BB5EFDEAD310646535075B25D85FF13DE262BBEFF356A5F53D87475C82BCB15C1052AAF7C0550DDA8E06F95D04A2300736B5E0EBA0309197E2BB8087E3240C7C6072E2B1CAA63BBB10D45CB8D7BB2C79E16555B60A15A0AD94071A603041B227CC0D129785B15123E0A105B447C6D014D400C5F5F0E20DE6D165E1C5BC38931A08DE0BD7568D71A047E0E29B28A06916B1D1C8886AB6DA60C6FC76A4C92EDB1DFE07FFF8704C6",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("47FF5F32FF981BFDF60260BA72039D5D010202017083CC5C00001F2E5B1021EF82006A21320B87AAB9904C3A4803867771003074F510F05645D848750E5D597304EE511906183F702FE419021D088A171356046F8502B02D59CFA0AB8A16733C7401E70817246858E90E8A74251A416854125107E66B165958AC04A05C755583772C687C08911D5231214B15EDE34073632505D389B000CCF6B080BF6AF5A55865B646E06D110B50AD559F554D0F0FBF21041920B800EC2BCA9D2DF21CB216200A0EF9A7AB66012FBF182DAB1B822814285657D46155076D59386157D4570D18C4E8A103D65B05E2648057F86845FEAA5EC0091920AA6A735D2C2F205C9E5CD8",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("0FC241B1A36B6F69F78DDE7E1C292D5750756A730F9C069F1574D69F0F12078B0FBD4950FF894E18EB118D56185327B69B75CF232A1F17F42F0F5D285005A3E8205F416DD8A66A1C8A56522F1790DD8CA25DE869101CB145C80B101C2F25325DB25D1AF87C6021F842F4FBFF743EBE7439B90965A5A086D2CB3A213553D03F0511F6D383E301E646D0B67FCB8289461CC1E30705200252625195EC5E064BF9428119F0097F7581CE08BA800200E80EF137FA0D4D03C113D65E6BDEB19D01771638D3771121803ED5730D7FFDF26F230145C31D5E4836027216770601BCFE80E9A5D4760DAB1CE0DDDE2D23C32D315181DA42743E05A74946380C71A22654CA1F",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("230BC0EFFC864450C1640E0C90837E2B2F9AA5F2B3354E008C040021607BEFFE3AAC3D570F82BA46750C813E6D0D5EB0BF66AC3D950F8790189A73048BD80D826BB2C4388A0FA812662D5987058A11889730BC0062B18849A91E0A5AD039D42F16E5367345F7AA2324A0312810381371500B207728E2753B40F95B352D8A075C4CBAC7FF2CB08B1568EDC9C661485E8256C68621104C09A5863721F6100F0C349580934C0F15018D0199B6381805ECE74B070970EAF73BF71F8ADA590F271037706609323AA9B5E90C6C538B81D40C6D0F84AB7D6A521BD32BE256CA249D480C0198EE6335505AE7D3FF0A75264A9C9C3C772A508D4C51110AAFE51E96255BD7",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("D176552D0B78692EF1200A192D4F406F1B5232B1F3409063B2B01C57E81495E4E93D4769C6AAE60CEC48246C181F063528E40CD8A7E21176FFD63E4C49D778CF39C3673E204A58174B3862513872245D92A07224146307D8C9300D6E14A82C40A42C65352F050BBC19020AEF14A59120D8D0688D31ED691A24A25038ED752C221A3C3B3178A831D2D12B14BC7F01C4A2F8A6FD84FAA9734F49A7087B840BF081FEE34C46B14CA914A9DD62FBC6802BF8B35C09140C0C07DAC4251C022C8818F50842A2DB4417F076E9733AC3051D45C4E0D6F407753DCCDE44FB4D61764D385C041CBBB502741C40DF36DA851972EF09033715341C7431ADFD5BB88805AB341D",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("0046EB25407B0A2D55036A2A0AB7101075B1506D1EC51F8ECA262A71D407C6971BB4124073A58020CA6CB43FD7A1009106998036F72B165B18EF681813CB78CC264561A82DE3350C158184A695A0113C46BF00F6D8AB02C7A7873F2C2223C1AE0D37541072597449F67E08D5045BD574428D305A42A968EF7DD83442693E5A802698D064EF1A47345E59CB2C5D01868660A7A3D715AFCE32877D9B105C463F56AA7477F7100214150813892D0C05CFF0DE6EA31004C705E34BB885BF1B45B1BEF3EA0D04085714A894D9DCB9481C3714F138676F568C300074D3CD58484BFF503993029E28524F81A0421D75BA6A92982D040B55F4FE3A3D9402686C8DC44983",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("9538238B0D53AE62EEA4E96AFFBE908C06588867BAF73B845088A8F60F9E8B1B9F5F01182C53DE24AAD9E4688D37E4F0540C16A6531A56B453D1ABE2A6069DC6AE9B41EBAA050A0E01EF0557F0DE45EDE9BFF2ABE16C9987AE0C5150FE346B00180F2A2C26D52A1A4EA6B17A08E06CCDD79D51F0A450F7A09D70E80A463A8CC857B2D01BCB3CBD1609821C03B6BD0D8B760C028904573F9C022F6059C01F7AFD6AED4D07B5AA47EB0F50B062E69B2241042ADF14981AD2CC9A3A08441F76C7CA75111424A243CE08518C6A553F19F64614C4BDCB92C0EE02B62C500E2874A5E97216661C12200834DBC79146DB31060C1A9C0207B110B8C67548B541B61A5A10",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("741BAE11CD9E107005890BDD08148212211832BB8F824C45BA43DB5BBA46CC0B0C073D9B15C367546B1B67A10981CB076FD646F583CD08D50A617E4E0A726B22C2814C0A24209ED0A0093A5350B86160CB9E35BD2C51555B061B419224F839D4C2D2F1304F14030028A2C20CD6C9A80018C2D4336802F104D61057A773016CE559A7EC1CB69D9F1D302802D68B2DF4103A0EEBC1231BDA4652B9C1A7BE36D7D4FFD515751C9231C8C6D670510D01DDEB2A10A116243AD2B573736F70F45860542820DBC810100A50740CA885BD5E542F8D1B8A0EEC024508565612E6D2B7E802E08D45101DEC420A862896B70DFF750CE492166EE2430F39C75FFF4DE4567832",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("B9853BCBE08020DE0D242FB1447D80ED595921C95B3508E039E76F892F006FC141A1FEE104408F0140C322A02B42E80725F95B51ECD22056B947BC50566A02CC5C47C55326D90DFAFEB8402DA1C4340DC860FC7C2E22B60A3A7C93896064EE348518103BEFB9655F163B5EC3CC00DF9708A004CCD6E326467FC1F68BD98B7DB7F7F5D903CBB77C83E0DB8BDDF3A68A468D3A47FF77E4DADB6F93044949F7D1665B5E5FC537448E80AD502F0CF96C333852E3FF03FF35087979DB6855EB5E0415745916744F79EBA2780F744AE90E04047409B79F59600B1B86A81B78BF5974321CB8FD7B8B480839704985AD793DD168A3B6E461F0C054890A772BF90295D0D5",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("1A61F8EEA98F31D7587520833D88016C50D82D9117DE442BB934ACE97F97880724A3194E4E745383EE5B7BDAF56D400406742D4E980D80613D05383788F5EB49B10FC88D09AAD47B4B16C27568B23D239B297C7C1F0D843C23CB33841178780315862E2C360C0EEBCB835F785F4723A114B9046BEB0CA17CB9D6F67C0D7C15E25AA29BB74BB500412148D059B458C2E1AFBD8804DA50E93915D4B8DEF602EFB8E8158D344902B50B5FE24B1801DE730539500BF48D0C498AB111B65E038D0BC11374E1B63834F888B388BD7E112DC2A337368C3EF1C51F827A050F8F3598C3EC5870BC59395D0CF8CF50891DC3654763B7E906BA8D7B32345AA1DA307C0EBCCD",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("CCFC88089E5BFCFB895D08CD99014CF2B9FDB59C087F014309FD00025F472AF8A32A68402712568C3AA1E21BF3593BF359C8C6BFAD9582C2490CB72D3E3B849FCD6C08AE5B0CBB3C5A3A328A865A1FD23384DD681DEF0D0DB83919100EFF9DEE9BBF2D83C30C81FB6C7ED246683C6956D1BDB5117359DC59750558754598FEAD5FB3057F2F578D857884CC9D7D9F2B80A43D0D001450F5F4F4364250D303580803FE2FEC5B30A31347051EC385F6C344A42E853CFF6BE6F4AA445B5F085AAB056647282824535356428737577E331F9757F97477BE476FF61B5077FE742FFF37238E171BECE355BC59E01811538A12BFFFDBB6C021E8EB8E83C70C4381FF70E8",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("C13323C6DEFCFF397DFC741B1EDEFF3552F0BEFBB65FE359730DEB0F1F08881F22637C85161C6B0D1605A4DD32B9307AC575E8576A4B16769FF050035CAD829513006BC819D026141172C563DBFF6CAE74991FA8347F8D1CBD7C8E73C196DA7B8BE61C068B867E209A03E0FBD6D804EC391C04459C8E11F8091BFB77084057BCA19411FC757BB75BEC56CC893B430FB7918903961954A0466CF830058634DB5BB8CBFF020DA33B090198872BCADDFF96383310D75A0C9A394843F97F1B41ECD1A94032B518265A0EB681F120695A17DE08B3092DAEC2A10997DA4A27FE744E5D0668510CBC3347FEEFA31AA66F7B6C166940BF44090B3CAC1BDEDD84037D2720",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("AFBE1D3A8BDE6E7CB218861956DCFF76A5C60C4B13A231B8552493EDB984DDDAFF36294776FC443F07541F5A07E47CBAA86CAC54094FC099C323167A5B91A3250AEA4CAD104BEA0559D9B0D7C85217105857528D606129F843753238BC2D040C6E7FA96FBA2050013BCA9643740B6689110251020F6C6DEB03041714142FCA5011320A86BBE981AABFA823069440BAE4FB74BB24115362489E05F97120D4B9751F06688C1A4EFAB9D01D5AF1B5047F6930577017D80590178F042EA596835F6621A0CB6B73D034C6C256EBEB530A59B110C846ACB1A8120C49071032F2B3B94B171404689414C285611C5745D3C759D045FCF628B57AFF7E1A568D5C1754A199",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("6755FF098706DB1191594FB2ECA03C38D2C3490A68416AE1639C9605DA39D1528A06791C1FC002D180AAA3011773C44664C7E9B5A40A45EFB6D4E9BE9B83650CABDF3542B279226A72008A1C308D115DA0D13C303F63407DB7A3C41B262E74546E7BEB341C5E7CF95A01BB16425F743D5039541BEE05C540EB1919E52DC446DE4C33182C75240574D5ED82543C1774862082B13806DFFB8D7701EB858F5B5D1AD06C13DC0C56E208B44040BA0797C8586E4C276E1B147DDB7B30651080BE552186065E054306F923DC50108ED2182F954CA2435935CCF512EE0BD47465BA1B3935F40CB52E660DBB266433DC501D95F9589682463C103E2C4767756C505206EC",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("2F3F3BA3F0B70B99761710803C383D750FE91F560D2DF263F4ED9CEB47E1CC2D80913801D0F6E4E2D4F1E4E1EF8682C8C7D3FDC4C341E077221204AE78CF1CB4E0163914B41364A184DA1D3CDEF0A124A0B92DECDE1540A4153B351C0F773F06281E3EA26A2AA134BF2C300B0C6B540C70567B814B7BE6F06A6A105E2C4827E86589D477C6C1E8CEBBB942DF74CD561EA7FE20015EAD724D855E2B3AE420560DA78FB3BF5E4D5184095ADDFCF8627F7A161566D6567436D2D677FB4C6701CAEB3A7B26E4083109AD9E83E222040A88BE2ED711F6CAFC1288C49E016BF40F679CC96800231177198D48014D77C35F9A50D0610441EB528BC8AFD8FA123F0EC1F9",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("9EB6D1F6440380B62EFE5FE10E8065FE00884DFC8845FD78090DFD55BB8B567A628D4D0A053E44C55EE38B4578A2036D842292026B8E05396B630A236AC968F8C96D022A701482377CAA682912C10608FC1D2C505D510FAF9D5D5B80AE9B250706E60803F38981A2B79A6826F1C3A0F7F740763832DD61772FBD536B255465BB7D6BFF99836D0C0403080450FC7ED71DA28CD53618E88B30EBC0D1E816DC18DF59C75703C337259FA35D45A9D6165EFE1D046CA75DEDA0FE61770BB155147F20DB16ED7EE82B6E9F761157D80C7EF97DEEFF757DF857720D564282D88DB55680A2458BCFB7AAEA3665D61349ABCA7C36BE91813031530B3BD773B255684BB5B5",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("0E8804E14DCDA0E3B756210BA2891A89393B0446D6D0AE264DD805243F81152098DB80C80C5D01B629D91AADB5489EB5FB2C19BC62A59C963B2FA4EAFE943B5327213BF8763D72535038340A7F2C40A58615DE633BF777126CD2BACECDBADBDE03C2EBEAC757B54CAF62755B68D44CCF4C5F5D3372D5AD81973B43741D38C06F9120CD438D72018A19316EF40B6D1840881141E5F35BAB6003725FA253692C7F2FB4AD7DA036FFBE382A788C4E0478B14071E30A8B0E3C01417607045113FC9E79EB594216017A57BAAA3C0AAF2A75D9802706A39DAB40457B8375F156EA2E9A7EEBF0A180B2766A3F5E7507BE850BBF23EB06197D07FAA3196AC9B5C4914E7C",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("6F5360585487EC6DED2112F0351B18086AD51768801A2C5365C9B8905CE8023F130B1989044DC020206AE20DA93D105F24EA52A3EDDB0AA01CC2EAC1C9946DED02D11F0F009F2706F05B8903F5AE040BF0302037D1BAA6422A5D32D4FB4529C0803A6C68E63D048ECA8D7D200FCD41CBDCED3CA09B4B02A1A1955F757D8CDCF6660A03BC39A0668207D0F68292A52A5C029D8A511E1B852AB6A51D21C016D2D1EDED52E10BC239BAC0EB0811D03955096BDFA2A50C8CC665C38D41FF0413000E6287CE2BC23744A5C1052FAE4CD77F0313222C8A013AC274643954C96729485B5E4AC0BEB8465D553C8A30AD1322E052C05FEB7C1C52116A09D848F0591E9415",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("B01C062564A5D6C1C30CC31FC32051472220270248F23F60ACDD76A112C97C063BC87D910C38F156BE9C4E182E0E173E47C65929A15C8DAECF26EA568D6818E9085028EBC190EFDC68040E002D437996EFC17E10430C01847B43095C5F393D0C96725870A014D81CB82EA88781DD8F39165587DD3D0822881DA0DDE11688D958833B54090F968A2ECE71FC501359FF1A8A789719352273ED5E68BE0B43BE24941CBC682C10283AC7064B9C5BDE7A8924301BF186FCB456E820D96E3BAA730D5791ED4E3C54C72B7FB8F9501AF64676C303F47E4840E1E5C393E01CF6A3750949E0F981E129C94675296405FC36FE232EF6460D407466764680306886422B9C22",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("9E9A18114BB1AA074857164187A0107603F19623FE753766A9080123133E2BF805CD4A75D226B53B42C1EE09FA750E2EA8806EEED24BEDFD8908AF834E0C22CBFF30448A68E983660432062BAD55F70ED88E6457A663747A245744777E4DA159C65B55B731B0F83876F6C18374BEA5068A29010A503329B6F0BE994ABA1D43EB1A15921321FB06CBDA026C1A260BF8463B4CA8428B1D7CB33870427FAE09BD7861CBD05E10A83628C6A2823DA889EB80F633F40754A3A810179C6BFD814A4E0824FE72C52F0A853EF4185B24EF13028EA57685311575221DB0E71568B612AE07D075E08FF53A51F330A6812159209416DA66F7272F574F302DDC9A8925515818",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("493989090F826ED77E10C73A6E4DB58169EB338A16B08BCBC05643BE40E1B8C8896FBA40BA108986400420740D33AB33BF46CD378087598A149AE88A62886C01C35F505AE0C25239575F8F03680DE884811D6EC0C1B5D6130DBFFDAF4670C22EBF1C7F6CF0830D8C751D2BF841F3AA5DADF3CD085A0F8FA1E79A2CFC76A28111A1BFE46A3BDF5E7D2591782228B4710B3A11B08B56F64B0AA1743BF508CC5823C66ACAEB65AB8B764207C3D201C848A1251A654A6FF20AE0F9E2AD84F4B85D09580109B570D14167C65F03AE4A275C86FFDFDA0065237898A78180B6107427AEFD0646F86AADDB870D05FD032CECC1FC04DA30C1C12D83DA8BF08F98C046F850",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("3EE975040A700763846721C72B5AA82187D31D312B072C563F514F1774E1520FF94502C901222BDA44668B00CA8B7755F8DB1B717C050D7E3653AB6A0C995BF7FB0570DB9625C80A997EF7FEB9121B2F7557107DF1C2B608D1CE808C41877B1747A155B4AF03F9B330FEA50A440637CE408D51FF69C96DA5BE54E01DB903C28D84C60B6CA8899CC94F808D34620ED10545031A16553B2F9A5B07220C0D7D088DE3A868A2F48D0C76C196551117415D75711C182AF635D1A3B6CE0872472F64E4C9D9C948C0F200C0C884FDE3E4EACE6BC93C473C9021794EC00004AAD57D2A999C757C8B07421435DECCB6EF55450A49D27C688D28F5E2CD415AD27D5E03AEA0",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("863A7EA0A4A120EC01B345B6F03583ADAF3D13203F08D91BFF7F087D288378207522A128241A3C07DB7E0E30321A0C78C542753405CF59130361531C262AE3EF3E00A90BC43E40332F5F716A3D24DFFFED80F40355583D7F0BFC7F7D512B058289566B2EB55124248959521FF98267C5D90B87177DCA8508D8588D292F9BF7BE57D5C7464B655D2E14B63543B3364571A10666EF3698BD366C913C6F59998BF995B65BC7F7FF4B16A003D10529DCD1B9B71F75F9991403460420085FE5995BDE6A56047D093C07216A185B7823DBF9592208F9212908410AB4C99A06205917C9DDDEDA1642890F7E5B46186A60C1593ED747CD2B22D801E8051CD8C73634CE27",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("7DF9208D44080722D0D62E5A1D7FD6101FDCDCCDB5981445E21C6CE306100B4398937A0E99CC34C0108F80656C0A80ADD9DCC06643EAA7E99E586A224B3B0CE8209AE6699A2EE61E21E21ABB9FA67914E01807A11006EB4590E9CC52CA3454BC5B367EF55B1BC2126641CE0B0530746568DC4A4DEBE1F7BD4145F8ED75E0BF42A500CFD7D56F5FA3455E504DFC04FAF8E8C3F33CF6F2F0C38A034B157D656E7CC95F013960D6585F536042D68B55705ACD6A0959607D9EB570198AC5D857690D5822DA20830394461345008248E4BC47B5415D57527AC4D9AA04C4000294802F11CD0FE0B2756FEB2112DC512B69DC497425F61778EDD9291F75EB2D1DACE303",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("A576B30602201D2F4B42BD37C854DDE2C3F7C7282F12F04A633ACB11B4CD9D743AEE6C182EFA2A16143707672E8917296FB1F1B763AFBAFFFEFE7E8D0366F0FF335254174BAD166DA91F509776F48174DE512C84CE1EF76D0BDEB628FF580C07E9C639742FA011C1AD090E2DE628D2004153F156EF0980495E075FE06E8661BBB07585A3431939059103468FDDDC8BDCD102175A175F8A1AD4CB6DC19FBCDAF1F6861E8A5A014263124DBD00B113F3240BCE39EE103DC34B548FEB0B85DD0D66B06B00602175C5CE6D0026022D234DA275901C53E233108FFF4D5F0AD5801F86073C8BD069D280E079F803BBAD8DF8CABA8033E1878D7D46C07C1B77DB16E02B",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("CA406D1406BA3BE2010B736C82ED05400CEB65A33C3245DCB9CF7FBB80510100998BFBA344124AAEFEFF70227AABF4BED489BA37FC9B38D9897E045A39077D064202EBF64A77E9DD4B488915382E2B04965EE5A3344C5A150DDA45483D9B666B6F062958BE100E812340967FBB720FC7A3305DC0F0F1FFC8177A77044EA32C116BC03C2B8B2548985E73730A2E0D28B804B0355419729967AEB96153C0587401858D90C870F10545F71C393641D4089176F1834FC1ED8DEB2B01C1FF03C6FB7557ADA0AB54C2472894D0464006957A4303110A0EAC57476F836F8B960519206FBD5A0CDD95665410561480601742FFDDDF4FC640050A8B115D03D6EBE8C1E705",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("8BDFE782633B6005563B3D5773E606B8D40C30C1F9198D3C8D5C60FBD2C1E6610F833C3183365D145F0075A40CCD73751E78A185768810485948DF536AF4B0B4BC352204F5EB03F6F1C428D505039D4D1C30FF50862AB4F2090FE4D9829C1009764C0D72D636EA5566F1EE7685B61EA11D07FD123783383E32B215DAC17D751F555E79495FF23CCB49505050830C30732BAC446979F0EFDD09A230720DEF8B37DA16B10CECF9C16F6BC1742735C06E7C00C33EAC57A49E2A05A042409FD5A4967AEB3AA80034B30A26B56BDD078D1D6F5BB613063B7C25CF12310CE81444AA7B56A275F0661CA6C7064F925E1F8A60DE0BC879DA527FAD09A2F7E1C23B530531",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("5BF835001DF7647303092E7AE46E4ED35B1A1448C520D347110EA57C5057A6364A37FB3F4F0E0423BE61B714F9618A72155B2A02391E31D697C7E00F87D32C0872318872D568EEABDA0C9D11FE4C685D5322C5C805986EDF3610C15DF0A12D742D7643FC489596221A2BA650BEF1A1D8035D534CC9D853B119801EBE560E437A0202490BCB216E32C9D60F4E4151481A94A861466778C9CBDCC2461D4990E13EC146A9202BE4AC1456280B3529E47F0A044428440875247B6B285F4912087709F676085362104E31D21ED579C22346240CE8267431539C86430A289CFA68040AFF73588BFEC1EF04292CFCC50D2397B777F90541EB325789024178133423D1CB",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("666F76E004E454E63A309BC114C530B05491003B4027434194DB02A1FE1C57FCFE80E0B62020C4EF0C24090FA5CD04EB3E3C13236A87E0804204680DB033EA2475C2E4CC00B42EA011A3580B30110F5E414667C56E0C17D4D90C07D3EBEE11AF5278558413E868FDFFD1E9D1DBD1EAD1D80BC975F4F7F391FD187D6B2408A3F717D1720E3B196A77DF27770872073B2B76014E4C0FED0DFA20136AFF6850BD687CA2A188F70E6A90B350648925073A44FC81C4578965E8E3012C7020F8CDDC0F1C88C0F10AACD8CF768A700DE50AD4E8303B6AEE10A3D007F7106631CE15BF6A031CA97859BC09233600DB7AC44D94F448A292FA3A02FC904EA34C0E8E010948",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("A21DB4AB34F4A1F0A3F0CDE61AE4E5A60605E0E822FA80C2D4C67E04E4B4B4513112848B030935BB6A2CFCE0FEF148378BCCC257C8B0191E326D5433685708F10D9350C3738E68EF938968BC86E12F247CC16C085925C0C3E7F96E6F28A2788C24A279047A7B40E6799E7C7D7E7FC4B74F8EC64C0233C9579CF08A1E46226AB7ADCB07EC02D0891347C54650D442BF9BEC2D3D45BAC10DC8C40913C82DD0D6A3EC9E2B22EABFDD8A0F7C1304787F0E0FBEC38A80DE5E953AF58364780F84C15C610B6AE00E0210070E477B7769C47AE906AD24854951AE8E59B6AD514D4015C002C8D8709B9665DCFCD4C6412C4AC197B7378920743B0403742D08741F48BBB9",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("0DB794120DCCA64239FC0827327648170804011180037E72C88002FB2A75239266776687CC42036D0F8D5F46BB3157A8C10E278B16BECB6E7C5311D64441D0EBE90AF80067B990C93F1EF81F734B0673C03AF81E37F2F2D60649BB0468741F6C7411ECB097DB77BCE905097DFCA01008A34A3D3B20313E36766766B85D6034E54646C8FD808721CB85137D65C400DC7765D4B6AF6D09DAC3F667CC1995EC2AEB28FC0C2D9C4165C27746354F821B99181657F8670FC1F655D58F38B965C696DF57A17D6C5811CE389417E8AD6B38B54308637270036C10173640B50CB91866F7A1300882ADE05A3EC1FFFABE098D4C38CC54681DDB46E92F211008597B44F44D",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("1AB9192230FDBA1C5F90010A5D12C7DE967501D454124E8AF0AE897A156C1EE609C4A8E2F64040EBE721C001C8DD5EC035154065A9BDB4FD67897D83E10BB84F8DCD1AF87999C69B05EC3D938F788734FD5EABBE892084379694DC105B13238DF0B3323EC8DB77B13D4B29D45A7DE80974C5487D02B6C8DFB10251401B3A0359882AF018B16D76473EF42007AB12441B3F8C4F77E912B02B8587170F17D1E8E3E1309B3968E651B00CDF7678ECBF0E18A118094C50C0F88FB9370AE71567753ED3943539553B76DBF6F87E03890481F7A3107E2458055DE06D484712503AD074078B9EDB50F10EEB0736255ADAD7D142EAC0028908F893D80E4DDF1D4DB48B40",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("4BB8FFB1B48005D3AD291584F6A9FC83C3573B5AE680AC0E5C66F7E2359B1A9059885F10BA1DEDC8883F2D0C8401476C57632116A9CAC2346928663BCB73D000059D068468183E4BA15184E02F37CD8D1429E1B2E2C1E346ECA5CECC2745C1D1F847190A0563721812FE58DBE8A0050308F1262485E673B9E36D3D07F6E4ED6FBF86809610BF5C8A13C645EA30045111FE0CF6CDDC028845EBEB4721083A0955FC17BA241453B11A20B3096634B7C45BC7EC6689BF050706758FA7600F1C19713B0A83875D8A687C740C3A1059CA63742D5E3DCC0540640C0DF6851929D6C099EB250BB7ECC9641B9DF22008EBE007A2DBAFC19719741DE27F19EEB8B5899D73",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("137883D209E0F7DA9F732F1C64F4E4EB060D077B750EE3C38D0437E400A17D091D117A7CA80E9CF74D394526F81A6C8DAD2F0B642BDC687538BAD0B3562FFF94A8DBB32D27081B743F07F099193471AB12F057EAE4723DDB45EC954C0CF2C33011380CD9DE665B8E397D58035DCC46F4E6BAAD62F460AF562B0C02BD6D39BA9502DA738B18803930DD6DA7A074860B400FC601303F3682CD1AADC8FFF4915DFC01740350E726F6C7B3D6A2A15FA32DB60F0AADAE2BE22BEB09680B0A200D526DFB91DC75D82B75DC02F0182486160AD612B92220700FC0F6CC419A1103EA10DCD61164BE5015CBDB1731D4860CC80430896F6E69BB73744105F0413BFF8EF48D",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("782AD6DD85FFF7034347BC504312D9731B9F4D328D03513B175936F828281675011548B66CC15802F0F47786BA955DC60474A573D0304AE6596D13D00865D05058D8C424534D85BE98FFDDE008B908447E4BFE4E4AD9344DB3036BB7EEF72F4BEF2A1366C39D444904780EDDA817E88B118AAA02FF0111EB0B2AC42CE2AB1F7C1AB51560F8CA0856F68A682D0403BABC2B18A0787E2157E3041D834980ED01833E15B93AB60D07207FE39E415D6B0F6D8B6F383126C936BF33CA35100FBE0657461C50363C03369F3FC34BE25F5A830008E66A558D630C97DD30D56DE38E51FC1C6610E2A1781D1118BAEF6A03F143C7FA3528B28975080F5C3FDBCF846ADB3B",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("F30956D2B8280C76D45B375B7472CC30423D8672F14417D40A9E9CD4EA43C148B10FC96A40ACD4F4059FBF40A14321E83A507F70437FF3ABAA891D44AE0F86EF407DEE00F8851801FDE2EF8A1184D2A5BA1083584541FFA62FF86E112087932588EAC6B7655B6EEE52488D345289C1A9DE76FFC1E604AA8D9E3891803BEACB742CE9B8A12D4496253E8BFA3BC7DBBD55A2E05E8A92202008904658A0F4ED401376F541411C55D46EB4860300A09D2B72C17E1C6229BEC776EC50A3EF76DFF0AC0B44118DB62C3BBF300FA5A559A3269A767FBBA5EB554079FF47485C1CFAAC1449A108403DE75A368B2D0D56392C54DAC6DAEB391D0BC24DAB00EB028E36AA46",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("5830E5C7A4F8BE3044046D9281DA0DEF84A6252155FE75104B1BE107F40B0925DC6AFD1407E2910BD8FC750FB76AC4B16519492DA4ECC0B664A2B41917040D1AA2D8A01C090365049EED6C2E3305120B0811B0415E78576C5933C0AAB4F4BD374217A3C5DCC35FA9264367A514326E5663F818309E220A1634C00B72F58732888405ECF3E097E27BA9F430F2C6850D20A53753A0DE74E3578D5560B60A3F3BC1771D8CA2B12DC4BC2A41FE9FB12A60D969CB42426C85DAF48A42FF84FB5F5B0D43FACFC5EC3583358D7A5239CE581082561D23FD43CD26FB1D561E56343C1DB892B123FC68C77AB7A58027675CCA8D8D724F68AA5A3911A816FA108A93B7CDDF",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("940564889040EB1C1A027410A3F1DE9D205BEBE380A01C813CA382704300BFEB49154E87351A7572194AAA4BC879791BFB80C1208888491F1D6172137A770E0D6BB03920E920B04CDE705DDD4ABE5EC97950A4D3126AFDC2E4C60FCA2E597750A2A02196A00C04E453F6512E4114178379121F7209FB1C038A44AF11AE2980985721C52E5A74BF105BCBF075AAB7E8632E47B6A8203B02575160FB884363032D8031C16E955F8C093245FC3D86E7963070849CECFB57B82B6093FB052F3B4D1073290A7B8A09A2DF3A08590709F0C6000D407E4B14AD1EFC95292BCA6C83918AFD7CE2F83B9881EAE82BBCF42A0D0AD15BA12971FF3430835496F8090A74438B",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("530117285BBBD97C0B09644573728A7054E36DB98B13815F5C5A7AA164745F6A1039E6754CDFAB4846562FD3B3D62E7A153FD0EBC78B4CD040A149C310D46DC299CB640BD1D0EBA768BE68972C9C24438C3D8642915938F6E2018E56C542201A0D44BF1305676B1C666CEB168210526C9FF01FFAA04D61BA9CF7C1A914E95953AB291D400E75F1630C7A50835E01908E2BC419F483C18CE8BE2BF5836EB132844D24A98E13A9A1D702FE137402EBCDD455AC9964926DC309FEFDFC50CF4E34C0CF49788F86F8F1B8202258087115A9BA5A4BC4FB056E6023F2E98D5C47EB24751025F66621A95813CF5C8E0811890B742F225A95C5B8BAEB08761D4861154C05",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("03D1565D80B6A03615112BD18562B30013D82600739BDB4651ED8B2335543D8E198A2A51808033603FF00C833A703D901281203F03F25D3D91844A3D933F03F23385373D8D82243D8FC9F3332086113D920A6A89B1C38A37886AB6D381FB3E56CC0A595EEB08FA5111E5E88AD72BA3E3800925025422B3EDE45DFF0EC92403D01504399710A02D13F5FE123FD01E20FD83E9EF56745AA7E001D468AC546BC0506315C875B5C55F732CA24A4C100A4D9A56CD6D8E626AC6B6603DB1AB98C5CAA08C1A1070CF932D360B2529C705A8B4D70860299C0A292846220CFF295144989BDB0FBA12060DBC436B748A38E1C509051BB8F45DE94097538D4E04376A31785B",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("536C50D347C0C1BD462132599AB3521A100B0C330049960910342664F90A4124143518730B25D91036D0370B161CC9725943202A24846C13B22B28102CC93621CB2C2D30462E2C13B21C342F1C303221CB8438443C13B21CC94540464421CB842C474848B21CC9324C49504ACB842C13544B584C1CC932215C4D60842C13B24E644FC93221CB68386C392C13B21C703A743B3221CB84783C7CDBA308C93DD7273E4246BA2513843F4626646488408C412664E4C85290429464644246439828EC4846269C29A02A64EC92651FF8A41320E0CD049D81C669195668032DDE9235FE1641300BC7AE02B30213A7704F8BD42ACC81E96F0741061964080C101BEC6490",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("1418360E20076490410624282C9041061930341C36171964383CD712401964B0414407484C6C90410650545882904106195C606441061964686C702619649074787CB6B9648B1DFE0D0A8488E4924B2E8C9094924B2EB9989CA0C037B9E4A4A87B2C364BB52A5ED9838C5557C1543CB7E33DB68438C03B72EB6E640B6A0E57CC5D55686810F29C2DF00F570FF00F6C10C65E81C90B3F100C50C8027F8358343BF35E743E546431E4926D0A686C5E647B1DF31D230568190947FC045150FBA1800E0E7B6CC26E480674238913FF70040CEFA119033D880D1012B1B3B1A14F013D0D568C1A6C64B00D6C08598A731B74A9468C5C6E880472B242A9ECF9B0F7AF12",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("CC1EB1F67B63D047C5B0791731ED45945D62DC50AA3D51B02D612BFB4198506180AF3D2D034ED96691AA344F252208AC197A0608E05320BFA299E99CC7054BC3078257DDFF5D5BDF8CF115FAFF15563C307C113C397F0D2C30884B13758A2DE016283C3B14C1C516510531F68889BB085AEAB2F1EBE17A2151E0648876E0776CC9491E520153238F2522861D8906CD659125B661B50A0896702D89177B11391096A16791ED0B4447198B0845DCB32D72508C085447A358079A58D9D7EF245047B470998F584B66D1B0D5C443A2C1A453207F532347C2B1B015D67F8BD814812CCD610F0B14167CA621CB1817AF121C8CE61AB2185D12F4CB818D4486504A2451",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("20CB7220281A00F9862CDF441229190F2A03590E64542B5559BE4BB62C425640222D57CA4996032E52C62FBAC0B22D2F533289C35BE06A089469883B096C5AAA1198906039507C4A20D016E77D623DC4A17F42244C805A6022919803A801D4F15BB5680330C18B2823D0C1AF6944A8680F68041F50EE2BAA611DE4AE2C9850E4A0BEE3B10BA002344473EB2DD60A371A370C15B744B9C845FC36D645665946B64F745DF4086BFC628024C1932D5A7CDA68035E738804082F7C7945540D56519172D42BFF059DEB301EDC020F8726AA2F62095A22BDA3BF87F8BFFD2C385DE2742734E38A103AD3741E0FB6489DFCDBDBD6CA7F6F55531C11410D10EBF0404038",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("58E842D152FA538F5353DDB2A0A63CFC9E60CFA9B580BF0083F8668944048C1255806F418AF654809EE548F778025730F896F9189E8354B07C45F4189C36DF2CFF7C8831083ACB742870C93BF17F1604EEF66F58F08D4C710266C7BB80468EAA569CBD62F27EF192D25C34F0A716FB5A7C02A3785A207427188AC06BF1593D92CD7520A3121778F4A30DE662EE12CB10A218C31A64BB15B8EB4C17F0F45F6147C109FAEBD15A4CB852EC8DB982696EA37B20F6E1B977C9781D250612125F412B40FA04FF547F80634119F7C2F43C8B023A00BFBDF501752E0ACC263A6108250AE4741D0B2ADD2F1B3A4102751914116935226A4005CA5BFBBBAE1AEBFF45901B",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("C0D1E040C30B4301D6ED8E0147024244E94130E0139AAFB5CF02A86658335BD2CA56F5AD79C9C14A02EB8CCC4F88826D13565350005D6B415160674F330705EE22FE420FAB0424EBF32EC9FF905D8B8E97BF0614460FA373F28BD520EF93B105983F3A0AA0DEB0A5F3C0FF3B00010FF8AF2FEB6A8DA424FDC8C849F0C957200F3B592692201B231ACBDB27190E79FFEB0D04FEEB08FD1EAC09CAEB030C0C5F198A112D00E8823664D88803F16062EEEB05C33979903114011183C1E18D9993653427126AC7E96C0CA238586608C628A0D9966C000C088807C0547C1A85574D106B5283A25FA2D103C63BFE97E8521C06F1827801B31412ABE04BF083E2036372",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("29F3A589A2D704700869D7BA1C5E2060893372F40303C8BBE656DE178520681E8D1890079C68854DD73530045C038023D17DDCF652D48807BE8847010502562463CBD60859C6C75CCC96B16486B72B2501023B9BE45902A690234621AE3B90AF473F8CFF6FEC039AA669BAE407DCD4CCC4BC344DF36F8B448EE489448FE4E8E8ECD3344DD3ECF0F0F4F43FDE344DF8F8FCFC8D048D1C03F04DF71DC203F809FFF020032C40F63A007E114508E6909D0BE082CD06F911A3D66186840D0A2B8D792F1984B7677C39FC7F240DFDCAF0D96DE3FC77A06AF7D965393984E791EF8FF92B75DD2FF2A8692C90B80BD80300EB6E85CD0C6D033A6F034E584F56C2B0B7E4",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("B64B1FA306E4BB5DEE02EF02298C906C4978CB2724AB2D0330431BAFAE455A655B699AAEBB54065C03646C74CD089BA67C84976A971C1C344DD3341818141410D3344DD3100C0C08083B61214D04041FB0056E099BAEB803C8DC6A97B710664B70B5870F83911006B613B70160122379E06748403404B46222DDA19F81E0750AA316F3075CE5A20FA8729A10CD456D167A767BD0381E23B0FD0A1F086A400666A05C202A81A36E9DB577EB26DA80D4A11D38180D68D42346EA1DF2166818A11077D0DFFA60A40CD83FCB6438197416007E5D07470B340728C6EBA03A60EFB35F51EB141560643B16C5FE7E61213937FA81C69651B482EF56173BB42CF1894D7D",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("97008FC750ABECDAE0118385184CC09F6BE42B55E8733E5E197405E0B5668D183D09DCA5BB558D48407804F818C3CA16DB7445E556511040C89BEB0E184032EE1A506802AA9E1DC8DC17966A0A4265CAFD6C98BEF211FD5FC3A462F7815D157C80FE56B94330D00C03C3992BC2C02596FA60D1B3349F3CF0FA2C554D03307899750A4AF537E0E24A8939EB0B7D064E7F4FD5ED067E5E013B457EBD25FF84B18A089C4C35690DFB4175E80340A3CC178B67A3D7115912FCC04029A1A0476ACC04A3C48EAF6B273B398E114D63771E16C1F246C067516D41F0520007138C821BD5D9FEED740904027404A807750753D843F421231E78633E593B71F8EF7D886A78",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("50A1657E662505F0053719454C70F733F94A9FCDBA2750BBF6BB02F07BCC2D74E8FBBF7FF2BC994A1ED80719CC23C303C745CD00F74B7843BE3C1766810D9FEF238CF0040389AB89CCEB6DF605153551EF161C64A1E30750D958C4853EDC4D231191AAD9D883440243FA16B3B708336023EBAC4B18E4ECF9D518F961A10D3001FB5744EC8B0C0223C83BC8AD68C2A36CC0D0750F56EF07D833425F4ADB31800DD995AF1DA1457BCF75570794D96DC8DE744F29A73B49EB2B29BD403E3642F63BC774392257673BF98DCBC0677415013BC0153AC68406430AF7D064C0444B419E019311325E29D8477286BCCA988563AB6F328E8C134E04595657095926B9CC02",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("0101C253EC750B21467F773C20358CF00C3905093A172A0F2F100EE375400D37162050659C302013E3045892138684145E12D4A7768136713F9F70E87D05925261F34BF846D281F34052F31E435A81CDA0BC3CE87D0FB60162F4232BA32A26024331EE7FB921C0C19B312C688C315752AA9DB0271B688810752892C45A1BD4BAE70BC709B57A250B42040A8D3C0705A0FD339A8959816842B62AFD5166CA663B0854A83D09AFDC0F5372EDE106244F1FD48418960330808A7098ECCC04504F350742F8156D8DD2942A1D2456058559C0810A5F3304B463143BF077DB7BAA33005C6321948AB9A27A9B6C7B05FBC906072050F80E83BD7C1478B15280C9313AC0",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("97F813E96A1A33F65FDA378B5D145DF42FD4E1D185C86BC92C8B8960F64D4021D86DCD28047305CBC2A4FAD2CE70F77ED4534C54E240048A9DDDDABE518D312B49745B49034D5BB87E3BB0743E042F8114F974DDEE5FB61C180E75C66BC02C058457EB3C098BF73D23DF80740A316C261F7C09CFF33CCF1C781270086476943B81614778CAAE8C6FF07821EA088B214BFF51F438589F10A9641EFF92629F37886F0681ED8A0A42843580F97DF9FFED617C0A04667F0580C1D9EB0D80F9417C08467F0380F105A001BAF10F0FBEC97689A8561136CEC3387ECDED4B2505395A7E612F7A7F74B15A202DE6D1240C536E8138F846472CF37489622BE1F979722D1D",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("D13700D00374082BD1A0759AAF6C85FA5657080610CAAE7B438E6DCA7406F3AB3A062370025E994A32DD898309E09BDEE33A7D134EC085760508013C0CA0DCC79B14B757556331077A2C83C0801304B4FE04668103118F2DDA41B13350BC4E8B1DFCF9006AFF8537200CD63DE83BEFA817C4F682557E2159013B6297DB2F205550FF3621371E57028A6704CE9D9100A0EDC6EE592A75B8969C7153C51234F5A1E8C50FC178DA5423FFD05604FBE0AA08141F14AD6EBA5588E141AA384D5AEE2FB820E08B483CCF028A481AFA210AFD880E8A401B88FF77B82C1213C1C607D0A27CCA68C74C46908DCC68CB1AC2CD36B27811086C057208ED5F5B717B662E35D4",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("EDA3907168E6E442A6A8D96708E1D0B7DEEF16D68D8D20389D055E8A01B5E285863CD13CD0042C2052B646B30BE975ED41173E9067975060000819EBFB8832B7496364FED8535FF6DA6B66044F125B05553FCDBE101A5042E9A1FC5905F7BBA159DF3E6A2C0D7D8C0C35E21D958030344F0E80393B283476236B19EB3BF2A825A87C087A9FD76B682A8246BDD218FFD9EA28AF1336FC64BC807DFC06145EB0A15939C0037A7117107700B1680010237640CFAE0510E1A3737436ED2EA8FB31E944A3C8750D6809508DEA0873668ED2E8C4A6705B2271D5DE0743190CA50CCDD45D4282DC6840F74C58186083037D4901AB1B10C1ED6C2ECB061432A30C284DC1",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("5D7B0D1CA03E042E7D9B8B4A47A11E8DABA1187E5A00C607883514722B500C78DB958233247207CD14EBE8042EE0104010EFFF6F20FA4A4110D4C6FC2B790CC1EF0F8BCF69C950D941D404026101442EA05A0B548B6C4FFB7FB7D04DFC92E6188B14318D1C318955F48B56FC05B410B456DF08EA89972A4A6F97757EC1A78D3F76BCB580FF036A3F5A8B4B043B4B4D0F20731EFEBFD415C380A3D3EB8D4C0204F7D3215CB84417BA0D220328812194218D9D7BB2D84AE0201E9CB8C40F2106A840293E59049C4D46D1FAE7FF0753088B5B4FA277D715E25A042D948B0852088917AE414D58D17F5D3A96EE1A7CB4F4B4EB2B5F11C1FB0447C037D51A4A4B5E3B",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("DE76867CF7735B4D15D143383BD611D63BDA7463F2B27515E671BD714083FB12BB7FE41CBECBD3EEF7D62174B94C03B12CB6C0DF269931EB1F28E01E1C583BDF6CB4B71F06444A6DD611D408004E0BAB443B5596494ECE90456B140B5DF4BF74C20D2311ED8B6B5CD104BCADB9E6B6935E31282E370583E1B295088E4E608A1F50B06DEC7E884D0FFEC1880B7325A70F400EDB25EC925F7509196D44AD09E12D61EC18EB292410662555C6D8235D0FBAEA8D84B8091214B73680B406B730FC8F310ABAF3FF08A3A17DEE7818549D0D08BF8B35143D88E06FC1E10F03480CBB1F6B5034016653C91FF61E2C36325B0950080E399BBD5B1D40D3A4886C240FE46F",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("3FBBFE48430A48108079117509836004FEB6E916718378B769531B700C5A8441D0BD12091043A8E8718CF58B15F30522B6F098C2C828231502B8C54C11AB8D48C0BA205C7CFEAC28AD0D81E02BF52F1C2276A3808B14A9142E5221F4E8BD42AF0D1DDA77A5809D2814633065578D3CDA606BBD822C225E1794F056046C6022ED0446D42814F5207D0EEB0A0CB4F6171475F4EBEB90D06C83DC2D0FD3E80E8CA16737DD8078D83BDF6F7319228B3B23FA12156F2B23FE0BCE83C3143BF2FDEE26180872E70775798BDA3BD82615BB953013052A197559249D735CA073AF7B083F1337EB9CBD439EED260D1B2FEE03C526C2446D33928D6ABF3B1C7414530EE459",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("5B9067050DEA8B4310C7BF6DEDB675EF2E891DA5148B16FAC755FC2D31EC47F58B8C90C4659044886A653B6BDF12701155DD5AE38223750E440B020B81ABB62A5091AB7715E55AC51C6BFE23394A344AF40BD774E911974040B715B260484C57CE01D01DAC38666A20645F4DB7DDBFB905D1E147EBF78B2054F9430A2B1EF192E95F6A2EC5FE044E83FE3F7EE6C74B6715C4F73E4A214AC7490B2F6183FF842B00CFE8FEE6DA88943852F3EC235C8844895A804CEF03FE0F7538793921B1256D3592C94F142BAE75C568959E85192936910AC10A982C85B17757716B68027A04D5897904751F59DA360C080808BF94F48B7CF1B6772B37F1897A288951210508",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("6E96A5C19D64BF06FE0B7D296C732F95C1960B00881162BFB0DD76C97ECED3EF093B0A8F097CAEEB2F6F17FB80280D8D4EE020297B04B1D1C172B1BCAD16850937A5A2BA68450A0B676DEF724B00FCB2E275F003D12201762B60F81232FC9FD0218D790F45EA7EFC3E751A3B1DEC75124B3BA1125D0C5E8B6F1189A21E9C14E9420408020D6D1B4539285740302757A65B5C89506F6D18301410A8577F1E580C6650889AC83D3335C52F0A68C4CF084530857E0F3E8D3481F33389462E3CF828E82A6A04D368B014103355754D18481BD52F147957F9B7D652A30A7C4E21C5897E55B4D84224056241889589A84AAFA8E2C60631E0DA71C8410846B3A3D5A8C2",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("4FE043C3371563EBE369C0815AF830826C41B7CAF6894004804A2BD1BA351EFB85C1E7DC0E8B556DC86710800044FB8DFA832C6EDA8D97007047FA773C8D477777777C6948F28388EC0FF48D88FC06C740FCD0623398F0420EEFA2F43EF70663C780E810140556E00D03BF2CF03BCA76C772830C05F82800EE29175F26D1DBCBD616990C088F41649E4442BC77DDF8879EE38A46438AC80B84C07A884E430F066F44317804BA99EAF7D2EEB25A812167D8B40CFCADB6AF1150FF7D0BD76AF41275E2172B51E92FC1EA0FC1F429A984824FFC493B5C2B7AA90E745C39C8A40F8E5F11A21E08DF01AB15A96EC503D9178F452CEC16369DF03F8D76064E59078B5F",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("242D2F4B325F4883F91F53C933B2C4F8F101902B4B8CCCC0241721F4904BAF3B244F08528908647F05EDA538102BCE017B6FA2994F568EAA0955C1FF044F4123B16D443117FFFA5FB5D8D6362B1CFBC0CB5B3F08966559A2054B4B594B5969966559595C07FF13904996E5072113CF78CFB646E5B8BA11EB25205C6C489A474F84B9163EB9380CF210999C443216EA2C99428601D9463BA2D696714210143A71CD2D0E3F026D71D00F8D3A51DE66BA35B92959A34B365C33A4B34E977BB512E810EB7617D45082B68A856E850AC3DEFC1B18216BC26692974F4783FECE7406795C72091D0E6B4E06CB434B2076767977716D5D17237785088E037289C36525AC",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("0575ED7B581A84CC876A4B04FA5C999187C9ED0F61060FE7928665E26139CE9287649D0FE5617958D8B1644EDB89034B188F156180F7B93DF8685B8E08579DF8C2BED448EABBE80BEB1D6820205AD6E9E157F2840C722DD06FAA47F55D4029D588AC66688F2E1928270206A3807653571922B8684B50F15B051E71F64A119B43B4B6C0110D0BF8DDDCEC05BC1CA307EB15ECBE42B45E08BA6B088B29F82D603387678D8E91156A019B19143DE500BDB52DEA7ECA46A0EDB9F10B45F14FC083FD100F9D24D14FC5AFED4A458918489381FDEFE34410848853D744BD01E2B98CF8731B800114B60E82754780FC9AE856D204F026C7B4EBDCE66BAC0B09EB27BD6A",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("BF14084910DF81FEAB7489C162400C7D5C3022DA33036E323935581BEC752E83C0A30942200F8FB6AE814747891906A59185036BA9515E900DE52162028A78688EC524B683ECFF2C30BE10F5DB2E187C67F03F563FB975398DD0C6A8C44C03DE795002BBA898845C830F46785518E20DECB46303A2D0D863C7863BA715BF17A2FF570D81EB2F83EF0A6DBC2E8F7DB2224F8BE26C710B006B7918DB26E1172F045441205AE60C4251A0C66CE4FAEF073063850A19AC9053A47482B6278A0A068F7BFF17B8BDC969BAF5C5CA3B4376055550AA6E0414720D1B5B2CB4F1375CA8503156BADC41DB1C2BC4E6DC12F272201F08583049D80EF1C866EA6D0705262BC1",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("0E2BC25E050B048D4715087430204E23E52B482F2F04B057F9E4C8188B0FB611066761A9010921103846AF41A1C7041651E1FABF2DE81C650520B010B16F59814384085D5E9BECB1B9716856B3E09F007E08448BC8B069185F9F0580B64554187A9CEF6029AA0C04F9EF733A8B0FD40B7C17CD3BCB7C1A3965761553BD1A098E2676D59A7508C76630BB1683C741B03772C85D727542054693A77E18D102341CD484417302367ABF5A073BC37C194C5C50BDD64DF6134E264B813B447B760BC252BB72D245363BB6B1460D1C74150A74980C119D76ED291F89B80F76D069E0D66A347B7F32CA050C008E44D436AB3F6D61EBE85B548F0D1D0C43F4C3282CCBF6",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("2BF783EEDFFEE6770150A863A164110110365C4380C3EA1FA5EFD2E1CE3094D2005656B8B1A30226D218B8008E4CAF88F2835EA6994A4B7CB8D2597EB2B70E6F23BD0E8088F464500C50FCBA988309879B9B11C7419C1DD23957175A690675D642C46B507528E836D1A2086ABB6D397B051CEBF20D170A276EEE89470CC03F1308291E0B06DA03295D8765863D3C0BB620A13429742916E9ED020E885918541908756C7FC3D1B1752BD35321D32950188D8152C48C7A33654968806962F35566D5782DD0095899188C417DD570A70157217CFB851B928817A5730701112946EB09836187A5566AFC165E1B4771000CD4A87740D362AB0A95BC9604736E5A20D8",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("701819303B58015E56E80EA2510443463F51D041ABF0734E3B4CF721EB126F4174B60C210F82998EDEC66E0FC3EB059FF303417573BD8D716CD5B617F0F7737E7A16339476CFDD03500240515E015825BB6A25CA4340AD2BB1092BE0E5EC6DAB195498713188107B2BA02B74362C132945687D29BAF07234EFEBAE0803F0EBA71E5873B23716C241D08816522B5E805B6BC90F7B783A302C842320E356C354508A4EAD41A25221C73FC01DBFF00B147C917CC7187612A0142BC88802FB8381126C4FE0EB60736513B43DC29BD2028D8353F07755D0112B4CC406AA0A1CBCED6FED6DF40B75428A22348B033BD0772B216F7D7BD876272B73147E893338066540",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("803CD27C4B85065E4643AA6343C4AA70ED032B756888F9053073A3A82DC831CA75E40218A1F00B5002B80B3E753E8DA7262AB51010565E7CD7C1C902332004011D1B144B71B618C05D1C8E787F9CBDCEF20258A343A314DC2D55A61C4905A184637618F4D2149450331FFB8157B479D9B2BC395D1819416D4645FE8D1D21629BC141209E0840A33A44740018B01DAE1D2D8596634E8D3C8976AFB8145024FC8FC08BF43C0CDA2D52DC57CCD3EB0BA0B9004CCD56D48052D42AB00536BB55148F68E0565F1CA2E85CB25552111485F861F685EDE48D65CC426670380B260D48D11C801A081083AA28D03C41AEBC02E4D162F780C7D67ABF0E4910830495097A41",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("3495AA59A1060213ADA2DD7D0A0613C1022ACE567F818E826C35676B0CF6C2827534A045500308575B4F108D9625F989783C7FA1E69FBD3CCFEB05BF8A475F80E18280F955606B6F2D0680CE763881396DB5D64C14C13C441C74AF161BB504C505C70F4AB122DC12564867B362D384062552071009C310310B4978041EF4FA6244EA680370B21571288B6B1B12C157204B82C77ADF8E592EF0618C1A80420E3600E0FDFFC646050AA12381050B87A2B149E2BB4D28043888305F76A2EAD174C594D50BADA805CEB90F689AB5682FBD084A7D2E7C02761F2248E6FE637D52BF044C8F78B7887CFA3883988D8818062482AD9218F30F3580B12789C17CE4EA8895",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("A09E497CBB570987D2AE880D7E46506D6DF8A8E0368A4DBD2E2D750BA9C618D4A5C8BA1E52998B431644EF8B0B9415C4165D2F889247A5CF1A7F6FFE7CBA51EC3CD8FFC6D5A0D0E2D8754D2400937784DB0BBCF658EB88C34865C0F558C93E016A58E0F07417576685D32F880CFB893E29C21A2A16AA4E6D0F120A427FB7E50A9E0405804383FB037C9B026202D1C80024BF22181085C634522B608B4E0CBCB890102AB60A777E43A8F840D2775868F841B0831A203B05E72E50C5F7C920D5754CEB1F7F1A3A5B7242D512203F10248C168E08ECD355837472241B0664819169AB088B384D96E02F88D056EBEC55F5A4886DA3C303935E5428D4BEE4442FF640",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("C36A77F56C8A4B34D60174147C17BF08D06323FF34B0770C5983F50629E224B0004BBC5F1A950A0EDF7A674751CC20ADCF500B4428E391D89A4434A8CDADD7C446FD25F20A4238D974D16351DE88F849EAED0BD85707E3105640F520DE088B0ABF61417C29B8DE33CB3FF983F1FF61A844DC6ACF33C6E96ECF6FA9066B89250674D301825F156AED9B3B75C4E31D14A51E3B42FC38D85506F11B44F7EF38DC7427FBA6E95AC4E7371215DCE79EB59B06D4EB962DB142FE37069C84CE49FDFC7ADC908DA215F17DEED7D1A5FE5DE98A073C61741A3C72673C777FEB8E0513B901C3EB20C983CE01EB08AAD8D8DCB909120902015A223E182429E32AD3D0F6C6B1",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("3B0FBE8AF8547F3E6005BEBCBDB52B7445041974360E741C487C6060B691ACFC08A335F4818CFD83C920EBB7148E10EBA269A3BCBD2C40757D0940EB98387324E09B8A60FEA9C90281CE806DE07FFDD682B86E85C875590BC8087E8C605B0AB86562742D2E070BA2B5812BA9B2409700DE625FAE3B80CD401E63F8752EB2054793CAEA83FF168B9D3A6417CEBD163A2DD620A274550B410006DC918068A424CD5351EA1904A7EE1DA80387A162CB7DB6F776B4D1157405987070E158B5D5B62D6A180408021C5A10B38A1E2786154CA66E8DF16F2F3BD5577E5D8B1D9DFB4B3BCD02801D17BBF6419E0A40A05FFA7FD37CECEB3F8B3483EB24056A20C1E70231",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("424590357C0F16101B9DD53CB4FDA6FB026E8BD3F5EFC7FF896E040250B56D650C762E041C60402A88F9963D52C166AB85D0E21F98236D151CD108251299F920B2C45950602C967CE050350538124A9A7D09A9B05653574B60155C717373DF5EB54E9366315671441426809745EB4F1E13A2765FAB1C798CE19035A13A647C095083A556E06F950780643004FDE8044A261C215466C384076042A4283591F446D088C099E1490C088DDC3168F7A7EB110CBFA83DE8DC41141812021F0960402874838034721756810147CE8A90C1622B1040E8D8D3114C8E1CBFF4110B13754657573EE5265B8C016657EB3467B1FC16B21D23EB2253ED57AF9D822C3083E61F",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("378B3FAA02EE147E10E3DFC0BB157083AF599214A11D40E8C5F65F1D161C680333B2A1594802831BD3A1599BE47D2020732E02894E066424208B8F17452A78E43BDF97358BED4268041B06C441DCEEC6DA61F1EB13FFFF26118BACA1ADD638678C6661DC61CC75C9DA2157F44DEC1A0D1A8759A50A45615BDB7FA9D8727432F6450D0474403E1C5DB28D6C763BD57F1EDA32240F99AD48D28F41C817B2052B4EB336DCAC9564E4895DE012FEB29DB2EE5D7DDF74B45664E467749C4AB456CD8FB34803E53A66B8CD8C28682094D5FCE0BA80C1884B7187C6F88F071171164D85D2568D4A006020D8EA0D5D96E89AB80DF14944F30C5EC52B139AD0E61E83C2EE",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("AE848A0F154A74776542C55350B60B6943C50C7763B0E160718B8D20BF521585F871560238226709BB3E0C82EDDE9053B1077513A3525488FADD154681A1ED580518A04DBA54DBF63F895E097E123EAF668141837217CA02115BC90B7E283ADE265674220AA2D152852710CA852E140989800DEEC782859EAA18D86649597091CDF608214007501244D51197B4B88F4E0BFA025E3B61AE0D8557DB512EDDFC83CB323032252D00175198EF86F8C88905B855A17556AF59D0D2224BB95D7A68082033BC556F8402A4A1121DB8BF6B92056BC03C66392D4E098AA3BF00F0BE20451551A4F16BF63C03CAFD75B1C61322A2141BA1B0065BB460212712CCE289D71A",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("B8633FA32807D9890F28F1E8B5050D47140577847FCB50556A3FBFDD35AC18E9154D88BA0C40575C466F6B77B411396C2BE4A11D19C5CE1AC13F950A2044949091ED3E39B06035B73DD3D23F3DE735099A03547C9A41A487116BB28267DF2616B4B11150912C9E3B45FE911AAF04018B6856148888F7452BA31B664FA046A2569A0356C30E28760A13A405686C25DAC41473D96E2D61B79E155C41465FC2B330EE69C9AA0E4F11940D40EA128D05642BB2E67C07DB1201056C5FEF303A9F03C3EC754E462D43952603C873D9B0C82E2AF3232107832C27C73CB856C06CD918FFC3928CB5389033B8B098343CF709E2B56BB01D3010237A6B6870C4B3EA360B88",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("77C0F635361A718BFB3B82180C07237C16CCC87E023D0027CCB3ED3E15830DAE0C516614A0334877B60EAC07AAA8F90E5D815D09A4CB1AA6C31A7C06A2505391133E4474B357142550E588C34DF7DD8A1E5A8FBB2C614C50CF20837511580756547533C8F7BA2809503C1A524E172BB5A2B5E34E47F5063B6CEB421E571F5720DB4053B098DDD302596A0493DB6AB0597D116A2F0A434B85D203588B590D51CC7489029A894E1A7D1E4023B845848CBF9A7AFB75106AB707CA7E13C87D1A556EB7879CC3097CF6117FF28E0698AF352995690347FF0A159E050669C0E82A0B0B01341BBBC96BC0DF2F203061EBC10ED08C11B43D9C0CEFF401081050AA0E7CA5",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("6F91A13BF183651003FD7E378A4A50C38B862DEB096F0075C70A048AA0D34069D26D15DB37157843FF57C1F817F914ADF80BC4F88D843A259CE9BA6DF01DDD45185F3B55270E8A072B86BD509776451C9BF9EB0A0D7020BE3578741805753849FF6EFB2E93B6D4600607085D3BCE7E2083E907EBD8A582BB1B88F6C303160C85804081FEDC07087E034D2056EFD030B16D2B23A636EFDB6C6CD64528B70B2CFC0830BC2463BFA3F8EB552ACC057E097B54F22A65790DE83CF62D6A5C2605490CEB11BACC620BE402714112454119A009283C43D5AD98918381EB75A854612134468C5239A073016FFB8A562B113B523B34BDBD79D54569A9E806BB7EE8B51231",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("52F4C32586A2113C007BF93A445DAA5876F8305DF0DA87174AD4428D0C409145E40848EF5622FFB64D18059D5050E2C24F062001DF834ADCBA468D8CA981554EBEAC0A136E20140226A40A07F5741784EB660A2A45D4153BE12070BCF808FF0A47AA19CBDD0FAF8E5D45C7028E85FFB0DFB0442148BD978A14A2396867E27415B28F1BBCA0016F1462AB817F412BDCE108B968D2223BD8E289DB524472C5F857AD36776DF429B7297E7A3E2C2BDF0103F85B112B463B5D1472465A8A1E469004757999884A3CC5070C049DEDAD6B402BFAEB42FBFB888025D67B0198772BDE622B17C7723E23EB29AE1805A50DB6BE78079BFBFE80482EFF45A44BA5597F5C44",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("BD78A7763CD0AC9A898630026C570A178B2465C72B748A85407D0CEBE7CC8F02670564D66B4111772FBEFD4F8A450CFD09473807740438FC5FC9478D5941B115FF0AFEC3E3B840BE82C008423DA88B4DEAED1BB183F913721D042477181CC0EBDE0E0F3404D5442AA310DB8E28007B47721207CA73B639332508760A3116F515D489AF263D82564F3F080F8386A8C76E364BA50C54E73069579081AA4974CA586B89683995167A16A1F2D8C26AD2E81F593BC5462627935572880AB58D35D524F7ED1D1F585906D96A3BF11DED0555155CA5B02881EC8085272931741DA81419D06F11247DDE660CF7FB3346D46CD10B06FE085E565CE2D23C50A2430545F2F5",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("4C8E52050F5E97995EAA9368C13D1E5C598A8A8DDE8C01EBE845BDA90C51CB93421C7764235C80B7098B3D41D8BEC5FE381F7439555739CD5945803F492271993BA157C3802E570D8581E8AAE44803C3A2DEB7FD3775C95DFF8446C8A6A87E0B891E174CA2E0954D82B8BDBEBCEEC917E1038656A1481F538BD86CA2FC8BFE481FCFC117548D00FC189FD65443D18E9A704DD288D4E9BA8A1A78F3A108165D1B362F272486865B17C4B035C5485AE426B95F54E5A3E006D429AAE4DA4C1838D939C59E0A4075DFC7B511EDA03232E3893700F046CD1314F7227544231594BEA34080FA22C3D3D2AA314844D00C39BD50E4A8C72716464046C78E8C0BD5EBCE0C",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("0480798B8CDDDE46401CEB431E0504FBB7E46D4044DAF6831918881E4665E2E5ADB920740909080975CC75034846A53AD63E4A66FFC9CC6BE5A3801FE0442BC60C11EF05270217C88D050666BC1F14D65050384BE10885C057083650044098922C0D0585AA65C65618D4DA4253E978518DE31D34C4B6110403370862D2B7AE8A6818558905D1EBBF4BC506D14BEC0E4388C606AE3580DA5C46B1CF80A736DF86834AA8550A8A3F743AC0BA96A9D1632819E2209C3061061F1B0F4061173437031501F48F86300BB8AF0D0F0E54C781271C10AE136E90B3E286A83749A1C090718B2D4435079D8AB5BCC0A2AEB6124B04D5CCF32DAAEF190421EDEB4674452F8A",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("40EFBBEAB901E6AC1B025E912BA8661DE581430C3FB7DB4DBD69841E8BC6EB4040081875F854E9B3F906F22BC62F67D1F8829AABDA8E405703C95BC5A6D3FFD78AEB74324D14DBC8C3231C5575241251577325212F0EFFCE54D569273503AD097EB6569E3CC3EB530A4CA5556A257385B19360FDDB16A2BE60387BFB04F62BC7407A0196B46A55CE68F6EB0B6CC3825ABA56CE3D38A08F0EF5C6846759F689A0932755409CA11CD186C7880BB02C5D518BE50C203E464EF7410406314439021874C7D181885F4589021A6EC17FF5AA8B1F6AFE68A4A136FF354F413059003358EF2E1B6C2F7079FE2E3BF174288D343504708B7687B389EB4803A015BC177CB3",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("04F338FDB67DDB2DB37D92F95408EBC3648F0504B743EE43B9AEB2648B1494E0FD0A81790468E060F75ABF45520C395108339B8A51BB4C042BF4322408AE44DF68080B43E76B0C595B58FC37284C93564332305843303074DBE428DE08FACED0F740E422620514A5E672159C0B18313E40F45DB621737B08C1615BFB97ADA9B18F744556558D6B10A80B5D47EE25BA5E410BB633783C25A35BC6BAED9180B3041D560CC208360693AD8131DE8FBC16CE75DB8F550C3B08301AD7D6825CF58FEBA1F71DC99BECD720175C6AFF3F5D16D1D0861094BC3B8B76C96E2FB9411C5003185024E1A1545047E9213901B0542AA8700F120D2168FC3E2715757CE1A1C4E2",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("597DFFC5A4A86115F10055087211BBCE9B9BB81CB88B8710740B413D488C5B789BD8B6F11E3B961A261C2AC58262986C231D0308D2700D1681FA5004AAED750BF1F29B406318576AD13014551EAC1317083542B741359B001243BD07D95DC4800F973C7629192A9D9DC1508BF80D835D51D7162886F8594157219BDB0924105560FFE83464B0B1B310570CDC1DE46836733FDCFFB6BCD3161164B0560A0EA927BC86A85D1DAAA7A85FEB5F124D55B18D30D536522E62D16E086AF4AF035D90A09A985E87E50241138A0AB2982C51205ADA24BFF955B7372E797739118808581A8D4D2243A9A0F9AE162908078785A2A013A02284898F67310293FC3A0D292A26",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("2380266F53594E16803E14100C00DD3AD3AE05C20BEB50007A653B3E195415AE0BE8423EC83C91049CFB04A0103B0C77080728E9B6A62D752BE01B11140708BA41B1857CDA6DDA0039E871004C37C1056D985E504F19B0787BB7888B29536817CE7D80FF09139581424A971200CDB3AC4C144DBB0AD9AB4E5E53B821D7600434AA6059F000160C5C3A5DA82A50B5A0C9156A542C506D7D890839181013B85A075752B26F58512D40F11E5DF8709074EB6B5775D981BECC4ED682321D3C60AB396A8311AABBBDEF147C42400B99DF8A1E7EA9A8011DA2C3932E6A93A2060F2B14FF970F007004168A07B10AF6E902C32C6AF702D13046E381FED45B7CBD488E40",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("C70F96696D483606D0C19BA133C0C756454E7204574A0110A8ABEA439D1746CF2DA09740E398AC1D454B368001497DC85931334D2D131808B4CD8AD35EEB4135E148A03ED4658A23811ECB49D4D0CCB6CD966AD441A964A1BE01D66CD468C287446064C5278D443602F6165634A290F29326602BEF553EC769834D51713C09721F74E16A45690ECC1833019380D76AD87450B68E683B18197EDF19073E801AA8D406A6CA143AD14CF5AC911E328D15A50490C90A60FAF6A3B93F7D068A6A0AEB05C7ABEAAA866482EB600CF0005792E7A256883098FFDBA41E157685FEC6012D41F7DE4E0A8BF9C7625B3830AED446DA08420B0D820C6A76BC708B6FEDC35720",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("0430881941FD77DA6A44C5568C49055ED5DFD839115149473BF972F280AA0524004F79763CB0A985057C9B78D63BB08836021670FFB52EA18AFFB76A8A274738C474F22C413C1AED27ECC6826FC1AD86E00E38E045FA46FD74D21AC01CFFF9EB34B8FFCCA5CAF28C3F271FD87162E74210D22B4B090720B6EA073865DAC209801300A3DF28165A0361C995FE017B742A369A43B741B35AB620DDA59B0043260AE42F7421671D6BBAFFB74663FC720638DC770202E638F809D8C6B777770D7E75094975D79BC04BB9FF007244F7ABBD12C5D9EB679F9BF8D8F6855A9C570BDB741F3F51A00AF1B9061A41D5BC054039DBAA09410282140C98541EE193DC929FDF",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("076A080EE2DB9311405047EBD2153743452F00742D8BEE490E6BAF502B710F8E430CACB387B949400BA13C701C7F4BDDEA0D809B8D25D030EBCF837580ADB5FD429C8CD8F66072849C1A6030F4F5BF1A32D8AD015F754057B815500D426DA078461550843DC1BA64FB1FEB231CC04C1CC364A347E6EFD89908E5A801437E7285A2D6C069E6431C14911F42C51A9C1CA1D8903260CDA21B34534C22E88A789D7FCD9D6B600975E399A60952578B509B199803199E51B145312E897E87DAFAAC4A3AF77F41D0C4B3BA724804F451A12C05F8DB9741C40272221ECA385DCA741A74C11D4B04E713628A093ADDE2A9BFAD043ACA76AD400CE613EBA59C0C32F6BD31",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("30A59D9626EA32B218080F866E5528756334E27E9C9C5ED488210DDA093830EA5F4DAECFEE5DFC03C02F5C430A2E162F966BAEA8B3E514990C3BEE8B506693825B575A09ED89CE8B3577797148818687B373D679E02A615C427E2494EAFC897DD8359A1879DB33FFE0232D1AF5268C9A4B9A161639AB0C180150D2B4A078D02B51517EAB676DE588183DC626DE535BA34AF1F75958C71274856EAFA03BAD7D385EED70A29AFB94C33B05F00D5CCBD6C06B00DC1B82544379AABAC00C52393DDA11966A483C743E8E878513AA9289FF26A7ACD1EC673874DF8938331F1AAF6B7906F4C42B453D27AC82670D1F569D9F18FED05A10707C437A5FB1C05D114DFF34",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("B7F7B7DA82FA26DF140BF646B500F82AC8EBB8C087E2102C173560ED4DF1032A3CEB35B704B7EB323DA70B4BDB757A4B7D8DDE7DB5087A2BC742B25727CA402D57AA62A5FE0CB08364B06FB02C7234FBD1468AACBDA85C81D99276175ADD6E31FD76592B635903536F407489E740F755F7D3233173C08ED86E1554ACAB050180631E9DF81C32007D50382D89AB6A4655BEACDE105BEDD46C1B4E3818D542B0D81E261AC035E8DDBA16D7662B053B547AB5807D50C30FFAE322A21198DF8B515F68E8F5C3198D17740A8B1058280A07E1CBF6EC50AD1507F5016CC5D232A2B5DF15A71F3E45C0DFD983C39BAD6A4AB56BC48906D97BEBE94526DA810201570354",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("4E1854D79FEECA4074420E530A00A0C0299FB1A125B0D16C52FC7454859A23A40808057A416E431013FB2D356BDB56A801EAD3050D2B0A176657019C12B52D8C8C3E3E3656978308240F8F7A661042D0AD8127242E30740417D8A8E6100A320F788D3C58B6103D6312081F793902632D5CA12E28081F041C6FA32D75ACE94663BD8B557024A0BF03EBBC48A0500469F0D6BE40343BCB83E93070EB357FC81E0B572A668B047023C74AADA0271066AD95F81075546C33378836955EA02B15ED0835F4721467E2D0888683B5046103002DC32103F1021D1F1565F8B11846A005958A530B09068006A2F0AA108D60FBD01EE51E81EB4D14041688D6015831CE75B4",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("820A9796E102052A5A0ADA149B77094E2C5581DE08187627F6FE2D5BCD9C7122417EF8114ACC02CA598D42ABE85AA904135C05AA8D566AAE022F47A23A7D80A1F60447F8DF028150547271BBF5E316E180C5718A11DE8D826FC428698A71018F2B788BEE4F8BF719140D4638D0026D145FE10B830A0AADF5FFBF16B03D5FC110F075EB8D7EFF8A6102842D0A05E5E47428E1B9802B50C175C41B315BAE54B5DD669D104AEB68AADAB5B12F348AC29192A2DF82DBECFF0C16C705513DE06EC19DFB8552811EB28E2D5BE8B1A783011773EC2BEEC40C82566A7B8BE18BCC40E9B40472888CEFF8B3BAE5C8E710B308B48CB320044C176014EC0370B3EFF842C801",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("90B3F8B3A6E9BAC13FEF06DC03D4CC51B0699AC4BCB4ACB3BE114280EF09FFF0109051B0E9031C30B4EF11F2900390B540B5B0EB7EE798B42C90A80BC803F0B402798551EF90B5060B851C90B55B44699AA6EB064C03545C646C0146C1A67487B5EFA6EB4E081FA005A803B8580046C1CCB5EFD40D4510F275573B350AD511237AC566C675463179A17BC1E603330DBC506953A404F6C2BC9EAE72F532A833E5AB6DA3F68BCF7467177662044824B6B600788A40053216DD1008134138342D4502FA33F4C64430050A824D400FA216DD7E6858301204213A7124D442F56A05593515704B75C5A87C02A78AF826104FAA6DB3A7D2AB7809A0C5174C5C0155F85F",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("40AE88B9758036D148147E85883F0ACB7D81254E0C840224FB88F720B4528392034CE3644728DA0C17EECB548A00D63A52C13C1A3A3C0DD3B576F06BAD8A135A95496D7318FB6507EF214080380AD445105EC6070D47443B6F6EB6EB73CB2BD4FF6A01D0007493010A0947BE10A376BE7441BD1F138A45FFAAF0BF6B17468B0B4788443105EB293B47E8B6DDAAFB7DFF6305160AEB41B368E52366B4DC6BF00E1B19E977BFD004B5E1928E47E710DA0577D75D74F306A840E4DF062B462CA0038579D71B6207002BBA6A4026B86440FFA71C01628356012D7380AA305217CFE40C57E845C1ADB5A5E0C6B4F1A265FFA168D02CF4ECB889148B5C7DFB11F6C57D",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("083905F47A0252002F7C4DFF806A8FC15E23FB41685BA11DED2102CD88DA419E161DAA844670F259EB2BC0C40840EB078079797BC16DE91074260420741830740AC1ED125B61BB3FF0EB4945F0A83DDD43240C0801039A805EBEAD53078E0423CABF6D7C837E40C87F35D1CB742A3B981DAE916B0406334607C866E8A003456E3A47F8154C3CDD3708042E9E862B325DD32A051A0706B9603CDDAE0EACA84A260507CADBD5C78E49BE8062C7E20DCCD3AB3094B8F7D1237637B0E082B6C28FB4813A8F6DDFDE0FF601F6C4CD020BF7A8CE081408EB0A7209C6B6A811060B100C331321942AC4CF1E53B5CD44C53718713EE69B118BC811469DE3C9A2C0164D74",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("1256704C8AE064C81B103E4090667720B8AAA20FE64780904DFF40EB09A6081575FC440233A8598E591EA128B51DCBEE5788450BE34240285AF20B48A42C5B5CBA047578577474410C6E45904B001CFF53F17DC110C68D750E813DBB8367966E7F884DEB3F36130016132846D5BDA015A3161B03F875C01A93F015AE61D42D602E1A12E34F1E00D8159F0C8C6A1DEB1914A5CD61D76679089B201E912F9A4C300420CF35D09F93B5904268A836935C764B0D428967AB580B689C54BC06E81657D2A329DCEFD906E68C10687807A3E4146C80D7DD0CA3E806A10B97FFD0D15B700105FFA11586398AF7DE531149031CA15E09B24D01EBF8C68A932A1485C33FB8",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("0639194214EC2E155B6128AE1C6071B0469B360CE8124CE00964E4582FA800EC58F16C7839E7AC3A7F2B49302C580030D1C08A8DB25D1B3320C51961E0AFF603DB808D5E339B564044A370516117116D2F589984EB562919039672BAD0FC1C250D12C8F0F63BC6982D64B9565656126464904912B3F002CF8DE28D2689AD5886082D203475164C3B59B07D1816C6748E75430F082518D418F633FF5812CC23FE743859A52517DA36246114571A5656298425D057381D12311815461E6208F50306FC0B567B460087222D49FC8C000647610F8CAFA80841F17A66680A76A54DF8AE5EB5FB9293111F0E7D28F502533302B81020E00246046006906B0E6104D062",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("443D4500E7A38047FCC08B684647E680C791114BA9AD684600234C14BA820827596C645600E62C1AFB1D87158ADE4652A390C804012E2C472C190A8008B325E4D917EB0214D60F04B8001E486F43D116AB68564CF098C553752209C753DB0A2615A1890C92B6146C15377D0250293649C16BC1A30849C66A45301870EF0580640425E8FB36B859ADD6BB4D62407D23E86606BD1091538859C050C4BFBF84D85C151113034E04CB9A286D154494EC5B56843D08CF121285126744D0E825553D3CFE735A6D8B2F0C3F8D54C11D4C034EBF7745123E8AC1BEEB25800BED52042E042BE17F50F48788DA817C0A7E1180C98063A9740395880A669604C66C610D9644",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("B7B17770EF0B7BC3CC00FF2548D18AB47DD120AA6204C5A482C10012E10B971D40CCE144CF29D43ACE0260B059347C6C1C36682F377C24080424FE389850D8E464E95108801149C1AFA058AD392D5217D51DBD57747A8B534CBC742A06EB4E615356E155E0883E5B8DEB8F689D504B37C1488B3DC24D7475F05555DD55D3D762F50E568A16C4E944E8599CE3DD0A211D561FF8202AB269EBD10E0955AFB5E7A449C0AB4FC3ACC2457D51E9537E97824DB7A17521B18BD0227F8AE8E50C880A147AE9208860098AA5C81A7767DA4AE588907161BE83481D714FA0504ECE16B0035350D13857ADB26B511A53E02C57504A3125BD277B0D46B02A82E5183F7F6B08",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("005D8159AE79809A0ED4B423CE11F11626A1BE8D4E025C74041DC95C9C2F34D8A2958AE149AF75E3C66323D7BF3F36BF402E74C910917EFD2E0CC9A578A96FCE070BF85631BA473634F04768ECE85614B83D3368F942BEB0E4102268DC1168D452174009D040802BF5DAEDC1E807E0385D097C67E1AB0C941FD6641CC8C19E95B968F839BB0C1F88B1C2136BC82F5D1A38A7C783D25E025C27BE5414EA494118B54645467D5F7E42BA91E860EB050A4E6D6108CCA5F3A0FEE2404DD4F58BCF5BEC32A7278A847526F46BFE83EC3A100A539CFDB94D60E9AAABF80C65CF7D1F070C71C8244BEC4E0F8F01D55B48D9764257EC01A9B18E6E0168BCC4C77B102860",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("6E36F79DBC0905C0889DCCE97E6E44A98A031C894602187D09FB40E7B4F2DCD944B2C4D91E2CC6B42F645EAC000E5B012F1C918006D9156045A72C9414C0FC57A478D5A6DA7B399DAC957EF09DB0E4859C3594566BACEF00B105C803D9006830DB1291A4B10D0AA8177276DB758B75EB526DA48185C00E20746F6944AAC2B059EC486376FB844FCCB5A06BB1E06617068B4989D8AAB187146748D30BDA00FE105966C746E966CB1C14349B030C0A6C1A3397B0935451B8E287B124E00C0559725B4AB054B6BA5C5F5191AD7EE9C10A468A4E7C460332D23A754D456CAD1017140BFE065CAA401062B5EC383CDDDD02104004218A081E0D082BE8CDF6031BED05",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("3850016081077A3125E308828545AB64A855171D39C854BC3B744252902FFA733DA1F466397E0253F85F5446FEB7D659A3F4597B7490E517B5150D54BBD34290455D19192A1B58232753C8DBC0F4D1722C2AC0FE56AC5DB77A32854C047E37EAC82017F44ABBB6270716DD9400045F30BB35DE588291925938832446A8605123A88C416143961732A0B64DF4A88D3C9031BC64111B60D1DB379478663D3D801F668565845C4833D3F4F419B19247BCC25BDA312182615D7512884814932C6E51EB436CB7B9A68E0848BF1BD4822AA95D915BED81EA83BFF46677D01103348B681069FA9A080355546D3768AC88060883FC9C514B5068539B1C57701F1D485D20",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("72074463E5565DE6EB171E85C90E66AE00FD4781C1E60803F0455D01B12182EBCA8A88751B98227172E40A22B015A23D453302F70C7CF224978AF40C7450C0EB602C43C891F4451359BEB701E3420A864DE07364BB65C10C59EB19860820BA004F80660B1466176D281CAA0234B87915405345A986124818020242B1AD68362A68C00A823B705525DA157D08D7B92005319EAB100AD59C50180C5158233005F01E225144C588A253E5A4E01474F91977A5422159146433FBAC6465AB78391BF935DA3024149AC7558AA03CC14CEDBCF0F32422E131B529FCFEC8050AB197CEB09CE1C55AA9FB1C80BDFD183AFFFB2282B82342677E83EE40C4EA041D22CBD5B5",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("55AB5FB076511F880B50B56A41979C10C62836F2F680944F9380EBA0115A140A05032C8413709AB0622309078D8C2C8A0D174B8FF06D3CED0747B0609083C364CB9A1081A37CFEB10A5A1E568C5BB8686A25A057AD9BA338F2B685A37F7B1091FAF687AA03287C183A110ADE515B2E155F8515385801AB740D0417BA0EA040B8DDD10316FE730FD9C20105414D0475B18A015FD0EC0E22FF5E23C16801DDA08AB4368D70ADD8202A8DA166E44081BAB90A0F0C164631A9D18A4496689F5038958A6F02181002D555A61A008A4824957AF481BC4C8B1DEF38C8F23F1FF150D38BF83BFD743B3FCD186D1E2B57FF36F2D31B8DD0AC217376BADAFB2818F3FFF6A5",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("7B5CC31035C506C2B6769F830DE040A8122B0D66F72340ADA39BD1D3C91047C7A2682670A180C0709DAC2FDC512CC056EFEA9EEBA28A981A160308673EF10278C1BE0B3065512CABA98E87C043825721569F0211E491045ABB91D9BD2822323677BD03070F7386B408765CA6D9BE6F52531AD4EF1972C80F9C889200BA81A78BA5707D3300A7F88850BC041B80C3405EA311C52538C6453993C5823D692E69EB12251F66E1F7240BB7403D0F77AF1C0C355BA2A621907FE510BD6E40EA5A7A1420C787200DD65DD27E0FA4E9A5335951B0882F48FF1335F741B0F05AE6A2948837A3C1224B945C971E9A2F1C450AA74F5D5D12C91308680037FC2368A216F8F6",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("5E751B56C5FB908F565057576789351F816B8B52F2097E6C03F2971FD1C026D8895D14397DC03CA3A89D2628907D1CA96AE08DA1411546A33B7249310550C0147BD430B964C04C1DF8F14E4C0641BE6A2A6D61551D39F4A3004855437C55BEB8566F2462798A39DCC9554B9E8801E04A1504EEEE99E040B7E0749486CE2F4634DFE014538B1D66CFB19D4CD572B174D0305BD9C671D36DD81A5747123189635FE46C211163751463746BE1DE43341C555362571C93442CBCFE19272B98CD1B9722EB1C1C154A04E7774C3F55C4AD56EB10719DC149A0440D0112C1D6615529833A7696ADAA750F7B7709405B95EBAA78F10E79070257D532807B14AD11039BAE",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("832F884FF093051E75410AC6165B416B01D15AF76B7CA9DA0905625820730219136E5DBA64027296C020F54242B8BC75A35C743F5FDB743AD8742BC4033670330BE72EC5FE7D7C0646504640EC3B074750470C7BBE46C33050D73205D7BD0AB6B64475C802ECC15F35D304A0186269661B3BACE20BC0C915117652826CD09A1B4C7C190A4C73C52A7532778C69FCD7C4D60C8B3C196A48FE18254B5136050810015D8117EBC161AA280C05FE45F22480C9D518376C0ED9FCF63935FC905656BF5756E4C8E680FC90565657560372F29989FC9075C04C20CD9126FC900134E97D8E518EC3583A0144310098B901560030152553C2A219A895542A5281B036186D",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("08F4E4EB0C571FCE17030AB656E40150F60DB08E96E456D2B62340B200127B8A45DC402ED43BFED34202384239DC90B2D3DD64F638DE7460FB55E905D0306048261BAB6A095791DE3724ACA273451E2A18B441A0AD107ABC1CFB5802D10E4248E88CA2159A56FEF632ABA015C4235166AD62C9F1964F34075F1FB7C7630437290D7C7C41EB235BC0800AF2FC6A00E4D085E9443B87C9B7DB4A386A2D49560D0000BA010028010303699AA669070F1F3F7F4DD374A7FF20FFFFFFFFFF4DD334FFFFFF323820466562727561FF7F01FC7279203230303B0A6E6F74653A2020646964FDF6DBFF6E27742066696E642065032D6F662D63077472616C2DCBD7FEBF1A",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("72207369676E617475726520051F2020E6BFCD20202E0A4B6572726F72DB966CFB6578706563556421556C3868EEE606F6656164654979196F754CFDD8FBB1282023256C75294947205B25735DBFDD6ECD4C2B496D7029746F3A65656B2062DBB6CDB565333C0667AA6E026789B1FFEDFB7A6970410A310063617574696F6E3A73DCB69D6D686D666D45637F644E66BE2DDB220A23A8636C75642C6DBBB940000828701F617E5BD9DEBA20176382746861B979D26175CEDDB57613E16E7366B347B663B5C3B6B70761FB24659720A6DF6D6DF70E0ACC7070DA0269212042494E41C20C86DB52596D6F64540455B7BDB9F6636FF43A16556E5A4520360BCDBDB7",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("626C79299056510500A1B9F6B0432377693CAC014FDF155EAC7208014A2C554E5A4950DDDC7BB000074F5054CF097B464FBBB1C5860715FE76166773F4B4860FAD638C05676509659DB886DD732B541C756DCE733F180C87243F2E4401C1D06E28EE8A3B202D8BDE9FC7F680B1640A0F6D75732673131B9EE3716966792D1C56D177689B057B8569520844C945932DFB9AED610A431320D60E9D6B4CF19765310E11AED00A8D659F051B0AD0DE78B86548AE736C6F77266B6824CC2D833259647E6D17CE5A7C4A70D373771E64ECB225837650775A3A82B98EC66F247208859C60161E135A8749C2280B8611661B67204BE3629D9BB00B9A3F294B66AE9C6E7A",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("BC858779DE6231614AC0689A665B6B2C036C70747537C760C7122D766E7342536C69F63D100E567F626FB76E2C266C83706F6369F83B86B169AC9D1E1633527D4D65DAB62D194417243E6CA3656BDB6B589D72E576AD65281516C71B5A773D3EEA7844AA736B7329FF7E3F34F72D582026FD7541434C2858588E82C3708C9B5686E09ADB1A302B202A1C87FA9BA4B7CB65B358732C275F27946D056603004B4DB05D386CE170E9417567EA2216B6CDF0F722B76C72D62A283FF4DFBEDD025B5D8D652E672E09225B612D6A5D2A2E6B1F42D71F22B6009F25642E0201DAC2F2A1736A25736280474705696B171B526FFE12737E9BBA87AF662D2DBF676E703F4C",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("6942D3F60CF1BF3364B32F765C6173BD0A92F262830AA1E1E4B6CD7A05AC1E73CD6DADD1DA20490F130663160E5BC192564874050E0AEE30EB6B6C4F28769C2A2DB96FAC731E7819294861612E6196A10E7B32D1206047C3F4D58565C3287347D7EF6B2722555B165D22B379A23D4763C761C96C641FD2B5C2E1F5864F6A0F7DB142B01C863C3A443E2D2BFCFF2D3132736D6C7643684D74547A4B5537DBB5AF1A942E00092D78A20D15881184C3D2BD40D60AED965B35034A1784D6607FB917A41C8601532D557DF43A81ED63610C586820741235D385869EEC6C7332F9D8DC4B83322882662E299A832003B17EC0754F4E4C592C183EE01ACC3966084D6D13",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("7C03ACB55669D44E4732CBB0ECB46AF94CF259755BE9361C682FA6027A266C18216C33465F6745E8756CCB117676A0620D2C31ECB1756F6CFE2DE3476D5BA9D0CB6D21527B61C06F53E925A19420A715812E6C1285E760E47433684BC31BB974B91E5E170C0E6BF2487213C360C8F7D54A7AB87613071CD8F409632D540348A758B01D1A0AE2B5032FC373923D5813704D97AC49FC334362460AB4D69A3B2D2A04026884C33438BFCD25093B1110868265074318463B82676672801C351D825505101855706E2B24AB0217993E74613AF1205820F736094CC24D3E924D6E36489C843B0009DF0A2C9818D66B05320EDFB2D70AED25FC302B2544C7B1C7313697",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("395B6E585DFD25CABF8F41534D5F43524349595249474854E95F37BE0D4C45414E93504B4C302E3978289875DA8414756389210786AD913B7365703EA96FBFED3F5B4E5453445F38530B53454544495234FFDBF65F41545452421C54494D455354414D5055307BEDAD26465F5521150F7E83DD6E775348284E4B742FD0312EB6ACA1F47733B46B7874EC6DFB163B444C4C67453634B15B43A93B3438444F3065142812012CEC746D29339FB15B72B7794558E65E560F095BC081C725532CC70846874BE075735D3C71810963F4204D617A309F99BA874002842E202D690A5B37040F18431153C5A1A3AE95045F1A53840AF63FD7E76067969873D7E268743ADE",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("ED1B173A2F2F77002E6947C82EB65AD7DD1E672F072D2D2E1F9F3B8585028F48FB68443C27D4B518FDBD646C2F4C1E6CBC70F3AD5672C2DE636B3C13A2DD75E20FC25CECA40166650565BD77EFC692622F100F2F203B0A668B450880290A998D73913211D2268791213081C3A3B26B5C3447814191057556020B0F196C5D6926F40504660A6416DA5C0D07B9D6615FC463064BA8450C207DA7684F830C202C9B65694C371B32A42C304E3B525706CB78822E40103A5118CDFD2D108136BB22CD1A2CF66A0D6695D42B8616DB0B17B29171067A6E85595F733E0F2B73E032D60C0E7BAB27281F803061C6600C6699EA6C965B516E52472B2C1802A741A820C32B",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("128E2471FACC746E3AF89E08FB614D75F0705A21642F0843874681E7E8352398D6004ACCD0EAD03E3614455A5993C04C0AF846CBE2C2F4280FF7750829219E800AC0603282BF093A6A82B05D0E7171752D7488082D76D80F719D124234EC1CCDB57ECEB08A04777272594870893C4C619D8B86A38CD7682B747B333746DB74AF274CABAD3F0B58463D574954484FBD0D7B8557D46A554C82DDE8B04D7450624C4C2A9D27620D384E8F6A6C281868C8FF2CEA646F68B27A02AC6B65536948384ECC824D8950D3B066302FB49675830324839BEA7B3B4C192CA86CCE2CDAD678E74C6A62B36564B17B5FCD2E647233502D34F86AE66BFB29568DB520DC16931927",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("766E68620A3563BB03A20045783D70AFB33A1FC921082E747874D81F934E7CA329DC247E31300C8F1F346A6FAAAD118634C1C4B728AB589238F12134C13B0C0D73A7A0794F6625A181EB6B6FB3CBFB0B081DCDEA79AF63EC328E370C87DABF4F18AA2DE870F2750289048D680B165B068D084516BC156C120BB90D000E99C4BF51D110A312001300140015C16F510BC117F619001A001BF016BC51EE1D001EB52000215FA0E856D42300C8002600276DBD00F100280029602B002C2900FFFF1B6C022F270031003200330034003500360037003800822D8AFE39003A003B003CD63E429595D8F140717DBB176526900008014581007FFB5B44030141018101C1",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("060241028102C1F84650FF02010341038103C1FF41048104FFFF37A0FB0541058105C105010641068106C10601074140FFF6FF078107C107010841088108C1470941098109C109AD8ABE107F0A810AC14CFFFFFFFF410B810BC10B010C410C810CC10C010D410D810DC10D010E410E810EC10E010FBAAEEBFE410F810FC10F017D01790175017101EBBAAEEB6D016901650161015D0159AEEBBAAE01550151014D01490145FFFFFFBB01410110811001118111011281120113811301148114011581150116FFFFFFFF8116011781170118811801198119011A811A011B811B011C811C011D811D011E752C6FFC811E011F811F8B20736B70663AC380C3343C32",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("5B73737B69E38081B62E3B25752E024C25284159E6EEB1B212CC0E513B9500C9E2D9A28EDA2690DB20370A00606F273CC02510912FEF116A1332AC4107C1D51A30751069BD3B001E9D221AB0106E0083BB43B3092E07361344432668C35AC62B66AEAD75CB88616A066776DD80D2996B19D21F776AB0847860ABE77BED056E9B0F8273CEA850990B520B116CEE3A3BEC2996AB20CDB7222196D5B76C226B642C8EC598B90316696E7550226F58CB26A831B75E141DD0665FF9EB20D15BD6BAA3203C320CA020FB2EB4984F4E442044796520D692C459683F6B0905B6D2753B1BD6216101178377641EB266C38A00212ADFA9D8B65137664F74269618081FDA38",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("4B3873E2A3D973A60B6308224C0697CB84E9EEF8D3BD618D175E3E9C0D66EF45ECD723E237D0B260B3311B73303C2A60D924DE658FCF086F361043D020BFB0B2061A0F00DF09D48A94E38309E1E09DB9DA802DB2A9580523D66E29773E9E21DEE68A6A3C72CEA4128DC6DB53636B7399CA54E830756244065661D3C632E7E4B63BF57223D65AE30BFD62718F5C2CB11918604A5AE51EEE5B494B757630DAAC1898235753538A81E1DAD1D6D9A3041F60AB482F9EC17BEDB787720B5549442F4703D34399035C28DC7E470933440B057CD32042CC1C221FBBC3DE819609613984CF6711DCB020142D652B2F1EAFCD623829DD6AE8DB90782F6B9F33443F76FFE8",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("5268795D145B6E5D6F05415D29E768D7A9064E5D60077D2D762D52588C6B4E55E0B35768850ACFEE2C6723C5AC8909C35F2027534C8A6437FB815822170D7F9C1A63EB8A8F0650415461936E80D1ABAED82E4373D0AD38843B8039F73318B5D290437726758A71606D03250AB826F562F6F514BF4B3B348BA6CA4572E1621028F46D79EC28792F6E078B07B517840F4744050241A064B704CC35D36978B7AD2703CCDA3B66A08E2FFE01ECB43521C073EE31AEBD7A78E0BE28821ED33B2180BD613129634E98590B21422B289DD8E14568346A152F4C3189526DA5596C42C0B05236C775230C42B15365611CBAC2B81F2E33055BD819AF5EAB0A146BE9104F14",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("896E0C1B910DC32D173BDD0ACCA0BD1D1BB376AC60C10CA32B4B199E2AA598AB62D5022E32D056722BE1B790B8990A9276776E7442C48A0597CC1C3680ABB74630386CF6A2756C0776981D0811919C4530E05EB3419F0C7FD817766A10AE29392B5759579B6E204E54AD63755C793730990C165E2DBADA9363AB3A0A45462B556B4805BB0C74753C579B401FB46A2C6D482C88C0B29869249F08ED31426823D4A445CB62BD0763B38E4818EF341B0E0840B884782C4B0A4BE40AE1DE53CC022C15C26C188D638F07CDDEB08AB9B39B64A8190E89308C96BD37C3B514E8B54FE30273B35D4C780A91B610960DC7708F75ACD406F80B852D2D1848F586108FF7C0",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("58C648B0434289CB60363B256F18831E9385235BC3B696B21704942FCF65CF99B6277496561E1F6C619320E81B5FC0E039371BAB1473839692D04A6A6F22695290DAEC3BD963C3061603F82E2654031FC2297849C9099251892F274CD00C75C22E28A53A044EE8BB106C3F2D437465A09252D6F82F5E43C2AFCB4368E1401EAC746401D80C6CA04DFA052888AF47E8AF000F2D2050136051273111336A17F2742CC2107A959AA70169EB8FC8EEDA5B33000D20000D0062081C0EFDAEB1DAC05C7B07455B6911005B5B02C30DE4780565FF0B307B2920E93B005A0078009700B507D1B7FA00D400F300AA30014E01B59C2C4B401083111208B22CCBB20709060A",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("05CBB22CCB0B040C030D023260B22C0E0187B701DD96250F5D13791B832DCA6D40235933894E12C106517F734D0D948DFDA300C300E34F003F02A66906EC800001020399C86E9A04051063631F00BAEE90A001C9077F0D7919033660091F319D619F87A81C30238FB3BFE1FF060108010C0110011801204A400160018001C05BF6FFFF7B575306060707080809090A0A0B0B0C0C0D0D0E0E1F8B21B4458073D17B216A50062731303006FA26D0C1F74C8B0044A6CFD0767B0054880E4E55EC058B55C30014075CF606160E23464D8B9ABB09044753697A520ECBEE4A995C662D33326536B9B06562072D788AD3C25290AF4421B6DAEB5EEF3D671038BD7A294C",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("2EDA865C3C40FB382810197EEAD837730925344B3032751308C4C69205103A09064BB6EC3025DC9F00B0C10649036B2761CB92BD0A731480003BDFB258D6BB39AD6129612263AB89D443D91B4B6F4E58465A5D8C221FA50768C164B0A7099B523107324E82071933340049B3548EED22673FDE3A23073634BA5E82671FAF00504BF0318E6A0DDA4742AE4547D5C8A0B56B26000F8948F18885385105A0088D6066010F07B543C335F57A15A377E0019C79750C1C0307173627683F0C172D5605656227B960542AB177319BB0B2942F1F231C423004DE3FEC6F1AEC331A933120221922931CB2B12A612025647375205073215F5D2E48C1B0213F22C00A9611BC",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("7F3A002F78F0442290010C03983B98DE36529DD2638D22382255934A59CA3FBF73CC5001892CC69C326806C00D1DE656C5E0954D62536569B315E13D476E0525BFB06846273F65ECC724942BC0D872FD4378658896FF88CE62F162638EB1975A51244ECDB53197370168C8236061D312DC2CE0B03D2C75295698B9E702599B34164C21DCA4601D169F0722803014073C10C15C636D3F0A400CA1604B4A275CB094CF3C074258E662BB63E86D738B78BA59C25EF48A99833EAC99AA70731679AE303543253B3BCF2E5BE8E251ED301A699A4180200D2CBF0EC342F2CD4FB600ECACB5C3619E6F960B756E437003C2577087578640D610B26169777A279A04773D",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("3A4FAFB97633385DE1B4D76EC7633756E1203E6765337C07F155862A7A45DE92DC498DB97B2257BD036BC8D0A4E4659788B60B520E4C646F8639E21399645F2079B6E0A005AF6E89C4098214AF9503FB1518846BAF6A13DAFAC9C8700A5672EA902480756428FC0910927A6D673012614B8A174ECA7041C24BD7272CC026C5A39BD9E7086103523879BF2B7BF55884C577198F641160134D292BCF28F32E0A4B9B01B36A38B807552D21D202242D2A507749AE4189690BAABD1DE6036D3F294A2E480101BF01DC576D20D253504C495411A4962D96318FB49626A949C8E600B54556423142410891663D95DB803252C34E6E1F0D6BBA5AA11E2D26E3DF410D92",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("1CF1BE3A4E87C1225E80BD6CBE2984158B72C6110A1A0819C13BF86CE9CD8A9DB9A8DB3CC87BAF1524CC7CB874328846248BE4B62C185950810098C0EC61C84139C2B62CDC409F0B3E27C009BC0421CB45C80E7091283A230090374E980ABB41F875616C86AD045EDD82534A17BAFB7E398528252E7B5868052DC0DAB060DF3F8783E1913D28629F686646206119C9B10AA97761A65D7329C81496B18483947F3635301AF44C1D3BF71602ED45108B5A926206B132769809A4EF5C88257569656B1082BD43FDD4DFD41C36D953702CBB28BC290F9AB521315928B058458C78AC8B356203A948A168203B04C96678FF96B095C4DCF8D04B24E116BF344778CCA0",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("37C9589B8409248B0AE28F66EDB46474CD8A800D847720DD0A4D304B60CE4B7483EDD80061915449836631903065476EB50B8459BC669A5AA460B90E5BAEA5E252D2AC8D231FFACB7801FB4B75AEAD4B8017217888439916C2C6BA373A6C3D005EA5B0C152B13D00992905B64D3D4CB24A560AEB064B0AE4E214083C480B0BEA1529E90A4340E641A3AC31570AB6A9925197AF2CD71A960DAC2D651715DF03118387CA25484DD0835BFB532D444F532B032F3272710B032FA44641547B6B6761584331063F002E000BEC0D89EE2F430E003C133711BC00074850EE4D6163C53F40DBF473680EFC5A2D53797394FFF7CF482B43502F4D33544F50532D323000F8",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("DC6D061F542F51850B41F6B96F18289752495343929F5605664BD0A03BE6569773BCF739381842054B555D7BADB95B7E534B0B1A783383E1681B5FCF58C744A85F84FA0A4C1F3A282F94640C602927756C572817D630C7312913001940AE3233E01D067034296F649B8B25190C7364170BAE04B537381E1642D04424FB2D36346B293BDA20BB29F71AE0A7A48F23313114D16FC910C38876C1627AAD2D947BA4D7F36C27047AAD15B6783E75668AE36348D2AC39C9290CBF12C1E889106EA3751627E7581982869062064D4AF84ECB6002BCDC3FE5D06B20001870964B1297DD61B700BC3152B056531B732143F4881C403354D4D44D1613661669E43AD4A908",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("180C7BD1F626237B66320C740B48D9CC8D72008B3B988AC00FC0257B51EB4E091B786212CB060330E4683A732C59B2653767842E905D1231993A7309444AA2DCFAEE04CC427375E4C40488B57397E39CF688181DB62829924BC1848658BD4B5B7638BE59C13D5360FB2D46C09A81D8066FB1883DDD08D9B63B0AAB41622D6C362312FCAF2FAB24A10E0B4F2810CA2E4B7961733AE30D468EC2BC871A20D9C04816AB59446246CB127BA1728DD0245B4F284F08EC250B07B837991B48745554E11B40B958902AD3A0B38BDA2DB72A43479A2D62F5F3ECD60EC12342BA7829B84B184F830D781B7B49A38C83EE184EC20C95A445C0412DA3858D3F7196CA084201",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("9B3EC84C8FA5DC61E701432D12024237B78744CA9682832D3A19871261839EF42C62C322D64E2686D55BD94D314B24C874A0EBD52EB100C931F5A32B4935331D325FECC350A3B430366A22E6058BC47B29356F5D399D18160837897B0D1B84703701AAB512A753126560298196B29145A953B19BC50C5384A725791218EF003224EE5421B227710A3B913D07D5A52D27BE43C55B580BFB018B23E4008B2146340B56B17D374C27722D8F076749E844B20F53041B30C329C1551F202FD765A6274B65799E0F49E60D712C587811DF38365F67C9908C6D646D0F32338097AC0D3F009F0F801940B263EFCD1D81932128BE3078DEDA2501A7581E3A2554920129B7",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("0A2101AF1E17F26E199D622977737CF625C1900A1F8ED025B52C5CFD3AB307A5183B06641A55C17E10754944AD5EB3F7EAE530B0D130A0D02FE4670457415245202F8C1EF64574D3731341568F25332D1B0027A00B8AD1C01E461BD600EE0D83462900F4F625735513212F51322F4E66059162EB7DF081E145F90F7507F6204985EC223B08094A60AF271765394307AC7410536D4014EA24289023362944BD53498B1FF3C22031C3EA8B84441849195A895F3C83333997904A6F3C42483530487753066B94FEA8F0C546D44B81D74D4435484D588A37693073621C8C422B002E41911026E115C6FE3103CBEA3B93F0B8E86C6501A34428B321558E80E42C1AB1",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("408E2258C56D9F53AF60239175B8D4A309B9A2675CA9ECBD2081547A497ED9237AC090258828BCC3B287FB1A6251EDC58141E90D05A363B2B773E92DFE6221E51E71ABCF8B10DC4B83283F7E038D48F4A861768040B0033B442188004F632005A365030CC02225444B3C0E375CD3DE4D540ED496EC8422071F638FB21E2B6B6EF7F4A3AB1392C509EF527896D04661C73156E908C232FFCE2F72D6A2852D5B325D0462B1C3699B815908CEB68A43B9436301274276783109C21E1B157205C24FB0CC5CC26C804C181B46C2A36946BBE46BED1443152B7A5265BE4EB299E1416B3BA70B37ACC8CD0E2C152CE7616133D56F1B42F400674AE29528296712D845D9",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("53425141C25ECB4F894ED812DEC1135FF39183B684CD5AB5356D76BC6002D53026DF5420070FAF73A5DE67C07488C56BB2B20B019338C4456CB9E15B76A2FDA30D1F644B6F600E3E4F626AC87BCA600C38008E9D614E13680E2F841336317B1029EFCF2A4A4C98EB0D6DBF31E2CBA2030FBF592207C02C492724C3EAC4C3B1323230E43AED892E5EBCBB33FA787756C2CB253CDA9B90702324573659E974229618C9FBEFE015AC032F9F0C225B484C3C052F59B1ECD0C2A34023DCC28A3D1FEB0590E20820F21D824112D367B2A708814FF52D4EE0632C2C35333B2532752D4B0841013A3017B3650FDC0E4C141936EC7B0D6D7508032E0833D2CD0E0D3FC003",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("023A8020042F632FF1AD0AB42E632100766D73259A5B3057E5630712C7BEB517E2687066E763007A0013706D0074CDDD5A2943C61371641FD4E542BB6D2F66376D760B2720005BA0155A41F90B33786F35A004D8033A34533C8807F72041F8CFF3757431043233340069233A23CDED898EDA6E0323043634632C6FB706B7AA30312C627A707502DACD1085004A6123968B52B4C48F830EDCBAD6BA077913D0036C0F7567829B4A5DAB705F5C4E6F76D50EA215DBD70C4C438FBDFC4E28074E55524943134D4F4EE1BF52C04554820B4354595045278A99AADF0B4F4C0E0BD7415B8389073B433B03BBEBCA4B005F2E2C07FF00384941238370055D0306C25785",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("67FBED030706021004450005354BABFF1FA9508C283850580708003730305750077CCD37EFDA0B0008606860000070707808E79A83702107001A010BAD153D0E9DDBDF6C46D0BD7001050F6E4C93A9D1BA0A4905B99769C26A96899C64470A07E045E5332F43C44EA6554712A83A04AF4765AA92CBA051349D8A867698B208432EE6A7B980D232180053DF2F16BB574631306F69B61B56C0AC50012D27B37AB5BD86876F09430F952B7E0F4272B8C6005AEB08CA546F1F6C2179408A09F03F9943C1A98855D3529B55B003F7AB41243370A84695419FF52078CB9EAF7D3724546A4067496D09B1ACCD8A100D83803D824729CB1308527662048F293840100B77",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("42BC847D03A37410B373F0661B2E68AA9BC3852F20F6DEFBD4BB10548C0D8473632C5513BB87807A43617B646403BA21448D572F2D6E241B502368034E01C95E84279F536128383278D31366D0262CA10FED57A1ECB082529EA2736B514B28C28DEFB259506BB7D41093CB985161410B5F2B48E62064F3D3B504B0047043B72F13E098ECBE44498C943A18C6A10EAB746C5EB261CB4B9A0F9B0EA580F0597AF7DD731F5132E85174533385424CC68750E3BDC69A015C347B730A435C6BF4E0FC0845E2A826B667C2E0D3DD862F39750682C68B673DB230F13646EF561D657A75F838A806CCE7F0A102B4422B69D2500A0BD3CCBDB9DEA141667217734DD7D00A",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("3B094C7540438E674F89B1D68AD13321535003130B91956C09FBEBC61A5A82A9615B4337641F8302B4C2CC62A76A010C60624DF752AE8C99E0437B7573189445EB66AE007C23131147FDD4A0019A359F6CE092951C4BC34D63054BCCF1B91ADF73337B653F071BF60ADF1749658707CE7C2E2AC0B7500765EFBDF7B168B36E1B074B534CC1816D0900A754F770C0EC83596CACD790EC906B8A2DF4AA0F3953C10597725CB4ADD0D1B1116474264962A2AA666A3B0B4773226F020B90B1240C61531B20350A011920AADEADAA50305C8F049B37A16DBC72F83F2DBAD20B85273849206E7A4B2D7FF7708E916168C272C70B575FD5586C13679462FE6DAC0033E7",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("B6176334C0B0610F0E004C21CEBD42CC3A8A8A03EB8BA5263CD37377AD9B678E329E30084373332D7653259B31D913759F0F9BB1EC9CCF20139F0FB12C602CDF1360EFB1EC7F0FAF256B1E018B716D590F2F466B48D60A0F17648F3464CB38B05767AB13D9692BB5C19F11764713244D3669570F6433463A2CC9721B631772654B5A76137B13A932D9A4B323628504A4C35C220F61C36B94C114D449E726A30EA65BC27A6931C6E7E116DC828D670C11790BCC6D0373DD13516BDB27089FC1250BE13E2DCFDDA4586B7EE17D0F67D261CB4E771E0F6CFA5AD0255B13F768A69D0E6B0E5CA61361BE822D8BF469666B470FB0D765CB471363263360B312157BAC",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("95B9E4B2C72D870B006B6CC9242D7F791BD3B091345F173BC39EE3B00B6A611E0F015A3203960B16A26403F65A9592136E0BC3B252B8B0731B041B61D2320B4BAF64863D441A58DE77D4741D41B2656D138D61BD58E60CF85613FBA4D3B2439513EFEE50702FD9130703CD4618E692580075A061B6846133419BFE131E20805C20FB436FF4BB8D1141035F5F474C4F425E5F48459BAB8DFE41505F53454C458245FB174D19B003F953564352540000FF64AE11B59F894D030FBAE5E7CC92030B5393570353DF36B605604DD654F457ED5468754653932A6D8053AC3F3E65CA94293D3C3BA64C99323A393837E294295336353432C0239A8F5AA3726737372368",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("13B153530D0D4D2CFB810AEF494E470E0B4FB6D5CBDA4D41121152369B3808906359D42D1064664D6570D3EE8C703745C8E2F927376EC00266085E38CE3814725924E0373604CF40F27374643570583457CB21351D217953C8175B285F345FD75A18682A23CB5806859DECB5DCE25F3139F7B55EC1A35140A631B96C08DE2B38817018028219575E4148BE23377376EA1595957A8E2F98AD10461734025A7327A72E02A2181A1645EF0E8C85BD100C9F2F30394FCF2DA1202A2E2B6141A490384580F63C845F303266C158294A91A6B0923A15CE5CB9115C7F4D2D87D226A06026205651AAA18251E8432B2B3A9C481CE65E342F2D1645AF68B63D0E211150D4",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("1356C32E145A003CE5E0B4B73328613E1B483A6D24F735770D6A64002C204D200879006C0BB9377F2F642F06C74D034149B9AAC92265163B4DAF29D9760B406F0A4B74D45CA661145A3107142953CC65A3707362617AD07E695C8943376990229800A30ADE7BEFBD675F57534B47BDE71EF043F7433F3B26D110ED3323F264FB6B608A99F009FBD8136BE672050ADF0C19F77AAE980924062F07DE7BEFBD433B372F2723E79693F51F6FE9A7ED030BC9E5C9E546A84AA8CFACD3AC801BB9E53EAD420387744CB6D414970F416324500675C685859ABD130F3D647ED04722685FD2426F7841CB2A7DC12F3633322E6482EFDDF292CBF6BBFABB0FBD13032EB19E",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("A21074C362DAB15245760F6D6409074E6E2FFB2F5C003F2A4734CF9F38CFAA4E2E07E90BAE67D26BD2E445525069E86D28C25655038B2EFF8AA04941002936F655E734BF6527CE360B032D7864A9B6E5D25A69695B085D43BA6D47848934F52B3C0344699A66484C54606824105CB674F55373DB144D8ADE2D0FD4121503A0370F7B12AA48D464400BEA49447B454F460BFC204F3106458C87360046829815BBAB2E058160FB1F5B035DCFAC08D7966B172BDFEA76AA5E074CCB6269BD6E7B8EF22E0B74155D25556387C20B2EE600BA9F81C279CB0B77621B573776A8CE503A94652CAF4991ABDC63B7B9FF5BEC12A0265DAFBE676D0CC255F09676041911B3",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("A06CDD93405F6EBB2101020303040506AC5150EDA81857B2286953F523E28695642D640764C25E29A4176CB0025771D36D3BD403F838034263AE41BD02176B02D0702A7087CB2777800B2852C3120278DD48E73D2345F8E12240C15C3F55848A91507B4604820310CB4F9C40F4A50F5BEB280923A245DFFA1D106F40D1676169F088CBA6E9B61F9F9003A4B0482358364DD73464740B848C6C12D3344D67038C9098A04DD3344DACBCCCD8E0E89A65D334F0FC10130C248199A6692C384000344DD71D1C2B5403646C80D3344DD394A8BCC8D49ACE7C4DE0F86B14032C348686A6693C446170696D00BC4901D5075008FEE9E0005841425244D940C59B00F40F",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("D9252B6AEEF31F4441BE8AC89D0750524F8B46AC82F2D7070B464843A9ED9D2043E3B63B03B185181B8D6FBF946407C70A45E4737973EC17646920F2E491726172636E6B11BB490632160B62632D56703AF81AFF031ED07BB879BF020F9DE2E305E1562D63336FE6DA21BA07331A180D8001681F96926280375CD1746DCF73722E2DBD64009483CB33A2F10198077B0A535F2A0E11A60F8A04BC1A918B5770E977A078DB811E28297F45952A371A9546D1E3F43679829D9A8060C418C3C07B506C2F6C496335C40B8922D9293B56942C8028C0EF6C20500C29A7A022D9A4B785058C5D6009ABAFAF289629D884A4734213D755CC9E61532096709C802123CF0C",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("ED4E770A0C0C56005C5C02900BB8032F2FD7272441B81081787C3C2C88A42F2A3B7055CC26009A9B2404A060F3C1372BA87B37086C0C8F236220BB3F3A5CCB41881425A6B902D622840A7F52C5624506B3F6CF21552C9B73DF4A400CA0DB22F62F229B390A4CED117E5E4BE35031AC25475CF00C461285C608EFB08A17B23F3A358023D9653320700725EBBD03C6146DD47561299B632F243B04806F46D4CC0AF3367B6409122D3E8A5B4049AA58ED419C20662A996065C96636C15E620294AC7F3EA258D90BF457B211D8C8E449A3821316B6FD540A5D806A11E733072F2070EAFE870C4E542F324B2F585005337B13748A05F36FDA0FAACB2FB346653238AA",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("0ED4650503438A650567B5F2DF2812ABC81DA8A240961895A37A494E24B7B9EA82113550A21352A896C588C7125295CD9E3B430300C8DF00C0830B342742838CDCFCBA654100282059421C7520CB419663103A610454E5C9E52E5FFC26BF5929333C57EE03D501790064922820480010900164228410219001998101900119901082022A73932110BF00C641BAAB01072E80A2E9950CD86F0701013710361BC8DE023357020300633C110136384153C8ADA2705DB7B803B63BC82FBF0827A4036082798221A6DF07DF9F9F3CA1A5819FE0FC407E80FC2FA8D923A437C1A3DAA3DF81FE07320436C840B52F4185FCDF0DB65FCFA2E4A21A00E5A2E8A25B7EBBFB",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("7C7EA1FE510503DA5EDA5F5FDA6ADA329EDCFE4AD3D8DEE0F939317EFC2A699AA6DBFBE403C8B89C88A6699AA66C5844301C9AA6E9DCF8292B03D0C4B4A4699AA66998887868589D6C9AAE442B2410EC28DCA669BAD707C40B039C8C8066B0C19A705C2340072C3BDB2CBB1803FC27E8D027172BC76906DB05E6C00B0B1D0490664006968D08644006648E8F90066440069192931C12004B7F0AE0DD8034578C0A74303430610F56DE1E632CD3455350073835308293EF6323313235322B0B6236BB45777F2346AD004C072B7B8226530C934423299B15E2527B072B256E9E930F663049534C5B7564CA66072B1D3164FB15EE226F235356456F0757452B3ECF",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("B1292DDB326410555149B33042070838DC15A0C80830DB4D45582360B3952BDB63EE5EC9AD2BAF4245070C2B633037BB52B17BF0234445A72B4155E6399992540939E06C6523CB454ED453AF2B4D619FE761BC534EDB0C778D019B2BAF43935743414E07427725100B300747D9CAEE5A2B2B47544D572B957C1EB05753009C48459F6D20CD1434839052490FD86C65572B574C0084487325374C5558183801A45B18337CDB50DD9610CC091C5FAF6C575A60B385FC4146003433372B572BB9A135441F33444F4D776D4296203256AB2B56454E1F48732524344F004030732537434F4C28DBCC957D9E52003845522B2C2BB979C2AF53002C415247775B429630",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("33FF242B4543559630732534AFA7345736C21CE34C2B38385772F3815900145552593CECB50933AF5A07DB2B52E977ACBF1A0C0710360477D1AEC1FDDB03051010081D086C2D57EB64077C0BEFC247420F5C2D936F54075AC1062B0133173C07EDF9E6BB340F4E4C440028484B47001C5AC3061B6CB018070C3F0007F40DC6EAE893509BEC634B0306F9EE8C2C27D00F4B4F5200C0B460CB8641A0CB54547C6F0E76F6EC902C07802CA778AF7C3141065B1A674E6807542BC57BD24831EF4031A78F0F8B7CB7142330075A4848002C8F76B0857724319FDB1017FC300F76EB3C7BE8301FD4305BC430478B9D3C7BB0305FA4309407EFE620767688305F7407FF",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("07C8238F3C4900584A004C5A0034738D3CF253001854000C475057F5049E3DF42F07E42F07D42F7AD6939E5FC02FB7B02F17A02FE491C7CEFB8C074300784C00682CBBB35B1F582F7F480F49543C8D0CD6D04E572807144ECE682EB1EF2E5B50542EE3D891C75CC40707074C00B4471E79E44F00A0430084440074460033C51C91601F071B07E491471E4800284D00184E000479ECAC5B8FF42D53E0075A00D0CFB8451E5200BCF7AC2DE7982DB3DBE349F7882D2F67802DD766271F1E0F2F782D74074C41A5AC363A05839DFC030069FF00F01451842CD2F1012002A14260015521E258D12E1BE0016F000A828E9CAC638070F0F19D28AB8E1E540C50445728",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("5E943F2C897F032189E23D00A7FF345D73600B1E3B035A78D9344DD397B5D4F31101DD659B66304E6D01333A0359344DD3347796B4D3F2409B66D910012F4D6C0160972C236B011603074DD334CD0418050D06093248D334070C08092F20830D0A1B0B57C01BEC7B3B070F571013C8F79650A703172120830C36350F4143830D36D8503352175307570CF6BD605FF37B6C176DB22C1B050720701C6CB06FC9722F80B38107B041061B821F83848F90419A6691299EA1C106196CA46FA7B79F270761B0CE1FD70B18072084870CE8059319DB9434422BDD679A6E6807093C8B1807109AA65936EC3311BC1298D334DD6B13E307183419A659364D0C1AD4321B9C",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("9AA6699A1C74786479542CBBA6697A44FC473051FF4554B0EE0F2E971BEC2ADBA6C890037F00502FCCD800BB34BB41034FA85DA1FA2AC7363F0338344DD33434302C282059364DD3181004F835F0A6699AA6E4E0DCD8D49AA6699AD0CCC8C4C0BC699AA6E92FB8B4ACA0989AA61BA490880380786C699AA66964584C484404669AA63C282000080864500015C8A8002A9051015420A302A840460550818C0AA0021914500032FF1B457174C738D001000146696E64C36EB3E74E6578410E0372730F628B82DA476509615003409588C500168A68302143DB657D8928C61C443665547970D40415832B4CAA6580CE1C41880F4313401DABE253638BDB7B144542",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("701C1B53C547512C565A4CB63F7314502C53746448615C6C2F4945F15958714580A26709546FE7A065B19115742E86BDE7A23E0D6480C29E818228550FA282FDED6C4D726370796E410A142F588314F2FC5BEB86518B134C53E643288AE66E0F74696A56047D6DF62B34283E496A291B06C7248EDDBA0FA02B4D49780D5761D1298ABE1E466F72531CB5E62600F83D1B48449780A8C57B4578A270AD45761B9C70EB66AF303660480C70468A31F7CC4409416C2DA950C5EC45287E14DF200C7B149D16026DED047743AB5E7216566C5C6B37BC9D4279743D5769641B731401822EDB7B693854F5EDC1253B65115D605A4E0D23880EE03C098403E1179753C8A5",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("84E71C2160E720FB96D0963C8CC5CB5067B0C7DAD80A410B074F454D0943ECB16D5649733E556E686B3A618373EF657052446756735692304C36A364930E43FAD9AC11DBCE678E7F7C2250547BC273FC55733C1C0EEC27164C4349446D458AB124B42130AD4523013BDB1C530F65F8411110F44D7AD33B1345194035491E5615D98E1684DE734E6F790C16047D87FD57568D2E21D921FA0CFD53972DC9D130487E0F57AC6DB308888CF1756C1F9706A91B6141709F467F73686D334C7A9D98E2EF4D7A7B2E616744410D4E82BC811D660117321884A56C7657ED17168E72E12E2E52746CCB7769FB4BF60151E165890F34427809DA47EF51418311415FD09A05",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("41AD6F0B118C59E7C8A05784CFC28C800D268889B8AD41600E44F7440D902D6B64AC8118038206D653C7FBF55E10348A1A30EBB19566D7644F66BED397CD38654F49506F6944B08CD68C245A0AF628B9CD22C06EEC9DA353201A58B3B3143B42380C0B414157E1B2593297AEEEFB37B54FB3C13781004F70377008A8601A43012A1AED04075B478A61340D6C759616114D80762F2C02104D43801DB0096C6D4BCEB36C0B29035015DA18C26D4BD264315A5273C4515B08612B68AD63654C6023A453335301EB0BEC1A4F776E590BA8A6B041274730360B6D99AD02398EB0D167689D653B4F751C05B79FE1350A105A005045074C01875105970392234FE075AC",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("3BFC000F010B0106760C01137848B3B11904B70F400BB90D9B750304320717C0036567AE1D80890709241007F94B1A8AAB1030370200500ADB0508A7BC011ED9B3A2E22E5BC0C3D75EBA84BDEB980220602E72831D8B88648261FB70AFB96C080302402E26B2772E7714846201500207277CBB5038C091153C391797B703000000000000001200FF000000000000000060BE00C042008DBE0050FDFF5783CDFFEB109090909090908A064688074701DB75078B1E83EEFC11DB72EDB80100000001DB75078B1E83EEFC11DB11C001DB73EF75098B1E83EEFC11DB73E431C983E803720DC1E0088A064683F0FF747489C501DB75078B1E83EEFC11DB11C901DB75",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("078B1E83EEFC11DB11C975204101DB75078B1E83EEFC11DB11C901DB73EF75098B1E83EEFC11DB73E483C10281FD00F3FFFF83D1018D142F83FDFC760F8A02428807474975F7E963FFFFFF908B0283C204890783C70483E90477F101CFE94CFFFFFF5E89F7B9260800008A07472CE83C0177F7803F0A75F28B078A5F0466C1E808C1C01086C429F880EBE801F0890783C70588D8E2D98DBE00B003008B0709C0743C8B5F048D843000D0030001F35083C708FF9650D00300958A074708C074DC89F95748F2AE55FF9654D0030009C07407890383C304EBE1FF965CD003008BAE58D003008DBE00F0FFFFBB0010000050546A045357FFD58D87FF01000080207F",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("8060287F585054505357FFD558618D4424806A0039C475FA83EC80E95870FDFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("00000000000000000000000074E0030050E0030000000000000000000000000081E0030064E003000000000000000000000000008EE003006CE00300000000000000000000000000000000000000000098E00300A6E00300B6E00300C6E0030000000000D4E0030000000000E0E00300000000004B45524E454C33322E444C4C0041445641504933322E646C6C005553455233322E646C6C00004C6F61644C69627261727941000047657450726F634164647265737300005669727475616C50726F7465637400004578697450726F63657373000000497356616C696441636C000043686172546F4F656D410000000000000000000000000000000000000000",x,2))) : Next
	For x = 1 To 511 Step 2 : ts.Write Chr(Clng("&H" & Mid("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",x,2))) : Next
	ts.Close
End Sub
