feat: initial push of the files

This commit is contained in:
2023-09-03 17:06:55 +02:00
commit 8ee02cdff5
11 changed files with 1590 additions and 0 deletions

6
.gitignore vendored Normal file
View File

@@ -0,0 +1,6 @@
*.exe
*.dll
.vs
__pycache__
Debug
Release

31
DllExecutor.sln Normal file
View File

@@ -0,0 +1,31 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.1.32407.343
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DllExecutor", "DllExecutor.vcxproj", "{F2B3A240-E4B5-428F-991A-765881B2E877}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F2B3A240-E4B5-428F-991A-765881B2E877}.Debug|x64.ActiveCfg = Debug|x64
{F2B3A240-E4B5-428F-991A-765881B2E877}.Debug|x64.Build.0 = Debug|x64
{F2B3A240-E4B5-428F-991A-765881B2E877}.Debug|x86.ActiveCfg = Debug|Win32
{F2B3A240-E4B5-428F-991A-765881B2E877}.Debug|x86.Build.0 = Debug|Win32
{F2B3A240-E4B5-428F-991A-765881B2E877}.Release|x64.ActiveCfg = Release|x64
{F2B3A240-E4B5-428F-991A-765881B2E877}.Release|x64.Build.0 = Release|x64
{F2B3A240-E4B5-428F-991A-765881B2E877}.Release|x86.ActiveCfg = Release|Win32
{F2B3A240-E4B5-428F-991A-765881B2E877}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {7641BF2A-F360-40BB-A379-829DF730A00A}
EndGlobalSection
EndGlobal

163
DllExecutor.vcxproj Normal file
View File

@@ -0,0 +1,163 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{f2b3a240-e4b5-428f-991a-765881b2e877}</ProjectGuid>
<RootNamespace>DllExecutor</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalOptions>/NXCOMPAT:no %(AdditionalOptions)</AdditionalOptions>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp17</LanguageStandard>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>false</GenerateDebugInformation>
<AdditionalOptions>/NXCOMPAT:no %(AdditionalOptions)</AdditionalOptions>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalOptions>/NXCOMPAT:no %(AdditionalOptions)</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalOptions>/NXCOMPAT:no %(AdditionalOptions)</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="config.h" />
<ClInclude Include="sample.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Fichiers sources">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Fichiers d%27en-tête">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Fichiers de ressources">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<Filter>Fichiers sources</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="sample.h">
<Filter>Fichiers d%27en-tête</Filter>
</ClInclude>
<ClInclude Include="config.h">
<Filter>Fichiers d%27en-tête</Filter>
</ClInclude>
</ItemGroup>
</Project>

4
DllExecutor.vcxproj.user Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

2
config.h Normal file
View File

@@ -0,0 +1,2 @@
#pragma once
#define KEY "sfgsdf"

186
gui.py Normal file
View File

@@ -0,0 +1,186 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'gui.ui'
#
# Created by: PyQt5 UI code generator 5.15.6
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication
from PyQt5.QtCore import QCoreApplication
from obfuscation import obfuscate
import os, shutil
class Ui_mainWindow(object):
def __init__(self) :
self.xor = False
self.cflow = False
self.junk = False
def setupUi(self, mainWindow):
mainWindow.setObjectName("mainWindow")
mainWindow.setEnabled(True)
mainWindow.resize(262, 289)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(mainWindow.sizePolicy().hasHeightForWidth())
mainWindow.setSizePolicy(sizePolicy)
mainWindow.setMinimumSize(QtCore.QSize(262, 289))
mainWindow.setMaximumSize(QtCore.QSize(262, 289))
self.centralwidget = QtWidgets.QWidget(mainWindow)
self.centralwidget.setObjectName("centralwidget")
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(30, 30, 75, 23))
self.pushButton.setObjectName("pushButton")
self.checkBox = QtWidgets.QCheckBox(self.centralwidget)
self.checkBox.setEnabled(True)
self.checkBox.setGeometry(QtCore.QRect(20, 80, 81, 17))
self.checkBox.setObjectName("checkBox")
self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit.setGeometry(QtCore.QRect(120, 90, 113, 20))
self.lineEdit.setObjectName("lineEdit")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setEnabled(True)
self.label.setGeometry(QtCore.QRect(160, 70, 47, 13))
self.label.setObjectName("label")
self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_2.setGeometry(QtCore.QRect(10, 220, 241, 41))
self.pushButton_2.setObjectName("pushButton_2")
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(20, 200, 201, 21))
self.label_2.setObjectName("label_2")
self.checkBox_2 = QtWidgets.QCheckBox(self.centralwidget)
self.checkBox_2.setGeometry(QtCore.QRect(20, 120, 91, 16))
self.checkBox_2.setObjectName("checkBox_2")
self.spinBox = QtWidgets.QSpinBox(self.centralwidget)
self.spinBox.setGeometry(QtCore.QRect(155, 118, 42, 22))
self.spinBox.setObjectName("spinBox")
self.spinBox.setValue(5)
self.spinBox.setMinimum(1)
self.label_3 = QtWidgets.QLabel(self.centralwidget)
self.label_3.setGeometry(QtCore.QRect(120, 122, 47, 13))
self.label_3.setObjectName("label_3")
self.checkBox_3 = QtWidgets.QCheckBox(self.centralwidget)
self.checkBox_3.setGeometry(QtCore.QRect(20, 140, 91, 16))
self.checkBox_3.setObjectName("checkBox_3")
mainWindow.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(mainWindow)
self.statusbar.setEnabled(True)
self.statusbar.setSizeGripEnabled(False)
self.statusbar.setObjectName("statusbar")
mainWindow.setStatusBar(self.statusbar)
self.retranslateUi(mainWindow)
QtCore.QMetaObject.connectSlotsByName(mainWindow)
# Create a QTimer to call the mainloop function every frame
self.timer = QtCore.QTimer()
self.timer.timeout.connect(self.mainloop)
self.timer.start(16) # Adjust the interval as needed (16 milliseconds for ~60 FPS)
def retranslateUi(self, mainWindow):
_translate = QtCore.QCoreApplication.translate
mainWindow.setWindowTitle(_translate("mainWindow", "patate\'s crypter"))
self.pushButton.setText(_translate("mainWindow", "Select file"))
self.pushButton.clicked.connect(self.fileDialog)
self.checkBox.setText(_translate("mainWindow", "XOR Encrypt"))
self.label.setText(_translate("mainWindow", "Key :"))
self.pushButton_2.setText(_translate("mainWindow", "Generate"))
self.pushButton_2.clicked.connect(self.generate)
self.label_2.setText(_translate("mainWindow", ""))
self.label_2.hide()
self.label_3.setText(_translate("mainWindow", "Pass :"))
self.checkBox_2.setText(_translate("mainWindow", "Add junk code"))
self.checkBox_3.setText(_translate("mainWindow", "Control flow"))
def generate(self) :
in_filename = self.pushButton.text()
out_filename = in_filename.split(".")[0] + "_out.exe"
xor_key = ''
if self.xor :
xor_key = self.lineEdit.text()
self.label_2.show()
if not os.path.exists(in_filename):
self.label_2.setText(f"\"{in_filename}\" does not exist!")
QCoreApplication.processEvents()
return
self.label_2.setText("Creating sample header...")
QCoreApplication.processEvents()
file = bytearray(open(in_filename, 'rb').read())
with open("sample.h", 'w') as output:
output.write("unsigned char sample[] = { ")
for count, byte in enumerate(file, 1):
if xor_key :
output.write(
f'{byte ^ ord(xor_key[(count - 1) % len(xor_key)]):#0{4}x},' + (
'\n' if not count % 16 else ' '))
else :
output.write(f'{byte:#0{4}x},' + ('\n' if not count % 16 else ' '))
output.write("};")
self.label_2.setText("done.")
QCoreApplication.processEvents()
# Working with a copy of main.cpp
os.rename("main.cpp", "DO_NOT_TOUCH.cpp")
shutil.copyfile('DO_NOT_TOUCH.cpp', 'main.cpp')
with open("config.h", "w") as c :
c.write(f'#pragma once\n#define KEY "{xor_key}"')
if self.cflow : # Make control flow stuff
pass
if self.junk : # Add junk code
self.label_2.setText("Adding junk code...")
QCoreApplication.processEvents()
print(self.spinBox.value())
obfuscate(self.spinBox.value())
self.label_2.setText("done.")
QCoreApplication.processEvents()
self.label_2.setText("Compiling...")
QCoreApplication.processEvents()
vs_path = os.popen("\"%ProgramFiles(x86)%/Microsoft Visual Studio/Installer/vswhere.exe\" -nologo -latest -property installationPath").read().replace("\n","") #https://stackoverflow.com/questions/46223916/msbuild-exe-not-found-cmd-exe
cmd_line = vs_path + "\\Msbuild\\Current\\Bin\\MSBuild.exe"
os.system("\""+cmd_line+"\" . /p:Configuration=Release;Platform=x86;OutDir=.;DebugSymbols=false;DebugType=None;TargetExt=.exe;TargetName="+out_filename.replace(".exe", "")+" /t:Rebuild")
# Cleaning up..
os.remove("main.cpp")
os.rename("DO_NOT_TOUCH.cpp", "main.cpp")
self.label_2.setText(f"--> {out_filename}")
QCoreApplication.processEvents()
def fileDialog(self):
options = QtWidgets.QFileDialog.Options()
options |= QtWidgets.QFileDialog.ReadOnly
filePath, _ = QtWidgets.QFileDialog.getOpenFileName(
None, "Select a file", "", "Dll Files (*.dll);;All Files (*)", options=options)
if filePath:
# Display the selected file path in the QLineEdit
self.pushButton.setText(filePath.split("/")[-1:][0])
def mainloop(self) :
self.xor = self.checkBox.isChecked()
self.cflow = self.checkBox_3.isChecked()
self.junk = self.checkBox_2.isChecked()
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
mainWindow = QtWidgets.QMainWindow()
ui = Ui_mainWindow()
ui.setupUi(mainWindow)
mainWindow.show()
sys.exit(app.exec_())

180
gui.ui Normal file
View File

@@ -0,0 +1,180 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>mainWindow</class>
<widget class="QMainWindow" name="mainWindow">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>262</width>
<height>289</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>262</width>
<height>289</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>262</width>
<height>289</height>
</size>
</property>
<property name="windowTitle">
<string>patate's crypter</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QPushButton" name="pushButton">
<property name="geometry">
<rect>
<x>30</x>
<y>30</y>
<width>75</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>Select file</string>
</property>
</widget>
<widget class="QCheckBox" name="checkBox">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>20</x>
<y>80</y>
<width>81</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>XOR Encrypt</string>
</property>
</widget>
<widget class="QLineEdit" name="lineEdit">
<property name="geometry">
<rect>
<x>120</x>
<y>90</y>
<width>113</width>
<height>20</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="label">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>160</x>
<y>70</y>
<width>47</width>
<height>13</height>
</rect>
</property>
<property name="text">
<string>Key :</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton_2">
<property name="geometry">
<rect>
<x>10</x>
<y>220</y>
<width>241</width>
<height>41</height>
</rect>
</property>
<property name="text">
<string>Generate</string>
</property>
</widget>
<widget class="QLabel" name="label_2">
<property name="geometry">
<rect>
<x>20</x>
<y>200</y>
<width>201</width>
<height>21</height>
</rect>
</property>
<property name="text">
<string>Generated aaa.exe</string>
</property>
</widget>
<widget class="QCheckBox" name="checkBox_2">
<property name="geometry">
<rect>
<x>20</x>
<y>120</y>
<width>91</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Add junk code</string>
</property>
</widget>
<widget class="QCheckBox" name="checkBox_3">
<property name="geometry">
<rect>
<x>20</x>
<y>140</y>
<width>91</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Control flow</string>
</property>
</widget>
<widget class="QSpinBox" name="spinBox">
<property name="geometry">
<rect>
<x>155</x>
<y>118</y>
<width>42</width>
<height>22</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="label_3">
<property name="geometry">
<rect>
<x>120</x>
<y>122</y>
<width>47</width>
<height>13</height>
</rect>
</property>
<property name="text">
<string>Pass :</string>
</property>
</widget>
</widget>
<widget class="QStatusBar" name="statusbar">
<property name="enabled">
<bool>true</bool>
</property>
<property name="sizeGripEnabled">
<bool>false</bool>
</property>
</widget>
</widget>
<resources/>
<connections/>
</ui>

269
main.cpp Normal file
View File

@@ -0,0 +1,269 @@
#include <windows.h>
#include <cstdio>
#include <iostream>
#include <fstream>
#include <vector>
#include <regex>
#include "sample.h"
#include "config.h"
HMODULE hModule2;
LPVOID lpReserved2;
#define NEW_ADDRESS 0x10000
// Define a macro for the debug printf
#ifdef _DEBUG
#define DEBUG_PRINTF(format, ...) printf(format, __VA_ARGS__)
#else
#define DEBUG_PRINTF(format, ...)
#endif
/*
Works with :
- 32bit exe
dll
Relocs doesn't work for some exe for some reasons
- XOR decrypts the PE
- Doesn't copy headers
*/
// This function will load a DLL from a buffer into the current process.
// The DLL is expected to be in the PE format.
//
// Parameters:
// - dll_buffer: a buffer containing the DLL file to be loaded.
// - dll_size: the size of the DLL buffer, in bytes.
//
// Returns:
// - a handle to the loaded DLL, if successful.
// - NULL, if the DLL could not be loaded.
HMODULE RunPE(const void* dll_buffer, size_t dll_size, DWORD newBase)
{
//START
// Check if the DLL buffer is at least as large as the size of the DOS header.
if (dll_size < sizeof(IMAGE_DOS_HEADER))
{
return NULL;
}
// Get a pointer to the DOS header.
const IMAGE_DOS_HEADER* dos_header = static_cast<const IMAGE_DOS_HEADER*>(dll_buffer);
// Check if the DLL buffer is at least as large as the size of the NT headers.
if (dll_size < dos_header->e_lfanew + sizeof(IMAGE_NT_HEADERS))
{
return NULL;
}
// Get a pointer to the NT headers.
const IMAGE_NT_HEADERS* nt_headers = reinterpret_cast<const IMAGE_NT_HEADERS*>(static_cast<const char*>(dll_buffer) + dos_header->e_lfanew);
// Check if the DLL is a valid 32-bit or 64-bit PE file.
if (nt_headers->Signature != IMAGE_NT_SIGNATURE)
{
return NULL;
}
// Calculate the size of the image.
const size_t image_size = nt_headers->OptionalHeader.SizeOfImage;
// Allocate memory for the DLL in the current process.
void* image_base = VirtualAlloc((LPVOID)newBase, image_size, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
if (image_base == NULL)
{
return NULL;
}
// Get a pointer to the section headers.
const IMAGE_SECTION_HEADER* section_headers = reinterpret_cast<const IMAGE_SECTION_HEADER*>(nt_headers + 1);
// Copy the section data to the allocated memory.
for (WORD i = 0; i < nt_headers->FileHeader.NumberOfSections; ++i)
{
const IMAGE_SECTION_HEADER* section_header = section_headers + i;
memcpy(static_cast<char*>(image_base) + section_header->VirtualAddress, static_cast<const char*>(dll_buffer) + section_header->PointerToRawData, section_header->SizeOfRawData);
}
DEBUG_PRINTF("[+] Wrote section data\n");
//Rebasing symbols
DEBUG_PRINTF("[+] Rebasing Dll\n");
HMODULE dll_handle = static_cast<HMODULE>(image_base);
// Get the address of the DLL's entry point.
const void* entry_point = static_cast<const char*>(image_base) + nt_headers->OptionalHeader.AddressOfEntryPoint;
// Get the address of the DLL's import directory.
const IMAGE_IMPORT_DESCRIPTOR* import_directory = reinterpret_cast<const IMAGE_IMPORT_DESCRIPTOR*>(static_cast<const char*>(image_base) + nt_headers->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress);
DEBUG_PRINTF("[+] Fixing imports\n");
// Iterate through the import directory and resolve the imported functions.
while (import_directory->Name != 0)
{
// Get the name of the imported DLL.
const char* import_dll_name = static_cast<const char*>(image_base) + import_directory->Name;
// Load the imported DLL.
HMODULE import_dll = LoadLibraryA(import_dll_name);
if (import_dll == NULL)
{
VirtualFree(image_base, 0, MEM_RELEASE);
return NULL;
}
// Get the address of the imported functions.
IMAGE_THUNK_DATA* import_thunk_data = reinterpret_cast<IMAGE_THUNK_DATA*>(static_cast<char*>(image_base) + import_directory->FirstThunk);
// Resolve the imported functions.
while (import_thunk_data->u1.AddressOfData != 0)
{
// Check if the import is by ordinal
if (IMAGE_SNAP_BY_ORDINAL(import_thunk_data->u1.Ordinal))
{
// Get the ordinal value
DWORD ordinal = IMAGE_ORDINAL(import_thunk_data->u1.Ordinal);
// Get the address of the imported function by ordinal
void* import_address = GetProcAddress(import_dll, reinterpret_cast<LPCSTR>(ordinal));
// Write the address of the imported function to the IAT.
if (import_address != nullptr) {
*reinterpret_cast<void**>(import_thunk_data) = import_address;
}
}
else
{
// Get the import by name
const IMAGE_IMPORT_BY_NAME* import_by_name = reinterpret_cast<const IMAGE_IMPORT_BY_NAME*>(static_cast<const char*>(image_base) + import_thunk_data->u1.AddressOfData);
// Get the address of the imported function by name
void* import_address = GetProcAddress(import_dll, reinterpret_cast<const char*>(import_by_name->Name));
// Write the address of the imported function to the IAT.
if (import_address != nullptr) {
*reinterpret_cast<void**>(import_thunk_data) = import_address;
}
}
++import_thunk_data;
}
++import_directory;
}
DEBUG_PRINTF("[+] Doing relocation\n");
// Get the address of the DLL's base relocation directory.
const IMAGE_BASE_RELOCATION* base_relocation = reinterpret_cast<const IMAGE_BASE_RELOCATION*>(static_cast<const char*>(image_base) + nt_headers->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_BASERELOC].VirtualAddress);
// Calculate the delta between the original base address and the new base address.
DWORD delta = newBase - nt_headers->OptionalHeader.ImageBase;
// Iterate through the base relocation directory and apply the relocations.
while (base_relocation->VirtualAddress != 0)
{
// Get the relocation block header.
const WORD* relocation_block = reinterpret_cast<const WORD*>(base_relocation + 1);
// Calculate the number of relocations in the current block.
DWORD num_relocations = (base_relocation->SizeOfBlock - sizeof(IMAGE_BASE_RELOCATION)) / sizeof(WORD);
// Apply each relocation in the current block.
for (DWORD i = 0; i < num_relocations; ++i)
{
// Get the current relocation entry.
WORD relocation_entry = relocation_block[i];
// Extract the type and offset from the relocation entry.
WORD type = relocation_entry >> 12;
WORD offset = relocation_entry & 0xFFF;
// Get a pointer to the address to be relocated.
DWORD* reloc_address = reinterpret_cast<DWORD*>(static_cast<char*>(image_base) + base_relocation->VirtualAddress + offset);
// Apply the relocation based on the type.
switch (type)
{
case IMAGE_REL_BASED_ABSOLUTE:
// The relocation is skipped if the type is absolute.
break;
case IMAGE_REL_BASED_HIGHLOW:
// Adjust the address by adding the delta.
*reloc_address += delta;
break;
default:
// Handle other relocation types if necessary.
// ...
break;
}
}
// Move to the next relocation block.
base_relocation = reinterpret_cast<const IMAGE_BASE_RELOCATION*>(reinterpret_cast<const char*>(base_relocation) + base_relocation->SizeOfBlock);
}
DEBUG_PRINTF("\n[+] Calling DllMain\n");
// Call the DLL's entry point, if it has one.
if (entry_point != NULL)
{
// Get the address of the DLL's entry point in the IAT.
void* entry_point_iat = static_cast<char*>(image_base) + nt_headers->OptionalHeader.AddressOfEntryPoint;
// Cleaning
dll_buffer = "";
size_t sample_size = sizeof(sample) / sizeof(sample[0]);
for (size_t i = 0; i < sample_size; i++) {
sample[i] = 0;
}
// Call the DLL's entry point.
reinterpret_cast<bool(__stdcall*)(HMODULE, DWORD, LPVOID)>(entry_point_iat)(hModule2, DLL_PROCESS_ATTACH, lpReserved2);
}
// Return a handle to the loaded DLL.
return dll_handle;
//END
}
void decrypt(const char* key) {
//START
size_t key_size = strlen(key);
if (key_size == 0) return;
for (int i = 0; i < sizeof(sample) / sizeof(sample[0]); i++) {
sample[i] ^= key[i%key_size];
}
//END
}
int main(void)
{
//START
AllocConsole();
FILE* fp;
freopen_s(&fp, "CONOUT$", "w", stdout); // output only
DEBUG_PRINTF("[+] Started\n");
// Load the DLL from a buffer in memory
const int bufferSize = sizeof(sample) / sizeof(sample[0]);
decrypt(KEY);
HMODULE dll = RunPE(sample, bufferSize, NEW_ADDRESS);
if (dll == NULL)
{
DEBUG_PRINTF("[-] Failed to load DLL\n");
return 1;
}
// Free the DLL
::FreeLibrary(dll);
return 0;
//END
}

174
obfuscation.py Normal file
View File

@@ -0,0 +1,174 @@
import os, string, re
"""
Creates :
- Random variables (local and globals)
- Random operations on globals
"""
def GetRandomBool() :
result = os.urandom(3)
r= sum(result) < 381.04
return r #average
def GetRandomNumber() :
result = os.urandom(4)
return int(sum(result))
def GetRandomRange(a, b):
if a > b:
a, b = b, a # Swap a and b if a is greater than b
range_size = b - a + 1 # Calculate the size of the range
# Calculate the number of bits required to represent all values in the range
num_bits = 0
while 2 ** num_bits < range_size:
num_bits += 1
# Generate a random number in binary representation using GetRandomBool()
random_binary = [GetRandomBool() for _ in range(num_bits)]
# Convert the binary representation to an integer within the specified range
random_integer = 0
for i, bit in enumerate(random_binary):
random_integer += bit * (2 ** i)
# Map the generated integer to the desired range [a, b]
mapped_value = a + random_integer
if mapped_value > b : return GetRandomRange(a, b)
return mapped_value
def GetRandomString(l) :
letters = string.ascii_lowercase
s = ""
while len(s) < l :
r = GetRandomRange(0, len(letters)-1)
s += letters[r]
return s
types = ["short", "unsigned short", "int", "unsigned int", "long", "unsigned long", "float", "double"]
operations = ["-", "+", "^", "*", "/"]
global_vars = {}
functions = []
in_func = False
def GetRandomVar() :
global global_vars
global in_func
vtype = types[GetRandomRange(0, len(types)-1)]
vname = GetRandomString(10)
t = vtype + " " + vname + " = "
val = str(GetRandomNumber())
if vtype == "float" or vtype == "double" : val = str(GetRandomNumber())+"."+str(GetRandomNumber())
if vtype == "float" : val += "f"
res = t + val + ";"
if not in_func :
global_vars[vname] = vtype
return res
def GetRandomOperation() :
global global_vars
vars_ = list(global_vars.items())
if len(vars_) < 1 : return ""
v1 = vars_[GetRandomRange(0, len(vars_)-1)]
op = operations[GetRandomRange(0, len(operations)-1)]
res = ""
res += v1[0] + " " + op + "= "
vtype = v1[1]
val = str(GetRandomNumber())
if vtype == "float" or vtype == "double" :
if op == "^" : return GetRandomOperation()
val = str(GetRandomNumber())+"."+str(GetRandomNumber())
if vtype == "float" : val += "f"
res += val + ";"
return res
def GetRandomFunction() :
global functions
name = GetRandomString(6)
functions.append(name)
body = "int "+name+"(const char* a1) {\n"
body += f"\tint bb = {GetRandomNumber()};\n"
body += "\tfor (int i = 0; i < 10; i++) {\n\t\tCreateMutexA(NULL, false, a1);\n\t\tbb++;\n\t}\n\treturn bb;\n}"
return body
def CallRandomFunction() :
global functions
if len(functions) < 1 : return ""
sub = functions[GetRandomRange(0, len(functions)-1)]
return "int " + GetRandomString(6) + " = " + sub + "(\""+GetRandomString(5)+"\");"
def obfuscate(PASS) :
global global_vars
global functions
global in_func
dont = ["for", "if", "else", "while"]
func_def_pattern = r'\b\w+\s+\w+\s*\([^)]*\)\s*'
f = open("DO_NOT_TOUCH.cpp", "r")
o = open("main.cpp", "w")
lines = f.readlines()
for k in range(PASS) :
in_comment = False
in_switch = False
in_asm = False
in_func_delay = False
global_vars = {}
functions = []
out = []
for line in lines :
out.append(line)
if in_func_delay and "}" in line :
in_func = False
in_func_delay = False
elif in_func_delay : continue
if "//START" in line : in_func = True
if "/*" in line : in_comment = True
elif "*/" in line : in_comment = False
if "switch" in line : in_switch = True
elif in_switch and "}" in line : in_switch = False
if "__asm" in line : in_asm = True
elif in_asm and "}" in line : in_asm = False
skip = False
for w in dont :
if w in line : skip = True
if skip : continue
a = "{" in line or "}" in line or "#" in line
b = re.search(func_def_pattern, line) != None
if b or a or in_comment or in_switch or in_asm : continue # we can't write
if GetRandomBool() : # do we create a variable ?
out.append(GetRandomVar()+"\n")
if GetRandomBool() and in_func : # do we do an operation on globals ?
out.append(GetRandomOperation()+"\n")
if GetRandomBool() and not in_func : # do we create a function ?
out.append(GetRandomFunction()+"\n")
if GetRandomBool() and in_func : # do we call a function ?
out.append(CallRandomFunction()+"\n")
if "//END" in line : in_func_delay = True
lines = out
o.writelines(out)

545
sample.h Normal file
View File

@@ -0,0 +1,545 @@
unsigned char sample[] = { 0x3e, 0x3c, 0xf7, 0x73, 0x67, 0x66, 0x73, 0x66, 0x63, 0x73, 0x64, 0x66, 0x8c, 0x99, 0x67, 0x73,
0xdc, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x33, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0xa3, 0x66, 0x67, 0x73,
0x6a, 0x79, 0xc9, 0x68, 0x67, 0xc7, 0x6d, 0xab, 0x52, 0xde, 0x66, 0x3f, 0xa9, 0x47, 0x27, 0x0e,
0x0e, 0x00, 0x44, 0x16, 0x01, 0x09, 0x00, 0x01, 0x05, 0x0b, 0x53, 0x05, 0x06, 0x1d, 0x0a, 0x09,
0x07, 0x46, 0x05, 0x16, 0x44, 0x14, 0x06, 0x08, 0x47, 0x1a, 0x0a, 0x46, 0x37, 0x29, 0x34, 0x53,
0x09, 0x09, 0x17, 0x03, 0x49, 0x7e, 0x69, 0x6c, 0x57, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0xa6, 0x7e, 0x62, 0x81, 0xf6, 0x0a, 0x0f, 0xc7, 0xe1, 0x0a, 0x1b, 0xd2, 0xe2, 0x1f, 0x0c, 0xd2,
0xe2, 0x61, 0x0e, 0xc6, 0xe2, 0x0a, 0x1b, 0xd2, 0xe2, 0x1f, 0x0d, 0xd2, 0xfb, 0x0a, 0x0f, 0xc7,
0x10, 0x7d, 0x1f, 0xd3, 0xe3, 0x1f, 0x0c, 0xd2, 0x07, 0x7d, 0x0d, 0xc6, 0xe0, 0x0a, 0x1b, 0xd2,
0x35, 0x1a, 0x07, 0x0e, 0xf6, 0x0a, 0x0f, 0xc7, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x34, 0x23, 0x73, 0x66, 0x2b, 0x72, 0x60, 0x66, 0x5d, 0x66, 0x21, 0x11, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x93, 0x66, 0x65, 0x52, 0x6f, 0x67, 0x7d, 0x78, 0x67, 0x77, 0x64, 0x66,
0x73, 0x7c, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x17, 0x62, 0x64, 0x66, 0x73, 0x76, 0x67, 0x73,
0x64, 0x46, 0x73, 0x66, 0x67, 0x73, 0x64, 0x76, 0x73, 0x76, 0x67, 0x73, 0x64, 0x64, 0x73, 0x66,
0x61, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x62, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x06, 0x67, 0x73, 0x64, 0x62, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x71, 0x66, 0x27, 0x76,
0x64, 0x66, 0x63, 0x66, 0x67, 0x63, 0x64, 0x66, 0x73, 0x66, 0x77, 0x73, 0x64, 0x76, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x63, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x33, 0x47, 0x67, 0x73, 0x4c, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x23, 0x64, 0x66, 0x4b, 0x66, 0x67, 0x73, 0x5c, 0x46, 0x73, 0x66, 0x7b, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x46, 0x73, 0x66, 0x5f, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x5d, 0x12, 0x02, 0x0b, 0x10, 0x66, 0x73, 0x66,
0xf2, 0x71, 0x64, 0x66, 0x73, 0x76, 0x67, 0x73, 0x64, 0x62, 0x73, 0x66, 0x67, 0x77, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x53, 0x66, 0x67, 0x13,
0x4a, 0x14, 0x17, 0x07, 0x13, 0x12, 0x64, 0x66, 0xeb, 0x64, 0x67, 0x73, 0x64, 0x46, 0x73, 0x66,
0x67, 0x77, 0x64, 0x66, 0x73, 0x6e, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x24, 0x66, 0x73, 0x26, 0x49, 0x17, 0x05, 0x12, 0x12, 0x66, 0x67, 0x73,
0x4d, 0x74, 0x73, 0x66, 0x67, 0x43, 0x64, 0x66, 0x73, 0x72, 0x67, 0x73, 0x64, 0x6a, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x27, 0x73, 0x64, 0xa6,
0x5d, 0x14, 0x02, 0x1f, 0x0b, 0x05, 0x73, 0x66, 0x5f, 0x73, 0x64, 0x66, 0x73, 0x36, 0x67, 0x73,
0x64, 0x64, 0x73, 0x66, 0x67, 0x53, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x33, 0x66, 0x67, 0x31, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x31, 0xed, 0x9f, 0xe5, 0x8b, 0x7b, 0xef, 0x23, 0x7b, 0xef, 0x22, 0x8b, 0xa3, 0x23, 0x8f, 0x66,
0x67, 0x73, 0x64, 0xa1, 0x36, 0x9a, 0x67, 0x73, 0x64, 0x66, 0x98, 0x6f, 0xec, 0x3e, 0x98, 0xe5,
0xb2, 0x67, 0xee, 0x3e, 0x98, 0xed, 0x26, 0x9a, 0x5c, 0x26, 0x68, 0x15, 0x62, 0xed, 0x22, 0x8b,
0xa2, 0x66, 0x73, 0xed, 0x2a, 0x8b, 0xe7, 0xa7, 0x72, 0xef, 0x2a, 0x8b, 0x8f, 0xb8, 0xf8, 0x83,
0x3a, 0xb0, 0xa8, 0xaa, 0xbf, 0xaa, 0xab, 0xbf, 0xa8, 0xaa, 0xbf, 0xaa, 0xab, 0xbf, 0xa8, 0xaa,
0x26, 0xed, 0x8b, 0xf2, 0x88, 0x4e, 0x70, 0x66, 0x67, 0x19, 0x20, 0xeb, 0x36, 0xc2, 0x37, 0x9b,
0xf8, 0x99, 0x8c, 0x99, 0xe4, 0xb7, 0x6c, 0xa1, 0x36, 0xc2, 0x23, 0x73, 0x64, 0x66, 0x9b, 0x4b,
0x66, 0x73, 0x64, 0xe3, 0xb3, 0x69, 0xe3, 0x90, 0x64, 0x66, 0x73, 0xeb, 0x2a, 0x9b, 0x35, 0xeb,
0x26, 0xc2, 0x35, 0x19, 0x64, 0x0c, 0x73, 0x0e, 0x23, 0x73, 0x64, 0x67, 0x19, 0x67, 0x0d, 0x73,
0x0e, 0x66, 0x1b, 0x6a, 0x25, 0x73, 0x74, 0x0c, 0x73, 0x99, 0x72, 0x6f, 0x44, 0x66, 0x63, 0xef,
0x22, 0x8f, 0xe7, 0x1b, 0x8f, 0x66, 0x12, 0x57, 0xe9, 0x23, 0x9b, 0x36, 0xea, 0x3e, 0xc0, 0x37,
0x19, 0x66, 0x0d, 0x73, 0x0e, 0x22, 0x19, 0x67, 0x0d, 0x73, 0x0e, 0x66, 0x1b, 0x7a, 0x25, 0x73,
0x74, 0x0c, 0x73, 0x99, 0x72, 0x6f, 0x44, 0x66, 0x63, 0xef, 0x22, 0x8f, 0xe7, 0x1b, 0x8f, 0x66,
0x68, 0xf7, 0xec, 0x66, 0x73, 0x66, 0xa0, 0xf6, 0xbc, 0x9a, 0x8c, 0x99, 0x64, 0x73, 0x65, 0x66,
0xfe, 0xf3, 0xbf, 0x8f, 0x9b, 0x99, 0x21, 0xed, 0x22, 0x9f, 0x34, 0x99, 0x66, 0x46, 0x47, 0x73,
0x74, 0x0c, 0x33, 0x0e, 0x67, 0x63, 0x64, 0x66, 0x1b, 0x66, 0x77, 0x73, 0x64, 0x0c, 0x73, 0xed,
0x2a, 0x9b, 0x35, 0x99, 0x66, 0x4e, 0x47, 0x73, 0x74, 0xef, 0x36, 0x9e, 0x0d, 0x73, 0x0c, 0x66,
0x63, 0x66, 0x67, 0x1b, 0x64, 0x56, 0x73, 0x76, 0xec, 0x26, 0x9c, 0x34, 0xf8, 0x23, 0x8f, 0x23,
0x9b, 0x73, 0x5f, 0x46, 0x67, 0x63, 0xef, 0x2b, 0x8b, 0xef, 0xea, 0xe3, 0x99, 0x99, 0x8c, 0xeb,
0xf2, 0xab, 0x98, 0x99, 0x8c, 0x34, 0xec, 0x36, 0x88, 0x36, 0x8c, 0x73, 0x43, 0x53, 0x64, 0x76,
0xf8, 0x2b, 0x8b, 0x22, 0x9b, 0x73, 0x6b, 0x46, 0x67, 0x63, 0xef, 0x33, 0x9f, 0x34, 0x98, 0x66,
0x64, 0x46, 0x73, 0x76, 0xec, 0x36, 0x8c, 0x36, 0x8c, 0x73, 0x67, 0x53, 0x64, 0x76, 0x19, 0x66,
0x98, 0x66, 0x70, 0x46, 0x73, 0x76, 0xec, 0x96, 0x39, 0xa5, 0xbf, 0xaa, 0xab, 0xbf, 0xa8, 0xaa,
0x26, 0xed, 0x8b, 0x22, 0xef, 0x23, 0x7f, 0xef, 0x22, 0x8f, 0xe7, 0x1b, 0x8f, 0x67, 0x13, 0x71,
0x8f, 0x63, 0x9b, 0xaf, 0x99, 0x8c, 0x9b, 0xde, 0x72, 0x66, 0x67, 0x73, 0xef, 0x83, 0x2e, 0xa4,
0x6b, 0x73, 0xa8, 0xaa, 0xbf, 0xaa, 0xab, 0xbf, 0xa8, 0xaa, 0xbf, 0xaa, 0xab, 0xbf, 0xa8, 0xaa,
0x26, 0xed, 0x8b, 0xf0, 0x88, 0x7a, 0xb4, 0x23, 0x93, 0x72, 0x64, 0x66, 0x73, 0xa1, 0x22, 0x83,
0x64, 0x66, 0x73, 0x66, 0xa0, 0x36, 0x98, 0x66, 0x73, 0x66, 0x67, 0xb4, 0x21, 0x9e, 0x73, 0x66,
0x67, 0x73, 0xa3, 0x23, 0x97, 0x6a, 0x67, 0x73, 0x64, 0xa1, 0x36, 0x8e, 0x67, 0x73, 0x64, 0x66,
0xb4, 0x23, 0x8b, 0x72, 0x64, 0x66, 0x73, 0x0e, 0x67, 0x33, 0x64, 0x76, 0x19, 0x67, 0x0d, 0x72,
0xe9, 0x23, 0x97, 0x36, 0x98, 0x66, 0x54, 0x46, 0x73, 0x76, 0xee, 0x36, 0x98, 0xe5, 0x0e, 0x9a,
0x67, 0x06, 0x66, 0x8d, 0x06, 0xa1, 0x22, 0x87, 0x64, 0x66, 0x73, 0x66, 0x0d, 0x73, 0xef, 0x2b,
0x8f, 0x37, 0x98, 0x66, 0x6c, 0x46, 0x73, 0x76, 0x5a, 0x71, 0x65, 0x66, 0x73, 0x13, 0x65, 0x98,
0x3d, 0xa1, 0x36, 0x96, 0x66, 0x73, 0x64, 0x66, 0x1b, 0x6e, 0x26, 0x73, 0x74, 0x0c, 0x72, 0x0e,
0x67, 0x73, 0x76, 0x66, 0x8c, 0x73, 0x77, 0x53, 0x64, 0x76, 0xfa, 0x23, 0x9f, 0xf0, 0x19, 0x9e,
0x73, 0x12, 0x6b, 0xf8, 0x31, 0x9e, 0x21, 0x99, 0x72, 0x73, 0x44, 0x66, 0x63, 0x8d, 0x4c, 0x1b,
0x6c, 0x27, 0x73, 0x76, 0x0d, 0x72, 0x0e, 0x67, 0xfe, 0x23, 0x83, 0x23, 0x9b, 0x73, 0x7f, 0x46,
0x67, 0x63, 0xed, 0x23, 0x8b, 0xe5, 0x1a, 0x8b, 0x64, 0x12, 0x74, 0xa1, 0x22, 0x87, 0x65, 0x66,
0x73, 0x66, 0x54, 0xba, 0x6b, 0xe3, 0x1e, 0x99, 0x98, 0x8c, 0xe7, 0x1b, 0x8f, 0x66, 0x13, 0x6d,
0xe7, 0x1b, 0x83, 0x66, 0x13, 0x7d, 0x0e, 0x66, 0x19, 0x67, 0xec, 0x26, 0x98, 0x34, 0x8c, 0x73,
0x63, 0x53, 0x64, 0x76, 0xf8, 0x23, 0x9b, 0x23, 0x9b, 0x73, 0x73, 0x46, 0x67, 0x63, 0xef, 0x23,
0x87, 0xed, 0x82, 0x2e, 0xa7, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0xc7, 0x52, 0x64, 0x66, 0xdd, 0x47, 0x67, 0x73, 0xa6, 0x47, 0x73, 0x66, 0xbf, 0x52, 0x64, 0x66,
0x9b, 0x47, 0x67, 0x73, 0x92, 0x47, 0x73, 0x66, 0x63, 0x51, 0x64, 0x66, 0x67, 0x44, 0x67, 0x73,
0x42, 0x44, 0x73, 0x66, 0x5d, 0x51, 0x64, 0x66, 0x3d, 0x44, 0x67, 0x73, 0x04, 0x44, 0x73, 0x66,
0x11, 0x51, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x49, 0x73, 0x22, 0x04,
0x73, 0x66, 0x67, 0x73, 0x69, 0x66, 0x73, 0x66, 0xab, 0x73, 0x64, 0x66, 0x07, 0x46, 0x67, 0x73,
0x10, 0x6e, 0x73, 0x66, 0x7f, 0x73, 0x64, 0x66, 0x71, 0xe6, 0x65, 0xf3, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x1f, 0x46, 0x67, 0x73, 0x6c, 0x66, 0x73, 0x66, 0x67, 0x63, 0x64, 0x66,
0xe6, 0x64, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x63, 0x64, 0x66, 0xe6, 0x64, 0x67, 0x73,
0x4a, 0x12, 0x16, 0x1e, 0x13, 0x57, 0x09, 0x08, 0x73, 0x66, 0x67, 0x73, 0x64, 0x46, 0x73, 0x66,
0x5f, 0x73, 0x64, 0x66, 0x5d, 0x0f, 0x03, 0x12, 0x10, 0x07, 0x57, 0x53, 0x67, 0x73, 0x64, 0x66,
0x4b, 0x46, 0x67, 0x73, 0x78, 0x66, 0x73, 0x66, 0x49, 0x01, 0x00, 0x07, 0x07, 0x07, 0x67, 0x73,
0x30, 0x46, 0x73, 0x66, 0x47, 0x73, 0x64, 0x66, 0x5d, 0x14, 0x03, 0x12, 0x10, 0x07, 0x57, 0x10,
0x08, 0x1f, 0x10, 0x0b, 0x17, 0x66, 0x67, 0x73, 0x10, 0x46, 0x73, 0x66, 0xab, 0x73, 0x64, 0x66,
0x5d, 0x14, 0x03, 0x12, 0x10, 0x07, 0x57, 0x1c, 0x1d, 0x09, 0x00, 0x04, 0x14, 0x66, 0x67, 0x73,
0x24, 0x47, 0x73, 0x66, 0x73, 0x73, 0x64, 0x66, 0x5d, 0x0f, 0x03, 0x12, 0x10, 0x07, 0x57, 0x54,
0x67, 0x73, 0x64, 0x66, 0x27, 0x47, 0x67, 0x73, 0x70, 0x66, 0x73, 0x66, 0x49, 0x1a, 0x00, 0x07,
0x07, 0x07, 0x43, 0x40, 0x64, 0x66, 0x73, 0x66, 0x0f, 0x52, 0x64, 0x66, 0x4b, 0x66, 0x67, 0x73,
0x4a, 0x0f, 0x17, 0x07, 0x13, 0x12, 0x40, 0x52, 0x73, 0x66, 0x67, 0x73, 0xc4, 0x47, 0x73, 0x66,
0x9f, 0x73, 0x64, 0x66, 0x5d, 0x0f, 0x03, 0x12, 0x10, 0x07, 0x57, 0x50, 0x67, 0x73, 0x64, 0x66,
0x73, 0x56, 0x67, 0x73, 0x4d, 0x74, 0x73, 0x66, 0x49, 0x17, 0x05, 0x12, 0x12, 0x66, 0x67, 0x73,
0x0c, 0x47, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0xee, 0x44, 0x73, 0x66,
0x67, 0x53, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0xc7, 0x52, 0x64, 0x66, 0xdd, 0x47, 0x67, 0x73,
0xa6, 0x47, 0x73, 0x66, 0xbf, 0x52, 0x64, 0x66, 0x9b, 0x47, 0x67, 0x73, 0x92, 0x47, 0x73, 0x66,
0x63, 0x51, 0x64, 0x66, 0x67, 0x44, 0x67, 0x73, 0x42, 0x44, 0x73, 0x66, 0x5d, 0x51, 0x64, 0x66,
0x3d, 0x44, 0x67, 0x73, 0x04, 0x44, 0x73, 0x66, 0x11, 0x51, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0xed, 0x66, 0x30, 0x0a, 0x08, 0x00, 0x01, 0x2e, 0x12, 0x08, 0x03, 0x1f, 0x01, 0x66, 0xc5, 0x62,
0x35, 0x16, 0x08, 0x03, 0x12, 0x15, 0x02, 0x20, 0x01, 0x0b, 0x12, 0x16, 0x0f, 0x1c, 0x16, 0x03,
0x73, 0x66, 0xbc, 0x76, 0x33, 0x07, 0x1a, 0x12, 0x21, 0x1c, 0x16, 0x35, 0x1a, 0x08, 0x00, 0x1f,
0x01, 0x29, 0x11, 0x0c, 0x02, 0x10, 0x10, 0x66, 0xcc, 0x66, 0x24, 0x01, 0x01, 0x07, 0x07, 0x03,
0x22, 0x05, 0x01, 0x08, 0x07, 0x27, 0x67, 0x73, 0x66, 0x62, 0x3c, 0x16, 0x02, 0x1d, 0x21, 0x10,
0x16, 0x08, 0x13, 0x32, 0x64, 0x66, 0x11, 0x67, 0x22, 0x0b, 0x0d, 0x12, 0x27, 0x0e, 0x15, 0x16,
0x05, 0x02, 0x73, 0x66, 0xa8, 0x77, 0x36, 0x03, 0x00, 0x13, 0x0a, 0x16, 0x30, 0x0e, 0x01, 0x03,
0x06, 0x17, 0x64, 0x66, 0x90, 0x66, 0x24, 0x01, 0x01, 0x07, 0x07, 0x03, 0x37, 0x01, 0x0b, 0x05,
0x16, 0x15, 0x14, 0x32, 0x64, 0x66, 0x89, 0x64, 0x20, 0x16, 0x10, 0x32, 0x1b, 0x14, 0x02, 0x12,
0x00, 0x25, 0x1c, 0x08, 0x13, 0x16, 0x1c, 0x12, 0x73, 0x66, 0x3f, 0x76, 0x37, 0x03, 0x07, 0x32,
0x0f, 0x01, 0x01, 0x07, 0x17, 0x25, 0x08, 0x1d, 0x10, 0x03, 0x0b, 0x12, 0x67, 0x73, 0xaf, 0x63,
0x25, 0x0f, 0x15, 0x07, 0x11, 0x07, 0x1f, 0x27, 0x0b, 0x1f, 0x0b, 0x05, 0x36, 0x1e, 0x67, 0x73,
0x7b, 0x60, 0x24, 0x14, 0x0e, 0x07, 0x01, 0x36, 0x01, 0x09, 0x04, 0x16, 0x17, 0x15, 0x3e, 0x03,
0x0a, 0x1c, 0x16, 0x1f, 0x73, 0x66, 0x8b, 0x73, 0x27, 0x14, 0x16, 0x07, 0x13, 0x16, 0x37, 0x03,
0x1e, 0x07, 0x17, 0x1b, 0x0b, 0x14, 0x16, 0x27, 0x67, 0x73, 0x2f, 0x23, 0x21, 0x28, 0x22, 0x3f,
0x57, 0x54, 0x5d, 0x02, 0x0b, 0x1f, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x8f, 0x8e, 0xe8, 0x73, 0x64, 0x66, 0x13, 0xef, 0x82, 0x42, 0xb6, 0x02, 0xf8, 0x34, 0x57, 0xf8,
0x36, 0x6a, 0xf8, 0x34, 0x73, 0x42, 0x9b, 0x69, 0xc4, 0x2c, 0x41, 0xf8, 0x16, 0x4e, 0x42, 0xa6,
0xcb, 0x4f, 0x05, 0x1a, 0x71, 0x4a, 0x47, 0xb2, 0xab, 0x6b, 0x72, 0xa1, 0x2e, 0x06, 0x8b, 0x34,
0x24, 0xed, 0x35, 0x63, 0xef, 0x24, 0x4f, 0x67, 0xb7, 0xf8, 0x24, 0x1e, 0xf6, 0xa6, 0x13, 0x3f,
0x65, 0xb6, 0xf8, 0x2e, 0x7f, 0xf8, 0x3c, 0x46, 0x72, 0xb5, 0x37, 0xf6, 0xad, 0x12, 0x4f, 0x57,
0x98, 0x3a, 0xef, 0x52, 0xf8, 0x67, 0xb1, 0x42, 0xa4, 0xca, 0xb2, 0xa9, 0x6a, 0x72, 0xa3, 0x5e,
0x93, 0x13, 0x93, 0x70, 0x19, 0x9e, 0x48, 0x1b, 0x43, 0x06, 0x84, 0x3e, 0xf8, 0x3e, 0x43, 0x72,
0xb7, 0x00, 0xf8, 0x6a, 0x2c, 0xf8, 0x3c, 0x7a, 0x72, 0xb5, 0xec, 0x77, 0xef, 0x67, 0xa3, 0xef,
0x23, 0x57, 0x40, 0x3d, 0x28, 0x07, 0x3e, 0x29, 0x35, 0x99, 0x93, 0x3e, 0x38, 0x29, 0xef, 0x74,
0x9a, 0xe6, 0x98, 0x8c, 0x9b, 0x3b, 0x1b, 0x55, 0x55, 0x73, 0x64, 0x0e, 0x04, 0x15, 0x55, 0x2c,
0x30, 0x0e, 0x3f, 0x11, 0x41, 0x74, 0xed, 0x8e, 0x8c, 0xb6, 0xdf, 0xe3, 0x65, 0x66, 0x73, 0x4f,
0xa3, 0x27, 0x34, 0x0e, 0x5a, 0xe6, 0x0c, 0x73, 0x9b, 0xb3, 0x19, 0x6c, 0x0f, 0xb3, 0xcc, 0x67,
0x59, 0x0e, 0x65, 0x73, 0x61, 0x5f, 0xfa, 0x80, 0x37, 0x23, 0x34, 0x36, 0x33, 0x36, 0x27, 0x23,
0x0c, 0x8c, 0x7c, 0xb9, 0x87, 0x8c, 0xb1, 0xf1, 0x19, 0x76, 0x31, 0x24, 0x0c, 0xff, 0xd6, 0x12,
0x06, 0x8c, 0xb1, 0xe3, 0xb3, 0x12, 0x6d, 0x8c, 0x2a, 0x6e, 0x06, 0x8a, 0x8f, 0x14, 0x64, 0x66,
0x73, 0x0c, 0x67, 0x19, 0x60, 0x30, 0x24, 0x0e, 0x65, 0xaa, 0xac, 0x39, 0x8c, 0xb3, 0xe4, 0x8b,
0x64, 0x18, 0x45, 0xed, 0x51, 0x19, 0x24, 0x0e, 0x73, 0x76, 0x67, 0x73, 0x32, 0x0c, 0x73, 0x0e,
0x3f, 0xd7, 0x37, 0x83, 0x8c, 0xb3, 0xf4, 0x20, 0x0e, 0x66, 0x25, 0x35, 0x30, 0x1b, 0x66, 0xbf,
0xbb, 0x39, 0x98, 0xa6, 0xe7, 0x9e, 0x73, 0x1b, 0x4f, 0x2b, 0x0c, 0x66, 0x33, 0x66, 0x67, 0x19,
0x64, 0x36, 0x1b, 0x6d, 0x48, 0x7c, 0x54, 0x99, 0xa6, 0x31, 0x0f, 0x06, 0x0a, 0x2b, 0x12, 0x99,
0xb2, 0x2d, 0x3a, 0x99, 0x7f, 0x42, 0x68, 0xf6, 0x14, 0x99, 0x8c, 0x99, 0x8e, 0xe8, 0x9b, 0x99,
0x8c, 0x67, 0xa4, 0x5a, 0xa2, 0x13, 0xb2, 0xa5, 0xdc, 0x83, 0xd1, 0xc4, 0x25, 0x0c, 0x67, 0x20,
0x9b, 0xb3, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x28, 0x09, 0x10, 0x07, 0x0b, 0x2f, 0x0e, 0x15, 0x4b, 0x15, 0x0d, 0x3b, 0x25, 0x2c, 0x21, 0x34,
0x3f, 0x1e, 0x2f, 0x0c, 0x17, 0x51, 0x12, 0x42, 0x1c, 0x2d, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x28, 0x09, 0x10, 0x07, 0x0b, 0x2f, 0x36, 0x0f,
0x4a, 0x0d, 0x1d, 0x09, 0x53, 0x07, 0x4a, 0x07, 0x33, 0x25, 0x52, 0x01, 0x18, 0x04, 0x10, 0x43,
0x54, 0x0c, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x01, 0x13, 0x09, 0x17,
0x08, 0x0a, 0x40, 0x54, 0x49, 0x16, 0x1c, 0x03, 0x73, 0x66, 0x67, 0x73, 0x16, 0x13, 0x1d, 0x02,
0x0b, 0x1f, 0x57, 0x54, 0x5d, 0x03, 0x1f, 0x16, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x63, 0x64, 0x66, 0x4b, 0x66, 0x67, 0x73, 0xf7, 0x56, 0xe8, 0x56, 0xda, 0x43, 0xa1, 0x56,
0x9e, 0x56, 0x62, 0x42, 0x70, 0x57, 0x51, 0x57, 0x5b, 0x42, 0x22, 0x57, 0x23, 0x57, 0x3d, 0x42,
0x06, 0x57, 0xab, 0x57, 0x81, 0x42, 0x60, 0x54, 0x6a, 0x54, 0x41, 0x41, 0x5d, 0x54, 0x33, 0x54,
0x29, 0x41, 0xe4, 0x54, 0xf9, 0x54, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66,
0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66,
0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73, 0x64, 0x66, 0x73, 0x66, 0x67, 0x73,
};