As Helper - Lua
As Helper - Lua
As Helper - Lua
_ ____ _ _ _
/ \ / ___| | | | | ___ | | _ __ ___ _ __
/ _ \ \___ \ | |_| | / _ \ | | | '_ \ / _ \ | '__|
/ ___ \ ___) | | _ | | __/ | | | |_) | | __/ | |
/_/ \_\ |____/ |_| |_| \___| |_| | .__/ \___| |_|
|_|
[����� imgui]
1-�� imgui ����� (��������� ��� ��� mimgui):
https://www.blast.hk/threads/25442/post-310168
2-�� imgui ����� (��������� ��� ��� mimgui):
https://www.blast.hk/threads/25442/post-262906
4-�� imgui ����� (��������� ��� ��� mimgui):
https://www.blast.hk/threads/25442/post-555626
[����������]
mimgui: https://www.blast.hk/threads/66959/
SAMP.lua: https://www.blast.hk/threads/14624/
MoonMonet: https://www.blast.hk/threads/105945/
[�����]
�������� � ����� � base85: https://www.blast.hk/threads/28761/ |
https://www.blast.hk/threads/28761/post-289682
���������� �������: https://www.blast.hk/threads/30501/
[�������]
string.separate: https://www.blast.hk/threads/13380/post-220949
imgui.BoolButton: https://www.blast.hk/threads/59761/
imgui.Hint: https://www.blast.hk/threads/13380/post-778921
imgui.AnimButton (������ ������):
https://www.blast.hk/threads/13380/post-793501
sampIsLocalPlayerSpawned: https://www.blast.hk/threads/65247/post-
899293
getTimeAfter: bank helper
]]
script_name('AS Helper')
script_description('������� �������� �� ���������.')
script_author('JustMini')
script_version('3.3')
script_dependencies('mimgui; samp events; MoonMonet')
require 'moonloader'
local dlstatus = require 'moonloader'.download_status
local inicfg = require 'inicfg'
local vkeys = require 'vkeys'
local bit = require 'bit'
local ffi = require 'ffi'
local progressbar = {
max = 0,
downloaded = 0,
downloadedvisual = 0,
downloadedclock = 0,
downloadinglibname = '',
downloadingtheme = '',
}
function DownloadFiles(table)
progressbar.max = #table
progressbar.downloadingtheme = table.theme
for k = 1, #table do
progressbar.downloadinglibname = table[k].name
downloadUrlToFile(table[k].url,table[k].file,function(id,status)
if status == dlstatus.STATUSEX_ENDDOWNLOAD then
progressbar.downloaded = k
progressbar.downloadedclock = os.clock()
if table[k+1] then
progressbar.downloadinglibname =
table[k+1].name
end
end
end)
while progressbar.downloaded ~= k do
wait(500)
end
end
progressbar.max = nil
progressbar.downloaded = 1
end
function ImSaturate(f)
return f < 0.0 and 0.0 or (f > 190.0 and 190.0 or f)
end
lua_thread.create(function()
local x = select(1,getScreenResolution()) * 0.5 - 100
local y = select(2, getScreenResolution()) - 70
while true do
if progressbar and progressbar.max ~= nil and
progressbar.downloadinglibname and progressbar.downloaded and
progressbar.downloadingtheme then
local jj = (200-10)/progressbar.max
local downloaded =
ImSaturate(progressbar.downloadedvisual * jj)
renderDrawBoxWithBorder(x, y-39, 200, 20, 0xFFFF6633,
1, 0xFF808080)
renderFontDrawText(ASHfont, 'AS Helper', x+ 5, y -
37, 0xFFFFFFFF)
renderDrawBoxWithBorder(x, y-20, 200, 70, 0xFF1C1C1C,
1, 0xFF808080)
renderFontDrawText(progressfont,
string.format('����������: %s', progressbar.downloadingtheme), x + 5, y - 15,
0xFFFFFFFF)
renderDrawBox(x + 5, y + 5, downloaded, 20,
0xFF00FF00)
renderFontDrawText(progressfont,
string.format('Progress: %s%%', math.ceil(progressbar.downloadedvisual /
progressbar.max * 100), progressbar.max), x + 100 -
renderGetFontDrawTextLength(progressfont, string.format('Progress: %s%%',
progressbar.downloaded, progressbar.max)) * 0.5, y + 7, 0xFFFFFFFF)
renderFontDrawText(downloadingfont,
string.format('Downloading: \'%s\'', progressbar.downloadinglibname), x + 5, y +
32, 0xFFFFFFFF)
end
progressbar.downloadedvisual =
bringFloatTo(progressbar.downloaded-1, progressbar.downloaded,
progressbar.downloadedclock, 0.2)
wait(0)
end
end)
if not imguicheck then -- ����� ������ ������� ����� � ������, ��� ���
�������� ������ ����� ���, ��� ���������� ���� �������� � � ���
print('{FFFF00}����������: mimgui')
createDirectory('moonloader/lib/mimgui')
DownloadFiles({theme = 'mimgui',
{url =
'https://raw.githubusercontent.com/Just-Mini/ASHelper/main/lib/mimgui/init.lua',
file = 'moonloader/lib/mimgui/init.lua', name = 'init.lua'},
{url =
'https://raw.githubusercontent.com/Just-Mini/ASHelper/main/lib/mimgui/imgui.lua',
file = 'moonloader/lib/mimgui/imgui.lua', name = 'imgui.lua'},
{url =
'https://raw.githubusercontent.com/Just-Mini/ASHelper/main/lib/mimgui/dx9.lua',
file = 'moonloader/lib/mimgui/dx9.lua', name = 'dx9.lua'},
{url =
'https://raw.githubusercontent.com/Just-Mini/ASHelper/main/lib/mimgui/
cimguidx9.dll', file = 'moonloader/lib/mimgui/cimguidx9.dll', name =
'cimguidx9.dll'},
{url =
'https://raw.githubusercontent.com/Just-Mini/ASHelper/main/lib/mimgui/cdefs.lua',
file = 'moonloader/lib/mimgui/cdefs.lua', name = 'cdefs.lua'},
})
print('{00FF00}mimgui ������� ������')
end
local print, clock, sin, cos, floor, ceil, abs, format, gsub, gmatch, find, char,
len, upper, lower, sub, u8, new, str, sizeof = print, os.clock, math.sin, math.cos,
math.floor, math.ceil, math.abs, string.format, string.gsub, string.gmatch,
string.find, string.char, string.len, string.upper, string.lower, string.sub,
encoding.UTF8, imgui.new, ffi.string, ffi.sizeof
encoding.default = 'CP1251'
imgui_pos = {
posX = 100,
posY = 300
},
my_stats = {
avto = 0,
moto = 0,
riba = 0,
lodka = 0,
guns = 0,
hunt = 0,
klad = 0,
taxi = 0,
mech = 0
},
RankNames = {
'�����',
'�����������',
'�������',
'��.����������',
'����������',
'��������',
'��. ��������',
'�������� ���������',
'��������',
'����������',
},
Checker = {
state = true,
delay = 10,
afk_max_l = 300,
afk_max_h = 600,
posX = 200,
posY = 400,
col_title = 0xFFFF6633,
col_default = 0xFFFFFFFF,
col_no_work = 0xFFAA3333,
col_afk_max = 0xFFFF0000,
col_note = 0xFF909090,
font_name = 'Arial',
font_size = 9,
font_flag = 5,
font_offset = 14,
font_alpha = 255,
show_id = true,
show_rank = true,
show_afk = true,
show_warn = false,
show_quests = false,
show_mute = false,
show_uniform = true,
show_near = false,
sobes_settings = {
pass = true,
medcard = true,
wbook = false,
licenses = false,
},
BindsName = {},
BindsDelay = {},
BindsType = {},
BindsAction = {},
BindsCmd = {},
BindsKeys = {}
}, 'AS Helper')
-- icon fonts
local fa = {
['ICON_FA_FILE_ALT'] = '\xee\x80\x80',
['ICON_FA_PALETTE'] = '\xee\x80\x81',
['ICON_FA_TIMES'] = '\xee\x80\x82',
['ICON_FA_QUESTION_CIRCLE'] = '\xee\x80\x83',
['ICON_FA_BOOK_OPEN'] = '\xee\x80\x84',
['ICON_FA_INFO_CIRCLE'] = '\xee\x80\x85',
['ICON_FA_SEARCH'] = '\xee\x80\x86',
['ICON_FA_ALIGN_LEFT'] = '\xee\x80\x87',
['ICON_FA_ALIGN_CENTER'] = '\xee\x80\x88',
['ICON_FA_ALIGN_RIGHT'] = '\xee\x80\x89',
['ICON_FA_TRASH'] = '\xee\x80\x8a',
['ICON_FA_REDO_ALT'] = '\xee\x80\x8b',
['ICON_FA_HAND_PAPER'] = '\xee\x80\x8c',
['ICON_FA_FILE_SIGNATURE'] = '\xee\x80\x8d',
['ICON_FA_REPLY'] = '\xee\x80\x8e',
['ICON_FA_USER_PLUS'] = '\xee\x80\x8f',
['ICON_FA_USER_MINUS'] = '\xee\x80\x90',
['ICON_FA_EXCHANGE_ALT'] = '\xee\x80\x91',
['ICON_FA_USER_SLASH'] = '\xee\x80\x92',
['ICON_FA_USER'] = '\xee\x80\x93',
['ICON_FA_FROWN'] = '\xee\x80\x94',
['ICON_FA_SMILE'] = '\xee\x80\x95',
['ICON_FA_VOLUME_MUTE'] = '\xee\x80\x96',
['ICON_FA_VOLUME_UP'] = '\xee\x80\x97',
['ICON_FA_STAMP'] = '\xee\x80\x98',
['ICON_FA_ELLIPSIS_V'] = '\xee\x80\x99',
['ICON_FA_ARROW_UP'] = '\xee\x80\x9a',
['ICON_FA_ARROW_DOWN'] = '\xee\x80\x9b',
['ICON_FA_ARROW_RIGHT'] = '\xee\x80\x9c',
['ICON_FA_CODE'] = '\xee\x80\x9d',
['ICON_FA_ARROW_ALT_CIRCLE_DOWN'] = '\xee\x80\x9e',
['ICON_FA_LINK'] = '\xee\x80\x9f',
['ICON_FA_CAR'] = '\xee\x80\xa0',
['ICON_FA_MOTORCYCLE'] = '\xee\x80\xa1',
['ICON_FA_FISH'] = '\xee\x80\xa2',
['ICON_FA_SHIP'] = '\xee\x80\xa3',
['ICON_FA_CROSSHAIRS'] = '\xee\x80\xa4',
['ICON_FA_SKULL_CROSSBONES'] = '\xee\x80\xa5',
['ICON_FA_DIGGING'] = '\xee\x80\xa6',
['ICON_FA_PLUS_CIRCLE'] = '\xee\x80\xa7',
['ICON_FA_PAUSE'] = '\xee\x80\xa8',
['ICON_FA_PEN'] = '\xee\x80\xa9',
['ICON_FA_MINUS_SQUARE'] = '\xee\x80\xaa',
['ICON_FA_CLOCK'] = '\xee\x80\xab',
['ICON_FA_COG'] = '\xee\x80\xac',
['ICON_FA_TAXI'] = '\xee\x80\xad',
['ICON_FA_FOLDER'] = '\xee\x80\xae',
['ICON_FA_CHEVRON_LEFT'] = '\xee\x80\xaf',
['ICON_FA_CHEVRON_RIGHT'] = '\xee\x80\xb0',
['ICON_FA_CHECK_CIRCLE'] = '\xee\x80\xb1',
['ICON_FA_EXCLAMATION_CIRCLE'] = '\xee\x80\xb2',
['ICON_FA_AT'] = '\xee\x80\xb3',
['ICON_FA_HEADING'] = '\xee\x80\xb4',
['ICON_FA_WINDOW_RESTORE'] = '\xee\x80\xb5',
['ICON_FA_TOOLS'] = '\xee\x80\xb6',
['ICON_FA_GEM'] = '\xee\x80\xb7',
['ICON_FA_ARROWS_ALT'] = '\xee\x80\xb8',
['ICON_FA_QUOTE_RIGHT'] = '\xee\x80\xb9',
['ICON_FA_CHECK'] = '\xee\x80\xba',
['ICON_FA_LIGHT_COG'] = '\xee\x80\xbb',
['ICON_FA_LIGHT_INFO_CIRCLE'] = '\xee\x80\xbc',
['ICON_FA_DESKTOP'] = '\xee\x80\xbd',
['ICON_FA_TIMES_CIRCLE'] = '\xee\x80\xbe',
['ICON_FA_CAR_WRENCH'] = '\xee\x80\xbf',
}
setmetatable(fa, {
__call = function(t, v)
if (type(v) == 'string') then
return t['ICON_' .. upper(v)] or '?'
elseif (type(v) == 'number' and v >= fa.min_range and v <=
fa.max_range) then
local t, h = {}, 128
while v >= h do
t[#t + 1] = 128 + v % 64
v = floor(v / 64)
h = h > 32 and 32 or h * 0.5
end
t[#t + 1] = 256 - 2 * h + v
return char(unpack(t)):reverse()
end
return '?'
end,
__index = function(t, i)
if type(i) == 'string' then
if i == 'min_range' then
return 0xe000
elseif i == 'max_range' then
return 0xe03f
end
end
return t[i]
end
})
-- icon fonts
function imgui.ColorConvertFloat4ToARGB(float4)
local abgr = imgui.ColorConvertFloat4ToU32(float4)
local a, b, g, r = explode_U32(abgr)
return join_argb(a, r, g, b)
end
function explode_U32(u32)
local a = bit.band(bit.rshift(u32, 24), 0xFF)
local r = bit.band(bit.rshift(u32, 16), 0xFF)
local g = bit.band(bit.rshift(u32, 8), 0xFF)
local b = bit.band(u32, 0xFF)
return a, r, g, b
end
function join_argb(a, r, g, b)
local argb = b
argb = bit.bor(argb, bit.lshift(g, 8))
argb = bit.bor(argb, bit.lshift(r, 16))
argb = bit.bor(argb, bit.lshift(a, 24))
return argb
end
function explode_argb(argb)
local a = bit.band(bit.rshift(argb, 24), 0xFF)
local r = bit.band(bit.rshift(argb, 16), 0xFF)
local g = bit.band(bit.rshift(argb, 8), 0xFF)
local b = bit.band(argb, 0xFF)
return a, r, g, b
end
function ARGBtoStringRGB(abgr)
local a, r, g, b = explode_U32(abgr)
local argb = join_argb(a, r, g, b)
local color = ('%x'):format(bit.band(argb, 0xFFFFFF))
return ('{%s%s}'):format(('0'):rep(6 - #color), color)
end
function ColorAccentsAdapter(color)
local function ARGBtoRGB(color)
return bit.band(color, 0xFFFFFF)
end
local a, r, g, b = explode_argb(color)
local ret = {a = a, r = r, g = g, b = b}
function ret:apply_alpha(alpha)
self.a = alpha
return self
end
function ret:as_u32()
return join_argb(self.a, self.b, self.g, self.r)
end
function ret:as_vec4()
return imgui.ImVec4(self.r / 255, self.g / 255, self.b / 255, self.a /
255)
end
function ret:as_argb()
return join_argb(self.a, self.r, self.g, self.b)
end
function ret:as_rgba()
return join_argb(self.r, self.g, self.b, self.a)
end
function ret:as_chat()
return format('%06X', ARGBtoRGB(join_argb(self.a, self.r, self.g,
self.b)))
end
return ret
end
local lections = {}
local questions = {}
local serverquestions = {}
local ruless = {}
local zametki = {}
local dephistory = {}
local updateinfo = {}
local LastActiveTime = {}
local LastActive = {}
local windows = {
imgui_settings = new.bool(),
imgui_fm = new.bool(),
imgui_binder = new.bool(),
imgui_lect = new.bool(),
imgui_depart = new.bool(),
imgui_changelog =
new.bool(configuration.main_settings.changelog),
imgui_zametka = new.bool(false),
}
local bindersettings = {
binderbuff = new.char[4096](),
bindername = new.char[40](),
binderdelay = new.char[7](),
bindertype = new.int(0),
bindercmd = new.char[15](),
binderbtn = '',
}
local chatcolors = {
RChatColor =
vec4ToFloat4(imgui.ColorConvertU32ToFloat4(configuration.main_settings.RChatColor))
,
DChatColor =
vec4ToFloat4(imgui.ColorConvertU32ToFloat4(configuration.main_settings.DChatColor))
,
ASChatColor =
vec4ToFloat4(imgui.ColorConvertU32ToFloat4(configuration.main_settings.ASChatColor)
),
}
local usersettings = {
createmarker =
new.bool(configuration.main_settings.createmarker),
dorponcmd =
new.bool(configuration.main_settings.dorponcmd),
replacechat =
new.bool(configuration.main_settings.replacechat),
replaceash =
new.bool(configuration.main_settings.replaceash),
dofastscreen =
new.bool(configuration.main_settings.dofastscreen),
dofastexpel =
new.bool(configuration.main_settings.dofastexpel),
playdubinka =
new.bool(configuration.main_settings.playdubinka),
statsvisible =
new.bool(configuration.main_settings.statsvisible),
checkmcongun =
new.bool(configuration.main_settings.checkmcongun),
checkmconhunt =
new.bool(configuration.main_settings.checkmconhunt),
bodyrank =
new.bool(configuration.main_settings.bodyrank),
chatrank =
new.bool(configuration.main_settings.chatrank),
autodoor =
new.bool(configuration.main_settings.autodoor),
playcd = new.float[1]
(configuration.main_settings.playcd / 1000),
myname = new.char[256]
(configuration.main_settings.myname),
myaccent = new.char[256]
(configuration.main_settings.myaccent),
gender =
new.int(configuration.main_settings.gender),
fmtype =
new.int(configuration.main_settings.fmtype),
fmstyle =
new.int(configuration.main_settings.fmstyle or 1),
expelreason = new.char[256]
(u8(configuration.main_settings.expelreason)),
usefastmenucmd = new.char[256]
(u8(configuration.main_settings.usefastmenucmd)),
moonmonetcolorselect =
vec4ToFloat4(ColorAccentsAdapter(configuration.main_settings.monetstyle):as_vec4())
,
}
local pricelist = {
avtoprice = new.char[7]
(tostring(configuration.main_settings.avtoprice)),
motoprice = new.char[7]
(tostring(configuration.main_settings.motoprice)),
ribaprice = new.char[7]
(tostring(configuration.main_settings.ribaprice)),
lodkaprice = new.char[7]
(tostring(configuration.main_settings.lodkaprice)),
gunaprice = new.char[7]
(tostring(configuration.main_settings.gunaprice)),
huntprice = new.char[7]
(tostring(configuration.main_settings.huntprice)),
kladprice = new.char[7]
(tostring(configuration.main_settings.kladprice)),
taxiprice = new.char[7]
(tostring(configuration.main_settings.taxiprice)),
mechprice = new.char[7]
(tostring(configuration.main_settings.mechprice))
}
local tHotKeyData = {
edit = nil,
save = {},
lasted = clock(),
}
local lectionsettings = {
lection_type =
new.int(configuration.main_settings.lection_type),
lection_delay =
new.int(configuration.main_settings.lection_delay),
lection_name = new.char[256](),
lection_text = new.char[65536](),
}
local zametkisettings = {
zametkaname = new.char[256](),
zametkatext = new.char[4096](),
zametkacmd = new.char[256](),
zametkabtn = '',
}
local departsettings = {
myorgname = new.char[50]
(u8(configuration.main_settings.astag)),
toorgname = new.char[50](),
frequency = new.char[7](),
myorgtext = new.char[256](),
}
local questionsettings = {
questionname = new.char[256](),
questionhint = new.char[256](),
questionques = new.char[256](),
}
local sobes_settings = {
pass =
new.bool(configuration.sobes_settings.pass),
medcard =
new.bool(configuration.sobes_settings.medcard),
wbook =
new.bool(configuration.sobes_settings.wbook),
licenses =
new.bool(configuration.sobes_settings.licenses),
}
local tagbuttons = {
{name = '{my_id}',text = '����� ��� ID.',hint = '/n /showpass {my_id}\n((
/showpass \'��� ID\' ))'},
{name = '{my_name}',text = '����� ��� ��� �� ��������.',hint = '������������,
� {my_name}\n- ������������, � ���� ��.'},
{name = '{my_rank}',text = '����� ��� ���� �� ��������.',hint = format('/do
�� ����� ������� {my_rank}\n�� ����� ������� %s',
configuration.RankNames[configuration.main_settings.myrankint])},
{name = '{my_score}',text = '����� ��� �������.',hint = '� ������� � �����
��� {my_score} ���!\n- � ������� � ����� ��� \'��� �������\' ���!'},
{name = '{H}',text = '����� ��������� ���� � ����.',hint = '����� ���������
������ ��� �� � {H} \n- ����� ��������� ������ ��� �� � ��'},
{name = '{HM}',text = '����� ��������� ���� � ����:������.',hint = '������ �
{HM} ����� �������!\n- ������ � ��:�� ����� �������!'},
{name = '{HMS}',text = '����� ��������� ���� � ����:������:�������.',hint =
'� ��� �� ����� {HMS}\n- � ��� �� ����� \'��:��:��\''},
{name = '{gender:�����1|�����2}',text = '����� ��������� � ����������� ��
������ ����.',hint = '� ����� {gender:���|����} � �����\n- ���� ������� ���: ��� �
�����\n- ���� ������� ���: ���� � �����'},
{name = '@{ID}',text = '����� �� ������ �� ID.',hint = '�� �� ����� ���
������ @{43}?\n- �� �� ����� ��� ������ \'�� 43 ���\''},
{name = '{close_id}',text = '����� ID ���������� � ��� ������',hint = '�, �
��� � @{{close_id}}?\n�, � ��� � \'�� ���������� ���\''},
{name = '{delay_*}',text = '�������� �������� ����� ����������',hint =
'������ ����, � ��������� ��������� �. ���-������, ��� ���� ��� ������?\
n{delay_2000}\n/do �� ����� ����� ������� � ������� ������� ���������.\n\
n[10:54:29] ������ ����, � ��������� ��������� �. ���-������, ��� ���� ��� ������?\
n[10:54:31] �� ����� ����� ������� � ������� ������� ���������.'},
}
local buttons = {
{name='���������',text='������������, ���\n�������,
����',icon=fa.ICON_FA_LIGHT_COG,y_hovered=10,timer=0},
{name='�������������',text='�������, �������,\n���������,
�����',icon=fa.ICON_FA_FOLDER,y_hovered=10,timer=0},
{name='���������',text='���������, �����,\n�
�������',icon=fa.ICON_FA_LIGHT_INFO_CIRCLE,y_hovered=10,timer=0},
}
local fmbuttons = {
{name = u8'������� � ��������', rank = 1},
{name = u8'�������������', rank = 5},
{name = u8'�������� ������', rank = 5},
{name = u8'��������� �������', rank = 9},
}
local settingsbuttons = {
fa.ICON_FA_USER..u8(' ������������'),
fa.ICON_FA_PALETTE..u8(' ��� �������'),
fa.ICON_FA_FILE_ALT..u8(' ����'),
}
local additionalbuttons = {
fa.ICON_FA_BOOK_OPEN..u8(' �������'),
fa.ICON_FA_QUOTE_RIGHT..u8(' �������'),
fa.ICON_FA_HEADING..u8(' ���������'),
fa.ICON_FA_DESKTOP..u8(' �����'),
}
local infobuttons = {
fa.ICON_FA_ARROW_ALT_CIRCLE_DOWN..u8(' ���������'),
fa.ICON_FA_AT..u8(' �����'),
fa.ICON_FA_CODE..u8(' � �������'),
}
local checker_variables = {
blocked = false,
state = imgui.new.bool(configuration.Checker.state),
delay = imgui.new.int(configuration.Checker.delay),
note_input = imgui.new.char[256](),
font_input = imgui.new.char[256](u8(configuration.Checker.font_name)),
font_size = imgui.new.int(configuration.Checker.font_size),
font_flag = imgui.new.int(configuration.Checker.font_flag),
font_offset = imgui.new.int(configuration.Checker.font_offset),
font_alpha = imgui.new.int(configuration.Checker.font_alpha / 2.55),
afk_max_l = imgui.new.int(configuration.Checker.afk_max_l),
afk_max_h = imgui.new.int(configuration.Checker.afk_max_h),
show = {
id = imgui.new.bool(configuration.Checker.show_id),
rank = imgui.new.bool(configuration.Checker.show_rank),
afk = imgui.new.bool(configuration.Checker.show_afk),
warn = imgui.new.bool(configuration.Checker.show_warn),
quests = imgui.new.bool(configuration.Checker.show_quests),
mute = imgui.new.bool(configuration.Checker.show_mute),
uniform = imgui.new.bool(configuration.Checker.show_uniform),
near = imgui.new.bool(configuration.Checker.show_near),
},
col = {
title =
vec4ToFloat4(imgui.ColorConvertU32ToFloat4(configuration.Checker.col_title), 2),
default =
vec4ToFloat4(imgui.ColorConvertU32ToFloat4(configuration.Checker.col_default), 2),
no_work =
vec4ToFloat4(imgui.ColorConvertU32ToFloat4(configuration.Checker.col_no_work), 2),
afk_max =
vec4ToFloat4(imgui.ColorConvertU32ToFloat4(configuration.Checker.col_afk_max), 2),
note =
vec4ToFloat4(imgui.ColorConvertU32ToFloat4(configuration.Checker.col_note), 2),
},
await = {
members = false,
next_page = {
bool = false,
i = 0
}
},
temp_player_data = nil,
last_check = 0,
dontShowMeMembers = false,
lastDialogWasActive = clock(),
font = renderCreateFont(configuration.Checker.font_name,
configuration.Checker.font_size, configuration.Checker.font_flag)
}
local ash_image
local rainbowcircle
local font = {}
imgui.OnInitialize(function()
-- >> BASE85 DATA <<
local circle_data = '\x89\x50\x4E\x47\x0D\x0A\x1A\x0A\x00\x00\x00\x0D\
x49\x48\x44\x52\x00\x00\x00\x30\x00\x00\x00\x30\x08\x06\x00\x00\x00\x57\x02\xF9\
x87\x00\x00\x00\x06\x62\x4B\x47\x44\x00\xFF\x00\xFF\x00\xFF\xA0\xBD\xA7\x93\x00\
x00\x09\xC8\x49\x44\x41\x54\x68\x81\xED\x99\x4B\x6C\x5C\xE7\x75\xC7\x7F\xE7\x7C\
x77\x5E\xE4\x50\x24\x25\xCA\x7A\x90\xB4\x4D\xD3\x92\x9C\xBA\x8E\x8B\x48\xB2\xA4\
xB4\x40\xEC\x04\x79\xD4\x81\xD1\x64\x93\x3E\x9C\x45\xBC\x71\x1D\xD7\x06\x8A\xAE\
x5A\x20\x0B\x25\x6D\x36\x45\xBB\x69\xA5\xB4\x46\x90\x02\x2E\xEC\x3E\x50\x20\xC9\
xA6\x8B\x3A\x80\xA3\x45\x92\x56\xAA\x92\x58\x71\x6D\x90\x52\x6C\xD9\xA2\x45\x51\
xA2\x24\x4A\x7C\x0D\xE7\xF1\x9D\xD3\xC5\xCC\x90\x33\x73\x47\x7C\xA4\x41\xBB\xA8\
x0E\xF0\xE1\xBB\x73\xEE\xBD\xDF\xFD\xFD\xBF\x73\xBE\xC7\xBD\x03\x77\xED\xAE\xFD\
xFF\x36\xF9\x65\x34\xE2\x1C\xD7\x89\x47\x26\x8F\x54\xA9\x7D\xCC\x6B\x7E\x38\xE2\
xFB\xDC\x6C\xC4\xCC\xB6\xED\x1B\x75\x73\xF3\x45\xDC\xA7\xCD\x6D\x52\x22\x67\x1D\
xFF\xFE\xF6\x1F\x1E\x39\x23\x1C\xB7\xFF\x53\x01\x17\x8E\x3C\x3D\xE2\x15\x79\xC1\
x2C\x3E\x6D\xEE\x23\xD1\x0C\x33\xC3\xDC\x30\x73\xCC\x8C\x07\x87\x0D\xDC\x71\x37\
x30\xC7\xAD\x59\xFB\x07\xE6\xF1\x95\xA0\x76\x72\xC7\xE9\x53\x1F\xFC\xAF\x0A\x98\
x3E\xF8\xEC\x50\x49\x2A\x7F\xE6\x1E\x9F\x31\xB3\x6C\x1D\xDA\xE9\x2A\x60\x6F\xEC\
x02\x6F\xAB\x3E\x33\xAB\xA8\xD9\xDF\x95\xCB\xE5\xAF\x8C\x4C\x9C\xB9\xB1\x55\x16\
xDD\xEA\x0D\x97\x8E\x3D\xF3\xBB\x95\x50\x9D\x14\xFC\xF7\x81\xEC\x46\xD7\xAF\x07\
xEF\x66\x88\x59\xD6\xCC\x9F\xCB\x84\x64\x72\xE6\x43\x47\x7E\x67\xAB\x3C\x9B\x8E\
x80\x1F\x7C\x36\x73\x39\x6B\x27\xCC\xED\xD9\x66\xEF\xD6\x7B\xBA\xD9\xEB\xDD\x23\
x30\xBE\xAB\x72\x47\x78\xCC\x70\xF3\x46\x6D\xB8\x3B\x78\xFC\xDB\xDD\x7B\x8A\x2F\
xCA\xA9\x53\xB5\xCD\x70\x6D\x2A\x02\xDF\x7F\xF8\x64\xF1\x52\x2E\xF9\x37\xE0\xD9\
xCD\x0A\x5E\x15\xBE\x15\x78\x33\x3C\xF2\xDC\x95\x4B\xF3\xDF\xBD\xF6\xFC\xCE\xE2\
x66\xDA\xDF\x30\x02\x2F\x1D\x3C\x9B\x59\x9C\xBB\xFD\xDD\x87\x7A\xDF\x7E\xF2\xD1\
xE2\xB9\xB6\xDE\x6D\x8F\x00\x50\xC8\xA2\xFD\x45\xA4\x58\x80\x44\x21\x97\xB0\x77\
xD0\xF0\x95\x32\x56\x2E\x63\xB7\xE7\x89\xD7\x6F\xE2\x0B\x0B\xDD\xE1\x1B\xBE\xFC\
x93\xD3\xE4\x3F\x31\x7B\xAA\x30\x10\x3F\x29\x4F\xB0\x6E\x24\x92\x8D\x04\x54\x16\
x4A\x27\x42\x08\x4F\x4E\x2C\xFD\x0A\xE6\xCE\xA3\xC5\x37\x52\x7D\x90\x0C\xF6\x91\
x1D\xDE\x05\x85\xEC\x5A\x1A\x35\x04\xA2\x02\xF9\x2C\x9A\xCD\x20\xBD\x3D\xE8\xEE\
x7B\xF0\xE5\x12\xB5\xF7\xA6\x88\xB3\xD7\xD3\xF0\xBF\x39\x4D\xCF\x93\x33\x00\x8F\
x97\x97\x39\x01\x3C\xB7\x1E\xDF\xBA\x11\x78\xE9\x91\xD3\xBF\x57\x8B\xF1\xD5\x18\
x23\x66\x91\x18\x23\xFB\x0A\xFF\xC5\x87\x7B\xDF\xC0\xCC\x20\x9B\x90\x1F\x1F\x81\
x9E\x5C\x3D\x2A\x6E\x29\x01\x7B\x06\x6B\x6B\x29\x64\x8D\x29\xB5\x91\x42\x36\xBF\
x40\x75\xE2\xE7\x58\x69\xA5\x0E\xFF\x99\x69\x0A\x75\xF8\x56\xC2\xA7\x0B\x9F\xE5\
x1F\xB6\x2C\xE0\xE5\xC7\x4E\xEF\x58\x59\x96\x09\xC7\x87\x62\x03\x7E\x55\x44\xFE\
x4D\x7E\x6D\xD7\x24\xF9\x7D\xA3\x78\xD0\x06\xF4\x1D\x04\xF4\x57\xBB\xC2\x37\x7B\
xDC\x2A\x15\xAA\x13\x17\xC8\x1E\x9D\xA4\xF0\x99\x99\x34\x88\x70\xB3\x26\x1C\xD8\
xF6\x14\xD7\xBB\x71\xDE\x71\x10\x57\xAB\xC9\xD7\x35\xE8\x90\x88\x10\x34\x10\x42\
x40\x1B\xF5\x54\xF6\x23\xCC\xDC\xFB\x38\x92\xD9\x30\x03\xD7\x85\x77\x33\x44\x95\
xE2\x33\x03\xF4\x3C\xB5\x02\x46\xBA\x44\xB6\x67\x6A\x7C\xED\x4E\xED\x77\x8D\xC0\
x37\x3F\x7C\x6E\x24\x04\x7B\xC7\xDC\xB2\xEE\xF5\x01\xEB\xEE\x44\x8B\x48\x02\xF7\
x3C\x5C\xC4\x83\x31\x9A\x79\x87\xB1\xFC\x85\x75\x23\xB0\xAB\xB7\x74\x47\x78\xCC\
xC8\x1E\xBE\x4E\xF6\xE8\x4D\xDC\xAA\xC4\xAB\x3F\x81\x58\xEA\xDA\x9F\x92\x30\xDE\
xF3\x39\xA6\x3A\x4F\x74\xED\xC2\x24\xE3\x2F\xE0\x92\x55\x14\xC3\x50\x55\xCC\x8C\
xA0\x81\xA1\x87\x7A\xC9\xE4\x95\x18\x23\x53\xD5\x71\xDC\x9D\xFB\x72\xE7\x57\xEF\
xD5\x42\x8E\xEC\xD0\x20\x5A\xEC\xC1\x73\x09\xB9\xDE\x88\x95\x56\xB0\xB9\x39\x6A\
x33\xD7\x60\x71\x69\x0D\xFE\xD0\x75\xB2\x8F\xDD\x04\x03\x21\x43\x18\xFC\x10\xF1\
xDA\x4F\xBA\x21\x65\xA8\xF0\x3C\xF0\x27\x1B\x46\xE0\x38\xAE\xF7\x1F\xFC\xD9\xFB\
xC0\x88\xBB\xE3\x5E\xEF\x59\x77\x27\x37\x98\xB0\x63\xBC\xA7\x3E\x7D\xBA\x11\x63\
x24\x5A\x64\x6F\xF8\x39\xF7\xE7\xCF\x93\xBD\x77\x17\x61\x68\x70\x35\x0A\xD1\x8C\
xC1\xDE\xB8\xD6\xFB\x31\x52\x9B\xBE\x4A\xED\xE2\xFB\x64\x3E\x72\x8D\xEC\xE1\x9B\
x29\x52\xBB\xF1\x16\xB6\x32\xDB\x4D\xC4\x54\xEF\x04\xF7\xCB\x71\xDA\x36\x80\xA9\
x08\x8C\x3D\xF6\xE6\x11\x4C\x46\xDC\x1D\x91\xBA\xBE\x66\x24\xB6\x8F\xF6\x20\x2A\
xA8\x35\x86\x4E\xA8\x57\x57\xFC\x41\xB6\x8F\xDD\xC3\xDE\xA1\x39\x62\x8C\x6D\xED\
xAD\xA5\x4E\xBD\x13\x74\xD7\x10\x85\x47\x97\x91\x9D\x93\x78\xB7\xBD\x68\xDF\x18\
x2C\x75\x15\x30\x5A\xDA\xC7\x21\xE0\x4C\xAB\x33\x3D\x88\xCD\x9F\x00\x56\xE1\x45\
x04\x11\x21\x57\xCC\x90\x14\x02\x2A\x5A\x17\x21\x8A\x8A\x12\x42\x60\x68\x6C\x1B\
x8B\x7D\x63\x5C\xAD\xEE\x49\x3F\xB6\x09\xDF\x28\xC9\x03\xF3\x64\x1E\x09\x84\xBE\
x07\x21\x92\x2A\x22\x3D\x78\xE8\xC3\x8D\x54\xA9\x19\x1F\xEB\x6C\x3E\x2D\xC0\xF5\
x50\xF3\xB0\x55\x44\x61\x7B\x06\x9A\x11\x69\x11\x91\xEB\xC9\xD0\xBF\xBB\x80\xAA\
x72\xDB\xF6\x30\x5B\xDB\xDB\xDE\x5C\x2B\xFC\xD8\x3C\xC9\xD8\x42\x3D\xE7\xF3\xC3\
x10\x8A\x5D\x41\x25\xB7\xA3\xAB\x1F\xE3\xB1\x8D\x05\x88\xEF\x6F\x1D\x1A\x4D\x11\
xB9\x62\x68\x3A\xDA\x44\x14\x77\xE5\xD6\x22\xA2\xCA\x3C\xC3\xDC\x88\xC3\x29\x01\
xE1\xBE\x79\xC2\x7D\x0B\x78\xA4\x5E\x0C\x24\xBF\xBB\x7B\x14\xC2\x40\x57\x3F\x91\
x7D\x9D\xB8\xA9\x31\x20\x22\x7B\xDC\xA1\x2E\xC2\x57\x45\x68\x56\xD7\x3C\x22\xE0\
x8E\x8A\x52\x18\xC8\x00\x82\x48\x7D\xAC\xA0\xB0\x60\x23\xB8\x3B\xFD\x5C\xAA\xC3\
xDF\x3B\x4F\xB8\xB7\x0E\xDF\xFE\xF4\xED\x5D\xC7\x81\x4B\xB6\xFB\xF8\x80\xE1\x4E\
x47\x4A\x80\x09\xFD\x0A\xA4\x44\xE4\x02\xE0\x29\x11\x92\xD3\xC6\x61\xBB\x88\x45\
x1B\xC5\x3D\x32\x30\x7A\x86\x30\x5A\x4F\x9B\xB4\xE5\xD2\xA2\x1A\xFE\xEE\xD7\xD3\
xB7\xA1\x80\x17\x46\x66\x22\xAB\xF3\xCB\x9A\x7D\x74\xA8\x42\xE8\xB2\x6E\xFF\x7A\
xBF\x74\xF5\x03\xD0\x3F\xCE\x6F\x3C\xF0\x2E\xC7\x0A\x09\x1A\x72\x48\xC8\x81\x34\
x9B\x16\x70\x23\xB7\xA3\x65\xE1\x6A\xA4\x27\x6E\x30\x5E\xE8\x98\xE4\x05\xDC\x03\
xBC\xB6\xBE\x00\x11\x16\x81\xED\x9D\xFE\x9A\x19\x99\x24\xA5\x8B\x4A\x34\x7A\xBB\
xF8\xBD\x2F\x8F\x0C\xE4\xF9\x69\x65\x27\x88\x70\x2C\x3F\x87\x42\x8B\x08\x07\x2B\
x77\xDC\xE4\x0D\x11\xD5\xC6\x6F\x5A\x44\x38\x88\xDC\xEA\x7C\x4E\x4A\x80\xAA\x4E\
xE3\x9E\x16\x10\x1D\xD5\xF4\xCE\x63\x71\x39\xD2\xDF\x93\x69\xF3\xC5\x62\x16\xB6\
xE5\x91\xC6\xF5\x6F\x54\xEF\x41\x44\x38\x9A\xBB\xD9\x2E\xA2\x36\x87\x7B\x0D\x91\
x16\x0C\x77\xB0\xEA\x1A\x7D\xBB\x88\x2B\x29\xDE\x4E\x47\x40\xCE\xAB\xD6\x67\x94\
xD6\x32\x5F\xB2\x94\x4F\x55\xB9\x32\x57\x21\xA8\x92\x84\x40\x12\x02\xBE\x2D\x8F\
x37\xE0\x5B\x05\x9F\x8B\xBB\x38\x5D\xD9\x81\xC5\x32\x1E\xCB\xE0\x35\xAC\x7C\x19\
x62\x05\xF7\x8E\x77\x96\xB8\xD0\x04\x6E\xAB\x40\x26\x36\x14\x20\x2A\xFF\xA9\x8D\
x87\xB7\x96\x5B\x8B\x35\x92\xA0\xA9\x52\xA9\x39\x57\x6F\x57\xC9\x24\x81\x58\xCC\
x11\x8B\xD9\x55\xF8\xCE\x88\x9D\xB3\xDD\x9C\xA9\x0D\x61\xB1\x4C\x5C\x7A\x17\xAF\
xCE\xE1\x56\x4E\x89\xF0\x6A\xEB\x16\xA3\x45\x84\xF3\xE3\x4E\xDE\x54\x0A\x25\x09\
xA7\xDC\xD3\xA3\x72\xB9\x62\x94\xAB\x4E\x4F\x3E\x9D\xEF\x17\x67\x4A\xE4\x76\x16\
x28\xF4\x26\x6D\xF0\xD2\x65\x70\x9F\xF3\x3D\xD4\x56\x16\x38\x5A\x7A\x0B\xD1\xB5\
xD4\x13\xC0\x03\x88\x95\xF1\xDA\x6D\xD0\x2C\xA2\x4D\xBC\x46\x1E\x99\xBC\xDE\xD9\
x5E\xEA\x11\x57\x5F\x7D\xFC\x74\x08\xFA\x7E\x08\x4A\x5B\x51\x65\x6A\xB6\xBC\x9A\
x2A\xAD\xA5\x32\x98\xE7\xEC\x92\x33\xB3\x54\x5B\x15\x20\x4A\x2A\x02\xEE\x30\xB3\
x7C\x8B\x97\x6F\x28\xDF\xAE\x8C\xE3\x56\xC1\x63\xB9\x5E\x37\x22\x61\xCB\xE7\xC1\
x9A\xBE\xD6\xD4\xF2\x4B\x3C\x7C\x74\xE3\x08\x80\x78\x08\x3F\xF8\x47\x90\x3F\xEE\
x3C\x73\x63\xA9\xCA\x72\xD9\xD8\xD6\xB3\x76\xDB\x72\x5F\x96\x72\x7F\x16\x05\xDE\
xB9\x55\xE5\x5A\xC9\xD8\xB3\x2D\xC3\xF6\xDE\x40\x4F\x10\xDC\x8D\x4A\xAD\xCA\xFC\
xCA\x0A\xD7\xCB\xF3\xAC\x78\x0D\x51\xE5\x35\xDB\x8F\x54\x85\xCF\x67\x2E\xAC\x21\
xC6\xDB\xF8\xCA\x65\x44\xB3\x2D\x2B\x10\xF5\x48\x08\xAF\x88\xA4\x3F\x45\x76\x7F\
xA5\x32\x3D\x91\x64\xE4\x8F\xE8\xF2\xE1\x6A\xE2\x83\x25\x0E\xEF\x1F\x20\x9B\x28\
x0B\xBD\x09\xA5\xBE\x0C\x2A\x6B\x3D\xBE\x1C\x9D\x8B\xB7\xAB\xBC\xB7\x50\x43\x14\
xB2\x99\x0B\x48\x50\x44\xEB\x45\x5B\x16\x8D\xD7\xFC\x00\x44\xE1\xF3\x9C\xAF\x8F\
x81\xA5\x73\x2D\xD8\xAD\xCB\x28\x65\xC9\xC8\x37\xBA\xA1\x76\x5D\x82\x3E\xF8\xFB\
x8F\x5E\x4E\x82\x7E\x2B\x95\x46\x41\xA9\x46\xE7\xED\xA9\x45\x16\x7A\x12\x96\x3A\
xE0\xD7\xD2\xA7\x7B\x0A\x75\xB3\xEF\xF1\x10\xDF\x89\xE3\xD8\xFC\x8F\xB1\xEA\x7C\
x4B\x4A\x55\xF0\x58\x69\xA6\xD3\x37\xE5\xC0\xEB\x97\x37\x2D\x00\x20\x17\xE3\x57\
x92\x10\xAE\x77\xCB\xF9\x2B\xF9\x2C\x3F\x2A\x19\x35\x63\x5D\xF8\xE6\x46\x70\x3D\
xAB\x79\xE4\xAF\x6E\x0D\x70\xA2\xB4\xBF\x05\xBC\x4D\xC4\x0D\xAD\xAC\x7C\xF5\x4E\
xF7\xA7\xA7\x94\x86\xCD\xFE\xF4\x5B\xA5\xDD\xC7\x9E\xBB\x18\x54\xBE\x10\x54\x68\
x96\xC5\xC1\x3C\x0B\x83\x79\xAA\x06\x37\xCB\x91\xFE\x42\x20\x9F\xD1\xAE\xF0\xAA\
x82\x70\xAE\xEE\x6F\xBC\x57\xB4\x1E\x2F\xD6\xCA\x4C\xDC\xBA\xCC\x72\xAC\xF0\xA6\
x0C\x53\x71\xE5\xB0\x5C\x5A\x83\x10\x41\xC4\xBF\x14\x0E\xBD\x79\x76\xCB\x02\x00\
x66\xCF\xBC\xF4\xF6\x9E\x63\xCF\xEF\x0E\xAA\x87\x54\x95\x5B\xFD\x39\x6E\x0F\xE4\
x56\x67\x99\x88\x70\x6D\xD9\x28\x45\x28\xE6\x94\x6C\x46\xDA\xE1\x15\xF0\xB4\x80\
x95\x58\xE1\xBD\x85\x6B\x5C\x5A\xBA\x4E\xC4\x56\xCF\xFD\x4C\x46\x1A\x22\xDE\xAF\
xF3\x23\x27\x33\x47\x2E\xFE\xC5\x7A\x8C\x1B\x7E\x17\xD9\x3F\x3D\xF9\xC2\xBB\xF7\
xFF\xEA\x03\x37\x7B\xF5\x53\xB7\x8A\xC9\x2A\x58\x6B\xCA\xDC\x28\x45\xE6\xCA\x46\
x5F\x3E\x30\xD4\x1B\x18\x2C\x24\xE4\x33\xD0\x13\x20\xBA\x51\x8D\x35\x2A\xD1\x59\
xA8\x96\x98\xAF\x95\x58\x8E\xD5\x7A\x1B\x41\xE9\x7C\x2D\x7F\x45\x8E\x20\x2E\x7C\
xD9\xFE\xE3\x5F\x33\xD5\xD9\x3F\xDC\x88\x6F\x53\x5F\xA7\x77\x1E\x7F\xAB\x58\x2E\
xE6\xFE\x49\x55\x3E\xDB\x09\x2F\x42\x4B\xFA\x08\xAA\xB4\x44\x40\x08\xFA\xA7\xF5\
x73\x8D\x99\x48\xB5\x39\x23\x49\xFB\xEC\xA4\xB2\x7A\x5C\xD4\xEA\xEB\x2F\xC6\x7F\
xFF\xAD\x2F\x3C\x71\x6A\x71\x23\xB6\x4D\x7D\x9D\x9E\x3D\xFE\xF0\xE2\xFC\xE2\xD4\
xE7\x24\xF0\x37\x5B\x81\xEF\xB6\x12\x6F\x64\x82\x7C\x23\xC4\xDC\xA7\x37\x03\x5F\
xBF\x7E\x8B\xB6\xF3\xAF\x2F\xFE\x36\x41\x4E\x88\x30\xB4\x11\xBC\xAA\x80\x7D\x6D\
x53\x11\x10\x95\x1B\x2A\xF2\xE5\x37\x3E\xF1\xF5\x7F\xD9\x0A\xCF\x96\xFB\x68\xF6\
xC5\xB1\x7F\xCE\x65\xC3\x01\x55\x3D\x29\x2A\xE5\xF5\xE0\x9B\xDB\xE9\x0D\xAC\x0C\
x9C\x8C\xB5\xEC\xFE\xAD\xC2\xC3\xFF\xF0\x4F\xBE\x91\x97\xA7\x86\xC5\xFD\x0F\x40\
xBF\xA8\x2A\xA3\x9D\xF0\x22\x82\x55\x8F\xDF\x21\x02\x5C\xD2\x44\x5F\xAD\x06\x3D\
x31\xF9
\xA9\x3F\x9F\xFE\x45\x19\x7E\x29\x7F\xB3\x72\xDC\x75\x6C\xDF\xCC\x21\x11\xFF\x38\
x41\x0E\xAA\xC8\x01\x11\x19\x16\xF5\xFE\x58\xFE\x6A\x4D\x54\x97\x44\x65\x8A\xA0\
x17\x54\xE4\x4C\x92\x24\xA7\xDE\x7A\xEA\x2F\xCF\x22\x2D\xFB\x86\xBB\x76\xD7\xEE\
xDA\x2F\x64\xFF\x0D\xB3\xFD\xCF\x34\x8B\x75\x5E\xF4\x00\x00\x00\x00\x49\x45\x4E\
x44\xAE\x42\x60\x82'
local font85 = "7])#######>2PX7'/###[),##1xL$#Q6>##e@;*>'Ojk?
t+=G2ad>11fY;99'B+.#gxw+23B^01qZn42EC=R6[.>>#I@^01aNV=B^Iswnp5YY#eY,1142XGHU=.@#lG:
;$.lK8/d_(*Hlme+M#4#,2*9Bk0#-0%J4-fE**RUV$T=P9/j-d<Bee%EfQs.>-b@pV-
TT$=(s'eg#F`NnL::MS.;h^`IopAlfH$4>d26+q&o6Q<B,tnkLm242U0sZdN0iR/G685`j)nC2:V'q?-
qmnUCw[CdO4=N?QLbZK`@C=GHq2p-*G7&L;hm'&Yn_>C#eh4#%.##t'uvwu,S9w0#7EL37WaNj0-
40+G,TX+`#@p7e3b)W%IW`iLnfC5/U5u6#Vq,tLgImu#B8'C-#;9;[email protected]+85#<weU.%####3Xrt-
j&BkLVF$##wV]X#;0xfLS^HF#>>DX-M3GF%W?)&+*JNfLblMv#@7Xh#.47uu7+B.
$RBr<9)@r6lDM.E#OYU7#uJe8#'r.>-1.GDNlVG8u6#<(d<-'oVE-Lh3r0^]WS7#/>##n4XS7?L,F
%6(Lk+?+*/$<Rd--r;I]uCUP&#ihHMM;sZ=.Jk+Y#<Dv1q_?l-$FhG&#N02'#Rjn@#qZB)NVxH]-
dS=RECC=_J#d./LfxaS7KcCR<0.lA#OWG-Mh$SS%RBm&#%)P:vwV7_S3R,[email protected]]
+0%,)NsqU)NZGbcNp/,GM?MZY#hd%$Pns0&v#&###'S5s-nlRfLP:$##h6FGMm8#&#J+PwLZLH##042X-
I<AX12n;kOF####=kl-M:LNH$.iqr$2+RS%6C35&:[jl&>tJM'B6,/(FNcf(JgCG)N)
%)*RA[`*VY<A+Zrsx+_4TY,cL5;-gelr-k'MS.o?.5/sWel/wpEM0%3'/1)K^f1-
d>G21&v(35>V`39V7A4=onx4A1OY5EI0;6Ibgr6M$HS7Q<)58SbLv$*LZxL,<?>#Z1P,M/DT;-I.>T7:#/
N(v7$kkGCg+M/'_<LR/,s$YifxO8=:`svfixX`sPA4X>u(aomvfC8I6At5x2sH[k%#li)+aE?cu5/
SWuMKp^oYlk$5T@^3KZ>Q[RN0j=L#u)N+Hi&)/$5$i>BO#p5n/
CHmsdEjV**IFnZGK0:b3951*jgT7hC$@[Hi[:dHiP,h*<o-[Y#BP4kONN:>>-
l68%Y86Q#Af2;]r9T1ph6=W$G(w2$)rus-[B1,M7C>,Mp`7K
%d5%V6rd=R*#G+F3JgnO(WkJFIF`8>>5E4@#N<%u/)&>uug5wK#$9fT%)jSY,.57A4c6%##v-1+*/
B3I):2Cv-oUFb3S23,)dxrB#x5MG)
$'g[6C97BO7`5c4oDsI36N.)*]<OZ'#nb6&@JVN'D;di7slXZP3u)9LG7#NBdm5&4HvfI_CelA#P<.6/%G,
n&^g4OMvuc4M,%46JSmA_/+mJ)#wVo9v74>>#YN7%#fWt�dZ(#5]?`,Sg'u$
$aFx$^tn8%;Ve]4AL0)3+/rv-WT'`P<p*+N4v<v<IT_a+(x_N(E+=/2h-R6'?w@F+wOk.)UGg;-&oL&4-
67X62a%8/2Iix5T_xd<F2^-FN3A[05)Q(FO6eM1v8o`=+
+C'#xr+>#0oJE#0+QX22qL+*iHX,2bZX,25q'E#HPP8.
[#[]4Bd4R*A2qd$Je7W$wtmd$J_.W$aM#hL0(vW-?Hvq)MkP-PA/IW
%gc###.V1vu<`fX#8Oc##,WH(#=''u$+dfF40Em;%`M.)*#dMD3?DXI)@I.[#(eKT%#v.&4PCMs-
0S<+3255`sQtgfQs5Zq0_cVs%VGeH)n7ol'lu3I)8UUB+pEpB-Pp#8/?^s/Ml2ZP=8T&B+MWP3'Yj#R&P?
pm&e69m&KT_g(HY2P0X6b$0^GOjL'`X&#%&>uuEb/E#+6i$#F,>>#@)]L(g>Zv$`S6C#*-
+c4J;3=(e4NT/u;-T%=Ux[#u`RL(g)*`$4q<d;h10U
%s^mK(6MdN#:iCO'Du*h(WhvY#I_Q`E9I#12ov<oR`bmP/JUV?#Ao7@#Y3n0#RtOK1Yd0'#(NA.*0Zc8/
BSsBos)8f39F<dX0BF:.Rkr;-G]%+1iBV)+0J/P'2(_T7-PNh#W)Y?
#b;Zk+Un5R*mS[YmceMw&<-.L,E$@ENWh/o#:WL7#^?O&#swbI)[(Ls-b3NZ6%K3jL+Ua.3jpB:%qGU7/
kTMv5,(*9%bEB:%els4:q3rGZ9eq6&0=?7;)VY_$N+J&,=wRu-AJ0kL1(Jg>]6#9%@cp1;<H:;
$YfY=l1k4GVQiou,<@,87'M`x-j,5e35IL,3l5MG)1BEYPEv3+NW]9,N?
9EYPkgxW$9cl>#(M,W-]c6`&L$^p%=Da1B#YkA#&BD9.b]Z5/Qq0I$$S^%OEa`v%G5Kb.vOkxuK5,9Rr65-
Q@TIeMXYAJN:*x9.8%lA#('3*/=Gw8%LQ=J$P+srRu/PS70p&0MID#W-co-`&^=*?-r75T'gL-
#(,1x;8:<pN-1eZu'Z,g;-_a&N-C*ZW-O9KjD8(u48u-1'#%)###h^YfLac@D*D1$##E14%6x$V
%6w(ZA#KdK#$_2qB#?FE^6:>_&&f2uu'0,gXu$>Aq)JFL*sI%/GVc>h0)Ob%
[uoklbun;)D+P0UWAGJ=jLKD^I*oQW@,m$G,M>:(E#G`wv$7QCD37(]
%-.:h58]VD^4%V=t9)#]P'%0Un&vn2:8%eJ>#:&(N2e(/t%;0$6DVek._N?$n&'tTN'M%O31%S4t9Q3d<
%EKEW%U*;mQ-#oxuSt'S-b(2t-LrSfLq@s?#x-R024ktD#9g$&4:$lEI/
WbG3Hx<^,qnSfLdG&J3s&).2SrNE&aS/^+n)mZcsLN2KH:0Z-67Xt(w/-V%.bVW%L[3T
%.&`$']`OS77>$6S&H1;(N6`;Zk&YX$w%[)M,cxL(4Nn*%dv0Q&p8D0]u@xL(TlMb*'/###&e_S7rXW]4ST
%29sg%##`Dsu5MBG$.$iXI)Rp1I27SMT/+]2Q/&Cs?#x3vr-B^#l0wK(E#Ci487JJF1)t2%E3*>`:
%@xbI)<X_a4(Ox*ju-,0LW3GT%:XHaNaD3p%q-Ft$ahnw#GnWp%MTcN'ZaUK(HqwS%%w]%:PptqAH4>C9K-
x8%Q.8;%d/)S&AMjN;9VcdN?;OnK8=:g(s-hN(&Hcp%Xs1O'+_aZ#C(v>#.$pE%q'cAWc73o%pFw]-
W3n0#YaPEn2t<##>4:;-n1S_48tFA#WNTHm)`d5/s/
hf11cD_&E[AC#6)#T[%0)f<ExOJ2k<O=$NsHd)s'Xx-Ya?g%tnEE&;<mF#[fG98?6(/+eX1w,VF1/)9T1;?
7;QmS)gEtCuxefL%E/o#fXL7#r&U'#2sgo.JKf;-iT`2%TekD#FP_s-]nJr8mm^>$@-+W-
mf[vRAeXD#OnO`#Wljp%dj'h$m$kC&XH@AEp,97;ANC+,@HRX),M>P(QW<2qZ8Z;%c]OgMU=UkL02j0E?
0<S0.+CJ)97R7(9_//.wEqhLJ2x(9(n]G3_&g;-6PCK-o=bJ-h3oUMDUpZ0%&>uuq4>>#HD$.M^/
b'47%x[-KX^$-^frk'8BNZ68Vd8/*,m9%DG0W6Z3f.*Y*^6&avcS&'79a<9/U1T
%1+SnSQ^6&UwO:)tG[1(&U64(IEo>-X,q8/(IUR'YC]vPbO$##vVs[tbHGJLQH;?Inb,Z,A[Ld-
bm'we5^S_%kG>x68*$gL0Ut,4Qo5Z#Q^pm&?26q%7m99RM_N]-O*::/
j4JG3b0=]uUe28&SSjA+VF8Yc`MMo&J%^D4Add70A1fM-g:IAk.H4WoZhd##ciKS.D1EY-'S^&?
XV6.84=w?$A7xUd$*o._9kfi'fP<s.mX2<-MBcw$LSQF%ht-u6>]qv-OHOA#TjU[Qmq[5/d;+.)3?
4ZM<+wF%m<oJ1?fo8%xCiDFoUm;-c&=GN#Rhi%vl)B4ueew#TL$##N0DH-</292h48C#X:Ls-
23UM'f[K+*_-'IW@q/6&1bqC.@Xns$tvN+RiPEK$<i1Z#T7ujL_v9Q&`-
[Y##i''u]=4GMbBAJ1**=L:mHE/2Qm4<-+iaj$B8wW]PF?,iv@aS&PiSN'M]4I#da-
n&)'lg1)WNE*JII'P0V`oIIL`ZuPVgQ&%Lx;Q/n-BRA2-u7:.D9fo4p4]
[bHP/]]P`<S&Ou.]*'u$`S6C#&R:a#/]NT/<PsD#FOit-puk/Mfd6l13Xrt-
6hH&O.NAf3U+X=_2k3B6ENwY%OX<p%rQv@5mesP&ato60IR.W$ab:@,rU0/)NvHH)vP(n)s5hU%NXEp
%)B0I$g<n=hs6E`/++t^/RG*I)qs,m:etYb-QB=X$^tm.+?_ap
%mndT.#S3X.YAIL((`oC4]3570KE(K(vptg1X>IL(U%15%T2>>#B7>##eH?D*<w4x#'Ga01u?lD#/
_v)4na&],4nmk%8CFA#KfZ@-MS[s/%PDZugco$5V%bK(`pVQ1wK8W$e5Zn&:q1E#N4M?-dD24'`2FP(515-
3]#4_5#<kB,XfvW.JXi$#S,Qd*?sZxXlee,;nNN?6NfB.*bj9^#]ru8.KRpQ0)PkA#4.m<-QV`X-x0*+
%Z####*Juuul>1R#6)+&#Rb<9/#&AA4EddI%1QQJ(+w9j0)U5N'ePU:%^L4H)&4d;%AL*N0$W:<-aBND
%s>seMZPr.2I+@8%1x<M&J=D?#nl,?#VYAs.USc`%GKg,*E[.O90+dg)UHuD#d@^&BgtG%B:
+5gLpP#v,'^R]unIDQMcE?uuxchR#&uCl-
aiHRaFY@C#kK(E#B99T.Ec7C#FuuHOoNw1Kt+2[Be8Yuu3Zqn#okh7#Iqn%#SPUV$f8t1):N.)*Z[)Q/
A$G)<,+)H*>nE)<P[D-**.qX6j)K.$?<P)3atep%X@x;Qi:Jt%AWW#&'HAcNR1_KMbiTm(`2Afhfsf*
%68Fq&05qDNp`ub%l,PT%*Bdp%g7KgLQ02iL+&NJ:HJm;%
$`[w'vI&3iixId)FF,gL'j'E#i5RU9CKx(<&+p<R)ARs$p'PvG)=Mj9uC2*<Q^jJM/g=,Mo/?
j'xQNR'c9s+;#SJQ_=Yd8/Ke,`-)-4L#h*TM'.]<+3d`Yd3i.<9/`Md'&Vsf.*M7%s$PqlS/
iF<v6kRk_$_lZt1JEeeM[t>Z%faV61>opQK+#=<%A(wo%OD*e)5UC=6P*ve)5f(?#ecw)*fn8>-
hbj>.,gwQKf6sY?>uhT0k$2D+VJ3e)b*ihL9#-j)8:wS%avG7&JODk,iZ.C8YG:;
$#),##R]r.LFkco7,9;MB='J,3SMkm0XsFA#9scbYYDOZ6,cD(&$@4g3$YX/2gFU%6GZU&$Rq@.*pD2<
%Ec7C#x)Qv$C_=X(#&8&4PDRv$KFK,3,87<.jghc)W`:[0Pst6%4fUv#guI1(q+S5'f%4GM5/
p6(Y[rv#71[s$69@d)EqY0LF]aK(j@Q@#U`N&+.2O'+r=%w#>%`v#02]h(=[9h(dS<E*C7[s$<rC?
#Z;<a*7iEJ2;kq7'4qjnLb`^/);bUb*7?qq%u<AN0j;-7&P$7k(PMjK(<LiY#?*5j'wJk<:8v
%1(M7@s$)/,##S6w0#0CBJLB1$/:=Yg%FVB')3ks9u$sNv)4o3ZQ'X#:u$_.i?#qaVa4%
[*G4pFPjLws.>-?kv5.3=JN:%uJ,3kAJn$nfLp.RSM)306/L,^?85/-d%H)mq6lL)F5gLTXs?
#*f@C#iL0+*58G^4P[J1;0%Cf3gPJ-)KVG>#FJKY&l?_1;JGX03i5D0(>2RN'dXw793n778C_39%I?
e)*3hOK10f<aETR8[uWZ/t%B7b9%$2:W-u;wIq*u3W%c9<v#I9g2'KX=+3;8rB#.
(hF4EmTh3TJ&l'FAe7&5K?i;,-@b#W:,(+SQPN'&O49%O0gm&4Q?
N'f>QN'Mjhs+RZ4-;p='32quw_#5P[<$?*p@7$_9v--fri0%2PuuDN'^#pj7-#`Qk&#ucp_,Iq.[#<_?U/
@T/<7Rg;E4-PsD#,wsr$3lsc)Z/oN2k@'q/3Fsw6qP:#&lLY(+EYiv>Yo&;)O_RW$7SY>#md/
J3&'v70(q;?%kgiLF,og58PX-b'OF@s$;o($#U'xb%u?`l8ggN^,T>V/1-<Tv-/.ji0vR7C#UXwm/
gc``3J)TF41ns'/x<7f3trLI$UEW@,V])<-an@8%vA+G4Ug$&4bx&X6vjuN's1FV&[7'U)J;<^4lR4U
%r>f8'9h:K(XChT7+VRD&<4K-)sH^m&'e7d$IKN8;1N_6&1V=w53+6_+TUW_&4;vP9g)$N'M(gn/?rpq/
3lE]'^`49[P`mY#L-&##9*,Q/:WL7#F[P+#[N;t.26MG)`7.[#sSg*%PXkD#TgZ;.[GYd3IPsD#n`h*
%]h=^,p*5gLP0vhLoMh<.ms#E36tFe-_+7g)RHKs$TSm0'2v$E3)b'n/;g=[&H.;t-`XrjM<
%KB1LP4q&Lk197oTE$P,F?C+D95%lb,Fj180F#P`xP<-%w$iM,U_8Mi9MhL1_duu9^hR#*4mx3(pm(#T
%T*#GEOA#B.i?#a1[s$2-Ch$Gc7C#FwIf0[Z*G4pM.)*gCSfL$#9f3bR(f)[/*E*lAqB#.v+G46`W01;?x;
$D*K2'OCXk$3o(9.J=HiP3V#=R6$8]Io8@v$b=&NKw2FSR9R8/
M+:HZ$UlS#,TeIv?]2ofL_KAw#OHiY(2SB[5g.t3;q,XP(f#Dk'29q$.[qT4.xQ3D<YEm;
%Npxjk$h@M9TbBv-q<8O6nbU@,abLs-YBSP/]::8.*W8f3;#K+*uW^u.:0s2/*-T
%6=R]w'lIxe2dHt]#N$v[-DNaa4nQXA#BjUp/Jg4',?
g6hGlv#Z.Od>3'd[jo9brW9&9dK9%e&vx4F..L*F]:v#,;=a*`n36/QsB%bw8md/
_JqS2kV_pLg5q(,4k*M&`?L-)f;3u/#=I-)XhXVdrRDS(Z+)S&ra?W&1;P>#MZhrI;?K[#dmx0*/]kV7+C
%##:wE<-17w2&*)sFPg<S+%Yh),>Y)E.33D2T.v5Zv&h%,)NSSx3%d=Ou(0jU5M[]?uuschR#)*V$#YH?
D*H@C`$eJ))3t(4I)a[K'H?.ju$M$^Q)H<r-M$Fl(N24M9.tNJ@#8@l]u$h<J2[)]
['%:1_AY,Y:v;4>>#@Oc##5,>>#H1[s$5FI>#cJj&4r5]guGWG0(nh.VmN+q4LKibQ's`v9)h65/
(wI620KpAU)v`p9;n<A<-<$KkM-J3B%[ZSX-sc``3J.+B,u&&;Q>'>hPU)211DE,n&(f_?
#,gpk$=#'=(B,.n&AlW-?L5_<-GE]$&&_<YJx^wP/N8X;0YZTC,au.l'x*n8BP#SRX*=)iH/
d[`$I*[Q8L90:%DH4W-8)<R*%:qC'fus`WORJV2X8v7&6VO'#51%wu./sW#N&hW/rlU:
%fZX,2FsHd)sRF,MI#NT/eMXV/Z?85/1c<9/SP,G4[^<c4OJ,G4osFA#0j5F%a>_,*Q$F[TP?
O2&drvv$>&cu-Njv:&>oAt%dmfw#]$<v#bt7Y-HEv3+d,]&Or])w$$O-
32H[.LM:Ib70_@#G*mZaZ#GXE5&;`G(+7e:*4[c*M(KBeIM*)4a*Vd/9&1)q;.L2(E5?@
%##'&>uu]4>>#JL6(#I]&*#=sgo.0X<-X,fm=7ST.29c9mG*ES%Q-WMN/%7MN=(-tx>*;iS?R$0t>-s)U:
%2d7-)&KM-)&cj<%@Cp.)Cos'4L*/@#jQ[-'dtKHM-C:Q$]%WX.$_7tJ<<.k(^&Y:.eOdu-S_%u-QP:
%MZL?C+&U,T%s_@C&G####R3n0#4=O5L^hHP/Y'3:.rM[L(Lov[-u?lD#TMrB#S/DD3Gq6Elg754%F>nM>
%u.eaB0?MR1S+fa.+CJ)`0Ne$^f,$&8bfCMFl:p.,3h(,[Jw6*'2>;-DluNFopV]+02#p.
(THG)dR&E#^v7B.R4r?#.8'gLoeZd3$M4H)HC)?#97(wL5KihLtk9i%A2;gLBHr-MIt.>-_1;#QhS3<
%f$g;/=V&E#,:3iMtrbI)vEjV;([xV;dPG<-ZvR/&ea*G43>km'-
1em'JNXA#SH;2%@vN*']ggQ&8([gLk)JHDHH;2%1rv<_[2vR&Gbp*%i)%t?.KFm'#0$f?:Jl^??
gNH*PJ))3?[^:/x)Qv$8^t'>Pp#8/W%am&ob*9%uAg8%WB_ihURxa+HU+`&owr8%.Tu-ODg4)#k,>>#?
DXI)GO=j19wb)ubM&J3%G6lL=LihL6?_F*w<7f3G8Cs-[*5S9[@JcP;lw*3VECV
%8N0+*sQUeP.Jb0(X*K2'm?;e3?q7k(jnXq&N*Ox#oZw=-?VThE?</P1M-
k5&u7FW6M;dfQl:_j(.L6K)io3<Ci^'s$fuj**&PLa>cpYn&f`%@#mhri:@&`pEO.R8%SH0u$=*;mQ;U@$-
@)U?-Ll>>#j@Z=lbP6GVbbaKc-UYI<K%.m0VI3T.cMi=.4f/=?)]Rm0Lv@+4Xb=K1l5MG)d[@`a]kjp
%RA>I$O.A`&G=uA#6oNA@OgL<L?Q9<-TT5[$Zl1S*DQ^T.U?O&#a2RI/jAqB#6Gl/MaP&J3>)V:
%*Y1HM_U$lLP%HA#u&sx+cOR[-%QJ@#I9i1L@fKl8m2cp8sYb#uH(/=(l^U/2J[r%,-fkr.2j-n&/
4n0#W/###@NoV$T4fc)6`3>5uh%ZACL8C#wx2T/HcTF*XQpR/D&;9/[`JD*R4r?
#R`>lLuG:u$rO8U)q,wD*#Zc8/2X.293mp58ei)'4x:MWH^E<EE-
N^5L9rQO(n#HB=^.2M:WxqV$^023;@R*p%)u#(+F=&H
%IAw'4jjPgHhVnH)9hdZ,FHZgLpR,L2dX,b78tt[&vba%$N)6b+Pt]M'mXgW&'/
R8%jHZi(^RJD=Fl39)*Ik3T6C<>.K@rr$wv1H;%XL7#-Mc##?4i$#W'+&#_BW:.PBxX-cU^=%PgfI*j;-$
$p.Ls-i`DD3W#CB#e]i<9-6dOo)OU:9kDLK#r0pE#u@H;$HfAWCZ'vW-
^u&1#s1Qu#(,>uu>9sY#e2uu#S3n0#8/LkF5v9kF++
%##*[Ap.g3YD#A*LJ+gMA+4(,dp8REdv$BsMF3YNegL6qB.*0b_@%C#tX&-oZOCMd[@%MaR?,.?
n3'Y+`8*Xp&f-54:HM@EH3'67w7*G5YY#ePcs-(Tfx?Y?&'-aGSF4O)CW-N@<B6c==G3%d/%,+w(6&Q'XT
%s-sO)fB1IVL3RC#:n]0q1Da6&<CW6/XBDJ)3Ti#Q@%co7:$:'#'2>>#bG.%#h0A<-i;qW$au$s$Ma-J%l
%Jd)?g4n%CbWj0`*MO%EhtI%mYDW%8n)W%Krus-2,EgLP+I##Hg$S#-TC7#%aX.#ll?
0#s67e41OX4:_sh)3]nr?#CHEE41=#;/+W6C#t:7<.p5`O'XY)w$[A
%H)o7^F*;TID*_^D.3$CuD#huYUAfeG,*Aw'K1s_DX$%)N0(,>O.)rY1I$6^m3'sZY/(j`bV-v3:_,jN/
W$VMni1+x^+*7/`)+hKKwQWQ_mT4HNf<Q3_:/9?
UsRM0_o0]8ik'j,>=$VgL,)uD[-)HKI'5_vln&.<K/)9UsXIP9N`+J>;P0+aDO'kWa;$-67h([0&u-
FI3'MA[Mf<L/PG-(N[#%-tZ&4A@%
%#,WH(#L)Qv$@]WF3J29f3OHAQ(@7bF3S3k7%@sGA#8j5T.cc``3$n0s.RafVK,^m-
$kc<mQ?'1>h1vFp&Y:R20`[%E+wOk.)`p`h,^nX>-)>OZQ>k`#'%-s#P*F2W%Ov$_Q-e?
a$K_A`afh18.7p,9.D)aF3W.K<.lEZd3xx[]4_;wD34c?X-Z>*I)0eBba>cRN'+eYIql6U2:5*-:)l]3pu-
wT&,qS-@'CioH)7F</1/OJ@#=Xx[u98F]u=x/s&=;CkF]2:W-6:ENrUG6^=032H*Z%AA4VC8j0q_.<8duiW
%cljv%)@vV%v>[h*0ViIRqGojLucmuu;m6o#rJo/0J
aX.#^E24#w2A$4hlh;.o(NT/KpWI3m-u`#?q5V/IVYS.Y@[s$>']u-kS+jL?K>-2<X1x5eDeL24'Cu$%SR$
$JVmG*;i:5/OP,G4B.ikLvwHmL<tW30GMrB#;Z8x,.%]w'/TsB8#<VG)]ZdA#&+4Z68)XbN%LI5/
H>6hGHCTfLqF5gL<@o8%oo$H*$s4XCG5MB#t[G>#;%mY#9uLp.N[7<$:/=kOn$G/(+j:u$kocW$6]/
1(7@w8%x6Lk+Dgb<Q+@f8%8DZt1b,8.M;)xD*$HL[-8GZt1uLrZu?3N<$t.D=$b+?>-EHGN'S*kp%^>lb
%<=@&,pnGC+HTke)TBx[#mAt-$c94+%&&Q>#R^NI);L3T%<17W$0iLZ#RJG>#Z<fS%0x?s$JH@FNp3AW$H?
<s%>eC^#^OXGM=3/K#L^m:&8S5r'&@'B-mvQ*IGGZF%1%+t.Rw'P'h(0b*k2>G-n2K_/
1LJM'(:D>#2cWh#=EU`3G>3t_-/33NTF6##-wu5NUL?
##Kut8N*4pfL651<NWXQ##D'Y@N_qZ##1>G##+MC;$#t5D-arfcMS@-
##`a'1NaF6##$l84N).gfLf]j6N*4pfLxg%:NWXQ##3g5=N,@,gLf%Y<#+mk.#cSq/
#TH4.#HB+.#c:F&#Y#S-#S@Rm/0E-(#1K6(#RfG<-Zw'w-2sarLo<DP8DX=gG&>.FHMeZ<0-
K*.3b1RGE>@=GH#$),#U@f>-6ZlS.J0f-#rIC51[*eFH(KfUCdc$##-
Srt--)trLxgipLe31A='DvlEL''##t4)=-rX*+.VuRNM%l1X/l9]/GZ#uLF8@n]>6=h]GrdufDw^Y>-
RYgJ2j<.j1ecGL24gCSC7;ZhFhXHL28-IL2Jd+tVv(+GM5N-ipgVYb
%pOfS8EJqDN'8P>#*AY>#.Ml>#2Y(?#6f:?#:rL?#>(`?#B4r?
#F@.@#JL@@#NXR@#Ree@#Vqw@#Z'4A#_3FA#c?XA#gKkA#kW'B#od9B#spKB#w&_B#%3qB#)?-C#-K?
C#1WQC#5ddC#9pvC#=&3D#A2ED#E>WD#IJjD#MV&E#WC1?%aZ8=9WPWF%WuQF%XxQF%Y%RF%Z(RF%[+RF
%].RF%^1RF%_4RF%`7RF%eAM88rqfS8kb+p8lkF59mtbP9Wg/g2VY#<-iIP)N%jv-N%jv-N%jv-N%jv-N
%jv-N%jv-N%jv-N%jv-N%jv-N%jv-N%jv-N%jv-N%jv-
N&iZL2tmN,3iIP)N&p).N&p).N&p).N&p).N&p).N&p).N&p).N&p).N&p).N&p).N&p).N&p).N&p).N'o
dL2uvjG3iIP)N'v2.N'v2.N'v2.N'v2.N'v2.N'v2.N'v2.N'v2.N'v2.N'v2.N'v2.N'v2.NGSfR9$,>>#
%;cY#Z2c'&*tj-$$vSY,on]88PQu9)0/<X(G)###;FcA#2cWh#]Cl`k
%T*1McX4Fh5L*##nu:`)8k<Atg5^S4"
local ash_image_data ="\x89\x50\x4E\x47\x0D\x0A\x1A\x0A\x00\x00\x00\
x0D\x49\x48\x44\x52\x00\x00\x02\x47\x00\x00\x02\x25\x08\x06\x00\x00\x00\xDF\x7F\
x5C\xA6\x00\x00\x01\x37\x69\x43\x43\x50\x41\x64\x6F\x62\x65\x20\x52\x47\x42\x20\
x28\x31\x39\x39\x38\x29\x00\x00\x28\x91\x95\x8F\xBF\x4A\xC3\x50\x14\x87\xBF\x1B\
x45\xC5\xA1\x56\x08\xE2\xE0\x70\x27\x51\x50\x6C\xD5\xC1\x8C\x49\x5B\x8A\x20\x58\
xAB\x43\x92\xAD\x49\x43\x95\x62\x12\x6E\xAE\x7F\xFA\x10\x8E\x6E\x1D\x5C\xDC\x7D\
x02\x27\x47\xC1\x41\xF1\x09\x7C\x03\xC5\xA9\x83\x43\x84\x0C\x05\x8B\xDF\xF4\x9D\
xDF\x39\x1C\xCE\x01\xA3\x62\xD7\x9D\x86\x51\x86\xF3\x58\xAB\x76\xD3\x91\xAE\xE7\
xCB\xD9\x17\x66\x98\x02\x80\x4E\x98\xA5\x76\xAB\x75\x00\x10\x27\x71\xC4\x18\xDF\
xEF\x08\x80\xD7\x4D\xBB\xEE\x34\xC6\xFB\x7F\x32\x1F\xA6\x4A\x03\x23\x60\xBB\x1B\
x65\x21\x88\x0A\xD0\xBF\xD2\xA9\x06\x31\x04\xCC\xA0\x9F\x6A\x10\x0F\x80\xA9\x4E\
xDA\x35\x10\x4F\x40\xA9\x97\xFB\x1B\x50\x0A\x72\xFF\x00\x4A\xCA\xF5\x7C\x10\x5F\
x80\xD9\x73\x3D\x1F\x8C\x39\xC0\x0C\x72\x5F\x01\x4C\x1D\x5D\x6B\x80\x5A\x92\x0E\
xD4\x59\xEF\x54\xCB\xAA\x65\x59\xD2\xEE\x26\x41\x24\x8F\x07\x99\x8E\xCE\x33\xB9\
x1F\x87\x89\x4A\x13\xD5\xD1\x51\x17\xC8\xEF\x03\x60\x31\x1F\x6C\x37\x1D\xB9\x56\
xB5\xAC\xBD\xF5\x7F\xFE\x3D\x11\xD7\xF3\x65\x6E\x9F\x47\x08\x40\x2C\x3D\x17\x59\
x41\x78\xA1\x2E\x7F\x55\x18\x3B\x93\xEB\x62\xC7\x70\x19\x0E\xEF\x61\x7A\x54\x64\
xBB\x37\x70\xB7\x01\x0B\xB7\x45\xB6\x5A\x85\xF2\x16\x3C\x0E\x7F\x00\xC0\xC6\x4F\
xFD\xF3\x53\x3F\xC8\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0B\x13\x00\x00\x0B\
x13\x01\x00\x9A\x9C\x18\x00\x00\x09\x12\x69\x54\x58\x74\x58\x4D\x4C\x3A\x63\x6F\
x6D\x2E\x61\x64\x6F\x62\x65\x2E\x78\x6D\x70\x00\x00\x00\x00\x00\x3C\x3F\x78\x70\
x61\x63\x6B\x65\x74\x20\x62\x65\x67\x69\x6E\x3D\x22\xEF\xBB\xBF\x22\x20\x69\x64\
x3D\x22\x57\x35\x4D\x30\x4D\x70\x43\x65\x68\x69\x48\x7A\x72\x65\x53\x7A\x4E\x54\
x63\x7A\x6B\x63\x39\x64\x22\x3F\x3E\x20\x3C\x78\x3A\x78\x6D\x70\x6D\x65\x74\x61\
x20\x78\x6D\x6C\x6E\x73\x3A\x78\x3D\x22\x61\x64\x6F\x62\x65\x3A\x6E\x73\x3A\x6D\
x65\x74\x61\x2F\x22\x20\x78\x3A\x78\x6D\x70\x74\x6B\x3D\x22\x41\x64\x6F\x62\x65\
x20\x58\x4D\x50\x20\x43\x6F\x72\x65\x20\x36\x2E\x30\x2D\x63\x30\x30\x32\x20\x37\
x39\x2E\x31\x36\x34\x34\x36\x30\x2C\x20\x32\x30\x32\x30\x2F\x30\x35\x2F\x31\x32\
x2D\x31\x36\x3A\x30\x34\x3A\x31\x37\x20\x20\x20\x20\x20\x20\x20\x20\x22\x3E\x20\
x3C\x72\x64\x66\x3A\x52\x44\x46\x20\x78\x6D\x6C\x6E\x73\x3A\x72\x64\x66\x3D\x22\
x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x77\x33\x2E\x6F\x72\x67\x2F\x31\x39\
x39\x39\x2F\x30\x32\x2F\x32\x32\x2D\x72\x64\x66\x2D\x73\x79\x6E\x74\x61\x78\x2D\
x6E\x73\x23\x22\x3E\x20\x3C\x72\x64\x66\x3A\x44\x65\x73\x63\x72\x69\x70\x74\x69\
x6F\x6E\x20\x72\x64\x66\x3A\x61\x62\x6F\x75\x74\x3D\x22\x22\x20\x78\x6D\x6C\x6E\
x73\x3A\x78\x6D\x70\x3D\x22\x68\x74\x74\x70\x3A\x2F\x2F\x6E\x73\x2E\x61\x64\x6F\
x62\x65\x2E\x63\x6F\x6D\x2F\x78\x61\x70\x2F\x31\x2E\x30\x2F\x22\x20\x78\x6D\x6C\
x6E\x73\x3A\x78\x6D\x70\x4D\x4D\x3D\x22\x68\x74\x74\x70\x3A\x2F\x2F\x6E\x73\x2E\
x61\x64\x6F\x62\x65\x2E\x63\x6F\x6D\x2F\x78\x61\x70\x2F\x31\x2E\x30\x2F\x6D\x6D\
x2F\x22\x20\x78\x6D\x6C\x6E\x73\x3A\x73\x74\x45\x76\x74\x3D\x22\x68\x74\x74\x70\
x3A\x2F\x2F\x6E\x73\x2E\x61\x64\x6F\x62\x65\x2E\x63\x6F\x6D\x2F\x78\x61\x70\x2F\
x31\x2E\x30\x2F\x73\x54\x79\x70\x65\x2F\x52\x65\x73\x6F\x75\x72\x63\x65\x45\x76\
x65\x6E\x74\x23\x22\x20\x78\x6D\x6C\x6E\x73\x3A\x70\x68\x6F\x74\x6F\x73\x68\x6F\
x70\x3D\x22\x68\x74\x74\x70\x3A\x2F\x2F\x6E\x73\x2E\x61\x64\x6F\x62\x65\x2E\x63\
x6F\x6D\x2F\x70\x68\x6F\x74\x6F\x73\x68\x6F\x70\x2F\x31\x2E\x30\x2F\x22\x20\x78\
x6D\x6C\x6E\x73\x3A\x64\x63\x3D\x22\x68\x74\x74\x70\x3A\x2F\x2F\x70\x75\x72\x6C\
x2E\x6F\x72\x67\x2F\x64\x63\x2F\x65\x6C\x65\x6D\x65\x6E\x74\x73\x2F\x31\x2E\x31\
x2F\x22\x20\x78\x6D\x70\x3A\x43\x72\x65\x61\x74\x6F\x72\x54\x6F\x6F\x6C\x3D\x22\
x41\x64\x6F\x62\x65\x20\x50\x68\x6F\x74\x6F\x73\x68\x6F\x70\x20\x32\x31\x2E\x32\
x20\x28\x57\x69\x6E\x64\x6F\x77\x73\x29\x22\x20\x78\x6D\x70\x3A\x43\x72\x65\x61\
x74\x65\x44\x61\x74\x65\x3D\x22\x32\x30\x32\x31\x2D\x31\x32\x2D\x32\x34\x54\x31\
x31\x3A\x31\x36\x3A\x34\x33\x2B\x30\x32\x3A\x30\x30\x22\x20\x78\x6D\x70\x3A\x4D\
x65\x74\x61\x64\x61\x74\x61\x44\x61\x74\x65\x3D\x22\x32\x30\x32\x31\x2D\x31\x32\
x2D\x32\x34\x54\x31\x31\x3A\x31\x36\x3A\x34\x33\x2B\x30\x32\x3A\x30\x30\x22\x20\
x78\x6D\x70\x3A\x4D\x6F\x64\x69\x66\x79\x44\x61\x74\x65\x3D\x22\x32\x30\x32\x31\
x2D\x31\x32\x2D\x32\x34\x54\x31\x31\x3A\x31\x36\x3A\x34\x33\x2B\x30\x32\x3A\x30\
x30\x22\x20\x78\x6D\x70\x4D\x4D\x3A\x49\x6E\x73\x74\x61\x6E\x63\x65\x49\x44\x3D\
x22\x78\x6D\x70\x2E\x69\x69\x64\x3A\x31\x31\x66\x32\x37\x37\x62\x38\x2D\x61\x33\
x30\x61\x2D\x61\x63\x34\x36\x2D\x61\x63\x31\x65\x2D\x38\x66\x33\x30\x31\x32\x30\
x32\x35\x31\x36\x61\x22\x20\x78\x6D\x70\x4D\x4D\x3A\x44\x6F\x63\x75\x6D\x65\x6E\
x74\x49\x44\x3D\x22\x61\x64\x6F\x62\x65\x3A\x64\x6F\x63\x69\x64\x3A\x70\x68\x6F\
x74\x6F\x73\x68\x6F\x70\x3A\x64\x62\x65\x30\x61\x30\x61\x62\x2D\x35\x32\x37\x35\
x2D\x65\x62\x34\x39\x2D\x62\x37\x33\x31\x2D\x37\x65\x36\x66\x34\x38\x32\x64\x64\
x39\x34\x35\x22\x20\x78\x6D\x70\x4D\x4D\x3A\x4F\x72\x69\x67\x69\x6E\x61\x6C\x44\
x6F\x63\x75\x6D\x65\x6E\x74\x49\x44\x3D\x22\x78\x6D\x70\x2E\x64\x69\x64\x3A\x32\
x64\x36\x62\x31\x38\x64\x61\x2D\x33\x36\x33\x63\x2D\x37\x38\x34\x61\x2D\x38\x37\
x32\x63\x2D\x65\x32\x38\x65\x65\x37\x35\x38\x62\x34\x35\x38\x22\x20\x70\x68\x6F\
x74\x6F\x73\x68\x6F\x70\x3A\x43\x6F\x6C\x6F\x72\x4D\x6F\x64\x65\x3D\x22\x33\x22\
x20\x64\x63\x3A\x66\x6F\x72\x6D\x61\x74\x3D\x22\x69\x6D\x61\x67\x65\x2F\x70\x6E\
x67\x22\x3E\x20\x3C\x78\x6D\x70\x4D\x4D\x3A\x48\x69\x73\x74\x6F\x72\x79\x3E\x20\
x3C\x72\x64\x66\x3A\x53\x65\x71\x3E\x20\x3C\x72\x64\x66\x3A\x6C\x69\x20\x73\x74\
x45\x76\x74\x3A\x61\x63\x74\x69\x6F\x6E\x3D\x22\x63\x72\x65\x61\x74\x65\x64\x22\
x20\x73\x74\x45\x76\x74\x3A\x69\x6E\x73\x74\x61\x6E\x63\x65\x49\x44\x3D\x22\x78\
x6D\x70\x2E\x69\x69\x64\x3A\x32\x64\x36\x62\x31\x38\x64\x61\x2D\x33\x36\x33\x63\
x2D\x37\x38\x34\x61\x2D\x38\x37\x32\x63\x2D\x65\x32\x38\x65\x65\x37\x35\x38\x62\
x34\x35\x38\x22\x20\x73\x74\x45\x76\x74\x3A\x77\x68\x65\x6E\x3D\x22\x32\x30\x32\
x31\x2D\x31\x32\x2D\x32\x34\x54\x31\x31\x3A\x31\x36\x3A\x34\x33\x2B\x30\x32\x3A\
x30\x30\x22\x20\x73\x74\x45\x76\x74\x3A\x73\x6F\x66\x74\x77\x61\x72\x65\x41\x67\
x65\x6E\x74\x3D\x22\x41\x64\x6F\x62\x65\x20\x50\x68\x6F\x74\x6F\x73\x68\x6F\x70\
x20\x32\x31\x2E\x32\x20\x28\x57\x69\x6E\x64\x6F\x77\x73\x29\x22\x2F\x3E\x20\x3C\
x72\x64\x66\x3A\x6C\x69\x20\x73\x74\x45\x76\x74\x3A\x61\x63\x74\x69\x6F\x6E\x3D\
x22\x73\x61\x76\x65\x64\x22\x20\x73\x74\x45\x76\x74\x3A\x69\x6E\x73\x74\x61\x6E\
x63\x65\x49\x44\x3D\x22\x78\x6D\x70\x2E\x69\x69\x64\x3A\x31\x31\x66\x32\x37\x37\
x62\x38\x2D\x61\x33\x30\x61\x2D\x61\x63\x34\x36\x2D\x61\x63\x31\x65\x2D\x38\x66\
x33\x30\x31\x32\x30\x32\x35\x31\x36\x61\x22\x20\x73\x74\x45\x76\x74\x3A\x77\x68\
x65\x6E\x3D\x22\x32\x30\x32\x31\x2D\x31\x32\x2D\x32\x34\x54\x31\x31\x3A\x31\x36\
x3A\x34\x33\x2B\x30\x32\x3A\x30\x30\x22\x20\x73\x74\x45\x76\x74\x3A\x73\x6F\x66\
x74\x77\x61\x72\x65\x41\x67\x65\x6E\x74\x3D\x22\x41\x64\x6F\x62\x65\x20\x50\x68\
x6F\x74\x6F\x73\x68\x6F\x70\x20\x32\x31\x2E\x32\x20\x28\x57\x69\x6E\x64\x6F\x77\
x73\x29\x22\x20\x73\x74\x45\x76\x74\x3A\x63\x68\x61\x6E\x67\x65\x64\x3D\x22\x2F\
x22\x2F\x3E\x20\x3C\x2F\x72\x64\x66\x3A\x53\x65\x71\x3E\x20\x3C\x2F\x78\x6D\x70\
x4D\x4D\x3A\x48\x69\x73\x74\x6F\x72\x79\x3E\x20\x3C\x70\x68\x6F\x74\x6F\x73\x68\
x6F\x70\x3A\x44\x6F\x63\x75\x6D\x65\x6E\x74\x41\x6E\x63\x65\x73\x74\x6F\x72\x73\
x3E\x20\x3C\x72\x64\x66\x3A\x42\x61\x67\x3E\x20\x3C\x72\x64\x66\x3A\x6C\x69\x3E\
x61\x64\x6F\x62\x65\x3A\x64\x6F\x63\x69\x64\x3A\x70\x68\x6F\x74\x6F\x73\x68\x6F\
x70\x3A\x30\x30\x61\x34\x65\x38\x66\x62\x2D\x36\x65\x37\x37\x2D\x39\x34\x34\x30\
x2D\x38\x35\x31\x30\x2D\x31\x38\x31\x33\x64\x66\x64\x34\x61\x38\x64\x38\x3C\x2F\
x72\x64\x66\x3A\x6C\x69\x3E\x20\x3C\x72\x64\x66\x3A\x6C\x69\x3E\x61\x64\x6F\x62\
x65\x3A\x64\x6F\x63\x69\x64\x3A\x70\x68\x6F\x74\x6F\x73\x68\x6F\x70\x3A\x30\x35\
x66\x33\x38\x66\x65\x34\x2D\x37\x65\x32\x37\x2D\x63\x39\x34\x31\x2D\x39\x65\x61\
x64\x2D\x38\x65\x33\x37\x37\x62\x64\x64\x37\x31\x37\x64\x3C\x2F\x72\x64\x66\x3A\
x6C\x69\x3E\x20\x3C\x72\x64\x66\x3A\x6C\x69\x3E\x61\x64\x6F\x62\x65\x3A\x64\x6F\
x63\x69\x64\x3A\x70\x68\x6F\x74\x6F\x73\x68\x6F\x70\x3A\x32\x66\x33\x36\x35\x35\
x64\x30\x2D\x62\x37\x65\x61\x2D\x39\x31\x34\x66\x2D\x38\x62\x64\x37\x2D\x65\x34\
x38\x64\x38\x33\x39\x64\x64\x62\x62\x36\x3C\x2F\x72\x64\x66\x3A\x6C\x69\x3E\x20\
x3C\x72\x64\x66\x3A\x6C\x69\x3E\x61\x64\x6F\x62\x65\x3A\x64\x6F\x63\x69\x64\x3A\
x70\x68\x6F\x74\x6F\x73\x68\x6F\x70\x3A\x34\x32\x32\x61\x65\x36\x35\x32\x2D\x31\
x35\x66\x38\x2D\x62\x32\x34\x65\x2D\x38\x66\x31\x32\x2D\x30\x66\x35\x33\x62\x66\
x65\x32\x32\x62\x63\x33\x3C\x2F\x72\x64\x66\x3A\x6C\x69\x3E\x20\x3C\x72\x64\x66\
x3A\x6C\x69\x3E\x61\x64\x6F\x62\x65\x3A\x64\x6F\x63\x69\x64\x3A\x70\x68\x6F\x74\
x6F\x73\x68\x6F\x70\x3A\x35\x31\x34\x34\x36\x64\x36\x38\x2D\x38\x64\x36\x38\x2D\
x31\x36\x34\x39\x2D\x62\x39\x35\x37\x2D\x62\x31\x31\x38\x34\x61\x62\x37\x35\x61\
x34\x32\x3C\x2F\x72\x64\x66\x3A\x6C\x69\x3E\x20\x3C\x72\x64\x66\x3A\x6C\x69\x3E\
x61\x64\x6F\x62\x65\x3A\x64\x6F\x63\x69\x64\x3A\x70\x68\x6F\x74\x6F\x73\x68\x6F\
x70\x3A\x37\x30\x31\x62\x39\x65\x65\x39\x2D\x62\x61\x37\x62\x2D\x37\x30\x34\x37\
x2D\x62\x32\x31\x36\x2D\x64\x64\x37\x62\x38\x62\x61\x32\x33\x30\x62\x61\x3C\x2F\
x72\x64\x66\x3A\x6C\x69\x3E\x20\x3C\x72\x64\x66\x3A\x6C\x69\x3E\x61\x64\x6F\x62\
x65\x3A\x64\x6F\x63\x69\x64\x3A\x70\x68\x6F\x74\x6F\x73\x68\x6F\x70\x3A\x61\x39\
x34\x65\x63\x38\x64\x63\x2D\x35\x34\x65\x36\x2D\x63\x37\x34\x37\x2D\x39\x66\x32\
x37\x2D\x64\x61\x31\x65\x30\x66\x33\x33\x65\x66\x38\x31\x3C\x2F\x72\x64\x66\x3A\
x6C\x69\x3E\x20\x3C\x72\x64\x66\x3A\x6C\x69\x3E\x61\x64\x6F\x62\x65\x3A\x64\x6F\
x63\x69\x64\x3A\x70\x68\x6F\x74\x6F\x73\x68\x6F\x70\x3A\x62\x36\x34\x39\x31\x34\
x32\x65\x2D\x37\x66\x34\x37\x2D\x61\x34\x34\x37\x2D\x39\x63\x34\x30\x2D\x66\x39\
x38\x32\x33\x36\x31\x37\x35\x65\x32\x30\x3C\x2F\x72\x64\x66\x3A\x6C\x69\x3E\x20\
x3C\x72\x64\x66\x3A\x6C\x69\x3E\x61\x64\x6F\x62\x65\x3A\x64\x6F\x63\x69\x64\x3A\
x70\x68\x6F\x74\x6F\x73\x68\x6F\x70\x3A\x62\x65\x38\x62\x66\x31\x61\x61\x2D\x33\
x64\x64\x
65\x2D\x34\x36\x34\x32\x2D\x62\x65\x37\x61\x2D\x63\x36\x30\x61\x61\x63\x64\x64\x36\
x36\x35\x64\x3C\x2F\x72\x64\x66\x3A\x6C\x69\x3E\x20\x3C\x72\x64\x66\x3A\x6C\x69\
x3E\x61\x64\x6F\x62\x65\x3A\x64\x6F\x63\x69\x64\x3A\x70\x68\x6F\x74\x6F\x73\x68\
x6F\x70\x3A\x64\x33\x36\x32\x32\x35\x34\x64\x2D\x65\x37\x62\x35\x2D\x64\x34\x34\
x35\x2D\x39\x30\x32\x63\x2D\x65\x64\x30\x61\x38\x62\x37\x62\x39\x31\x30\x34\x3C\
x2F\x72\x64\x66\x3A\x6C\x69\x3E\x20\x3C\x2F\x72\x64\x66\x3A\x42\x61\x67\x3E\x20\
x3C\x2F\x70\x68\x6F\x74\x6F\x73\x68\x6F\x70\x3A\x44\x6F\x63\x75\x6D\x65\x6E\x74\
x41\x6E\x63\x65\x73\x74\x6F\x72\x73\x3E\x20\x3C\x2F\x72\x64\x66\x3A\x44\x65\x73\
x63\x72\x69\x70\x74\x69\x6F\x6E\x3E\x20\x3C\x2F\x72\x64\x66\x3A\x52\x44\x46\x3E\
x20\x3C\x2F\x78\x3A\x78\x6D\x70\x6D\x65\x74\x61\x3E\x20\x3C\x3F\x78\x70\x61\x63\
x6B\x65\x74\x20\x65\x6E\x64\x3D\x22\x72\x22\x3F\x3E\x80\xCE\x5C\x9D\x00\x00\x88\
x4F\x49\x44\x41\x54\x78\x9C\xED\x9D\xDB\x55\x2B\x39\xD3\x86\xDF\xF9\xD7\x24\xE0\
x1D\x02\x13\x82\x77\x08\x26\x04\x76\x08\x10\x02\xDC\x7C\x73\x0D\x21\xE0\x10\x70\
x08\x10\x02\x0E\x01\x42\xC0\x21\xF4\x7F\xA1\xAE\x69\xB9\xDC\xAD\x53\xEB\xD0\xB6\
xDF\x67\xAD\x5E\x33\x1B\xDB\x5D\x3A\x96\x4A\x25\xA9\xF4\x57\xD7\x75\x20\x84\x90\
x8C\xAC\x01\x6C\xAC\x7F\x6F\x01\x1C\x1A\xA5\x85\x10\x42\xA2\xF9\x8B\xC6\x11\x21\
x24\x33\x6F\x00\xEE\xFA\xFF\xFF\x06\xF0\x4F\xC3\xB4\x10\x42\x48\x34\xFF\xD7\x3A\
x01\x84\x90\x8B\x62\x85\xC1\x30\x02\x8C\xD7\x88\x10\x42\xCE\x0A\x1A\x47\x84\x90\
x9C\xDC\xAB\x7F\xEF\x9A\xA4\x82\x10\x42\x66\x40\xE3\x88\x10\x92\x13\xDB\x6B\xB4\
x83\x59\x56\x23\x84\x90\xB3\x82\xC6\x11\x69\xCD\x3B\x80\xCE\x7A\x48\x5E\x6A\x96\
xEF\xBA\x7F\x84\x8F\x8C\xEF\xD6\xF9\xB0\x9F\xC7\x8C\x72\x08\x21\x84\xC6\x11\x21\
x24\x1B\xB6\xD7\xE8\x00\xEE\x37\x22\x84\x9C\x29\x34\x8E\x08\x21\xB9\xB0\xF7\x1B\
x71\xAF\x11\x21\xE4\x6C\xB9\x46\xE3\xC8\x76\xC7\xBF\x37\x4E\x0B\x21\x97\xC2\x1D\
xCC\x49\x35\x81\x5E\x23\x92\x0A\x97\x50\x49\x29\x82\xDB\xD6\x35\x1A\x47\x84\x90\
xFC\xD8\x4B\x6A\xDF\x00\xF6\xAD\x12\x42\x08\x21\x73\xA1\x71\x44\x08\x99\x0B\x63\
x1B\x11\x42\x2E\x0A\x1A\x47\x84\x90\xB9\xE8\xD8\x46\x34\x8E\x08\x21\x67\x0D\x8D\
x23\x42\xC8\x5C\x74\x6C\x23\xDE\xA3\x46\x08\x39\x6B\x68\x1C\x11\x42\xE6\xA0\x63\
x1B\xF1\x94\x1A\x21\xE4\xEC\xA1\x71\x44\x08\x99\x83\x8E\x6D\x44\xE3\x88\x10\x72\
xF6\xFC\xED\xF9\x7C\x0D\xE0\xA6\x7F\x6C\xF6\x30\x27\x52\x78\x35\xC0\x31\x32\x8B\
x5E\xA9\xBF\xEF\x91\x37\x5A\xB0\x96\xB9\xC2\xF1\xEC\x1D\x30\x03\xD5\x77\x01\xB9\
x53\x6D\x42\xDA\x43\x89\x53\x4A\x37\x96\x5C\xE1\xD0\xCB\x2A\x21\xAF\x55\x3D\xD6\
x96\x99\x03\x7B\xBF\x51\xEA\x5E\xA3\x35\x80\x8D\xF5\x6F\x69\xB7\x35\x96\xE7\x5C\
x3A\xAE\x74\xB9\xAF\x60\xF2\x6D\xCB\xCE\x2D\x77\xAA\x5D\x49\x5F\xAD\xA5\xC3\x6F\
x70\x7A\xA2\xB1\x56\x1D\x6B\x96\x50\x26\x1B\x1C\xEB\xEC\x98\xF2\xA8\xD1\x6E\x84\
x96\xFD\x43\x98\x53\x56\xE9\x74\x5D\xA7\x9F\x9B\xAE\xEB\x9E\xBB\xAE\xFB\xEA\xFC\
x7C\x76\x5D\x77\x3F\xF2\x0E\xDF\xF3\xAE\xDE\x13\xFB\x7B\x79\x6C\xDE\x03\xBF\x17\
xC2\x26\x22\x0D\x37\x5D\xD7\xBD\x76\x5D\xF7\x13\xF0\xDE\xD7\xC8\x77\xBB\x64\x86\
xD6\x51\xD7\x99\xB2\x79\xEC\xBA\x6E\x35\x43\x5E\x68\x1E\x7F\xFA\xEF\xDE\x04\xBE\
x7B\xAA\x2D\xAC\xFA\x34\xFB\xF2\xF8\xD5\x75\xDD\x5D\x62\xBE\x96\x50\x8F\xA5\x65\
xE6\xEA\x6B\x63\xCF\x9D\x7A\xF7\x3A\xF2\xF7\xF7\xDD\x74\xFD\xFE\x74\xA6\xFE\xA7\
xF2\x61\x63\x7F\x2F\xA6\xFF\xF8\xCA\x5D\xD2\x10\xD3\x6F\x36\x8E\xF7\xD9\x3A\xEA\
xD1\x21\xFF\x2B\x21\x4F\x3A\x0D\x6F\x01\xF9\xB3\x65\xC5\xEA\x06\x57\x3E\xBB\x6E\
x68\xAB\xAB\x3E\x2D\x53\xBC\x76\x43\x5F\x8F\xC5\xA5\xF3\x6B\x97\x49\x68\xBD\xDF\
x75\x6E\x9D\xE6\xD2\x9D\xAB\xFE\xF3\x29\x52\xDA\x6B\xED\xFE\x91\xAB\x8F\x74\x9D\
xA9\xCF\x90\x71\x26\xA9\x6D\xE9\x82\x7F\x4E\x78\x49\xD7\x19\x23\x29\x46\x31\x5E\
x8A\x71\x94\x52\xE8\x5D\x67\xCA\x39\x35\xCF\xA9\x32\xBB\xCE\x34\xB4\xE7\x2E\xAE\
x31\xA7\xB6\x89\xAE\x0B\xCB\xE7\x58\x5B\x58\x77\xE1\x86\x9F\xF0\x1A\x20\xEB\x12\
xEA\x31\x56\x66\x49\xE3\xC8\x1E\xF4\x3E\x23\x7F\xEB\x52\xF2\x36\x9F\x9D\x69\xAF\
xB9\x8C\xA3\x94\x72\xFF\xE9\xC2\x0D\xF0\x10\xC5\x1F\x9B\xF7\xD0\xBC\xAD\x3B\x77\
x39\xB9\xF8\xE9\xE2\x26\xBA\x21\xC6\xD1\xBA\x0B\x33\x46\x3E\xBB\x72\xC6\x51\xAD\
x32\xC9\x59\xEF\x3F\xDD\xE9\x78\x1A\x5A\x96\x5D\x17\x3F\x1E\xD7\xEC\x1F\x25\xCA\
xCA\x57\x47\xB3\x8C\xA3\x55\x67\x0A\x74\x0E\x63\x15\x3A\xF5\x5C\x82\x71\x14\x5A\
x79\x53\xC4\x0E\x26\x2E\x99\x3F\x9D\xC9\xBF\xFD\xB8\xF8\x09\x94\x37\xB7\x4D\x74\
x9D\x5F\xC1\xEB\xB4\xC6\x28\x01\x4D\x8A\x81\xB4\xA4\x7A\x2C\x21\xB3\x94\x71\x74\
xA3\xDE\x1B\x63\xA0\xC4\xE6\xFF\x6D\x24\x1F\x29\xB2\xE7\x96\x7B\xC8\x40\xE9\x53\
xFC\xB1\x93\x8D\x50\xEF\xC8\x7D\xE4\x7B\xA7\x08\x2D\x4B\x9F\x71\xE4\xF3\x90\x68\
x99\x25\x8C\xA3\x9A\x65\xE2\xAB\xF7\xD8\xFC\xD9\xE3\x69\x8A\x4E\x8C\x35\xAC\x6B\
xF5\x8F\x12\x65\xD5\x75\xEE\x31\x7B\x96\x71\x34\xF6\x63\xB1\xE6\xC7\x0C\x9E\x75\
x37\x5E\x90\x5F\x5D\x58\x85\xD4\x36\x8E\x36\xD6\xA3\xF3\xB8\x19\x79\x7C\x79\x18\
x2B\x2F\x71\x31\xEA\x4A\x5A\x77\xD3\xCB\x43\x31\x5E\x80\x31\x99\xAF\x9D\xDB\x20\
x15\xD9\xDA\xC8\x09\x69\xC4\x63\x4A\x5C\x3C\x4F\xBA\x8C\x56\xFD\xDF\xA6\x96\x88\
xDE\x1C\x72\x74\x5B\xB0\x7F\xFF\xDA\x19\x25\xAB\x65\xDD\x75\xD3\xAE\xFA\x98\x19\
xCC\x52\xEA\xB1\xA4\xCC\x52\xC6\x91\xCE\x47\xA8\x22\xD6\x4B\x71\xA1\xB8\x06\x87\
x90\xC1\x6B\x8E\x07\xD4\xC6\x37\x01\x74\x29\xFE\x54\xA3\xDF\x97\xBF\xD5\x8C\x77\
x8F\x11\xD2\x87\x7C\xC6\x51\xCC\x92\xFF\x54\xBF\x08\xFD\xED\x12\xCA\xC4\x55\x1E\
xB1\x5E\x70\x41\x0C\x9C\xD4\xDF\xC7\x4C\x16\x6B\xF5\x8F\x52\x65\xF5\xE5\x90\x37\
x7B\x59\xED\xAE\x33\x8D\xE9\xAB\x0B\x5F\x56\xDA\x74\xA7\x0D\x30\x44\x51\xD5\x36\
x8E\xE6\xFE\xC6\x7E\xF4\x8C\xB9\xEB\xCC\x40\xED\x1B\x1C\xA6\xD6\x8B\x43\xCB\xDA\
x2E\xE7\x9F\x88\xDF\xD9\x75\x25\x33\xD7\x94\xC6\x1B\x92\x47\xC9\xA7\x6D\xB8\xF8\
x3C\x8A\x63\x1E\x81\x50\x2F\xE4\x58\xFB\x73\x75\x92\xD6\xF5\xD8\x42\x66\x29\xE3\
xC8\x56\x62\x2E\xE3\xD7\xF5\xBB\x5C\xF8\x74\x8E\x6F\x20\x8F\xC1\xE7\xB5\xCB\x29\
x4B\xF8\xE9\xFC\x6D\x64\x8E\xC7\x35\x45\x5E\x8E\x7C\xDA\x72\x4A\x78\x8E\x6A\x96\
x49\x89\x7A\xEF\xBA\xF9\xDE\xFB\x90\x3D\x39\x35\xFB\x47\xC9\xB2\x9A\x9A\xF4\x27\
xB5\x2D\xFB\x28\xFF\x0E\xC0\x3F\x00\x7E\x23\x7C\x17\xFA\x07\x80\x07\xF5\x37\x1D\
x2D\xF7\xD2\xD0\x17\x1F\xEE\x01\xFC\x81\x7F\xE7\xFC\x01\xA6\xAC\xF4\x89\x9E\x90\
x8B\x14\xF5\xA5\x9E\x2F\x88\x3F\x29\xF0\x01\xE0\x16\xC0\x53\xA0\x3C\xFD\xDB\x90\
x3C\xA2\xFF\xCE\x1F\x98\x7C\x1E\x7A\x99\xB1\x27\xCA\x42\x7F\x23\xE9\xB2\x91\x93\
x6D\x3E\x5A\xD4\x63\x0B\x99\x25\xD0\x27\x07\x43\x8F\xEF\xDF\xE1\xF4\xD4\x4B\x0D\
x9E\x33\xBE\x6B\x8D\xFA\x3A\x4E\x5F\xCF\x32\xC6\x1E\xA6\xDF\xE4\x38\xC1\x13\x22\
x2F\x07\x0F\x28\x7B\xE2\xE8\x1C\xCB\x44\x13\xA2\xCB\x5C\x84\xB4\xD5\x73\xEF\x1F\
x42\x56\xB9\x3A\xCE\xD1\x01\xF1\x0D\x69\x87\xE3\x81\x2C\x74\x70\x3A\x57\x74\x07\
xD1\x83\xB3\x8F\x27\x1C\x97\xB1\x3E\x92\x39\x86\xFE\xBC\xF4\xF5\x0C\xBA\x91\x69\
x03\x38\x84\x07\x18\x63\x3B\xD6\x30\x7A\x89\xFC\xCD\x07\x4E\xCB\x63\x33\xF6\x45\
x45\x8B\x7A\x6C\x21\xB3\x04\x76\xFB\x88\x89\x6D\xE4\xD3\x0B\x07\x98\x3C\xDE\xF6\
xCF\x9F\x88\x77\xBB\x64\xBA\xE4\x7E\x63\x68\xAB\x7F\xF5\xCF\x1F\xB8\xDB\xE0\x5C\
x25\x2C\x46\xBD\xE4\x33\xC4\x48\x08\x69\xD3\xDA\x18\xF8\x86\x29\xCF\xDF\x18\xF2\
xF6\x17\x80\x5F\x01\x32\x43\xE4\x85\x70\x80\xE9\xD3\x4F\xFD\xB3\xB5\xFE\x66\xD7\
xED\x8B\x95\x3E\xD7\xC4\xEF\xC9\xFA\xDE\x6D\x80\xFC\x25\x95\xC9\x54\x59\xCC\xF9\
xBD\x0F\x9F\x41\xB7\xC4\xFE\x01\x9C\xE6\xF5\x05\xFE\xB2\x1A\x0B\xCF\x00\xA4\xB6\
xAD\x09\x37\x54\xEC\xA3\xDD\x56\x3E\x37\xF7\xB9\x2E\xAB\x69\x77\x60\xCC\x72\x82\
xFD\xE8\xF5\xDD\xD8\xDD\xF6\xB9\xEA\xAD\x64\x1E\x43\x1F\xDD\x16\x52\x8E\xAB\xAF\
xD5\x3B\x7C\xF5\xDA\xA2\x1E\x5B\xB5\x9D\x12\xCB\x6A\xF6\x52\x45\xCC\x7E\x2B\xD7\
xA6\x6A\xD7\x52\xAA\x6F\xA3\xA8\x4B\xDF\xB8\xF6\x52\xB8\x36\xAD\xFA\x0E\xA9\x4C\
x2D\x57\xF8\x96\x0C\xA6\xEA\xDD\xB7\x04\x14\xBA\x5C\x2C\xEF\x0A\xD9\xDE\xE0\x92\
xE9\x3B\xB4\x11\xB2\x34\x32\x55\xBE\xEB\x89\xBF\x87\xB4\x93\xD4\x10\x07\xA5\xCB\
xC4\x57\x1E\x53\x65\x11\x7A\x18\xCA\x55\x96\xBE\xA5\x43\x57\x59\xD7\xEE\x1F\xA5\
xCB\xCA\x37\x7E\x04\xB7\xAD\x5C\x11\xB2\x4B\x04\xE2\x5B\x22\xDA\xC2\x4E\xCD\xB7\
xB6\x5E\xC7\xAC\x5D\x17\xB1\xDF\x8F\x21\x57\x1E\x53\x49\x09\x2C\xA6\xD3\xE8\xF3\
xA6\xB4\xA8\xC7\xA5\xB4\x9D\xB9\xDC\x2B\x99\x31\x9E\x1D\xD7\xCC\x7B\x8B\xE9\x32\
x09\x59\x0A\x9E\xC2\x35\x2B\x76\x2D\x69\x8A\x17\x6B\x8A\x54\x2F\xC2\xD4\x3B\xF7\
x30\x33\xDC\x29\x62\x3C\x84\xBE\x77\xD9\xDF\x9B\xAA\xBF\xB9\xED\x4A\x96\xD4\xC7\
xCA\x77\x3F\xF1\xF7\x92\xB4\x2E\x13\xED\xF5\x15\x64\x1B\x82\x8F\xA9\xB6\xBA\x87\
xBF\x7F\xB8\xFA\xC0\xD2\xFA\x07\x30\xAF\xAC\xB2\xAD\x5A\xF1\xFA\x90\x79\xA4\x0E\
x70\xFA\x77\xBE\x86\xA4\x1B\x4A\xCD\x35\xDD\x73\x31\x7C\xF5\xD2\x6E\xEA\x6F\xE7\
xFC\x2E\x46\x21\xB4\x90\x99\x03\x5B\x5E\xCE\x08\xE5\x2E\xA3\xF8\xE0\xF9\xDC\xC5\
x54\xF9\xEC\xE0\x8F\x84\xFC\x81\xE9\xFC\xA5\x28\x61\xDF\xAD\x02\x3E\x43\xB3\x44\
x5D\x97\x8A\x06\x7D\xCE\x17\x10\xE7\x2E\x13\x5F\xFB\xF5\xDD\x64\xE0\x8B\xDA\xED\
x5B\x9E\x73\x19\x75\x4B\xEA\x1F\xC0\xFC\xB2\xCA\x06\x8D\xA3\x36\xC4\x2A\x0D\xDD\
x18\x9E\x01\xBC\xE1\xB2\xF7\x76\xC5\xD2\x42\x11\x5F\x8B\x4C\x41\x5F\x01\x91\xF3\
x1E\xB5\xDA\x57\xA4\x84\x1A\x75\x53\xE9\x4A\xD9\xEB\xE5\x1B\x6C\x2E\xE9\x3A\xA6\
x4B\xCA\xCB\x5C\x42\xDA\x9A\xEB\x3B\x21\x7D\xDE\xF5\xFB\x94\xB6\xDA\xA2\x7F\xC4\
xC8\x2D\xCE\xD8\xDD\x6A\x77\x18\xEE\x32\xE1\xE0\xBB\x0C\xBE\x61\x5C\xC2\xF6\xE9\
xA4\x3B\x0C\x03\x95\x34\x50\xED\xAE\x96\x7F\x2F\xA6\xC1\x91\xB3\x46\x6F\xEE\x8C\
x39\x18\xB0\x34\x5D\x12\xEA\x85\x99\x4A\x77\x6D\x8F\x5D\x28\x62\xC0\x8A\xFE\x6E\
xB1\x61\x1F\x58\x96\xCE\x59\x4A\x99\xB8\x70\x19\x40\x2D\xEE\x56\xBC\xD4\xFE\x11\
x8C\x6D\x1C\xAD\x01\xBC\x62\x79\x4A\x8C\x18\x9E\x60\xDC\xA3\x63\x4B\x6A\x1B\xF5\
xDF\x31\x76\x18\x3F\xD9\x45\x48\x28\x76\xDB\x8B\x5D\x36\xA9\xBD\x37\x0A\x70\xEB\
xB2\x0D\x2E\x40\x81\x2B\x9E\xD1\x2E\xBC\xC3\x52\x61\x99\x4C\x73\x6D\xFD\x23\x0A\
x31\x8E\xD6\x00\xDE\xD1\x46\x81\x91\x70\x1E\x60\x0C\x1C\xDB\x6B\x14\xCA\x9D\xF5\
x84\xC6\x2C\x22\x44\x48\x8D\x6D\xD4\x92\x6B\xD2\x67\x9F\xE0\xC4\x56\xC3\x32\x71\
x73\x4D\xFD\x23\x9A\xBF\x61\x0A\x68\xCC\x30\xDA\xC3\x0C\xC4\x21\x83\xE8\x0D\x2E\
x3F\xF8\xE3\x52\xD8\x61\x18\x98\x24\xCE\xCD\xAA\x7F\x44\x11\xD8\xFF\xAF\xD9\xC0\
xD4\xF7\xEF\x82\x69\x24\x97\x47\x6A\x6C\x23\x52\x9E\x47\xD0\x08\xD0\xB0\x4C\xC8\
x2C\xFE\xC6\xE9\xD1\x5C\x39\x2E\x17\xB3\xCE\xB9\x01\x8D\xA3\x16\xF8\xEA\x48\x02\
x72\xDE\xE3\xD8\x45\xBA\x86\x51\x1E\x21\x47\x5B\x09\x01\x8E\x3D\x95\x29\x4B\
xB3\x2D\x3C\x95\x4B\xDA\xF7\x52\x8A\x15\xF2\x46\x38\xBE\x04\x58\x26\x61\x5C\x43\
xFF\x48\xE6\x6F\x8C\x47\xED\x6D\xB1\x01\x8C\xE4\x47\x8E\x0E\xEF\x60\x0C\xA4\x57\
xEB\xB3\x3B\xD0\x38\x22\x61\xCC\x89\x6D\x24\xB4\x50\xC4\x2E\x83\x6C\x8B\xCB\xF0\
x7E\xF9\x96\xD7\xB7\x70\x9F\x1C\xBB\xC4\xBD\x25\x2C\x93\x30\xAE\xA1\x7F\x24\xF3\
x37\x8E\x5D\x8F\xB2\x94\x46\xCA\xD2\xE2\xB4\xC4\x16\xC7\xF7\xDE\xD0\xE5\x3C\x9F\
x16\xF5\xD8\x42\x66\xA9\xD8\x46\x5A\x46\x4D\xDD\xB3\xAA\x2C\x0F\x88\xBF\x26\x48\
x33\x36\x98\xB9\xF6\x8D\xDC\x22\x2C\x8F\x97\x66\x08\xB0\x4C\xE6\xD3\xA2\x7F\x2C\
x0A\x1D\xE7\xA8\x55\x61\x2C\xF1\x68\xE5\x18\x5A\x39\xA5\x1A\x18\xFA\x77\xB5\xCA\
x5D\x0F\x6A\x21\x1B\xF2\x2E\xD1\x88\x6A\x51\x8F\xE7\xDA\x76\x4A\xC6\x36\xB2\x71\
x0D\x46\x2B\xCF\xE7\x2E\xA6\x0C\xB9\x16\x97\xE0\xDE\x78\x64\x86\x5C\x2E\xAB\x99\
x6A\x47\xD7\x3C\xD1\x65\x99\x84\xB3\xA4\xFE\xB1\x28\x5A\x05\x81\xCC\x11\xE5\xB7\
x85\x65\xAF\xD3\x9D\x7A\x4B\xB3\x4E\x7B\xAD\x80\x69\x7A\x80\x1E\x33\x8E\x5A\x47\
x60\xAE\x41\x8B\x7A\x3C\xD7\xB6\x33\x27\xB6\x91\xC6\x35\x30\xB9\x36\xD0\xCE\xD9\
x3F\xE2\x92\xF9\x06\xFF\x04\x61\x85\xBC\x21\x4E\xA6\xF2\x22\xFB\x00\xA7\x28\x55\
xCF\xE7\x76\x62\x29\xB5\xDF\xC4\x70\x6E\x65\x32\x87\xA5\xF5\x8F\x96\x1C\xB5\x2D\
x6D\x1C\xD5\x1A\x08\x75\x47\x4F\x69\xF0\x35\x3A\x89\x46\x87\x71\x5F\x23\xBE\xCC\
xC6\x4E\xF6\xD5\x9A\xCD\xE8\x06\x3C\xA6\x70\xF5\x09\xC5\x39\xEB\xEF\x4B\x55\x32\
x2D\xEA\xF1\x5C\xDB\xCE\x9C\xD8\x46\x1A\xDF\x72\xDC\x27\x8C\xF1\x20\x6D\xEE\x1E\
xE6\x64\xE5\x9C\xC3\x1E\xAE\xF2\x59\xF7\x32\xF5\x9E\x2A\xF9\xEC\x11\xC0\x97\x95\
x8E\x1C\x03\xC0\x9D\xF5\x4E\xC9\xE7\x33\xFC\xA1\x54\xA6\xF2\xE1\xBA\xBE\xC1\x57\
x6E\x4B\x3D\x48\xE3\x32\x04\xD7\x30\xE5\xF7\x8E\x69\x43\xF3\x12\xCB\xA4\x14\x4B\
xEB\x1F\xA5\x09\x6E\x5B\xFF\x87\xE3\x86\xB4\x46\x9A\xD1\x11\x3B\x08\x6A\xD7\xFC\
x06\x71\x81\xBA\x72\x35\xE0\x94\xC1\x5B\xCF\x9C\x9F\x23\xDF\xF3\xAA\xFE\xED\xBB\
x17\x07\xFD\xFB\x3F\x31\xCF\x78\xD5\x01\x24\x5D\x03\x95\xAE\x9F\xD8\x3C\x02\xC7\
x83\xC0\x12\x69\x51\x8F\x2D\x64\x6A\x62\x14\x58\xEE\xD8\x46\x21\xBF\x7F\x84\x51\
x4E\xEF\x30\xF9\x9D\x3B\x61\x73\xDD\xFF\x04\x98\xFC\xBD\x02\xF8\xC1\xA0\x18\x3B\
x0C\x86\x9A\xD4\x8F\x84\x3C\xC9\xD1\x9E\x45\xA6\xE4\xF3\x11\xFE\x76\x90\xB2\xCF\
xEB\x15\x66\xF6\xFF\xA8\x9E\x67\x98\xFC\x2D\x35\xB6\x9D\xCF\x4B\x76\x83\xE1\x16\
x87\x58\xCE\xB5\x4C\x4A\xB1\xC4\xFE\x51\x92\xF0\xB6\xD5\x75\xDD\x63\x77\xCC\x4F\
xD7\x75\x77\x5D\xD7\x21\xF0\xB9\xE9\xBA\xEE\x53\xBD\xE3\x31\xE0\x77\xAF\xDD\x29\
x21\xBF\xDB\xF4\x69\xD4\xBC\x07\xA6\xF7\x4B\xFD\x2E\x26\xAF\xE8\xBA\x6E\x35\x22\
xFF\xB3\x2F\x07\xDF\xEF\xDE\x46\xD2\xED\xFB\x1D\xBA\xE3\xF2\x7D\xEF\xCB\x20\x26\
xCD\xEB\xEE\xB4\x8E\xEE\x1D\xDF\xBF\x19\x49\xE7\x67\xFF\x9E\x90\xF2\x79\x8E\x90\
xF5\xAE\xBE\x1B\x93\xAF\x39\xEF\x69\x51\x8F\x2D\x64\xEA\xFE\xFD\xDE\xBF\x2F\xA4\
x4C\xED\x3E\xFA\x13\xF8\x1B\xDF\xA3\xFB\x5F\x0E\x7C\x7A\x63\x93\x59\x9E\xAB\x3D\
xE7\x96\xD5\x75\xEE\xB2\x5F\x17\x90\x27\xCC\x29\xD3\x58\x1D\x65\x3F\xF7\x81\xE9\
x9B\xD2\xF9\x2D\xCA\xC4\x55\x1E\x21\x63\x93\xEE\xA7\x36\x21\xE3\xA2\xD6\x7F\x31\
xBF\xAF\xD9\x3F\x72\x94\xD5\x9C\xBC\x06\xB7\xAD\xFF\xC3\xE9\xEC\x73\x05\x63\x59\
x7F\xC2\x58\xD4\x9B\x91\xE7\x0E\xC3\x0C\xEF\x0B\x69\x16\xFC\x0B\x4E\x67\xBD\xCF\
xFD\xFB\x44\xAE\x04\x38\xB4\x5D\xEC\x62\xD9\xA7\xBA\xF7\xB5\x1B\xF1\xAD\x97\x6B\
xBB\xB9\x5D\x33\x87\x03\x4C\xA4\x6A\x1B\x71\xC7\xBD\x62\xB8\x9B\x4E\xFE\x7E\x87\
x21\x5F\xDA\x2B\xF7\x04\xBF\x25\xAB\xF7\x62\x48\x10\xC7\xCF\x91\xCF\x6C\x56\xBD\
xBC\x57\x9C\x46\x8A\xDD\xC3\xBD\x77\xE4\xBB\x4F\x9B\x8D\xB8\x58\xDF\x30\x94\x95\
x5D\x3F\x22\x4B\xEA\x4F\xFF\x76\x69\xD4\xAE\xC7\x56\x32\xC7\xBC\xB4\x32\xEB\x93\
x59\xF3\xD4\x6C\x6F\x6E\x6C\xA3\x31\x74\xBB\xAA\xC1\x07\xF2\x86\xAD\x48\xF1\xA4\
x02\xE9\x3A\xCB\x55\x66\x97\xB8\xC9\x78\xAE\x87\xF2\x12\xCB\xA4\x24\x4B\xE9\x1F\
x35\x08\x6F\x5B\xDD\x60\x69\x8F\x79\x63\x52\x09\xB1\x74\x63\xAC\x38\xCD\x4F\x77\
x3A\x3B\x08\xF5\x1C\x8D\x79\x45\x34\x21\xB3\x9E\xD4\xB4\x0B\xAF\x81\xE9\x9D\xF2\
x1A\x68\xBE\x3A\x53\x06\x2E\xAB\xBA\xEB\x8C\xA7\x22\xC5\x73\x90\x8A\x2F\x9F\xAD\
x3C\x47\xB5\xEB\xB1\xA5\x4C\xED\xC9\xD3\x8C\xF5\x1D\x9D\xC6\x10\xAF\x61\xE8\x13\
xDB\xAE\x7C\xED\x3A\x54\xDF\xF8\xCA\x21\x04\x9F\xA7\xCF\x37\x2B\x8E\xCD\x7B\x48\
x5D\xCF\xF1\x94\xB8\xF4\xBE\x4B\x66\x49\xCF\x51\x68\x5D\xB9\x74\x7E\xED\x32\x39\
x67\xCF\x51\xCD\xFE\x91\xA3\xAC\xE6\xE6\x35\xA8\x6D\xC9\x86\xEC\x3D\x4C\xFC\x87\
x94\x13\x11\x07\xA4\xCF\x2A\xB7\x30\x33\xE9\x98\x19\x95\xA4\x35\x35\xD6\xCA\x37\
x4E\x67\xEF\x29\x6C\x91\x76\x47\xD9\x01\x66\x26\x18\x9A\x06\x89\x58\xEE\x8B\xCF\
x21\x6B\xA5\xAE\x3D\x1A\x2F\xFD\x7B\x42\xD3\xFC\x00\x93\xD6\x94\x19\x6F\x6C\x3E\
x5B\x51\xAB\x1E\x5B\xCA\x7C\x41\xFC\x4C\xBA\x64\x6C\xA3\x07\x84\xCF\x54\xF7\x30\
x65\x95\x83\xA7\xFE\x5D\xA9\x7A\xEE\x09\xE6\xDA\x9D\x39\x27\xC7\x9E\x10\x5E\x96\
xA2\x1F\x7D\xEC\x11\xAF\x47\x01\x53\x07\x4B\x0D\x04\x9B\xD2\x66\x6D\x2E\xB1\x4C\
x4A\xB3\x84\xFE\x51\x83\xA0\xB6\x65\x9F\x56\xDB\xC3\x64\x2C\xB4\xF3\xEE\xFB\xEF\
xFE\x83\x79\x6E\xD0\x6D\x2F\xD7\xB7\xB9\x54\x1A\xFB\xEF\xC0\xF4\xF9\x64\xDE\x22\
xCF\x06\xD3\x7F\x10\x56\x66\xB2\x54\xF5\x1B\x69\x9D\xEF\x03\x26\xCD\xA1\xF2\x84\
x7D\x2F\x4F\x7E\x97\xA2\x2C\x62\x64\xDA\xED\xE2\x5C\x94\x4C\xCD\x7A\x6C\x21\xF3\
x00\xD3\x76\xE4\xE2\x62\x1F\x35\x62\x1B\x3D\xC1\x6D\xF0\x1F\xAC\xEF\xE4\xBC\x7A\
x44\xCA\xFD\x01\x61\xF9\xDA\xF5\xDF\xFD\x85\x3C\xED\xF9\x80\x41\xCF\x4E\xE5\x4B\
x0C\xC2\x18\x23\x38\x54\x8F\xCA\x64\xF6\x16\x6D\x96\x38\x43\xB1\xDB\x6C\xAA\xBE\
xBF\xB4\x32\xA9\x41\xEB\xFE\x51\x83\xA0\xB6\xF5\x57\xD7\x75\x53\x9F\xD9\x97\x97\
xCA\x7F\xE5\x45\x25\xD7\x73\xED\x3D\x17\xDF\x30\x19\xD9\xA3\xEC\xDD\x4C\xFA\xA2\
xD6\x54\x79\xF2\x9E\x15\xCC\x00\x23\xE9\x97\x6B\x3C\x4A\x20\xF2\x44\xA6\xC8\x03\
xCA\xD4\x93\xAB\x5D\x94\xAE\xA7\x5A\xB4\xA8\xC7\x16\x32\xA7\x90\xD3\x3B\xC2\x2F\
xD4\xE9\x7F\x72\x32\xEE\x1B\x75\xF7\x8C\x88\xCE\x91\x3D\x74\x73\xF4\x9C\xEC\x09\
x1C\x43\x26\x38\xFA\xFB\xB6\xDC\x5C\xF5\x2D\x6D\xC9\xEE\xA3\xA2\x4B\xCF\x15\xAD\
xA7\x63\xF3\x73\x89\x65\x52\x83\x9C\xFD\x63\xA9\x9C\xB4\x2D\x97\x71\x44\x08\xB9\
x4E\xBE\x30\x18\x2A\x3B\xE4\x5B\xD6\xBA\x06\x62\x8D\x23\x42\xC8\x02\x69\x15\x21\
x9B\x10\xB2\x4C\x72\xC7\x36\x22\x84\x90\xB3\x83\xC6\x11\x21\xC4\xC6\x3E\xD6\x7F\
x00\x8D\x23\x42\xC8\x15\x42\xE3\x88\x10\x62\x53\x22\xB6\x11\x21\x84\x9C\x15\x34\
x8E\x08\x21\x82\xBE\x43\x89\xC6\x11\x21\xE4\x2A\xA1\x71\x44\x08\x11\x74\x6C\xA3\
xA5\xC7\x2B\x21\x84\x90\x22\xFC\xDD\x3A\x01\x84\x90\xC5\xB0\xC5\xE0\x2D\xA2\x61\
x44\x08\xB9\x5A\x68\x1C\x11\x42\x84\x4B\x8A\x5B\x42\x08\x21\xC9\x70\x59\x8D\x10\
x42\x08\x21\xC4\x82\x41\x20\x09\x21\x84\x10\x42\x2C\xE8\x39\x22\x84\x10\x42\x08\
xB1\xF8\xEB\x7F\xFF\xFB\x5F\xEB\x34\x10\x42\x2E\x8B\x35\x8E\x4F\xBE\xF9\x2E\xFE\
x24\x84\x90\x45\xC1\x0D\xD9\x84\x90\xDC\x3C\x62\x08\x26\xF9\x8D\xF3\xB9\xAD\x9B\
x10\x42\x00\x70\x59\x8D\x10\x92\x97\x15\x18\x65\x9B\x10\x72\xE6\xD0\x38\x22\x84\
xE4\xE4\x5E\xFD\x9B\x77\xB3\x11\x42\xCE\x0E\x1A\x47\x84\x90\x9C\xD8\x5E\xA3\x1D\
x18\x4C\x92\x10\x72\x86\xD0\x38\x22\xAD\x79\x07\xD0\x59\x0F\xC9\x4B\xCD\xF2\x5D\
xF7\x8F\x90\x33\xA8\xA4\xCE\x87\xFD\x3C\x66\x94\x43\x08\x21\x34\x8E\x08\x21\xD9\
xB0\xBD\x46\x07\x70\xBF\x11\x21\xE4\x4C\xA1\x71\x44\x08\xC9\x85\xBD\xDF\x88\x7B\
x8D\x08\x21\x67\xCB\x35\x1A\x47\xB6\x3B\xFE\xBD\x71\x5A\x08\xB9\x14\xEE\x60\x4E\
xAA\x09\xF4\x1A\x91\x54\xB8\x84\x4A\x4A\x11\xDC\xB6\xAE\xD1\x38\x22\x84\xE4\xC7\
x5E\x52\xFB\x06\xB0\x6F\x95\x10\x42\x08\x99\x0B\x8D\x23\x42\xC8\x5C\x18\xDB\x88\
x10\x72\x51\xD0\x38\x22\x84\xCC\x45\xC7\x36\xA2\x71\x44\x08\x39\x6B\x68\x1C\x11\
x42\xE6\xA2\x63\x1B\xF1\x1E\x35\x42\xC8\x59\x43\xE3\x88\x10\x32\x07\x1D\xDB\x88\
xA7\xD4\x08\x21\x67\x0F\x8D\x23\x42\xC8\x1C\x74\x6C\x23\x1A\x47\x84\x90\xB3\xE7\
x6F\xCF\xE7\x6B\x00\x37\xFD\x63\xB3\x87\x39\x91\xC2\xAB\x01\x8E\x91\x59\xF4\x4A\
xFD\x7D\x8F\xBC\xD1\x82\xB5\xCC\x15\x8E\x67\xEF\x80\x19\xA8\xBE\x0B\xC8\x9D\x6A\
x13\xD2\x1E\x4A\x9C\x52\xBA\xB1\xE4\x0A\x87\x5E\x56\x09\x79\xAD\xEA\xB1\xB6\xCC\
x1C\xD8\xFB\x8D\x52\xF7\x1A\xAD\x01\x6C\xAC\x7F\x4B\xBB\xAD\xB1\x3C\xE7\xD2\x71\
xA5\xCB\x7D\x05\x93\x6F\x5B\x76\x6E\xB9\x53\xED\x4A\xFA\x6A\x2D\x1D\x7E\x83\xD3\
x13\x8D\xB5\xEA\x58\xB3\x84\x32\xD9\xE0\x58\x67\xC7\x94\x47\x8D\x76\x23\xB4\xEC\
x1F\xC2\x9C\xB2\x4A\x66\xCC\x38\xBA\x81\x51\x78\x77\x38\x2D\x10\xCD\x1E\x46\x21\
xC6\x2A\xC5\x77\x1C\x2B\xC3\xBF\x22\x7F\x2F\xD8\xD7\x21\x7C\x00\xB8\x0D\xF8\x9E\
xCD\x66\xE2\xB3\x5B\x84\x57\xFC\x0D\x4C\x7C\x04\x1D\xE7\x65\x8C\x2D\xCC\xCC\x7A\
x6E\xA3\x8A\xA9\x23\xF4\xF2\x3E\x7A\xF9\x29\x0D\x2A\x26\x8F\xE2\x3D\x78\xC1\x3C\
x25\xB3\x82\xC9\xE3\x3D\xDC\x79\xFC\x06\xF0\x84\xF9\x1E\x8B\x56\xF5\x58\x5B\x66\
x4E\x74\xBA\x63\xEB\xE0\x1E\x26\xFF\x63\xF5\x7B\x80\x69\x43\x2F\x69\x49\x73\x22\
xFD\xE7\x1E\xEE\x72\x97\x34\xC4\xF4\x9B\x0D\xA6\xE3\xA7\xD9\x3A\xEA\xB1\x7F\xC6\
xE4\x7F\xF7\x32\x53\xF3\xBE\x81\xC9\xDB\x66\xE2\xFD\x63\xB2\x62\x75\x83\x2B\x9F\
xC0\xA0\x43\x57\x00\x5E\x71\x6C\x18\xD9\x6C\x61\xFA\xEF\x3D\x80\xE7\x00\xB9\xCF\
xD6\xF7\x5C\x3A\x5F\x53\xBA\x4C\x42\xEB\xFD\x0E\x26\xFD\x53\x3A\x4D\xEA\x7D\x4C\
x77\xAE\xFA\xDF\xEA\x03\x10\x42\x4A\x7B\x1D\xA3\x64\xFF\x00\xF2\xF4\x11\xC0\xE8\
x9B\x27\xF8\xC7\x99\x47\x24\xB4\x2D\x7B\x59\x4D\x0A\xFE\x0B\xD3\x0A\x4B\xB3\x86\
x69\xF8\x9F\x38\xF5\x5C\x5C\x03\x8F\x30\xE5\xE5\x6B\x44\xC2\x3D\x4C\xA3\x08\xA9\
x28\x9F\xCC\xD0\x3A\x02\x4C\x63\x94\xBA\x7D\x46\x58\x5A\x05\xF9\x5D\x68\x1E\xC5\
xA8\x11\x59\x29\xAC\x61\xDA\x94\x4B\x89\x08\x37\x00\xDE\x60\xDA\x61\x2A\x2D\xEB\
xB1\xA6\xCC\xDC\xD8\x03\x5E\xAC\x17\xEF\xB5\x7F\xA6\xEA\x57\xF4\xD1\x27\xE2\xDA\
xAB\x0F\xBB\xFF\xF8\xDE\x6B\xEB\xC4\xA9\xC1\x3D\x85\x57\xB8\xFB\xE1\x0D\xD2\xF2\
xBE\x86\x69\x23\xEF\x08\x33\xB8\x6D\x59\xD2\x16\x73\xB2\x86\xBF\xEC\xA4\x5D\x97\
x62\x49\x65\xF2\x0A\xA3\xAB\x5C\x3A\xED\x1E\xE3\xE3\xA9\x94\xA5\x2B\x3D\xD2\x5E\
xDF\x47\x7E\x1F\xCA\x12\xFA\x07\xE0\xEF\x23\xE8\x65\x7E\x22\x7F\xBB\x05\x30\xEC\
x39\x5A\xC1\x14\x68\x6A\xF4\x51\x69\x80\xD7\x64\x20\x49\xE5\xA5\xF0\x08\x53\xA9\
xB9\x64\x1E\x30\x78\x87\xE4\x19\x63\x85\xA1\xF1\x87\xF0\x89\x79\x11\x69\x25\x9F\
x29\x0A\x3E\xD4\xF0\x13\xEE\x91\x66\x20\x2D\xA9\x1E\x4B\xCA\xCC\x8D\x5E\x26\x89\
xF1\x1A\xBD\x22\x5C\xA1\xC9\x04\x2C\x07\xA9\xE5\xBE\x82\x19\xD4\x72\x28\x61\xD7\
xCC\x5F\xB3\xEE\xE5\x86\x20\x83\xEA\xC6\xF7\xC5\x09\xC4\xC3\x93\x2B\x02\xB5\x94\
x59\x48\xDF\x2F\xB5\x4F\x6D\x49\x65\xF2\x88\xF0\x7A\x97\xF1\x58\xC6\x53\xD1\x89
\xA1\x7A\x54\xFA\x4C\xEC\xA4\x62\x09\xFD\x03\x88\x2F\xAB\x57\xA4\xD7\xF1\x24\x62\
x1C\xDD\xE3\xD4\xB0\xD9\xC3\xB8\xAC\x7E\xC3\x2C\x7B\xD9\xCF\x6F\x9C\x2E\xA5\xC5\
x74\x86\xDA\xDC\x5A\x8F\xCD\x5E\x7D\x26\x8F\x6F\x06\x3C\x56\x79\x07\x98\xF2\xBA\
xC5\x69\x59\x8D\xB9\xFE\xD6\x88\x6B\x88\x63\x32\xB7\xFD\xFB\x7F\x8D\xE4\xC1\x96\
xAD\xF3\xF3\x14\x20\xEF\x19\xE3\xFB\x98\x5E\xFA\xF7\xFF\xC2\x90\x47\x91\x3F\xE6\
x5E\x8D\x1D\xDC\x6C\x25\xB0\x05\xF0\x67\x44\xD6\x1F\x8C\x2B\x54\x59\x6A\x0C\x65\
x29\xF5\x58\x5A\x66\x09\x74\x39\x87\x2E\xAD\xDF\x21\x5E\x89\xDE\x61\xFE\xC4\x2B\
xC6\x28\x99\xE2\x75\x66\x3A\xD6\x88\x1F\x68\x37\x01\xBF\x91\x19\x7C\x0E\x9E\x91\
xC7\x0B\x10\xE2\xF5\x05\xCC\x44\xAE\xC4\xD2\xE9\x92\xCA\x44\x3C\x51\x31\xC8\xA0\
x9F\x3A\xAE\xC6\xEA\x88\x25\xF4\x0F\x20\xAD\xAC\x44\x76\x56\xFE\xFA\xDF\xFF\xFE\
x27\xFF\x7F\xD7\x0B\x38\x00\x78\x40\xD8\xDE\x86\x0D\x4E\x2B\xEE\x09\xFE\xC6\x5E\
x7B\xCF\xD1\xDC\xDF\xD8\xDC\xE0\xD4\xF3\xB2\x83\x29\x33\xD7\xBA\xEB\xD4\x7A\x71\
xE8\xFE\xA6\x1F\x0C\xE5\x7C\x80\x31\x10\x62\xF6\x9F\x88\x92\x15\xA3\xD7\xF7\x5D\
xED\xEA\x0E\xC9\x23\x70\xBA\xC7\xE0\x00\xB7\xC1\xA9\xDB\x42\xC8\x6F\xEC\x74\xEA\
xF6\xF7\x0D\xE0\x1F\xCF\xEF\x80\x36\xF5\xD8\x42\x66\xAE\xBE\xA6\xF9\xC2\x30\xF8\
xED\x60\xDA\x63\xEC\xEF\x72\xE1\xD3\x39\xBE\xFD\x31\x31\xEC\x61\x8C\xD6\x1A\xB2\
x84\x03\x4C\x9B\x76\xB5\x91\x58\xEF\xC2\x5C\x79\x39\xF2\x69\xCB\x09\xDD\x17\x62\
xE3\xD3\xDF\x35\xCB\xA4\x44\xBD\x03\xA6\xBD\xCD\x31\x38\xFE\x81\x7F\x4F\x4E\xCD\
xFE\x91\x5B\x9E\xCD\x03\xC6\x27\x69\x49\x6D\xCB\xDE\x73\xB4\x83\x29\xC8\xDF\x08\
x1F\x74\x3F\xFA\x04\xD9\x14\x59\xFF\x5B\x10\x7A\x16\xB7\x87\x19\x18\x7C\x46\x83\
x18\x9D\xBA\xF2\x42\x66\x92\x7A\xAD\xFC\x05\xF1\x1B\x73\x45\x91\x84\x78\x8D\xF4\
x2C\xE9\x03\x61\x79\x04\x06\xC3\x4D\xBC\x48\x21\x46\x8E\x26\xF4\x37\x92\x2E\x1B\
x39\xD9\xE6\xA3\x45\x3D\xB6\x90\x59\x02\x7D\x72\x30\x74\x59\x24\xF4\x00\x41\x6E\
x72\x7A\xD9\xD6\xA8\xAF\xE3\xF4\xF5\x2C\x63\x88\x17\x3C\xC7\x09\x9E\x10\x79\x39\
x08\x99\x6C\xCD\xE1\x1C\xCB\x44\x33\xD7\x13\x13\xD2\x56\xCF\xBD\x7F\x08\x59\xE5\
xEA\x38\x47\x07\xC4\x37\xA4\x1D\x8E\x07\xB2\xD0\xC1\xE9\x5C\xD1\x1D\x24\x74\xC6\
x2C\x3C\xE1\xB8\x8C\xF5\x91\xCC\x31\xF4\xE7\xA5\xAF\x67\xD0\x8D\x4C\x1B\xC0\x21\
x3C\xC0\x18\xDB\xB1\x86\xD1\x4B\xE4\x6F\xE4\x14\x9E\x4D\xC8\xFA\x73\x8B\x7A\x6C\
x21\xB3\x04\x76\xFB\x88\x89\x6D\xE4\xD3\x0B\xF6\xF2\xE2\x2D\xA6\x97\x4F\x63\xD0\
x41\x2A\x35\xDF\x18\xDA\xAA\x2C\x67\xFE\x81\xBB\x0D\xCE\x55\xC2\x62\xD4\x4B\x3E\
x43\x8C\x84\x90\x36\xAD\x8D\x01\x39\xC9\xA9\xB7\x46\xFC\x0A\x90\x99\x6B\x0F\x87\
x2C\xC5\x3F\xF5\xCF\xD6\xFA\x9B\x5D\xB7\x2F\x56\xFA\x5C\x13\xBF\x27\xEB\x7B\x21\
x5E\xFF\x25\x95\xC9\x54\x59\xCC\xF9\xBD\x0F\x9F\x41\xB7\xC4\xFE\x01\x9C\xE6\xF5\
x05\xFE\xB2\x1A\x0B\xCF\x00\x24\xB6\x2D\x5F\x9C\xA3\x50\x76\x38\x2E\xE0\x0D\x2E\
xF3\x56\x6E\x7D\x0C\x74\x87\xF8\xE3\xEA\x07\x98\x46\x6D\xCF\xFA\x37\x88\x33\x78\
x4A\xCE\xB6\xB4\x02\x48\xC9\xA3\x90\x92\xCE\x94\xA3\xEA\x5B\x1C\x77\xC8\x0D\xFC\
xCB\x2C\xB5\xEB\x71\x29\x6D\x27\x07\xA9\x97\xCC\xBA\x94\xF0\x94\x97\x71\x87\xB8\
x0D\xDC\x1A\xD7\xE0\x30\xE5\x59\x90\x90\x09\x53\x87\x4C\xC4\x73\x96\xD2\x2F\xA6\
x96\x20\xF7\x70\x2F\x01\x85\x4E\x38\x25\x4F\xAE\x3E\x20\xED\xC8\x25\x33\x87\x71\
x34\x55\xBE\x5B\xD4\x8D\x91\xB7\x84\x32\x99\x2A\x8B\x27\x84\x1D\x66\x72\x95\xA5\
xAB\xDD\xDC\xF4\x9F\x4D\xE9\xE2\xA5\xF5\x0F\x97\xDC\x17\x87\x4C\x5B\x76\x96\x70\
x27\xB9\x22\x64\x5F\xA2\x21\x34\xC6\xD8\xA6\xF5\x14\x74\xE5\xC5\xAE\x89\x97\xDC\
xF4\x9E\x2B\x8F\xA9\xA4\x34\x6C\x9D\x46\x9F\x37\xA5\x45\x3D\x2E\xA5\xED\xCC\x45\
x87\x1E\x88\xF1\xEC\xB8\x06\x17\x19\x98\xC6\x08\x59\x0A\x9E\xC2\xA5\x48\x5D\x4B\
x9A\xE2\xC5\x9A\x22\x75\xA0\x9C\x7A\xE7\x1E\x6E\x83\x3E\xC6\x43\xE8\x7B\x97\xFD\
xBD\xA9\xFA\x9B\xDB\xAE\xC4\xD8\x1D\x2B\xDF\xFD\xC4\xDF\x4B\xD2\xBA\x4C\xB4\xD7\
x57\x90\x6D\x08\x3E\xA6\xDA\x6A\xC8\x1E\x52\x9F\x31\x11\x2B\x13\x28\xD7\x3F\x80\
x79\x65\x95\x6D\xD5\x8A\xD7\x87\xCC\x23\x75\x80\xD3\xBF\xF3\x35\x24\xDD\x50\x6A\
xAE\xE9\x9E\x8B\xE1\xAB\x97\x76\x53\x7F\x3B\xE7\x77\x31\x0A\xA1\x85\xCC\x1C\xD8\
xF2\x72\x46\x28\x77\x19\xC5\x07\xCF\xE7\x2E\xA6\xCA\x27\xC4\x73\xF7\x81\xE9\xFC\
xA5\x28\x61\xDF\xAD\x02\x3E\x43\xB3\x44\x5D\x97\xF2\xE0\x9C\xF3\x05\xC4\xB9\xCB\
xC4\xD7\x7E\x7D\x37\x19\xF8\xA2\x76\xFB\x96\xE7\x5C\x46\xDD\x92\xFA\x07\x30\xBF\
xAC\xB2\x41\xE3\xA8\x0D\xB1\x4A\x43\x37\x86\x67\x98\x53\x5A\x97\xBC\xB7\x2B\x96\
x16\x8A\xF8\x5A\x64\x0A\x73\x62\x1B\xF9\xA8\x1D\xF9\x3B\xD4\xA8\x9B\x4A\x57\xCA\
x5E\x2F\xDF\x60\x73\x49\xD7\x31\x5D\x52\x5E\xE6\x12\xD2\xD6\x5C\xDF\x09\xE9\xF3\
xAE\xDF\xA7\xB4\xD5\x16\xFD\x23\x46\x6E\x71\xC6\xF6\x1C\xDD\x61\xB8\xCB\x84\x83\
xEF\x32\xF8\x86\x71\x09\xDB\x7B\x4D\xEE\x30\x0C\x54\xD2\x40\xB5\xBB\x5A\xFE\xBD\
x98\x06\x47\xCE\x9A\xD4\xD8\x46\xC0\xF2\x74\x49\xA8\x17\x66\x2A\xDD\xB5\x3D\x76\
xA1\x88\x01\x2B\xFA\xBB\xC5\x86\x7D\x60\x59\x3A\x67\x29\x65\xE2\xC2\x65\x00\xB5\
xB8\x32\xE8\x52\xFB\x47\x30\xB6\x71\x24\xC1\xFA\x96\xA6\xC4\x88\xE1\x09\xC3\xD5\
x1C\x9A\x8D\xFA\xEF\x18\xB2\x89\xAE\xF6\xE6\x5D\x72\x39\xD8\x6D\x2F\x76\xD9\xA4\
x45\x70\x58\x97\x2E\xDB\xE0\x02\x14\xB8\xE2\x19\xED\xC2\x3B\x2C\x15\x96\xC9\x34\
xD7\xD6\x3F\xA2\x10\xE3\x28\x67\xB0\x2C\x52\x0E\x09\xCE\x69\x7B\x8D\x42\xB9\xB3\
x9E\xD0\x98\x45\x84\x08\xA9\xB1\x8D\x5A\x72\x4D\xFA\xEC\x5A\xEF\xB7\x74\xC1\x32\
x71\x73\x4D\xFD\x23\x9A\xBF\x31\xDC\xE3\xA2\x0B\x6A\x0F\x33\x10\x87\x0C\xA2\x72\
x8B\x2F\x29\xCF\x0E\xC3\xC0\x24\x71\x6E\x56\xFD\x23\x8A\xC0\xFE\x7F\x8D\x44\x27\
xF5\x45\x31\x25\xC4\x26\x35\xB6\x11\x29\xCF\x23\x68\x04\x68\x58\x26\x64\x16\x7F\
xE3\xF4\x68\x6E\xEA\xD5\x14\x34\x8E\xEA\x13\x72\x5D\x85\x44\x2C\xB5\x5D\xA4\x72\
xC7\x53\x89\x3B\x8D\xC8\x65\x92\x1A\xDB\x48\x68\xE1\xA9\x5C\xD2\xBE\x97\x52\xE4\
xBC\x43\xEC\x52\x60\x99\x84\x71\x0D\xFD\x23\x99\xBF\x31\x1E\xB5\xB7\xC5\x06\x30\
x92\x1F\x39\x3A\xBC\xC3\xE9\xAD\xF5\x77\xA0\x71\x44\xC2\x98\x13\xDB\x48\x68\xA1\
x88\x5D\x06\xD9\x16\x97\xE1\xFD\xF2\x2D\xAF\xFB\x02\x2E\x5E\xE2\xDE\x12\x96\x49\
x18\xD7\xD0\x3F\x92\xF9\x1B\xC7\xAE\x47\x59\x4A\x23\x65\x69\x71\x5A\x62\x8B\xE3\
x7B\x6F\xE8\x72\x9E\x4F\x8B\x7A\x6C\x21\xB3\x54\x6C\x23\x2D\xA3\xA6\xEE\x59\x55\
x96\x07\xC4\x5F\x13\xA4\x19\x1B\xCC\x5C\xFB\x46\x42\x2F\xB5\xBE\x34\x43\x80\x65\
x32\x9F\x16\xFD\x63\x51\xE8\x38\x47\xAD\x0A\x63\x89\x47\x2B\xC7\xD0\xCA\x29\xD5\
xC0\xD0\xBF\xAB\x55\xEE\x7A\x50\x0B\xD9\x90\x77\x89\x46\x54\x8B\x7A\x3C\xD7\xB6\
x53\x32\xB6\x91\x8D\x6B\x30\x5A\x79\x3E\x77\x31\x65\xC8\xB5\xB8\x04\xF7\xC6\x23\
x33\xE4\x72\x59\xCD\x54\x3B\xBA\xE6\x89\x2E\xCB\x24\x9C\x25\xF5\x8F\x45\xD1\x2A\
x08\x64\x8E\x28\xBF\x2D\x2C\x7B\x9D\xEE\xD4\x5B\x9A\x75\xDA\x6B\x05\x4C\xD3\x03\
xF4\x98\x71\xD4\x3A\x02\x73\x0D\x5A\xD4\xE3\xB9\xB6\x9D\x39\xB1\x8D\x34\xAE\x81\
xC9\xB5\x81\x76\xCE\xFE\x11\x97\xCC\x37\xF8\x27\x08\x2B\xE4\x0D\x71\x32\x95\x17\
xD9\x07\x38\x45\xA9\x7A\x3E\xB7\x13\x4B\xA9\xFD\x26\x86\x73\x2B\x93\x39\x2C\xAD\
x7F\xB4\xE4\xA8\x6D\x69\xE3\xA8\xD6\x40\xA8\x3B\x7A\x4A\x83\xAF\xD1\x49\x34\x3A\
x8C\xFB\x1A\xF1\x65\x36\x76\xB2\xAF\xD6\x6C\x46\x37\xE0\x31\x85\xAB\x4F\x28\xCE\
x59\x7F\x5F\xAA\x92\x69\x51\x8F\xE7\xDA\x76\xE6\xC4\x36\xD2\xF8\x96\xE3\x3E\x61\
x8C\x07\x69\x73\xF7\x30\x27\x2B\xE7\x1C\xF6\x70\x95\xCF\xBA\x97\xA9\xF7\x54\xC9\
x67\x8F\x00\xBE\xAC\x74\xE4\x18\x00\xEE\xAC\x77\x4A\x3E\x9F\xE1\x0F\xA5\x32\x95\
x0F\xD7\xF5\x0D\xBE\x72\x5B\xEA\x41\x1A\x97\x21\xB8\x86\x29\xBF\x77\x4C\x1B\x9A\
x97\x58\x26\xA5\x58\x5A\xFF\x28\x4D\x70\xDB\xFA\x3F\x1C\x37\xA4\x35\xD2\x8C\x8E\
xD8\x41\x50\xBB\xE6\x37\x88\x0B\xD4\x95\xAB\x01\xA7\x0C\xDE\x7A\xE6\xFC\x1C\xF9\
x9E\x57\xF5\x6F\xDF\xBD\x38\xE8\xDF\xFF\x89\x79\xC6\xAB\x0E\x20\xE9\x1A\xA8\x74\
xFD\xC4\xE6\x11\x38\x1E\x04\x96\x48\x8B\x7A\x6C\x21\x53\x13\xA3\xC0\x72\xC7\x36\
x0A\xF9\xFD\x23\x8C\x72\x7A\x87\xC9\xEF\xDC\x09\x9B\xEB\xFE\x27\xC0\xE4\xEF\x15\
xC0\x0F\x06\xC5\xD8\x61\x30\xD4\xA4\x7E\x24\xE4\x49\x8E\xF6\x2C\x32\x25\x9F\x8F\
xF0\xB7\x83\x94\x7D\x5E\xAF\x30\xB3\xFF\x47\xF5\x3C\xC3\xE4\x6F\xA9\xB1\xED\x7C\
x5E\xB2\x1B\x0C\xB7\x38\xC4\x72\xAE\x65\x52\x8A\x25\xF6\x8F\x92\x04\xB7\xAD\xFF\
xC3\xA9\xC2\x7A\x45\x9C\x81\x74\x83\xF8\x08\xA4\x07\x8C\x0F\x14\x21\xEF\xD9\xC0\
x34\xEE\x54\xF4\xEC\x3D\xD6\x18\xD4\x03\x92\x04\xD0\xF4\xAD\xCF\xAE\x60\xD2\xAD\
x95\x7D\xC8\x89\x31\xB1\xCA\x45\x99\xC6\x0E\x18\x63\x41\x3E\x5D\xCB\x23\x3A\x4D\
xF2\xFB\x10\x65\x24\xC7\x68\xC5\x25\xFB\x8A\x65\x76\x98\x16\xF5\xD8\x42\xE6\xD8\
xBD\x7C\xA1\xCA\x3F\x77\x6C\x23\xDF\x05\x9A\xA5\xF0\xDD\x5A\x2E\x88\x62\x9C\xA2\
x55\x7B\x1E\xD3\x97\x82\xCF\x73\x78\x07\x53\xE7\xF6\xB3\xF4\x18\x40\x73\xC3\x3E\
x5C\x62\x99\x94\xE4\xDC\xFB\x47\x0C\xC1\x6D\xEB\xFF\x70\xAA\xB0\x45\x11\x7F\xC2\
x34\x98\xCD\xC8\x73\x87\x61\x86\xF7\x85\xB4\x46\xF5\x32\x92\xD0\xE7\xFE\x7D\x22\
x57\x02\x1C\xDA\x2E\x76\x19\xE4\x53\x3B\x90\xEE\x38\x6F\xBD\x5C\xDB\xCD\xED\x1A\
x3C\x0E\x30\x91\xAA\x6D\xC4\x1D\x27\x86\xE5\xC6\xFA\xBB\x74\xC4\x2F\x9C\x1A\x62\
x4F\xF0\x0F\x16\xBA\xD3\x4A\x10\xC7\xCF\x91\xCF\x6C\x56\xBD\xBC\x57\x9C\x46\x8A\
xDD\xC3\x6D\x1C\x7D\xE3\xB4\xC3\x88\x8B\xF5\x0D\x43\x59\xD9\xF5\x23\xB2\xA4\xFE\
xF4\x6F\x97\x46\xED\x7A\x6C\x25\x73\xCC\x4B\x2B\xB3\x3E\x99\x35\x4F\x29\xB3\xB9\
xB1\x8D\xC6\x08\x55\xC4\x39\xF9\x40\xDE\xB0\x15\x29\x9E\x54\x20\x5D\x67\xB9\xCA\
xEC\x12\x37\x19\xE7\x30\xC2\x2F\xAD\x4C\x4A\xB2\x94\xFE\x51\x83\xE0\xB6\xF5\x37\
x4C\x87\xBD\xC5\xA9\x67\xA1\xF4\xC5\xB3\x32\x00\xEB\xA5\x82\x1B\xF8\x37\x60\x4A\
x9A\x3F\x13\xE4\xBE\xE0\x74\x30\xD0\x83\xB9\xEF\xB8\xE7\x0E\x66\x90\xD3\x69\xBF\
x1F\x79\xF7\x14\x5B\x84\x7B\x1B\xC6\x3C\x5C\xBA\x7E\x24\xA6\x11\xE0\xB6\xEE\xF7\
x30\xF9\xF3\xF1\x82\xF1\x3D\x2E\xB1\x57\x97\x6C\x71\x6A\x10\x2C\x85\x9A\xF5\xD8\
x4A\xE6\xD8\xA5\xC5\xDA\xDB\x3B\x76\xE7\x5E\x8E\xD8\x46\x63\xEC\x7A\x59\x31\xB3\
x4B\xE9\x8B\x73\x96\xD8\xC4\xC0\x98\x7B\xCF\xD6\x1E\xE9\xD7\xEF\x88\xE7\x2C\x26\
xEF\x5B\xF8\x0D\xD3\x27\xA4\xE9\x42\xC0\xE4\x63\x69\x03\xD9\x01\xA7\x6D\x36\x96\
x4B\x2B\x93\xD2\x2C\xA1\x7F\xD4\x20\xB8\x6D\xC9\x86\x6C\x19\x30\x53\x5C\xDE\x2E\
x97\xAF\x0F\x19\x38\x63\x0A\x52\xD2\x9A\x1A\x6B\xE5\x1B\x79\x06\xEB\x2D\xD2\x1A\
xC1\x01\xA6\x21\x86\xA6\x41\x22\x96\xFB\x0C\x36\x71\x79\xBA\x06\x90\x97\xFE\x3D\
xA1\x69\x7E\x80\x49\x6B\x4A\x43\x8F\xCD\x67\x2B\x6A\xD5\x63\x4B\x99\x2F\x88\x9F\
x49\x97\x8C\x6D\xF4\x80\x70\xE3\x4E\x94\x6D\x0E\x9E\xFA\x77\xA5\xEA\xB9\x27\x98\
x6B\x77\xE6\x2C\x0D\x3E\x21\xBC\x2C\x43\x27\x16\x7B\xC4\xEB\x51\xC0\xD4\xC1\x5
2\x03\xC1\xA6\xB4\x59\x9B\x4B\x2C\x93\xD2\x2C\xA1\x7F\xD4\x20\xA8\x6D\xD9\xA7\xD5\
xF6\x30\x19\x0B\xED\xBC\xFB\xFE\xBB\xFF\x60\xDE\xAC\x72\xDB\xCB\xF5\x6D\x2E\x95\
xC6\xFE\x3B\x30\x7D\x3E\x99\xB7\xC8\xB3\xC1\xF4\x1F\x84\x95\x99\x78\xCA\x7E\x23\
xAD\xF3\x7D\xC0\xA4\x39\x54\x9E\xB0\xEF\xE5\xC9\xEF\x52\x94\x45\x8C\x4C\xBB\x5D\
x9C\x8B\x92\xA9\x59\x8F\x2D\x64\x8A\xA7\x55\x2E\x2E\xF6\x51\x23\xB6\xD1\x13\xDC\
x06\xFF\xC1\xFA\x4E\xCE\x59\xA8\x94\xFB\x03\xC2\xF2\x25\x9E\xBE\x5F\xC8\xD3\x9E\
x0F\x18\xF4\xEC\x54\xBE\xC4\x20\x8C\x31\x82\x43\xF5\xA8\x4C\x66\x6F\xD1\x66\x89\
x33\x14\xBB\xCD\xA6\xEA\xFB\x4B\x2B\x93\x1A\xB4\xEE\x1F\x35\x08\x6A\x5B\x7F\xFD\
xEF\x7F\xFF\x9B\xFA\xCC\xBE\xBC\x54\xFE\x2B\x2F\x2A\xB9\x9E\x6B\xEF\xB9\xF8\x86\
xC9\xC8\x1E\x65\xDD\x74\xFA\xA2\xD6\x54\x79\xF2\x9E\x15\xCC\x00\x23\xE9\xB7\x97\
xBC\x72\x23\xF2\x44\xA6\xC8\x03\xCA\xD4\x93\xAB\x5D\x94\xAE\xA7\x5A\xB4\xA8\xC7\
x16\x32\xA7\x90\xD3\x3B\xC2\x2F\xD4\xE9\x7F\xB2\x31\xFD\x1B\x75\xF7\x8C\x88\xCE\
x91\x3D\x74\x73\xF4\x9C\xEC\x09\x1C\x43\x26\x38\xFA\xFB\xB6\xDC\x5C\xF5\x2D\x6D\
xC9\xEE\xA3\xA2\x4B\xCF\x15\xAD\xA7\x63\xF3\x73\x89\x65\x52\x83\x9C\xFD\x63\xA9\
x9C\xB4\x2D\x97\x71\x44\x08\xB9\x4E\xBE\x30\x18\x2A\x3B\xE4\x5B\xD6\xBA\x06\x62\
x8D\x23\x42\xC8\x02\x69\x15\x21\x9B\x10\xB2\x4C\x72\xC7\x36\x22\x84\x90\xB3\x83\
xC6\x11\x21\xC4\x26\x77\x6C\x23\x42\x08\x39\x3B\x68\x1C\x11\x42\x6C\x4A\xC4\x36\
x22\x84\x90\xB3\x82\xC6\x11\x21\x44\xD0\xB1\x8D\x68\x1C\x11\x42\xAE\x12\x1A\x47\
x84\x10\x41\xC7\x36\x5A\x7A\xBC\x12\x42\x08\x29\xC2\xDF\xAD\x13\x40\x08\x59\x0C\
x76\x34\x66\x1A\x46\x84\x90\xAB\x85\xC6\x11\x21\x44\xB8\xA4\xB8\x25\x84\x10\x92\
x0C\x97\xD5\x08\x21\x84\x10\x42\x2C\xFE\xEA\xBA\xAE\x75\x1A\x08\x21\x84\x10\x42\
x16\x03\x3D\x47\x84\x10\x42\x08\x21\x16\xDC\x73\x44\x08\x21\xF3\x59\xE3\xF8\xB4\
x9F\xEF\xB2\x53\x42\xC8\x82\xE1\xB2\x1A\x21\x84\xCC\xE7\x0D\x43\x00\xCD\x6F\x98\
x9B\xCD\x09\x21\x67\x0A\x97\xD5\x08\x21\x64\x1E\x2B\x30\xB2\x38\x21\x17\x05\x8D\
x23\x42\x08\x99\xC7\xBD\xFA\x37\xEF\xA3\x23\xE4\xCC\xA1\x71\x44\x08\x21\xF3\xB0\
xBD\x46\x3B\x30\x80\x26\x21\x67\x0F\x8D\x23\x42\xEA\xF3\x0E\xA0\xB3\x1E\x92\x97\
x9A\xE5\xBB\xEE\x1F\xA1\x55\x20\xCD\x0D\x8E\xF3\x6C\x3F\xEF\x8D\xD2\x44\xCE\x0F\
xB6\xA3\x1E\x1A\x47\x84\x10\x92\x8E\xED\x35\x3A\x80\xFB\x8D\x08\xB9\x08\x68\x1C\
x11\x42\x48\x3A\xF6\x7E\x23\xEE\x35\x22\xE4\x42\xA0\x71\x74\x1D\x5C\xAD\x6B\x94\
x90\x82\xDC\xC1\x9C\x54\x13\xE8\x35\x22\xE4\x42\xA0\x71\x44\x08\x21\x69\xD8\x4B\
x6A\xDF\x00\xF6\xAD\x12\x42\x08\xC9\x0B\x8D\x23\x42\x08\x89\x87\xB1\x8D\x08\xB9\
x60\x68\x1C\x11\x42\x48\x3C\x3A\xB6\x11\x8D\x23\x42\x2E\x08\x1A\x47\x84\x10\x12\
x8F\x8E\x6D\xC4\x7B\xD4\x08\xB9\x20\x68\x1C\x11\x42\x48\x1C\x3A\xB6\x11\x4F\xA9\
x11\x72\x61\xD0\x38\x22\x84\x90\x38\x74\x6C\x23\x1A\x47\x84\x5C\x18\x7F\xB7\x4E\
xC0\x02\x59\x03\xB8\xE9\x1F\x9B\x3D\xCC\x89\x14\x5E\x0D\x70\x8C\xCC\xA2\x57\xEA\
xEF\x7B\x94\x89\x16\x2C\xB2\xD6\xEA\xEF\x07\x98\xBA\x29\x25\x73\xAC\x4D\x48\x7B\
x28\x71\x4A\xE9\xC6\x92\x2B\x1C\x7A\x59\x25\xE4\xD5\xAE\xC7\x56\x32\x73\x60\xEF\
x37\x9A\xBB\xD7\x48\xDA\x95\x6E\xCF\x25\xDB\x16\x60\x22\x21\xDB\x32\xA5\xEF\xE4\
x5C\x1E\x9C\xAA\x5F\xC9\x57\x0D\x5D\x5A\x3A\x9F\xEB\x5E\x46\xA9\xF7\xFB\x64\x4F\
x8D\x55\x4B\xEC\x3F\x1B\x98\xB4\x8E\xF5\xF7\x3D\xF2\xB7\xBD\x79\xF5\xD2\x75\x1D\
x9F\xAE\xBB\xE9\xBA\xEE\xB9\xEB\xBA\xAF\xCE\xCF\x67\xD7\x75\xF7\x09\x32\xDE\xD5\
x7B\x52\xD3\x6A\xF3\x1E\xF8\xBD\x10\x36\x11\x69\xB8\xE9\xBA\xEE\xB5\xEB\xBA\x9F\
x80\xF7\xBE\x46\xBE\x7B\x6E\xFD\x74\x9D\x29\x97\xC7\xAE\xEB\x56\x33\x65\x86\xE6\
xF1\xA7\xFF\xEE\x4D\xE0\xBB\xA7\xDA\xC2\xAA\x4F\xB7\x2F\x9F\x5F\x5D\xD7\xDD\xCD\
xC8\x5B\xAB\x7A\xAC\x25\x33\x57\x5F\x1B\x7B\xEE\xD4\xBB\xD7\x09\xEF\x08\xAD\xE7\
xAE\x1B\xDA\x96\xAF\x1C\x36\x8E\x77\xD8\x7A\xE2\xB1\x73\x97\xFD\x5B\x17\xDE\x8E\
xA7\xD2\xF1\xE6\x91\x21\x7C\x75\xF1\xFD\x74\x29\xF9\xBC\xEF\xA6\xEB\xEF\xA7\x97\
x3F\xD5\x1E\x6D\xEC\xEF\x85\xF6\x9F\x67\x4F\xDE\xEC\x34\xC4\xEA\xC0\xD0\xF2\x8D\
x6D\x0F\x21\xBC\x75\x69\x63\x6B\x91\x7A\x99\x93\x88\x4B\x78\x56\x9D\x69\x68\x29\
x7C\x76\x71\x8A\xF1\x52\x8C\xA3\xC7\x84\x77\x77\x9D\x29\xE7\x94\xFC\xA6\xCA\xEB\
x3A\xD3\x19\x9E\xBB\x78\x05\x91\xDA\x26\xBA\x2E\x2C\x9F\x63\x6D\x61\xDD\x85\x1B\
x7F\xC2\x6B\x80\xAC\xA5\xD4\x63\x4D\x99\x25\x8D\x23\x5B\xD1\x7F\x26\x96\x41\x88\
xE1\x30\xC6\x7B\x37\x3D\xA0\x87\x0C\x6A\xAF\x81\x72\x7E\xBA\xF8\x41\x6A\xDD\xB9\
x07\x9B\x5C\xF2\x5A\xE7\x33\xE6\xFD\x9F\x9D\xD1\x3D\xB9\x8C\xA3\x94\xFE\xF3\xD3\
xC5\x4D\xA4\x72\x19\x47\xBE\x7C\xBB\x88\x1D\x5B\x8B\xD4\x4B\x4E\xA5\x71\x6E\xCF\
xAA\x2F\xA4\x39\xFC\x74\xE1\x95\x78\x09\xC6\x51\x68\xE3\x9B\x22\x76\x30\x99\x92\
xF7\xD3\x99\xBC\xDB\x8F\x8B\x9F\x08\x99\x73\xDB\x44\xD7\x0D\x9D\x2F\xB4\x2D\xAC\
xBB\xF4\x01\x33\xC5\x40\xAA\x5D\x8F\xB5\x65\x96\x32\x8E\x6E\xD4\x7B\x63\x67\xFD\
x73\xCB\xA0\xEB\xA6\x07\x3B\xDF\xA0\x96\x32\xB0\x86\x4E\x98\xEE\x13\xDE\x3D\x46\
x48\x79\xB6\xCC\x67\x4A\x1D\xBE\x75\x79\x8C\xA3\xB9\x6D\x27\xA7\xF1\xE9\x7B\x52\
x26\x7A\x9A\x98\xB1\xB5\x48\xBD\xE4\x52\x1A\xE7\xF8\x8C\x75\xA2\xCF\xFE\xEF\x63\
x95\xB2\xEE\xC6\x2B\xE0\xAB\x0B\xF3\x4C\xD4\x36\x8E\x36\xD6\xA3\xF3\xB8\x19\x79\
x7C\x79\x18\x2B\x2F\x71\x53\x6A\xE5\xB2\xEE\xA6\x97\x0D\x42\xBD\x00\x63\xF2\x5E\
x3B\x77\x87\x11\xB9\xDA\xC0\x09\x55\x0C\x63\x1E\x23\xF1\x3E\xE9\x32\x5A\xF5\x7F\
x9B\x5A\x22\x7A\x73\xC8\xD1\x6D\xC1\xFE\xFD\x6B\x67\x06\x3F\x2D\xEB\xAE\x9B\x76\
x4F\xC7\xCC\x0C\x6B\xD7\x63\x0B\x99\xA5\x8C\x23\x9D\x8F\x18\x8F\xE4\x1C\x6F\xE4\
x18\xBA\x1F\xB8\x06\xB5\xD4\x81\xEA\xAB\xF3\xE7\x6B\xD5\xA5\x1B\xF6\x63\xF8\xDA\
x72\xAB\x7C\xA2\x3B\x5D\x52\x0D\xC5\x55\x3E\x21\xC6\x51\xAE\xB6\x13\x62\x6C\xCC\
x35\x8E\x72\x38\x1D\x84\x9F\x2E\x6C\xE9\xB3\x48\xBD\xE4\x52\x1A\xE7\xFA\xDC\xF5\
x05\xF4\xD5\x85\xCF\x1E\x36\x23\x85\x1A\xD2\xC0\x6B\x1B\x47\x73\x7F\x63\x3F\x7A\
xC6\xDC\x75\x66\xA0\xF6\x0D\x0E\xAB\x6E\xDC\xA0\x0C\x29\x6B\xBB\x8C\x7F\x02\x7F\
xA3\xEB\xE9\xBD\x0B\x1F\x50\xC7\x94\x42\x48\x1E\x25\x9F\xB6\xE1\xE2\x9B\xF5\x8C\
xCD\x58\x42\x67\x4A\x63\xED\x2F\x54\xB9\xB7\xA8\xC7\x16\x32\x4B\x19\x47\xF6\xE0\
xEB\x32\x7E\x43\xDA\xD6\x1C\xC6\x3C\x93\xB9\x65\x08\x21\x13\x8B\x39\x9E\x4F\xCD\
x4F\xE7\x6E\x1B\x2D\xF3\x39\xD7\x1B\x32\x86\x6F\xEC\xC8\x99\xDF\x10\xEF\xEB\x5C\
xE3\x28\xF7\x24\x20\x44\x66\x91\x7A\xB9\xF6\xA3\xFC\x3B\x00\xFF\x00\xF8\x8D\xF0\
xDD\xFD\x1F\x00\x1E\xD4\xDF\x74\xB4\xDC\x4B\xE3\x51\xFD\x7B\x0F\xE0\x0F\xFC\x3B\
xFF\x0F\x30\x65\xA5\x4F\xF4\xE8\xF7\x69\xF4\x85\x9E\x2F\x88\x3F\x7D\xF1\x01\xE0\
x16\xC0\x53\xE0\xF7\xEF\xD4\xBF\x3F\x10\x96\x47\xF4\xDF\xF9\x03\x93\xCF\x43\x2F\
x37\xF6\x94\x51\xE8\x6F\x24\x5D\x36\x63\xA7\x9D\xC6\xA8\x5D\x8F\xAD\x64\x96\x40\
x9F\x1C\x8C\x39\xBE\xFF\x9A\x31\x1D\x3B\x98\xB6\x52\x2B\xE8\x64\x88\x6E\xDB\x23\
x5F\x9A\xF4\xB5\x2C\xB5\xF0\xE5\xF3\x0E\xA7\xA7\xC2\x6A\xF0\x9C\xF1\x5D\x6B\x94\
x1D\xAB\x56\xC8\xDF\x3F\xF5\x69\x43\x4D\xB1\x7A\xB9\x76\xE3\x08\x30\x1D\x3A\xB6\
x53\xEF\x70\x3C\x90\x85\x0E\x4E\xE7\x8A\x56\x56\x7A\x70\xF6\xF1\x84\xE3\x32\x96\
x23\x9D\x53\xE8\xCF\x6A\x5C\xCD\xA0\x95\x86\x36\x80\x43\x78\x80\x31\xB6\x63\x0D\
xA3\x97\xC8\xDF\x7C\xE0\xB4\x4C\x36\x63\x5F\x54\xD4\xAE\xC7\x56\x32\x4B\x60\xB7\
x8F\x98\xD8\x46\xA1\xE9\xDD\xC1\xE4\x55\x9E\x17\x9C\x1E\x75\xDF\x22\xDC\x60\x1F\
xE3\xD0\xBF\xD7\x96\xE1\x7B\xD7\xD8\x51\xFC\x31\xB4\x81\xF4\xDD\xCB\xF8\x0D\xE0\
x2F\xEB\xF9\x05\xD3\x4F\x5C\x72\x43\xDA\xB2\x8B\x12\xF9\xF4\xE9\xF7\x43\x2F\xEB\
xB6\x7F\xFE\x60\x7E\xFC\x2B\x1D\x6C\x54\xF3\x8D\x41\xE7\x48\xF9\xFE\x81\x5B\x97\
x94\x34\x8E\x42\x0D\x69\xBB\x9D\x87\x4C\x7A\x5D\xEF\x2D\x57\x2F\x01\x2E\x2B\x3E\
xE3\x8F\xDE\x7F\xE0\x73\x8F\x9E\xEB\xB2\x9A\x76\xB3\xC6\x2C\x27\xD8\x8F\x76\xB7\
xBA\xDC\xD8\xBA\x6C\x4B\xD7\x65\xAE\x3C\x86\x3E\xBA\x2D\xA4\x1C\x57\x5F\xAB\x77\
xF8\xEA\xB5\x45\x3D\xB6\x90\x39\x56\xBE\x39\xEA\xCC\x5E\x36\x8A\xD9\x6F\xE5\x5B\
x66\xF8\xEC\xDC\xFB\x2A\xEE\xBB\xE1\x38\x7F\x4C\xFD\x8E\xC9\x19\x5B\xAE\x0A\xD9\
x23\x12\xD3\x3E\x65\xCF\x58\xC8\xF7\xA6\x96\xE2\x5C\x07\x28\x5A\xE5\xD3\xB5\x79\
xD7\xB5\x24\xEE\xDB\x28\xEC\x2A\x2B\x57\xDB\x71\x1D\xFA\xF0\xE5\xD5\xD5\xDE\xE6\
x2C\xAB\xF9\x0E\xC6\x4C\xF5\xDB\xB1\xAD\x02\x36\xAE\x6D\x03\xC5\xEA\x85\x9E\xA3\
x74\x4A\x05\x67\x5B\x1A\xDA\x32\x4F\xCD\xB7\x9E\x21\x84\xCC\x46\x53\xBE\x9B\x42\
xAE\x3C\xA6\x92\x12\xB0\x4D\xA7\xD1\xE7\x9D\x68\x51\x8F\x4B\x68\x3B\x39\xB8\x57\
x32\x63\x3C\x02\x2E\x2F\x88\x2C\xC1\xBA\x82\x21\x6E\x61\x3C\x03\x29\x9E\x4C\x1B\
xED\x81\xB3\xD3\xE0\xF3\xE6\xC5\x78\xC5\xF7\x30\x9E\x9A\x90\xEF\x4D\x95\xE3\x9C\
xFA\x2D\x95\x4F\x57\x3D\x6E\x31\xDD\xB6\x43\x97\xF5\xC7\x70\xA5\xC7\xE5\x41\x14\
x6F\xC9\x14\x73\x3D\x73\x53\xB8\xD2\xBB\xC5\xF4\x0A\xC0\x07\xDC\x6D\x66\x2C\x70\
xA4\x50\xAC\x5E\x68\x1C\x91\x58\x52\x07\x38\xFD\x3B\xDF\xA0\x61\x53\x7B\x4F\xD7\
xB9\x18\xBE\x7A\x69\x37\xF5\xB7\x73\x7E\x17\xA3\x68\x5B\xC8\xCC\x81\x2D\x2F\x36\
x42\xB9\x6B\xC0\x08\x59\xEE\x41\xE0\x77\x7C\xBF\x77\x19\xE0\xA5\x22\xCB\xFB\xC8\
x1D\x21\xBB\x55\x3E\x5D\xEF\xF4\xA5\xC9\xC5\x54\x3B\xDF\xC1\x5F\x76\x1F\x98\x6E\
xA7\xA5\xB6\x80\xB8\x8C\x5A\xDF\x84\xC2\xB7\x75\x22\x25\xCD\xB3\xEA\x85\xC6\x11\
xA9\x45\x8C\x82\xD7\x8D\xF6\x19\xC0\x1B\x2E\x7B\x5F\x57\x0A\x2D\x6E\x82\xBF\x16\
x99\xC2\x0D\x8E\xF7\x4D\xE5\xBC\x47\xAD\x96\x41\x72\x2E\xC6\xFE\x5C\x5A\xE5\xB3\
xB6\x61\x19\x9A\xCF\xA9\x74\xB5\xD8\xB3\xE7\x2B\xA3\x12\x7D\x7C\x56\xBD\xF0\x6E\
x35\xC3\x1D\x86\x5D\xF1\x1C\x80\xDB\xF3\x0D\x33\xAB\xB6\x4F\x3E\xDC\x61\x18\xA4\
xA4\xD1\xEB\xFB\x78\xE4\xDF\xD7\x32\x18\x90\xF2\xE8\x0D\xE5\x39\x0F\x07\x5C\x5A\
x3B\x15\x43\x52\xF4\x68\x8B\x41\xB8\x04\x4B\x1B\x13\x42\x3D\xA7\x53\xE9\x2E\xE1\
x79\x6D\x51\x46\x45\x65\x5E\xBB\x71\xB4\x86\x39\x66\xBB\xB4\xC6\x4F\xCC\x9A\xF0\
x0A\xE3\x4B\x6A\x1B\xF5\xDF\x31\x76\x18\x3F\xD5\x45\x48\x0C\x76\xFB\xDB\x21\x6E\
x86\x5B\x7B\xF9\xAF\x25\xCF\x68\x17\x66\xA1\x34\xB5\xF7\xB8\x01\xFE\xFD\x4F\x4B\
x6B\x5B\x2D\xCA\xA8\xA8\xCC\x6B\x5E\x56\x5B\x03\x78\x07\x0D\xA3\x25\xF3\x80\xF4\
x23\xB1\x77\x30\x86\xEF\x3B\xDA\x74\x5C\x72\xFE\xCC\x89\x6D\x74\x4D\x7C\xE2\x72\
x0D\xA3\x56\x50\x67\x35\xE6\x5A\x3D\x47\x2B\x8C\x0F\x9A\x7B\x18\x6F\x43\xC8\xEC\
xF0\x06\x97\x1F\xFC\x71\x09\xEC\x30\x0C\x4A\x12\x33\x66\xD5\x3F\x62\xD8\xDA\xFF\
xAF\xD9\xC0\xD4\xF5\xEF\x82\x69\x24\x97\x49\x6A\x6C\x23\xFB\x37\x97\xCE\x23\x38\
xC1\x24\x17\xC8\xB5\x1A\x47\xFA\x68\xAE\x1C\xF3\x8C\xD9\xC0\xB5\x01\x8D\xA3\xDA\
xF8\xEA\x47\x82\x71\xDE\xE3\xD8\xED\xBC\x86\x51\xE2\x21\x47\x8C\x09\x11\xEC\x
FD\x46\x29\xCB\xB3\x97\xB6\xA7\x48\xB3\x42\xDE\x08\xCE\x4B\xA5\x85\x91\x7B\x6E\x6D\
x27\xF7\xC9\xC3\x10\x8A\xD6\xCB\xB5\x1A\x47\x63\x51\x7B\x5B\x1C\x65\x25\x79\xF9\
xEE\x9F\x1D\x8C\x81\x64\x5F\xDB\x70\x07\x1A\x47\x24\x9C\x39\xB1\x8D\x42\xD9\xE0\
xBC\xF5\x8E\xEF\x9A\x8F\x2D\xDC\x83\xE6\x12\xF7\xCE\x8C\xD1\xC2\x50\x71\x0D\xFC\
x5B\x2C\x6F\x89\xB7\x85\x71\x54\xB4\x5E\xAE\xD5\x38\xB2\xDD\xC0\xB2\x94\x46\xCA\
x52\xFB\xE4\xCA\x16\xC7\x77\x09\xD1\xF5\x9F\x87\x16\x27\x90\x5A\xC8\x9C\x13\xDB\
x28\x94\x35\xCE\x5B\xF7\xB8\xF6\xC5\xDC\x22\x2C\x6F\xE7\x60\x1C\xF9\xA8\x6D\xE4\
xAE\x2A\xCB\xCB\xC1\x1D\xDC\x06\x5D\x89\x3E\x3E\xAB\x5E\xAE\x79\x43\xB6\xD0\xAA\
x91\x9D\xCB\x31\x57\x3D\x83\x49\x35\x32\xF4\xEF\x6A\x94\xBB\x1E\xD0\x42\x37\x39\
x5E\xA2\x21\xD5\xA2\x1E\xCF\xB5\xED\xE4\x8C\x6D\xE4\x4A\x6B\xE8\x7E\x1D\x7D\x11\
xF3\x52\x98\x4A\xFB\xB5\x4D\x38\x5D\x06\xDE\xCA\xF3\xB9\x8B\x29\x83\xBC\xD5\x25\
xB8\xBE\x36\xE8\xF2\x1E\xF9\xBC\x8C\xBE\xCF\x53\xDA\xD3\xAC\x7A\xA1\x71\x54\x8F\
x1C\x51\x7E\x5B\xCC\xB2\x74\xBA\x53\x6F\xCC\xD6\x69\xAF\xE1\x86\xD5\x83\xF3\x54\
xE7\x6E\x1D\x81\xB9\x06\x2D\xEA\xF1\x5C\xDB\x4E\xCE\xD8\x46\x2E\xA5\x2E\x07\x43\
xA6\xDA\x9B\xDC\x72\xFE\x86\xCB\x3C\x75\x79\x4E\xF9\x49\x35\x72\xE7\xEC\xC9\x72\
xC9\x7C\x83\xBF\xFC\x56\xC8\x1B\xAA\xC6\xF6\xC4\x8F\xE1\xF2\xAE\xDE\x61\xFA\x44\
xE3\x23\xDC\xE5\xE4\xEA\xEF\xC5\xEA\x85\xC6\x51\xBD\x81\x50\x57\x70\xCA\x40\x91\
x3A\xB8\xCC\x61\x8F\xE3\xB4\xAF\x11\x5F\x66\x63\x27\xFB\x6A\xCC\x2C\x75\xC7\x98\
xEA\x64\xFA\x84\xE2\x9C\xBD\x10\x4B\x55\xF8\x2D\xEA\xF1\x5C\xDB\xCE\x9C\xD8\x46\
x1A\x5F\x5A\xC5\x40\xFA\xC4\x10\x2B\xE8\xB1\xFF\xDB\x0F\x06\x25\x2E\xA1\x47\x96\
xD4\xBE\x5C\xD7\x53\xF8\x0E\xAB\x9C\xDB\x81\x16\xDF\xB2\xAA\xD4\x9F\xE8\x8E\x7B\
x98\xFA\x9A\x93\x47\x57\xDB\x59\xF7\x32\xF5\xDE\x38\xF9\xEC\x11\xC0\x97\x95\x8E\
x5C\x06\xD2\x2B\x80\xAE\x7F\x74\x5F\xF6\xB5\xF5\xE7\x3E\x4D\xD2\xCE\xED\x7F\xBB\
x70\x79\x6E\x8B\xD5\xCB\xB5\x1A\x47\x76\x81\xAE\x91\x66\x74\xC4\x2A\x29\x5D\xC1\
x1B\xC4\xC5\x06\xC9\xA5\x4C\x52\x94\xAB\x9E\x39\x3F\x47\xBE\xE7\x55\xFD\x7B\x0B\
xF7\x80\xB3\x82\x69\xD4\x73\x0C\x57\x1D\x40\xD2\xD7\x89\x74\xFD\xC4\xE6\x11\x30\
xED\x48\x14\xD2\x12\xA9\x5D\x8F\xAD\x64\x6A\x62\x06\x86\xDC\xB1\x8D\x42\x97\x98\
x64\x40\x7B\xC6\xA0\xCC\xC7\xBE\xB3\x34\x03\x69\x8A\x57\x18\xEF\xC6\xA3\x7A\x9E\
x61\xFA\xF6\xB9\xE4\x43\x08\x69\x07\x62\xD4\xBE\xC3\xE4\x7F\xEE\xC4\xDB\x75\x3F\
x1A\x60\xDA\xE9\x2B\x8C\x11\xFD\xD5\xCB\xED\x30\x18\x04\x52\xBE\x62\x80\x97\xD6\
x4B\x21\x13\x89\x1B\x0C\xED\xE0\x11\x61\xCB\x83\x2E\xCF\x6D\xB9\x7A\xE9\xBA\xEE\
x1A\x9F\xC7\xEE\x98\x9F\xAE\xEB\xEE\x22\x7E\x7F\xD3\x75\xDD\xA7\x7A\xC7\x63\xC0\
xEF\x5E\xBB\x53\x42\x7E\xB7\xE9\xD3\xA8\x79\x0F\x4C\xEF\x97\xFA\x5D\x4C\x5E\xD1\
x75\xDD\x6A\x44\xFE\x67\x5F\x0E\xBE\xDF\xBD\x8D\xA4\xDB\xF7\x3B\xBB\x6C\xDF\xFB\
xFC\xC7\xA4\x77\xDD\x9D\xD6\xCF\xBD\xE7\x37\x37\x23\xE9\xFC\xEC\xDF\x15\x52\x3E\
xCF\x11\xF2\xDE\xD5\x77\x53\xDB\x71\xEC\x7B\x6A\xD7\x63\x2B\x99\xBA\x7F\xBF\xF7\
xEF\x0B\x29\x53\xBB\x8F\xFE\x04\xFE\x26\xA4\x3D\xE6\xE4\x73\x24\x3F\x1B\xC7\xF7\
x43\xF4\x84\x6E\x4B\x36\x53\x3A\x2A\x77\xBE\x6C\xA6\xD2\xD9\x22\x9F\xF2\x68\x3D\
x9A\x03\x9F\x4C\x57\x7E\x53\xF0\xE9\x41\x44\xBC\x6B\x4C\x2F\xEB\xBE\x37\x97\xD7\
x89\x34\x16\xAF\x97\x6B\xF5\x1C\xE9\xD9\xE7\x0A\x66\x96\x23\x91\x5E\x37\x23\x8F\
xAC\x99\xBE\xC3\x58\xE9\x29\x6E\xCA\xB1\x5B\xB8\xC5\xB5\x28\x72\x25\xC8\xA1\xED\
x02\x94\x59\x56\xAA\x7B\x5F\xCF\x5C\xDF\x7A\xB9\x12\x0F\x68\x03\xF7\x2C\xEE\x00\
x13\xAD\xDA\x66\xDD\xA7\xFB\x15\xC3\xDD\x74\xF2\xF7\x3B\x0C\xF9\xD2\x5E\xB9\x27\
xB8\xD7\x90\xF5\x3A\xB1\x04\x71\xFC\x1C\xF9\xCC\x66\x85\x21\x2A\xF6\xA7\xFA\xDE\
x1E\xFE\x7D\x23\xDF\x7D\xDA\x6C\xC4\x75\xFD\x86\xA1\xAC\xEC\xFA\x11\x79\x52\x7F\
xFA\xB7\x4B\xA3\x66\x3D\xB6\x94\x39\xE6\xA5\xD5\xCB\x56\x53\xB3\xE8\xB9\xB1\x8D\
xC6\xD8\xE3\xB4\x6D\xCD\xE1\x06\xCB\x38\xD0\x71\x6D\x1B\xAF\x73\xD6\x61\x28\x1F\
xC8\x1B\x82\x24\xC4\x73\x3B\xA7\xDD\xBF\x20\xDF\xC9\xCE\x31\x9D\x3C\x46\x99\x7A\
x09\xB0\xCA\x2E\xF5\x59\x77\xE3\xDE\x98\x54\x42\x3C\x40\xE8\x8C\xE5\x9E\xC2\x4F\
x77\x3A\x53\x0B\xF5\x1C\x8D\x79\x45\x34\x21\xDE\x99\xD4\xB4\x0B\x21\xB3\x80\x29\
x8F\x81\xE6\xAB\x33\xF9\x77\xCD\x04\xBB\x6E\x7C\x96\xED\x7A\xC6\xBC\x7B\xB1\xF8\
xF2\xD9\xCA\x73\x54\xB3\x1E\x5B\xCB\xD4\x9E\x3C\xCD\x58\xDF\xD1\x69\x0C\xF1\x1A\
xC6\x3C\x39\x66\xD5\xA2\x07\xF4\xBB\x5B\x79\x54\xE6\x78\x8F\x5C\xFA\x77\x4A\x5E\
x4B\xCF\x51\x8A\x7E\xF0\xE9\xA8\xD0\x71\xC3\xD7\x9E\x43\x08\xF1\xD8\xA2\xFF\x4E\
xC8\xD8\x38\x35\x66\xAC\xBA\x53\xCF\x7D\x2C\x5F\x5D\x5C\xFF\xCB\x5E\x2F\xD7\xEA\
x39\x02\x8C\x75\x7B\x8B\xB4\x93\x2F\x07\xA4\x5B\xD7\x5B\x98\x99\x74\x8C\x17\x48\
xD2\x9A\x6A\x91\x7F\xE3\x74\xF6\x9E\xC2\x16\x26\x60\x66\xAC\x07\xEB\x00\x63\xDD\
x87\xA4\x41\xA2\x95\xFB\xE2\xA4\xDC\xC0\xBF\x71\xFA\xA5\x7F\x4F\x4C\x7A\x1F\x60\
xD2\x9A\xE2\xA5\x8B\xC9\x67\x4B\x6A\xD4\x63\x6B\x99\x2F\x88\xF7\x6A\x94\x8E\x6D\
xF4\x02\x53\x06\xA9\xA7\xED\xB6\x00\xFE\xC1\xB2\xA2\x27\xEF\x11\xAF\xCF\x00\x53\
x16\xE7\x18\x94\xF5\x01\xE1\xE9\xDE\xC3\xD4\x77\x0E\x9E\x90\xDE\x76\xA4\x0F\xFD\
x0E\xFC\xFD\x37\xE2\xF5\xA6\x96\x77\x8B\xF4\xFA\xDD\xC1\xA4\x35\xA6\x9D\x67\xAF\
x97\x6B\x36\x8E\x00\x53\x48\xBF\x61\x1A\x4E\x48\x45\x88\x7B\xFC\x1F\xCC\xDB\xA8\
xB9\xED\xE5\xFA\x36\x97\x8A\xE2\x89\x6D\x28\x53\x32\x6F\x31\x7F\x83\xE9\x0E\x26\
xFF\x21\x65\x26\x6E\xD1\xDF\x88\xEF\x28\x1F\x30\xE9\x0D\x95\x25\xEC\x7B\x59\xF2\
xBB\x94\x0E\x6E\xFF\x3E\xB6\x5D\x9C\x8B\xC2\xAF\x55\x8F\xAD\x64\x8A\x82\x7E\x40\
x98\x91\x94\x33\xB6\x91\x0B\x29\x83\x87\x40\x19\xDF\x18\xDA\x63\x8A\x11\x52\x83\
x50\x7D\x26\x93\xCA\x5B\xB4\x59\xA2\xCA\xC5\x13\xDC\x93\xB7\x83\xF5\x9D\x9C\xF5\
x15\xDB\x76\x76\xFD\x77\x7F\x21\xBE\x0F\xED\x31\xF4\xD5\x94\xA5\x53\x29\x03\xD1\
x89\x3E\xA3\xCC\x6E\x1B\x29\x93\x28\x20\x73\xBD\xFC\xD5\x75\x5D\x42\x1A\x2E\x16\
xFB\x02\x53\xF9\xAF\x28\xF1\x92\x6B\xEB\xF6\x9E\x8B\x6F\x98\x8A\xDB\xA3\xAC\x22\
xD4\x97\xB5\xA6\xCA\x93\xF7\xAC\x60\x06\x18\x49\xBF\x5C\xE5\x91\x1B\x91\x25\xF2\
x44\x16\x50\xAE\x8E\x5C\xED\xA2\x74\x3D\xD5\xA2\x76\x3D\xB6\x92\x39\x85\x8E\xB5\
xF2\x0B\xF5\xEA\xD5\xEE\xFF\xC0\xF9\xB7\x2D\xA9\x53\x3B\x3F\xA2\xD3\x2E\x0D\xC9\
xA7\xEC\x01\xFB\xC6\xA9\x1E\x72\xC5\xB2\x7A\xC2\xBC\x09\x87\xBC\x57\xF6\x42\xD6\
x18\xAF\x52\x91\xBD\x72\x35\xFA\xFB\xEC\x7A\xA1\x71\x44\x08\x21\x66\x03\xB8\x28\
xD2\x1D\xF2\x2D\x87\x90\xEB\x66\x05\x73\xD4\x7E\x8A\xD0\x6B\x56\x48\x5E\xBC\xF5\
x72\xED\xCB\x6A\x84\x10\x92\x3B\xB6\x11\xB9\x7C\x24\x7A\xB9\x0F\x5F\x80\xC3\x16\
x17\xB6\x5E\x32\xD9\xEA\x85\xC6\x11\x21\xE4\xDA\xB1\x8F\xF5\x1F\x40\xE3\x88\xB8\
x91\x60\x9C\xCF\x98\x5E\x9A\x91\xAB\x3B\x5C\x81\x17\x5B\x2C\x1F\x5F\x32\x59\xEB\
xE5\xEF\xEC\xC9\x23\x84\x90\xF3\xA2\x44\x6C\x23\x72\x99\xE8\x28\xE5\x72\x62\x56\
x1B\x3A\x21\x51\x98\xD9\xD6\xF2\x91\xBD\x5E\xB8\xE7\x88\x10\x72\xCD\xDC\xE3\xF8\
x8A\x92\x7F\xC0\xD9\x3C\x19\x27\xE7\xF5\x2D\x07\x84\x1F\xAD\x27\x6E\x8A\xD4\x0B\
x97\xD5\x08\x21\xD7\x8C\x8E\x6D\xC4\xC1\x8A\x8C\x21\x91\xFA\x73\xDD\x07\x17\x72\
xBC\x9D\xF8\x29\x56\x2F\xF4\x1C\x11\x42\xAE\x19\xDB\x38\xE2\x1E\x10\x32\x85\x5C\
xDE\x9A\xE3\x5A\x20\x09\x04\x4C\xE6\x53\xAC\x5E\x68\x1C\x11\x42\x08\x21\x7E\xE4\
x0E\xCE\xB0\x5B\xDD\xC7\xA1\x61\x94\x9F\x22\xF5\xC2\x65\x35\x42\x08\x21\xC4\x8F\
x1D\x75\x3D\xD6\xC3\x28\x57\x40\xD1\x30\xCA\x4F\x91\x7A\xA1\xE7\x88\x10\x42\x08\
x21\xC4\x82\x9E\x23\x42\x08\x21\x84\x10\x8B\xAB\x8C\x73\xF4\xEF\xBF\xFF\xB6\x4E\
x02\x21\xE4\xB2\x58\xE3\x78\xCF\x83\xEF\x12\x56\x42\xC8\x82\xB9\x4A\xE3\x88\x10\
x42\x32\xF3\x88\x21\x98\xE4\x37\xE6\x5D\x26\x4A\x08\x69\x0C\x97\xD5\x08\x21\x64\
x1E\x2B\x30\xCA\x36\x21\x17\x05\x8D\x23\x42\x08\x99\x87\xBE\xA7\x89\x77\xB3\x11\
x72\xE6\xD0\x38\x22\x84\x90\x79\xD8\x5E\xA3\x1D\x18\x48\x92\x90\xB3\x87\xC6\x11\
x21\xF5\x79\x07\xD0\x59\x0F\xC9\x4B\xCD\xF2\x5D\xE3\x38\x3A\xEF\x47\x61\x79\x53\
x6C\x70\x9C\x67\xFB\x79\x6F\x94\x26\x72\x7E\xB0\x1D\xF5\xD0\x38\x22\x84\x90\x74\
x6C\xAF\xD1\x01\xDC\x6F\x44\xC8\x45\x40\xE3\x88\x10\x42\xD2\xB1\xF7\x1B\x71\xAF\
x11\x21\x17\x02\x8D\xA3\xEB\xE0\x6A\x5D\xA3\x84\x14\xE4\x0E\xC7\xB7\x81\xD3\x6B\
x44\xC8\x85\x40\xE3\x88\x10\x42\xD2\xB0\x97\xD4\xBE\x61\xEE\x69\x22\x84\x5C\x00\
x34\x8E\x08\x21\x24\x1E\xC6\x36\x22\xE4\x82\xA1\x71\x44\x08\x21\xF1\xE8\xD8\x46\
x34\x8E\x08\xB9\x20\x68\x1C\x11\x42\x48\x3C\x3A\xB6\x11\xEF\x51\x23\xE4\x82\xA0\
x71\x44\x08\x21\x71\xE8\xD8\x46\x3C\xA5\x46\xC8\x85\x41\xE3\x88\x10\x42\xE2\xD0\
xB1\x8D\x68\x1C\x11\x72\x61\xFC\xDD\x3A\x01\x0B\x64\x0D\xE0\xA6\x7F\x6C\xF6\x30\
x27\x52\x78\x35\xC0\x31\x32\x8B\x5E\xA9\xBF\xEF\x51\x26\x5A\xB0\xC8\x5A\xAB\xBF\
x1F\x60\xEA\xA6\x94\xCC\xB1\x36\x21\xED\xA1\xC4\x29\xA5\x1B\x4B\xAE\x70\xE8\x65\
x95\x90\x57\xBB\x1E\x5B\xC9\xCC\x81\xBD\xDF\x68\xEE\x5E\x23\x69\x57\xBA\x3D\x97\
x6C\x5B\x80\x89\x84\x6C\xCB\x94\xBE\x93\x73\x79\x70\xAA\x7E\x25\x5F\x35\x74\x69\
xE9\x7C\xAE\x7B\x19\xA5\xDE\xEF\x93\x3D\x35\x56\x2D\xB1\xFF\x6C\x60\xD2\x3A\xD6\
xDF\xF7\xC8\xDF\xF6\x66\xD5\x0B\x8D\x23\xC3\x0D\x8C\xC2\xBB\xC3\x69\x43\xD3\xEC\
x61\x14\x62\xAC\x52\x7C\xC7\x71\x65\xFD\x15\xF9\x7B\xC1\xBE\x0E\xE1\x03\xC0\x6D\
xC0\xF7\x6C\x36\x13\x9F\xDD\x22\xBC\x43\xDD\x00\x78\xC4\x69\x9C\x97\x31\xB6\x30\
x33\xEB\x39\x9D\x35\xA6\x7E\xD0\xCB\xFA\xE8\x65\xA7\x76\xB8\x98\x3C\x8A\xF7\xE0\
x05\xF3\x14\xFE\x0A\x26\x9F\xF7\x70\xE7\xF3\x1B\xC0\x13\xE6\x7B\x2C\x6A\xD7\x63\
x2B\x99\x39\xD1\xE9\x4E\xA9\x83\xD0\x7A\x06\x86\xB6\x95\xAB\x1C\x1E\xFB\x67\xAA\
xEC\x77\x30\x6D\x2B\xB5\x1D\x6F\x60\xF2\xB5\x71\xC8\x10\xBE\x31\xE8\xD2\xD0\x7E\
xBA\xC1\x74\xAC\x36\x5B\x1F\x96\xCE\xE7\x7D\xFF\xFE\xB1\xFA\x3B\xC0\xE8\x82\x97\
xFE\xDF\x5A\xF7\xDB\x3C\x59\xDF\x0B\x41\x74\xE1\x3D\xDC\xE5\x2B\x69\x98\xA3\x03\
x73\x20\xED\xE1\xCE\xF7\x45\x0C\x6D\x7C\xCE\x84\x23\x5B\xBD\x5C\xFB\xB2\xDA\x0A\
xC0\x33\x80\x2F\x4C\x17\xA8\x66\x0D\xE0\x15\xC0\x27\x4E\x67\x7B\xD7\xC0\x23\x4C\
x79\xF9\x3A\xA7\x70\x0F\xD3\x08\x9F\x67\xCA\x0B\xAD\x1F\xC0\x34\x78\xA9\xD7\x67\
x84\xA5\xD3\x46\x7E\x1B\x9A\x47\x19\xEC\x44\x5E\x0A\x6B\x98\x36\xF5\x0C\x7F\x3E\
x6F\x00\xBC\xC1\xB4\xC3\x54\x6A\xD7\x63\x2B\x99\xB9\xB1\x95\x7C\x8A\x17\x4F\xCA\
x20\xA4\x9E\x81\xA1\x6D\xBD\xF7\x4F\x68\x1F\x18\xE3\x15\xFE\xFE\x70\x07\xD3\x0E\
xF5\x69\x3C\x1F\x6B\x0C\x69\x0C\x31\x7C\x01\x93\x17\xBB\xAF\xE5\xA2\x64\x3E\xE5\
xFD\xAF\x98\xAE\x0B\x19\x57\x3E\x3D\x69\x88\xC5\xD6\x85\xBE\xF7\xDA\x63\x5B\x88\
x61\x92\x9B\x15\x8E\xDB\x43\x08\x77\x98\x37\xB6\x66\xAD\x97\x6B\x36\x8E\xA4\
xF2\x1E\x13\x7F\x2F\xCA\xE0\x9A\x0C\x24\x51\x3A\x29\x3C\xC2\x34\xCA\x1C\xF2\x0E\
x18\xBC\x43\xF2\x8C\xB1\xC2\xA0\x50\x42\xF9\x44\x7A\x9B\x00\x86\x7C\xC6\x28\x45\
x69\x4B\xB1\x03\xDF\x3D\xD2\x0C\xA4\xDA\xF5\xD8\x4A\x66\x6E\x6E\x70\x7A\x4A\x2D\
x86\x90\x41\xDB\xC5\x06\xA6\x1C\x52\x06\xBB\x47\x84\x1B\x02\x2B\x98\xB4\x4E\xCD\
xAA\x35\xF7\x7D\xBA\x42\xBF\x3F\x25\x6F\x4E\xBF\x13\x4A\xE6\x13\xFD\xF7\x43\xDF\
x2F\x13\xE9\x1C\xA4\xF6\x9F\x15\xCC\x44\x2A\xA7\xF1\xE9\x43\x26\x7A\xA9\xED\x21\
x65\x6C\xCD\x5E\x2F\xD7\x6C\x1C\xDD\xE3\xB4\xF0\xF7\x30\x6E\xCE\xDF\x30\xCB\x5E\
xF6\xF3\x1B\xA7\xEE\x3E\x69\x78\x39\x67\x07\xB9\xB8\xB5\x1E\x9B\xBD\xFA\x4C\x1E\
xDF\x0C\x78\x4C\xE9\x1C\x60\xCA\xEB\x16\xA7\x65\x35\xE6\xB2\x5E\x23\xBC\x83\x8F\
xC9\xDB\xF6\xEF\xFE\x35\x92\x7E\x5B\xAE\xCE\xCB\x53\xA0\xCC\x67\x8C\xEF\x65\x7A\
xE9\x65\xFC\xC2\x90\x47\x49\xC3\x98\xDB\x3A\x56\x29\xBE\x63\x68\x43\x5B\x00\x7F\
x46\x64\xFD\xC1\xF8\x60\x1C\xEA\xB2\x16\x6A\xD7\x63\x2B\x99\x25\xD0\xE5\x1C\xE3\
xFE\x7F\x46\x9E\x01\x4A\x74\x4E\xCC\xC0\x21\x1E\x9A\x58\x42\xDA\xB0\xCC\xC6\x73\
xF0\x8C\x79\x5E\x8E\x92\xF9\x04\x4C\xDA\x62\xEB\xF0\x0E\xF3\x27\xD0\x39\xDA\xCE\
x6B\x86\x74\x84\x20\x06\xE7\x1C\x0F\xA7\xBC\x27\x74\xC2\x58\xA4\x5E\xFE\xEA\xBA\
xA9\xAD\x29\x97\xCB\xBF\xFF\xFE\x2B\xFF\x2B\x6E\xBC\x03\x80\x07\x84\xAD\xE9\x6F\
x70\x6A\x10\x85\xAC\x1B\xD7\xDE\x73\x34\xF7\x37\x36\x37\x38\xF5\xBE\xEC\x60\xCA\
xCC\xB5\x9E\x2D\x8A\x53\x37\xDC\x90\xFD\x4D\x3F\x18\xCA\xF8\x00\x63\x1C\xC4\xEC\
xB9\xD8\xC0\x0C\xCA\x62\xF0\x86\x7C\x5F\xEF\x65\x08\xC9\x23\x30\x28\x04\x51\xEC\
x07\xB8\x0D\xCE\xB1\xB5\x6E\xDF\x6F\xEC\x74\xEA\xF6\xF7\x0D\xE0\x1F\xCF\xEF\x80\
x36\xF5\xD8\x42\x66\xAE\xBE\xA6\xF9\xC2\xA0\xAC\x77\x30\x6D\x32\x04\xD7\x3E\x99\
x14\x64\x82\x63\x97\x5F\x6E\x19\xC2\x03\xFC\x46\xA0\xCC\xF4\x73\x4C\x12\x0F\x30\
x6D\x79\xAA\x6D\xB4\xCC\xA7\x5D\xFF\xB9\xF0\x8D\x1D\x39\xF3\xBB\x87\x99\x7C\xB8\
x08\xDD\xD3\x35\xC5\x33\xF2\x78\x00\x63\x64\x16\xA9\x97\x6B\xF6\x1C\x01\x46\xC1\
xFD\x03\xD3\x60\x42\x07\xDE\x0F\x98\x8E\x64\x53\xD3\x65\xD9\x02\xDD\xD8\xF7\x30\
x03\x83\xCF\x68\x10\xA3\x53\x2B\x1D\x5F\xE7\xD1\x7B\x16\x5E\x10\xBF\x19\x55\x3A\
x55\xA8\xD7\x48\xCF\x58\x3F\x10\x96\x47\x60\x30\xDE\xC4\x8B\x14\x62\xE4\x68\x42\
x7F\x23\xE9\xB2\x19\x3B\xED\x34\x46\xED\x7A\x6C\x25\xB3\x04\xFA\xE4\x60\xCC\x92\
x5A\xAE\xA5\x15\x91\xAB\x0D\xA3\x92\x84\xE8\xB6\x31\x63\x2D\x15\x7D\x2D\x4B\x2D\
x7C\xF9\x0C\x3D\x0C\x92\x9B\x9C\xDE\xD2\x35\xCA\x8E\x55\xB2\x8D\x21\x27\xFA\xB4\
xA1\xA6\x58\xBD\x5C\xBB\x71\x04\x98\x0E\x1D\xDB\xA9\x77\x38\x1E\xC8\x42\x07\xA7\
x73\x45\x2B\xAB\xD0\x19\xB3\xF0\x84\xD3\x59\xAE\xAB\x41\xEB\xCF\x6A\x5C\xCD\xA0\
x95\x86\x36\x80\x43\x78\x80\x31\xB6\x63\x0D\xA3\x97\xC8\xDF\x8C\x9D\xE8\x08\x59\
xDF\xAF\x5D\x8F\xAD\x64\x96\xC0\x6E\x1F\x31\xB1\x8D\x42\xD3\x2B\xA7\xA7\xE4\x19\
x3B\xF9\x28\x4B\xAE\xA9\x46\x88\x2C\x11\xDB\x32\x7C\xEF\x1A\x3B\x8A\x3F\x86\x36\
x90\xE4\x44\xA5\xDE\xA2\xF0\x0B\x7E\xAF\x61\xEA\x5E\x15\xA1\x44\x3E\x7D\xFA\xDD\
x5E\x26\xBE\xC5\xF4\x32\x78\x0C\x3A\xD8\xA8\xE6\x1B\x83\xCE\x91\xF2\xFD\x03\xB7\
x2E\x29\x69\x1C\x85\x1A\xD2\x76\x3B\x0F\x99\xF4\xBA\xDE\x5B\xAC\x5E\x78\x94\x3F\
x9D\x1D\x8E\x2B\x66\x83\xCB\xBC\x95\x5B\x1F\xC9\xDD\x21\xFE\xF8\xEB\x01\x46\xB1\
xDB\xB3\x8A\x0D\xC2\x8D\x9E\xD2\xB3\x64\xAD\x8C\x53\xF2\x28\xA4\xA4\x35\xE5\x88\
xF6\x16\xC7\x4A\x63\x03\xBF\x7B\xBE\x76\x3D\x2E\xA1\xED\xE4\x22\xF5\x92\x59\xDF\
x40\x2F\x9E\xB4\xB1\x72\x79\x82\xA9\xE3\x67\x0C\x4B\x91\xA9\x4C\x79\x77\x5E\xE0\
xDF\xFC\xBA\x46\x58\x1B\x15\x19\xAE\xB6\x28\xF5\xB9\xC7\xF4\x52\xDC\x1C\xE3\xA8\
x54\x3E\x5D\xBF\x9B\xF2\x16\xEF\x10\xB7\x51\x58\xE3\xF2\xA0\x4D\xE5\x53\x8E\xC3\
x4F\xE5\x55\x3C\xA0\x25\x62\x4C\xF9\xEA\x6D\xCC\x13\xFC\x82\xF1\xAD\x02\xA1\xEF\
x2D\x56\x2F\xF4\x1C\xA5\x73\x89\x86\xD0\x18\x63\x9B\xD6\x53\xD0\x4A\x27\x66\x7F\
x42\xE9\x0D\xEF\xB9\xF2\x98\x4A\x8A\x71\xA4\xD3\xE8\xF3\x4E\xB4\xA8\xC7\x25\xB4\
x9D\x1C\xE8\xD0\x03\x31\x1E\x01\x97\x62\x17\xE5\xED\x1A\xA8\xB6\x30\x9E\x81\x39\
x86\x11\x70\xEA\x81\xB3\xD3\xE0\xF3\xE6\xC5\x78\xC5\xF7\x08\x8B\xDB\xB3\xC7\x74\
x39\xCE\xA9\xDF\x52\xF9\x74\xD5\xA3\x18\x7B\x53\xE9\x49\xC5\x95\x1E\x97\x07\x51\
xBC\x25\x53\xCC\xF5\xCC\x4D\xE1\x4A\xAF\x2B\x36\xE0\x07\xDC\x6D\x66\x2C\x70\xA4\
x50\xAC\x5E\x68\x1C\x91\x58\x52\x07\x38\xFD\x3B\xDF\xA0\x61\x53\x7B\x4F\xD7\xB9\
x18\xBE\x7A\x69\x37\xF5\xB7\x73\x7E\x17\xA3\x68\x5B\xC8\xCC\x81\x2D\x2F\x36\xB6\
x91\x6B\xC0\x08\x59\xEE\x41\xE0\x77\x7C\xBF\x77\x19\xE0\xA5\x22\xCB\xFB\xC8\xED\
xBD\x68\x95\x4F\xD7\x3B\x7D\x69\x72\x31\xD5\xCE\x43\x3C\xB0\x1F\x98\x6E\xA7\xA5\
xB6\x80\xB8\x8C\x5A\xDF\x84\x22\x64\xD3\x7F\x2C\xB3\xEA\x85\xC6\x11\xA9\x45\x8C\
x82\xD7\x8D\xF6\x19\xF1\xC7\x97\xAF\x81\x16\x91\x6F\xAF\x45\xA6\x30\x37\xB6\x91\
x8B\x5A\x06\xC9\xB9\x18\xFB\x73\x69\x95\xCF\xDA\x86\x65\x68\x3E\xA7\xD2\xD5\x62\
xCF\x9E\xAF\x8C\x4A\xF4\xF1\x59\xF5\xC2\x3D\x47\x86\x3B\x0C\xBB\xE2\x39\x00\xB7\
xE7\x1B\x66\x56\x6D\xEF\x33\xB9\xC3\x30\x48\x49\xA3\xD7\xF7\xF1\xC8\xBF\xAF\x65\
x30\x20\xE5\x99\x13\xDB\xC8\xC7\xA5\xB5\x53\x31\x24\x45\x8F\xB6\x18\x84\x4B\xB0\
xB4\x31\x21\xD4\x73\x3A\x95\xEE\x12\x9E\xD7\x16\x65\x54\x54\xE6\xB5\x1B\x47\x12\
xAC\x6F\x69\x8D\x9F\x98\x35\x61\xB9\x3A\x41\xB3\x51\xFF\x1D\x23\xC7\x3D\x3D\x84\
xD8\xED\x6F\x87\xB8\x19\x6E\xED\xE5\xBF\x96\xE4\x8E\x6F\xB3\x24\x5A\x04\xF9\xF5\
xED\x7F\x5A\x5A\xDB\x6A\x51\x46\x45\x65\x5E\xF3\xB2\xDA\x35\x5E\xFF\x71\x6E\x3C\
x20\xFD\x48\xAC\x04\xF8\xCC\x15\x9C\x8E\x5C\x1F\x73\x62\x1B\x5D\x13\x73\xAF\xDC\
x21\xA7\x50\x67\x35\xE6\x5A\x3D\x47\x12\x9A\x5C\x37\xC0\x3D\x8C\xB7\x21\x64\x76\
x28\xB7\x23\x93\xB2\xC8\x8D\xE4\xC0\x10\x33\x66\xD5\x3F\x62\xD8\xDA\xFF\xAF\x91\
x88\xAF\xBE\xC8\xB0\x84\x68\x52\x63\x1B\xD9\xBF\xB9\x74\x1E\xC1\x09\x26\xB9\x40\
xAE\xD5\x38\xD2\x47\x73\x53\xAF\xA7\xA0\x71\x54\x97\x90\xAB\x2A\x24\x0A\xAC\xED\
x76\x5E\xC3\x28\xF1\x90\x23\xC6\x84\x08\xA9\xB1\x8D\x84\x4B\xDB\x53\xA4\xC9\x79\
xAF\xDA\x92\x69\x61\xE4\x9E\x5B\xDB\x29\x11\x37\xC9\x47\xD1\x7A\xB9\x56\xE3\x68\
x2C\x6A\x6F\x8B\xA3\xAC\x24\x2F\xDF\xFD\xB3\xC3\xE9\x8D\xF5\x77\xA0\x71\x44\xC2\
x99\x13\xDB\x28\x94\x0D\xCE\x5B\xEF\xF8\xAE\xF9\xD8\xC2\x3D\x68\x2E\x71\xEF\xCC\
x18\x2D\x0C\x15\xD7\xC0\xBF\xC5\xF2\x96\x78\x5B\x18\x47\x45\xEB\xE5\x5A\x8D\x23\
xDB\x0D\x2C\x4B\x69\xA4\x2C\xB5\x4F\xAE\x6C\x71\x7C\x97\x10\x5D\xFF\x79\x68\x71\
x02\xA9\x85\xCC\x39\xB1\x8D\x42\x09\x8D\x3C\xBD\x54\x5C\xFB\x62\x42\x2E\x08\x06\
xCE\xC3\x38\xF2\x51\xDB\xC8\x5D\x55\x96\x97\x83\x3B\xB8\x0D\xBA\x12\x7D\x7C\x56\
xBD\x5C\xF3\x86\x6C\xA1\x55\x23\x3B\x97\x63\xAE\x7A\x06\x93\x6A\x64\xE8\xDF\xD5\
x28\x77\x3D\xA0\x85\x6E\x72\xBC\x44\x43\xAA\x45\x3D\x9E\x6B\xDB\xC9\x19\xDB\xC8\
x95\xD6\xD0\xFD\x3A\xFA\x22\xE6\xA5\x30\x95\xF6\x6B\x9B\x70\xBA\x0C\xBC\x95\xE7\
x73\x17\x53\x06\x79\xAB\x4B\x70\x7D\x6D\xD0\xE5\x3D\xF2\x79\x19\x7D\x9F\xA7\xB4\
xA7\x59\xF5\x42\xE3\xA8\x1E\x39\xA2\xFC\xB6\x98\x65\xE9\x74\xA7\xDE\x98\xAD\xD3\
x5E\xC3\x0D\xAB\x07\xE7\xA9\xCE\xDD\x3A\x02\x73\x0D\x5A\xD4\xE3\xB9\xB6\x9D\x9C\
xB1\x8D\x5C\x4A\x5D\x0E\x86\x4C\xB5\x37\xB9\xE5\xFC\x0D\x97\x79\xEA\xF2\x9C\xF2\
x93\x6A\xE4\xCE\xD9\x93\xE5\x92\xE9\xBA\x8B\x4C\x58\x21\x6F\xA8\x1A\xDB\x13\x3F\
x86\xCB\xBB\x7A\x87\xE9\x13\x8D\x8F\x70\x97\x93\xAB\xBF\x17\xAB\x17\x1A\x47\xF5\
x06\x42\x5D\xC1\x29\x03\x45\xEA\xE0\x32\x87\x3D\x8E\xD3\xBE\x46\x7C\x99\x8D\x9D\
xEC\xAB\x31\xB3\xD4\x1D\x63\xAA\x93\xE9\x13\x8A\x73\xF6\x42\x2C\x55\xE1\xB7\xA8\
xC7\x73\x6D\x3B\x73\x62\x1B\x69\x7C\x69\x15\x03\xE9\x13\x43\xAC\xA0\xC7\xFE\x6F\
x3F\x18\x94\xB8\x84\x1E\x59\x52\xFB\x72\x5D\x4F\xE1\x3B\xAC\x72\x6E\x07\x5A\x7C\
xCB\xAA\x52\x7F\xA2\x3B\xEE\x61\xEA\x6B\x4E\x1E\x5D\x6D\x67\xDD\xCB\xD4\x7B\xE3\
xE4\xB3\x47\x00\x5F\x56\x3A\x72\x19\x48\xAF\x00\xBA\xFE\xD1\x7D\xD9\xD7\xD6\x9F\
xFB\x34\x49\x3B\xB7\xFF\xED\xC2\xE5\xB9\x2D\x56\x2F\xD7\x6A\x1C\xD9\x05\xBA\x46\
x9A\xD1\x11\xAB\xA4\x74\x05\x6F\x10\x17\x1B\x24\x97\x32\x49\x51\xAE\x7A\xE6\xFC\
x1C\xF9\x9E\x57\xF5\xEF\x2D\xDC\x03\xCE\x0A\xA6\x51\xCF\x31\x5C\x75\x00\x49\x5F\
x27\xD2\xF5\x13\x9B\x47\xC0\xB4\x23\x51\x48\x4B\xA4\x76\x3D\xB6\x92\xA9\x89\x19\
x18\x72\xC7\x36\x0A\x5D\x62\x92\x01\xED\x19\x83\x32\x1F\xFB\xCE\xD2\x0C\xA4\x29\
x5E\x61\xBC\x1B\x8F\xEA\x79\x86\xE9\xDB\xE7\x92\x0F\x21\xA4\x1D\x88\x51\xFB\x0E\
x93\xFF\xB9\x13\x6F\xD7\xFD\x68\x80\x69\xA7\xAF\x30\x46\xF4\x57\x2F\xB7\xC3\x60\
x10\x48\xF9\x8A\x01\x5E\x5A\x2F\x85\x4C\x24\x6E\x30\xB4\x83\x47\x84\x2D\x0F\xBA\
x3C\xB7\xC5\xEA\xE5\x5A\x8D\x23\x5D\xA0\xAF\x88\x33\x90\xA4\x82\x63\x38\x60\x7C\
xA0\x08\x79\xCF\x06\x46\xD1\xA4\xA2\x67\xEF\xB1\xC6\xA0\x1E\x90\x44\x49\xFB\x1A\
xF6\x0A\x26\xDD\xBA\x31\xFA\x4E\x8D\xC9\x4C\x47\x1A\x74\xAC\x92\x19\x1B\x44\x7C\
x4B\x23\x3A\x4D\x31\x41\x42\xE5\x48\xB3\xB8\xBA\x5F\xB1\x4C\x03\xA9\x76\x3D\xB6\
x92\x39\x76\x37\x5F\xE8\x40\x3C\x37\xB6\xD1\x18\x73\x6E\x66\xD7\x2C\xC9\x40\xF2\
x19\x7D\x77\x18\x8C\x3D\x79\xCE\x35\x2E\x92\xF6\x82\xD6\x22\xB4\xED\xDC\xC0\xBF\
xC7\x26\x44\x2F\xCD\xF1\xCA\x1E\x90\xFF\x44\xB0\xEF\xC4\x63\xB1\x7A\xB9\x56\xE3\
x48\x2B\x6C\x51\xC4\x12\xE9\x75\x33\xF2\xC8\x9A\xE9\x3B\x8C\x95\x9E\xD2\xC1\xC7\
x6E\xE1\x16\xD7\xA2\xC8\x95\x20\x87\xB6\x0B\x50\x94\x61\xAA\x7B\x5F\x37\xF8\xB7\
x5E\xAE\xC4\x03\xDA\xC0\xAD\x6C\x0F\x30\xD1\xAA\x6D\xD6\x7D\xBA\xC5\xB0\xDC\x58\
x7F\x17\xA5\xF8\x85\x53\x43\xEC\x09\xEE\xC6\xAC\x95\xA7\x04\x71\xFC\x1C\xF9\xCC\
x66\x85\x21\x2A\xF6\xA7\xFA\xDE\x1E\x7E\xE3\xE8\x1B\xA7\x8A\x48\x5C\xD7\x6F\x18\
xCA\xCA\xAE\x1F\x91\x27\xF5\xA7\x7F\xBB\x34\x6A\xD6\x63\x4B\x99\x63\x5E\x5A\xBD\
x6C\x35\x35\x48\xCC\x8D\x6D\x34\xC6\x1E\x79\x0D\xA4\x1B\x2C\xE3\x40\xC7\xB5\x6D\
xBC\xCE\x59\x87\xA1\x7C\x20\xAF\xC1\x11\x32\x51\x98\xD3\xEE\x5F\x90\xEF\x64\xE7\
x98\x4E\x1E\xA3\x48\xBD\x5C\xEB\x51\xFE\x03\xCC\x51\x53\x3D\x03\x2B\x7D\xF1\xAC\
x54\xB6\x5E\x2A\xB8\x81\x7F\xDD\x55\xD2\xFC\x99\x20\xF7\x05\xA7\x83\x81\x1E\xCC\
x7D\x47\x6F\x77\x30\x83\x9C\x4E\xFB\xFD\xC8\xBB\xA7\xD8\xC2\xDF\xD1\xE5\x08\xBE\
x1E\x18\x75\xDD\x48\x4C\x23\xC0\x3D\x63\xDA\xC3\xE4\x2D\x84\x17\x8C\xEF\x71\xB1\
x2F\xBD\x0D\x61\x8B\x53\x83\x60\x29\xD4\xAA\xC7\x96\x32\xC7\x2E\x2E\xD6\xDE\xDE\
xB1\x7B\xF7\x4A\xC6\x36\x92\xB4\xCF\x0D\x9A\x28\x7A\x60\x29\x41\x02\x9F\x90\xA6\
x93\x00\x93\x97\x25\x78\xC0\x42\xD9\xC1\xB4\x99\x18\xAF\xB0\xE8\xD4\x39\x4B\x6C\
x32\xF8\xCF\xBD\xA2\x65\x0F\x13\xD3\xCF\x37\xC9\x7E\xC1\xBC\x13\x92\x32\xB6\xCE\
x19\x4B\xBF\x11\x96\x56\xA0\x50\xBD\x5C\xAB\xE7\x08\x18\x06\xCD\x14\x97\xDC\xD8
\x12\x59\x28\x32\x70\xC6\x78\x81\x24\xAD\xA9\x0A\xF1\x1B\x79\x06\xEB\x2D\xC2\x1B\
xAC\xCD\x01\xA6\x83\x87\xA4\x41\xA2\x95\xFB\x8C\x35\x71\x23\xBB\x94\xCE\x4B\xFF\
x9E\x98\xF4\x3E\xC0\xA4\x35\xC5\x4B\x17\x93\xCF\x96\xD4\xA8\xC7\xD6\x32\x5F\x10\
xEF\xD5\x28\x1D\xDB\xE8\x05\xA6\x0C\x52\x97\x01\xB6\x00\xFE\xC1\x72\x0C\x23\xC0\
xA4\x25\x56\x9F\x01\xA6\x2C\xCE\x31\x28\xEB\x03\xC2\xD3\x2D\xC6\x48\x0E\x9E\x90\
xDE\x76\xA4\x0F\xFD\x0E\xFC\xFD\x37\xE2\xF5\xA6\x96\x77\x8B\xF4\xFA\xDD\xC1\xA4\
x35\xA6\x9D\x67\xAF\x97\x6B\x36\x8E\x00\x53\x48\xBF\x61\x1A\x4E\x48\x45\x88\x7B\
xFC\x1F\xCC\x9B\x55\x6E\x7B\xB9\xBE\xCD\xA5\xA2\x78\x62\x1B\xCA\x94\xCC\x5B\xCC\
x9F\x0D\xEF\x60\xF2\x1F\x52\x66\xE2\x29\xFB\x8D\xF8\x8E\xF2\x01\x93\xDE\x50\x59\
xC2\xBE\x97\x25\xBF\x4B\xE9\xE0\xF6\xEF\x63\xDB\xC5\xB9\x28\xFC\x5A\xF5\xD8\x4A\
xA6\x28\xE8\x07\x84\x19\x49\x39\x63\x1B\xB9\x90\x32\x78\x08\x94\x21\x5E\x30\xF9\
xCD\x12\xEF\x6B\x0B\xD5\x67\x32\xA9\xBC\x45\x9B\x25\xAA\x5C\x3C\xC1\x3D\x79\x3B\
x58\xDF\xC9\x59\x5F\xB1\x6D\x47\x3C\xB6\xBF\x10\xDF\x87\xF6\x18\xFA\x6A\xCA\xD2\
xA9\x94\x81\xE8\x44\x9F\x51\x66\xB7\x8D\x94\x49\x14\x90\xB9\x5E\xFE\xEA\xBA\x2E\
x21\x0D\xE7\xCD\xBF\xFF\xFE\x3B\xF5\x91\x7D\x81\xA9\xFC\x57\x94\x78\xC9\xB5\x75\
x7B\xCF\xC5\x37\x4C\xC5\xED\x51\x56\x11\xEA\xCB\x5A\x53\xE5\xC9\x7B\x56\x30\x03\
x8C\xA4\xDF\x5E\xF6\xCA\x89\xC8\x12\x79\x22\x0B\x28\x57\x47\xAE\x76\x51\xBA\x9E\
x6A\x51\xBB\x1E\x5B\xC9\x9C\x42\xC7\x5A\xF9\x85\x7A\xF5\x6A\xF7\x7F\xE0\xFC\xDB\
x96\xD4\xA9\x9D\x1F\xD1\x69\x97\x86\xE4\x53\xF6\x80\x7D\xE3\x54\x0F\xB9\x0E\x95\
x3C\x61\xDE\x84\x43\xDE\x2B\x7B\x21\x6B\x8C\x57\xA9\xC8\x5E\xB9\x1A\xFD\x7D\x76\
xBD\xD0\x38\x22\x84\x10\xB3\x01\x5C\x14\xE9\x0E\xF9\x96\x43\xC8\x75\xB3\x82\x39\
x6A\x3F\x45\xE8\x35\x2B\x24\x2F\xDE\x7A\xB9\xF6\x65\x35\x42\x08\xC9\x1D\xDB\x88\
x5C\x3E\x12\xBD\xDC\x87\x6F\x03\x7E\x8B\xF0\x00\x97\x4C\xB6\x7A\xA1\x71\x44\x08\
xB9\x76\x4A\xC4\x36\x22\x97\x8B\xC4\x9A\x7A\xC6\xF4\xD2\x4C\x48\x5C\xA1\x16\xCB\
xC7\x97\x4C\xD6\x7A\xB9\xD6\xA3\xFC\x84\x10\x22\x94\x88\x6D\x44\x2E\x13\x1D\x84\
x53\x4E\xCC\x6A\x43\x27\xE4\xE8\x3E\xDB\x5A\x3E\xB2\xD7\x0B\x8D\x23\x42\xC8\x35\
xA3\x63\x1B\x71\xC0\x22\x53\xB8\xA2\x93\xC7\x06\xE6\xA4\x87\x32\x1F\x45\xEA\x85\
xCB\x6A\x84\x90\x6B\x46\xC7\x36\xE2\x32\x07\x19\x43\x22\xF5\xE7\x0A\x5A\x19\x72\
xBC\x9D\xF8\x29\x56\x2F\x34\x8E\x08\x21\xD7\x8C\xC4\x56\x91\xF8\x2A\x84\x8C\x91\
xD3\x70\x8E\x8D\x30\x4F\xA6\x29\x56\x2F\x34\x8E\x08\x21\xD7\xCC\x87\xF5\x70\x26\
x4F\xA6\x90\xA0\xA2\x73\x8F\xDD\x2F\xF9\x6A\xA1\x73\xA4\x58\xBD\xD0\x38\x22\x84\
x10\x42\xFC\xD8\x51\xD7\x63\x0D\x69\xB9\x02\x8A\x86\x51\x7E\x8A\xD4\xCB\x55\x06\
x81\x24\x84\x10\x42\x08\x99\x82\x9E\x23\x42\x08\x21\x84\x10\x0B\x1E\xE5\x27\x84\
x10\x72\x2E\xAC\x71\x7C\xC2\xD0\x77\xD9\x2D\x21\x49\x70\x59\x8D\x10\x42\xC8\xB9\
xF0\x86\x21\x68\xE7\x37\xCC\xAD\xEF\x84\x64\x87\xCB\x6A\x84\x10\x42\xCE\x81\x15\
x18\xCD\x9C\x54\x82\xC6\x11\x21\x84\x90\x73\x40\xDF\x87\xC5\x08\xD3\xA4\x18\x34\
x8E\x08\x21\x84\x9C\x03\xB6\xD7\x68\x07\xC6\xA5\x22\x05\xA1\x71\x44\x08\xB9\x44\
xDE\x01\x74\xD6\x43\xF2\x52\xBB\x7C\xD7\xFD\x23\xD8\x41\xFF\x36\x2A\x2D\xF6\xF3\
x5E\x28\x3D\x3A\xFF\xF6\xF3\x58\x48\x66\x0B\xAE\x25\x9F\x27\xD0\x38\x22\x84\x10\
xB2\x74\x6C\xAF\xD1\x01\xDC\x6F\x44\x0A\x43\xE3\x88\x10\x42\xC8\xD2\xB1\xF7\x1B\
x71\xAF\x11\x29\x0E\x8D\x23\x42\xF2\x50\xC3\x95\x4F\xC8\x35\x72\x87\xE3\x5B\xD7\
xE9\x35\x22\xC5\xA1\x71\x44\x08\x21\x64\xC9\xD8\x4B\x6A\xDF\x30\xF7\x61\x11\x52\
x14\x1A\x47\x84\x10\x42\x96\x0A\x63\x1B\x91\x26\xD0\x38\x22\x84\x10\xB2\x54\x74\
x6C\x23\x1A\x47\xA4\x0A\xBC\x5B\x8D\x10\x42\xC8\x52\xD1\xB1\x8D\x96\x72\x8F\xDA\
x13\x8E\xF7\x41\xD9\x30\xFE\xD2\x05\x40\xE3\x88\x10\x42\xC8\x12\xD1\xB1\x8D\x96\
x74\x4A\x8D\xFB\x9E\x2E\x1C\x2E\xAB\x11\x42\x08\x59\x22\x3A\xB6\xD1\x92\x8C\x23\
x72\xE1\xD0\x73\x44\x5A\xB0\x06\x70\xD3\x3F\x36\x7B\x18\x97\x34\xDD\xD2\xA7\xC8\
x2C\x5A\xBB\xF2\xF7\x38\x8E\x16\x9C\x53\xDE\x0A\xC7\x33\x77\xC0\x0C\x52\xDF\x05\
x65\x8E\xB5\x0B\x69\x13\xB9\x67\xEB\x37\x96\x4C\xE1\xD0\xCB\x29\xE1\x19\xA8\x5D\
x87\xAD\x64\xE6\xC2\xDE\x6F\x94\x6B\xAF\xD1\x0A\x26\xA2\xB6\x5D\xE7\x4B\x2E\x8B\
x0D\x8E\xFB\xA0\xF4\xBD\x1C\xCB\x8B\xEB\xFE\xFD\x25\xDE\x1D\x22\x7B\x6A\x0C\xA8\
x55\x17\x37\x38\x3D\x09\x39\xE4\xBF\xEB\x3A\x3E\x7C\x6A\x3C\x37\x5D\xD7\x3D\x77\
x5D\xF7\xD5\xF9\xF9\xEC\xBA\xEE\x3E\x51\xCE\xBB\x7A\x57\x6A\x7A\x6D\xDE\x03\xBE\
x13\xC2\x26\x32\x0D\x37\x5D\xD7\xBD\x76\x5D\xF7\x13\xF0\xEE\xD7\x84\xF7\xCF\xA9\
xA3\xAE\x33\xE5\xF2\xD8\x75\xDD\x6A\xA6\xCC\xD0\x3C\xFE\xF4\xDF\xBD\x09\x78\xEF\
x54\x3B\x58\xF5\x69\xF6\xE5\xF1\xAB\xEB\xBA\xBB\x19\xF9\x6A\x55\x87\xB5\x64\xE6\
xEA\x67\x53\xCF\x9D\x7A\xFF\xDA\xF1\xDD\x8D\x23\x7F\x76\xDF\x7D\xEC\xA6\xCB\xE4\
xAB\xFF\x3C\x35\xFF\x36\xAE\xF7\xE4\x48\x6B\xD7\x75\xDD\x5B\x17\xD6\x0F\xC6\x9E\
xFB\x6E\xBA\xFD\xFF\xA8\xF4\xA7\xE6\x73\xAA\x5D\x3E\x7B\xF2\x65\xA7\x21\x56\xAF\
xB8\xCA\xB6\xEB\x86\x76\xBE\xEA\x4C\xF9\x4D\xF1\xDA\x75\xDD\x2A\x77\x83\xE6\xC3\
x47\x3F\xAB\xCE\x74\x88\x14\x3E\x3B\xB7\x52\x1C\x7B\x2E\xC5\x38\x7A\x4C\x78\x7F\
xD7\x99\xB2\x4E\xC9\x6F\xAA\xBC\xAE\x33\xCA\xEC\xB9\x8B\x57\x66\xA9\xED\xA2\xEB\
xFC\xF9\x1C\x6B\x07\xEB\x2E\xDC\xF0\x13\x5E\x3D\x72\x96\x54\x87\x35\x65\x96\x36\
x8E\xEC\xC1\xEB\xD3\xF3\xDD\x10\x83\xE3\x35\xB0\x1C\x3E\xBB\xB0\x76\x5C\xD2\x38\
x0A\x4D\xEB\x4F\x17\x3F\x89\x8C\x2D\x87\x5C\xC6\x51\x4A\xBB\xFC\xE9\xE2\x26\x28\
x21\xC6\xD1\xBA\x0B\x9B\x34\x7C\x72\xCF\x11\x29\xC9\x0A\x26\x5A\x74\xEA\x05\x85\
xEB\xFE\xF7\x7A\x69\xE7\xD2\x79\x05\xF0\x9C\xF8\xDB\x47\x00\x9F\x99\xE4\x1D\x60\
xDC\xCC\xF6\x33\xC6\xAA\x97\xFB\x15\x21\xF3\x13\xF3\x2E\xAE\x94\x7C\x4E\x9D\x18\
xD2\x48\x5B\xD2\x6E\x7C\x1F\xF7\x30\xE5\x13\x4B\xED\x3A\x6C\x25\xB3\x04\x7A\xB9\
x63\xEE\x5E\xA3\x67\x9C\x86\x04\x98\x62\x0D\xE0\x6D\xA6\xBC\x39\x3C\x22\x3C\xAD\
x2B\x98\x3A\xDF\xF8\xBE\xD8\xF3\x1A\xF1\xEE\x35\xD2\xDA\xFD\x94\xDC\x94\x76\xB9\
x82\xA9\x8B\xD0\x34\x87\xBE\x2F\x44\x67\xEC\x68\x1C\x91\x92\xDC\xE3\xD4\xB0\xD9\
xC3\x1C\x83\xFD\x0D\xE0\x2F\xF5\xFC\xC6\xE9\xDE\x82\x98\x06\x5D\x9B\x5B\xEB\xB1\
xD9\xAB\xCF\xE4\x09\xD9\xC7\x32\xA6\x1C\x0F\x30\x65\x76\x8B\xD3\xF2\x7A\xC2\xE9\
x1E\xAD\x35\xC2\x95\xD1\x98\xBC\x6D\xFF\xEE\x5F\x23\x79\xB0\xE5\xEA\xFC\x3C\x05\
xCA\x7C\xC6\xF8\x5E\xA6\x97\x5E\xC6\x2F\x0C\x79\x94\x34\x6C\x71\xBA\x17\x22\x46\
x81\xBF\x63\x68\x43\x5B\x00\x7F\x46\xE4\xFC\xC1\xF8\x40\x7C\x8F\xE3\xC1\xDA\x47\
xED\x3A\x6C\x25\xB3\x14\xBA\xAC\xE7\xEC\x37\x5A\x23\xDE\x08\xDF\x24\xFC\x26\x07\
x37\x48\x2B\xFF\x90\x3E\x70\x87\x78\x23\xE3\x0E\xF3\x27\xA6\x31\x86\xE9\x14\xAF\
x19\xD2\x21\x69\x09\x99\x1C\x7D\x00\x78\xC9\xED\x0A\xE5\xC3\x47\x3F\x77\x9D\x71\
x63\x7E\x75\xE1\xCB\x4A\x9B\xEE\xD4\xF5\x19\xEA\xC2\xAD\xB9\xAC\x36\xE7\xFB\x63\
xCF\x4D\x77\xCA\x5B\xE7\x77\xF3\xAF\xBA\x71\x77\x79\x48\x79\xDB\xE5\xFC\x13\xF8\
x1B\x5D\x57\xEF\x5D\xF8\xB2\xCC\x98\xEB\x3B\x24\x8F\x92\x4F\x7B\xB9\xE5\xA7\x9B\
x5E\x76\x1D\x5B\x0E\x70\x7D\xDF\xD7\xFE\xBE\x02\xF3\xD7\xA2\x0E\x5B\xC8\x2C\xB9\
xAC\x66\x2F\x7D\xBE\x05\x7C\xDF\xB7\x9C\x92\xC2\x4F\xE7\x2E\xBF\x12\xCB\x6A\x73\
xF0\x2D\xAF\xC5\x2E\x27\x87\xE0\xD3\xC9\x39\xF3\xEA\x5B\x5A\xCD\x25\xEF\xBF\x7A\
xA7\xE7\x88\x94\x66\x07\xE0\x1F\x98\xD9\x6A\xE8\x29\x84\x0F\x00\x0F\xEA\x6F\xB9\
x5C\xAB\x4B\x46\xCF\x56\xF7\x30\xDE\x0C\xDF\xE9\x91\x03\x4C\x79\xE9\x19\xB6\x6F\
xF6\xAB\x2F\xF4\x7C\x41\xFC\x49\x91\x0F\x18\xCF\x44\xA8\xD7\x48\x7B\x05\x3E\x10\
x96\x47\xF4\xDF\xF9\x83\xC1\x8B\x14\xEA\x8D\x13\x42\xBF\x2F\x69\xB2\x91\x93\x6D\
x3E\x6A\xD7\x61\x2B\x99\xA5\xD0\xA7\x07\x5B\x1D\xDF\xD7\xD7\x96\x2C\x1D\x97\x7E\
xBC\x43\xFC\x72\x72\x0E\x72\x7A\x21\xD7\xA8\x33\x06\x3C\xA0\xEF\x37\x34\x8E\x48\
x0D\x0E\x88\x3F\x1E\xBA\xC3\xF1\x40\x16\x3A\x38\x9D\x33\x5A\x19\xEB\x01\xDA\xC7\
x13\x8E\xCB\x59\x1F\x59\xD6\xE8\xCF\x6A\x5C\xCD\xA0\x15\x9C\x36\x82\x43\x78\x80\
x31\xB8\x63\x0C\xA3\x97\xC8\xEF\x7F\xE0\xB4\x3C\x42\xF6\x76\xD4\xAE\xC3\x56\x32\
x4B\x61\xB7\x8F\x9C\xB1\x8D\xC4\xE0\x95\xE5\xE1\xFF\x06\x41\x07\xA1\x7B\x79\x72\
x23\x4B\xCC\x4F\xFD\xF3\x02\x7F\x5A\xC7\xC2\x35\xD8\x9F\xF9\xE4\xC9\xF2\xEB\x2D\
xA6\x97\x97\x63\xD0\x01\x3C\x35\xDF\x18\xFA\xB1\x2C\xF7\xFE\x81\xBB\x8F\xE6\x32\
x8E\x74\xF9\x6E\xAD\xBF\xFD\x97\x6F\xC6\x39\x22\x4B\x66\x87\xE3\x0E\xB6\xC1\xE5\
x46\xA6\xDD\xE0\x58\xB9\xED\x10\x1F\xEF\xE9\x00\xD3\xD1\xED\x99\xFF\x06\xE1\x46\
x4F\xE9\xF8\x26\x7A\xB0\x49\xC9\xA3\x10\x9B\xD6\x94\xD8\x29\x5B\x1C\x2B\xE4\x0D\
x8C\x02\x9D\xA2\x45\x1D\x2E\xA1\xDD\xE4\xA4\xC4\x25\xB3\x3B\x8C\x1B\x8C\x7B\x1C\
xEF\x45\xD3\xB4\x98\x8C\xC9\x7E\x45\xDD\xBE\x5F\xE0\x3F\x9C\xB2\xC6\x78\x3B\x77\
xFD\x66\xCA\x03\xBB\x43\xDC\x06\x6E\x8D\xCB\xEB\x36\x95\xC7\x1D\x4C\xFA\xA7\xF2\
x29\x5E\xC5\x39\x71\xF0\xA6\x64\x6F\xF5\x7B\xE9\x39\x22\x4B\xE6\x52\x0D\xA1\x31\
xC6\x36\xAE\xA7\xA0\x95\x63\xCC\x46\xF6\xD2\x9B\xDE\x73\xE5\x31\x85\x14\xE3\x48\
xA7\xCF\xE7\x4D\x69\x51\x87\x4B\x68\x37\xB9\xB8\xC7\xA9\xA1\x97\x83\xA9\x25\xDF\
x3D\xDC\xC6\x6E\x0B\xEF\x99\xF6\xE2\x09\xB2\xA4\xEC\x62\xCA\x08\x72\x79\xC0\xB6\
x98\x6E\x33\xA1\x4B\xE5\x31\x69\x01\xDC\x4B\xBE\xE2\xC5\x9A\x62\x8E\x37\x4F\x0C\
xC1\x31\xD9\x7B\xFD\x77\x1A\x47\x84\x2C\x93\xD4\x41\x4E\xFF\xCE\xA5\x4C\xB4\x92\
xA8\xBD\xAF\xEB\x1C\x8C\x5F\xBD\xB4\x9B\xFA\xDB\x39\xBF\x8B\x19\x10\x5A\xC8\xCC\
x85\x2D\x33\x57\x94\x72\x5F\xC4\x7D\x9F\x01\x56\xB3\x1C\x24\x74\xC6\x14\x25\x22\
xD3\xBB\xDE\xE7\x4B\x8F\x8B\xA9\x72\x0B\xF1\x6C\x7E\x60\xBA\xEE\xE7\x78\xF3\xA2\
x2E\x2E\xA6\x71\x44\xC8\x65\x11\xB3\xDC\xA4\x15\xDF\x33\x4C\xD8\x84\x4B\xDF\xDB\
x15\x43\x8B\x5B\xE0\xAF\x45\xA6\x4D\xEE\xD8\x46\x82\x6F\x20\x5E\xD2\x55\x45\x2D\
x26\x0B\xB5\xAF\x4D\x09\xCD\xE3\x54\xBA\xE6\x78\xF3\xA2\xEA\x9A\x7B\x8E\x48\x2D\
xEE\x30\xDC\x13\xC4\xC1\x77\x19\x7C\xC3\x2C\x2B\xD8\x7B\x4D\xEE\x30\x0C\x52\xA2\
xA0\xB4\xCB\x59\xFE\x7D\x0E\x9E\x1F\x72\x1E\xE4\x8C\x6D\x44\x06\x96\xA6\x6B\x43\
x3D\x71\x29\x4B\x84\x3E\xA2\xF4\x15\x8D\x23\x52\x1A\x09\xD4\xB7\xB4\x4E\x4A\x0C\
x4F\x30\xFB\x3C\xC6\x96\xD4\x36\xEA\xBF\x63\xC8\x26\x4A\x0E\x66\x64\x0E\x76\xFB\
x8B\x5A\xFE\x20\x4E\x5A\xEC\x1D\x73\xE9\xFA\x0D\xDA\x9D\x02\x8C\x82\xCB\x6A\xA4\
x24\xD7\x7A\xFD\xC7\xB9\xF1\x80\xF4\xE3\xBB\x77\x30\xC6\xAF\xEB\xD4\x0F\x21\x2E\
x96\x12\xDB\x88\xE4\xE1\x22\xF4\x00\x3D\x47\xA4\x14\x72\xAF\x9A\xEE\x28\x7B\x18\
x4F\x43\xC8\xCC\xF0\x06\xD7\x11\xFC\x71\x09\xEC\x30\x0C\x4A\x12\xE7\x66\xD5\x3F\
x62\xDC\xDA\xFF\xAF\xD9\xC0\xD4\xF7\xEF\x82\x69\x24\x97\x49\xA9\xD8\x46\x84\x2
4\x43\xE3\x88\x94\x42\x1F\xCB\x95\xA3\xA8\x31\x1B\x00\x37\xA0\x71\xD4\x02\x5F\x1D\
x49\x40\xCE\x7B\x1C\xBB\xC8\xE5\x1E\x2B\xD7\xF1\x68\x42\x34\x25\x62\x1B\x11\x43\
x8B\xE5\xC9\x8B\xD8\x8B\x48\xE3\x88\x94\x62\x2C\x6A\x6F\xED\x93\x11\xA4\x0C\x72\
x3C\x7A\x87\xD3\x5B\xEB\xEF\x40\xE3\x88\x84\x53\x2A\xB6\x11\x31\xB4\x30\x54\x5C\
x06\xD9\x16\x67\x52\xC7\x34\x8E\x48\x29\xEC\xE5\x17\x59\x4A\x23\xE5\xA9\x1D\xB8\
x6E\x8B\xE3\x7B\x8F\xB8\xBF\x6C\x3E\x2D\x82\x0F\xB6\xBA\x2E\xA4\x44\x6C\x23\x1B\
x5F\xBE\x7C\x9F\x5F\xFA\xC6\xF0\x0D\xEA\xEA\xE6\x55\x65\x79\xC9\x70\x43\x36\xA9\
x41\xCB\xCE\xD0\x4A\xE9\xC7\xA2\x95\x70\xAA\x91\xA1\x7F\x57\xA3\xEC\xF5\x80\x16\
xBA\x21\xF3\xD2\x0C\xA9\x16\x75\x78\xCE\xED\xA6\x54\x6C\x23\x2D\xC3\xA5\x03\x7C\
x97\xCB\x5E\xC4\x12\x91\x03\xD7\xC9\xB1\x95\xE7\x73\x17\x53\xE5\xD6\xEA\x12\xDC\
x68\x68\x1C\x91\x4B\x23\x47\xA4\xDF\x16\x47\x4D\x75\xBA\x53\x6F\x04\xD7\x69\xAF\
x11\xE4\x4E\x0F\xD0\x53\xC6\xD1\x12\xA2\x30\x97\xA4\x45\x1D\x9E\x73\xBB\xA9\x15\
xDB\x68\xEA\x76\x78\xD9\x23\x37\xC5\x92\x02\x44\xCE\xC1\x65\xE8\x3E\x62\xDA\xA0\
x9E\x2A\xB7\xB9\x32\xDF\xE0\x9F\x40\xAD\xD0\x38\x04\x0C\x8D\x23\x52\x83\x9A\x83\
xA0\x56\x68\x29\x83\x45\xEA\x00\x33\x87\x3D\x8E\xD3\xBE\x46\x7C\xB9\x8D\x9D\xEE\
xAB\xE1\x01\xD0\x0A\x6C\x6A\x50\xD1\xA7\x14\xE7\xC4\x3C\x59\xE2\x71\xE1\x16\x75\
x78\xCE\xED\xA6\x56\x6C\xA3\x3B\x00\x5F\x18\x0E\x10\x6C\x60\x06\x7E\x5F\xF8\x89\
xB3\x58\xFE\x09\xC0\xE7\xFD\xFA\x84\x29\x0F\x29\x9B\x7B\x98\xB2\x99\x73\x18\xC6\
x55\x76\xEB\x5E\xA6\xDE\x6F\x26\x9F\x3D\x62\xA8\xAF\x66\xA1\x60\x68\x1C\x91\x52\
xD8\x1D\x72\x8D\x34\x83\x23\x65\x00\xD4\xAE\xF9\x0D\xDC\xB3\x43\x4D\x8E\x13\x72\
xA9\x03\xB7\x9E\x39\x3F\x47\xBE\xEB\x55\xFD\x7B\x0B\xF7\x80\xB3\x82\x51\x52\x73\
x8C\x57\x1D\x40\xD2\xA7\x88\x75\xFD\xC4\xE6\x11\x38\x1E\xEC\x96\x46\xED\x3A\x6C\
x25\x53\x13\x3B\x80\xD5\x8E\x6D\x74\x83\x21\x1E\xD7\x3B\x8C\x4E\xF0\x95\xD1\xA5\
x2C\xA9\x85\x94\xED\x23\x86\xB2\x79\xC5\xFC\x09\xAD\xEB\x7E\x34\x60\xA8\x8F\x1F\
x98\xBE\xFC\x0E\xA0\xC3\x60\xA8\x49\xDD\x48\x48\x98\xEA\x7D\x9D\xC6\x11\x29\x85\
xEE\x90\xAF\x88\x33\x90\x6E\x10\x67\xD4\x08\x07\x8C\x0F\x16\x21\xEF\xDA\xC0\xB8\
x7C\x53\xD0\xB3\xF7\x14\x63\x50\x0F\x4A\x12\x44\xD3\xB7\x46\xBF\x82\x49\xB7\x56\
x68\xBE\x53\x63\x32\x2B\x13\xA5\x18\xAB\x10\xE5\xB7\xF6\x20\xE3\x5B\x1A\xD1\x69\
x8A\x09\x14\xBA\xC2\x70\xFF\x9B\xB8\xDD\x97\x66\x20\xD5\xAE\xC3\x56\x32\xC7\xEE\
xE5\x8B\x31\xC8\x96\x1E\xDB\x68\x4C\x8F\x9C\x2B\xDA\xBB\x58\x8B\xA7\xC0\xEF\xDD\
xC0\xBF\xF7\xA9\x7A\x5F\xE7\x69\x35\x52\x8A\x2D\x8E\x67\x67\xA2\x88\xF7\x30\x8A\
x70\x6C\x56\xB1\xC2\xD0\x51\xE6\xCC\x5C\x5E\x60\x8C\x13\x5B\x59\x3F\xC3\x74\xAE\
x2D\x06\x65\x71\xC0\x30\x83\x95\xBB\xDF\xD0\xFF\x3D\xD6\x9B\xF1\x81\xE3\xCE\xFB\
xD6\xA7\xC3\xBE\x15\x5C\xDF\x51\xA6\x39\xC0\x44\xAB\xB6\x0D\xB4\x35\xCC\xCC\x6A\
x8B\x61\x59\xEA\xC3\x4A\xB7\x9C\x14\xD3\xE9\x7D\x82\x5B\x21\xEA\xBD\x06\x52\xE6\
x52\x3F\x53\x33\xBF\x15\x8E\xDD\xEF\x36\x7B\xF8\x07\x94\xEF\x3E\x6D\xF6\x7E\x06\
x71\xB3\x8B\x5C\x29\x33\xA9\x1F\x91\xA9\xEB\x54\x7E\xBB\x24\x6A\xD6\x61\x4B\x99\
x3B\x1C\xD7\xE1\x06\x43\x1D\x4A\x1B\x77\x19\x18\xB5\x62\x1B\xA5\xF4\x65\x20\x7C\
x60\x3F\x17\x9E\x90\x3E\xF1\x4B\xE5\x03\xA7\x77\x37\xCE\xE1\x19\x35\xAF\x96\xE9\
xBA\x8E\x0F\x9F\x52\xCF\xBA\xEB\xBA\x9F\x2E\x1F\x8F\x11\xB2\xEF\x13\x65\xFC\x74\
x26\xDD\x36\xEF\x01\xF2\x6E\x02\xDE\xBD\x29\x9C\x76\xE1\x35\x40\xC6\xAA\xEB\xBA\
xB7\x80\x77\x7D\x75\x26\xFF\xEF\x9E\xEF\x7D\xF6\xEF\x0C\xAD\x9F\xD7\x98\x0C\x4D\
xE0\xCA\xA7\x4E\x6F\x6A\x1B\x4E\x7D\x4F\x8D\x3A\x6C\x2D\xF3\xD9\xF3\xBE\xA9\x7E\
xA3\xD3\xB9\x8E\x94\xAB\x9F\x8D\x27\x0D\xB1\x6D\x2D\xA4\x1C\x5C\xFD\xC1\xA5\xA7\
x7C\x69\x2D\x25\x37\xA5\xCF\xF9\xFA\x7D\xA8\x3E\xF6\xB5\x93\x10\x3E\x3B\xA3\x63\
x53\xDB\x41\xD7\x85\xEB\x5F\x74\x5D\xC7\x65\x35\x52\x94\x3D\x80\x5B\xA4\xB9\x74\
xE7\xBA\xB5\xB7\x30\xB3\xE9\x98\x59\x86\xA4\x37\x65\xAF\xC1\x77\x2F\x2F\x07\x5B\
x98\xA0\x99\xB1\x33\xA4\x03\xCC\x0C\x31\x24\x1D\x12\xB1\xFC\x16\xEE\xCD\x93\x21\
x9E\xBC\x97\xFE\x3D\x31\xE9\x7D\x80\x49\x6B\xCA\x2C\x30\x26\x9F\xAD\xA8\x51\x87\
xAD\x65\xBE\x20\x6D\xD3\x72\xE9\xD8\x46\x9A\xA7\x08\x19\xA2\x37\x2E\x91\x07\x84\
x07\x68\xDD\xC3\xB4\xA5\x1C\x3C\xF5\xEF\x4A\x1D\x07\x9E\x60\xAE\x25\xAA\xBA\x34\
x48\xE3\x88\x94\x66\x0F\xD3\xB0\x43\x15\xD4\xBE\xFF\xEE\x3F\x98\xBF\x0F\x61\xDB\
xCB\xF6\x6D\x30\xDD\xC3\x28\x8E\xDF\x81\x69\x74\xC9\xBB\x45\x9E\xFD\x13\x3B\x98\
x32\x08\x29\x37\x59\xAA\xFA\x8D\xF8\xE8\xD4\x1F\x30\x69\x0E\x95\x25\xEC\x7B\x59\
xF2\xBB\x14\x23\xC7\xFE\x7D\x6C\xDB\x38\x87\x28\xDC\xB5\xEA\xB0\x95\xCC\x03\x4C\
xDB\x79\x40\xB8\x91\x54\x23\xB6\x91\xE6\x80\x41\x07\x4D\xB5\x53\x31\x06\x2E\xD5\
x30\x12\x9E\xE0\x9E\x10\x1D\xAC\xEF\xE4\x5C\xBE\x92\x76\xF9\x80\xB0\x3A\xDF\xF5\
xDF\xFD\x85\x46\x7D\xFD\xAF\xAE\xEB\x5A\xC8\x25\xD7\x8B\x7D\x79\xA9\xFC\x57\x94\
x78\xE9\xA3\xB3\x32\x63\x5D\x63\xD8\xD3\xE2\xDB\x07\x34\x07\x7D\x51\xEB\x1C\x59\
xF2\x2E\xD9\x97\x25\xE9\xB7\xF7\x34\xE5\x44\x64\x89\x3C\x91\x05\x94\xAB\x27\x57\
xDB\x28\x59\x4F\xB5\xA8\x5D\x87\xAD\x64\xBA\x78\xC4\xF1\x5E\xA5\x5F\xA8\x5F\xAF\
xF6\xC5\xCA\xB2\xFF\xF0\x52\x62\x1A\xC5\x20\x6D\x43\x36\xEE\x7F\xA3\x6E\xF8\x02\
xD1\xC7\x76\x5D\xA0\x72\x1A\x26\xA1\x71\x44\x08\x21\xA4\x16\x5F\x18\x06\xE3\x1D\
xF2\x2D\xDD\x10\x92\x15\x2E\xAB\x11\x42\x08\xA9\x41\xED\xD8\x46\x84\x24\x43\xE3\
x88\x10\x42\x48\x0D\x96\x1E\xDB\x88\x90\xFF\xA0\x71\x44\x08\x21\xA4\x06\xB5\x62\
x1B\x11\x32\x1B\x1A\x47\x84\x10\x42\x4A\xA3\x03\x4E\xD2\x38\x22\x8B\x86\xC6\x11\
x21\x84\x90\xD2\xE8\xD8\x46\xD7\x78\x3A\x8C\x9C\x11\x3C\xAD\x46\x08\x21\xA4\x34\
xB6\x71\x74\xAD\x47\xE7\xC9\x19\x41\xE3\x88\x10\x42\x08\x21\xC4\x82\xCB\x6A\x84\
x10\x42\x08\x21\x16\x34\x8E\x08\x21\x84\x10\x42\x2C\x68\x1C\x11\x42\x08\x21\x84\
x58\xFC\xDD\x3A\x01\xE4\x32\xF9\xF7\xDF\x7F\x5B\x27\x81\x10\x72\x79\xAC\x71\xBC\
xB9\xDB\x77\xA9\x34\x21\x49\xD0\x38\x22\x84\x10\x72\x2E\x3C\x62\x08\x26\xF9\x8D\
x46\x37\xB6\x93\xCB\x87\xCB\x6A\x84\x10\x42\xCE\x81\x15\x18\x65\x9B\x54\x82\xC6\
x11\x21\x84\x90\x73\xE0\x5E\xFD\x9B\x77\xB3\x91\x62\xD0\x38\x22\x84\x10\x72\x0E\
xD8\x5E\xA3\x1D\x18\x48\x92\x14\x84\xC6\x11\x21\xE4\x12\x79\x07\xD0\x59\x0F\xC9\
x4B\xED\xF2\x5D\xF7\x8F\xF0\x61\xFD\xFF\x46\xA5\xC5\x7E\xDE\x0B\xA5\x47\xE7\xDF\
x7E\x1E\x0B\xC9\x6C\xC1\xB5\xE4\xF3\x04\x1A\x47\x84\x10\x42\x96\x8E\xED\x35\x3A\
x80\xFB\x8D\x48\x61\x68\x1C\x11\x42\x08\x59\x3A\xF6\x7E\x23\xEE\x35\x22\xC5\xA1\
x71\x44\x48\x1E\x6A\xB8\xF2\x09\xB9\x46\xEE\x60\x4E\xAA\x09\xF4\x1A\x91\xE2\xD0\
x38\x22\x84\x10\xB2\x64\xEC\x25\xB5\x6F\x00\xFB\x56\x09\x21\xD7\x03\x8D\x23\x42\
x08\x21\x4B\x85\xB1\x8D\x48\x13\x68\x1C\x11\x42\x08\x59\x2A\x3A\xB6\x11\x8D\x23\
x52\x05\x5E\x1F\x42\x08\x21\x64\xA9\xE8\xD8\x46\x4B\xB9\x47\xED\x09\xC7\xFB\xA0\
x6C\x18\x7F\xE9\x02\xA0\x71\x44\x08\x21\x64\x89\xE8\xD8\x46\x4B\x3A\xA5\xC6\x7D\
x4F\x17\x0E\x97\xD5\x08\x21\x84\x2C\x11\x1D\xDB\x68\x49\xC6\x11\xB9\x70\xE8\x39\
x22\x2D\x58\x03\xB8\xE9\x1F\x9B\x3D\x8C\x4B\x9A\x6E\xE9\x53\x64\x16\xAD\x5D\xF9\
x7B\x1C\x47\x0B\xCE\x29\x6F\x85\xE3\x99\x3B\x60\x06\xA9\xEF\x82\x32\xC7\xDA\x85\
xB4\x89\xDC\xB3\xF5\x1B\x4B\xA6\x70\xE8\xE5\x94\xF0\x0C\xD4\xAE\xC3\x56\x32\x73\
x61\xEF\x37\xCA\xB5\xD7\x68\x05\x13\x51\xDB\xAE\xF3\x25\x97\xC5\x06\xC7\x7D\x50\
xFA\x5E\x8E\xE5\xC5\x75\xFF\xFE\x12\xEF\x0E\x91\x3D\x35\x06\xD4\xAA\x8B\x1B\x9C\
x9E\x84\xFC\x2F\xFF\x34\x8E\x48\x2D\x6E\x60\x94\xDD\x1D\x4E\x3B\x84\x66\x0F\xA3\
x0C\x53\x14\xE2\x3B\x8E\x3B\xFC\x5F\x09\xEF\x00\x8E\xAF\x44\xF8\x00\x70\xEB\xF9\
x8E\xCD\x66\xE2\xB3\x5B\xC4\x75\xFC\x1B\x98\x10\xFD\x3A\xCE\xCB\x18\x5B\x98\x99\
xF5\x1C\xC5\x12\x53\x47\xE8\x65\x7D\xF4\xB2\x53\x15\x6A\x4C\x1E\xC5\x7B\xF0\x82\
x74\x03\x7A\x05\x93\xC7\x7B\xB8\xF3\xF8\x0D\xB3\xAF\x64\xAE\xB7\xA2\x76\x1D\xB6\
x92\x99\x1B\x9D\xF6\x1C\x5E\xA3\xC7\xFE\x19\x2B\x93\x6F\x98\xB2\x78\x09\x7C\x97\
xD6\x33\x36\x4F\x8E\xF7\x6C\x30\x1D\x07\xCD\xD6\x33\xAE\xB4\x02\xA6\x3C\x9E\x90\
xD6\x0F\xEE\xFB\x77\x8F\xB5\xFF\x03\x4C\xDA\x43\xCB\x21\x06\xD1\x2F\xF7\x70\xB7\
x4B\x49\x43\xAC\x5E\x71\x95\x2D\x30\xE8\xDF\x15\x80\x57\x1C\x1B\x46\x36\x5B\x00\
x4F\x5C\x56\x23\xA5\x59\x01\x78\x06\xF0\x85\xE9\x0E\xA9\x59\xC3\x34\xDE\x4F\x9C\
x7A\x2E\xAE\x85\x47\x98\x32\xF3\x29\x12\xE1\x1E\x46\x31\x3C\xCF\x94\x17\x5A\x47\
x80\x51\x46\x52\xB7\xCF\x08\x4B\xA7\x8D\xFC\x36\x34\x8F\x62\xD8\x88\xBC\x58\xD6\
x30\x6D\xEA\x19\xFE\x3C\xDE\x00\x78\x83\x69\x87\xA9\xD4\xAE\xC3\x56\x32\x4B\x60\
x0F\x5C\x39\x3C\x79\xAF\x70\xB7\xD1\x9B\xFE\xF3\x4F\xC7\x77\x6A\xE1\x4B\x2B\x60\
xCA\xE7\x13\xA7\xA7\xF9\x42\xDE\xFD\x8A\xE9\xF6\x2F\xFA\x3A\x77\x39\xD8\xFA\xC5\
xF7\x5E\x7B\xCC\x98\x32\x60\x52\x59\x07\xBC\xF7\x1E\xC0\x3B\x8D\x23\x52\x92\x15\
x8C\xE2\x4D\xBD\xA0\x70\xDD\xFF\xFE\xDA\x0C\x24\x51\x8E\x29\x3C\xC2\x28\xB6\x1C\
xF2\x0E\x18\xBC\x43\xF2\x8C\xB1\xC2\xA0\xFC\x42\xF9\xC4\xBC\x8B\x2B\x25\x9F\xA1\
x0A\x5C\xDA\x52\xA8\xE1\x27\xDC\x23\xCD\x40\xAA\x5D\x87\xAD\x64\x96\x40\x2F\x77\
xCC\xF5\x1A\x3D\x23\xDC\x88\x58\xC3\x18\xC5\xAD\x78\x44\x78\x5A\xC5\x03\x32\xE5\
xC1\xD2\xBC\x46\xBC\x5B\x26\xA8\x39\x48\x6D\x97\x2B\x98\xBA\x88\x35\x00\x7D\xEF\
x0B\xD1\x19\x3B\x1A\x47\xA4\x24\xF7\x38\x35\x6C\xF6\x30\xEE\xE0\xDF\x30\x4B\x5E\
xF6\xF3\x1B\xA7\x4B\x69\x31\x0D\xBA\x36\xB7\xD6\x63\xB3\x57\x9F\xC9\x13\x32\xFB\
x1D\x53\x8E\x07\x98\x32\xBB\xC5\x69\x79\x8D\xB9\xD6\xD7\x08\x57\x46\x63\xF2\xB6\
xFD\xBB\x7F\x8D\xE4\xC1\x96\xAB\xF3\xF3\x14\x28\xF3\x19\xE3\x7B\x99\x5E\x7A\x19\
xBF\x30\xE4\x51\xD2\x30\xE6\x62\x8F\x51\xE0\xEF\x18\xDA\xD0\x16\xC0\x9F\x11\x39\
x7F\x30\x3E\x10\xCB\x52\x63\x28\xB5\xEB\xB0\x95\xCC\x52\xE8\xB2\x9E\xB3\xDF\x68\
x8D\x78\x23\x7C\x93\xF0\x9B\x1C\x88\xF7\x2A\x96\x90\x3E\x70\x87\x78\x23\xE3\x0E\
xF3\x27\xA6\x31\x86\xE9\x14\xAF\x19\xD2\x21\x69\x09\xDD\x2E\xF0\xF2\x57\xD7\x4D\
x6D\x9B\x20\x24\x9D\x7F\xFF\xFD\x57\xFE\xF7\x0E\xA6\x71\x1F\x00\x3C\x20\x6C\x6F\
xC3\x06\xA7\x06\x91\x6B\x1D\xDF\xA6\xE6\x9E\xA3\x39\xDF\x1F\xE3\x06\xA7\xDE\x97\
x1D\x4C\xB9\xB9\xD6\xDE\xC5\x0D\xAD\x95\x50\xC8\x1E\xA7\x1F\x0C\xE5\x7C\x80\x31\
x10\x62\xF6\x9F\xC8\x40\x22\x46\x6F\xC8\xF7\xF5\xBE\x80\x90\x3C\x02\xA7\x7B\x05\
x0E\x98\x36\x3A\xC7\xF6\x84\xB8\xBE\xAF\xD3\xA8\xDB\xDF\x37\x80\x7F\x3C\xBF\x03\
xDA\xD4\x61\x0B\x99\xB9\xFA\xD9\x18\x5F\x18\x06\xB1\x1D\x4C\x9B\x74\xE1\xDB\x6B\
x92\xC2\x01\xA6\xBE\xA7\xCA\xAF\xC4\x9E\xA3\x39\x3C\xC0\x6D\x44\xDA\x65\x9A\x0B\
x9F\x4E\xCE\x99\xD7\x3D\x8C\x51\xEF\x22\x87\xBC\xFF\xEA\x9D\x9E\x23\x52\x9A\x
1D\x4C\x63\xFB\x8D\xF0\x41\xF7\x03\xA6\xB3\xDB\xE4\x72\xAD\x2E\x19\x3D\x5B\xDD\xC3\
x0C\x0C\x3E\xA3\x41\x0C\x4F\xAD\x1C\x7D\xB3\x5F\xBD\xE9\xF5\x05\xF1\x1B\x73\xC5\
x10\x0C\xF5\x1A\x69\xAF\xC0\x07\xC2\xF2\x08\x0C\xC6\x9B\x78\x91\x42\xBD\x71\x42\
xE8\xF7\x25\x4D\x36\x72\xB2\xCD\x47\xED\x3A\x6C\x25\xB3\x14\xFA\xF4\x60\xAB\xE3\
xFB\xFA\xDA\x92\xA5\xE3\xD2\x8F\xA1\x07\x2C\x72\x93\xD3\x0B\xB9\x46\x9D\x31\xE0\
xBF\x09\x05\x8D\x23\x52\x83\x03\xE2\x4F\x33\xED\x70\x3C\x90\x85\x0E\x4E\xE7\x8C\
x56\xC6\xBE\x19\xB3\xE6\x09\xC7\xE5\xAC\x8F\x2C\x6B\xF4\x67\x35\xAE\x66\xD0\x0A\
x4E\x1B\xC1\x21\x3C\xC0\x18\xDC\x31\x86\xD1\x4B\xE4\xF7\xE5\x14\x9E\x4D\xC8\xDE\
x8E\xDA\x75\xD8\x4A\x66\x29\xEC\xF6\x91\x33\xB6\x91\x18\xBC\xB2\x3C\x1C\xE2\xA9\
x0C\xDD\xCB\x93\x1B\x59\x62\x7E\xC2\xE0\x9D\xF1\xA5\x75\x2C\x5C\x83\xFD\x99\x4F\
x9E\x2C\xBF\xDE\x62\x7A\x79\x39\x06\x1D\xC0\x53\xF3\x8D\xA1\x1F\xCB\x72\xEF\x1F\
xB8\xFB\x68\x2E\xE3\x48\x97\xEF\xD6\xFA\xDB\x7F\xF9\xE6\x51\x7E\xB2\x64\x76\x38\
xEE\x60\x1B\x5C\x6E\x64\xDA\x0D\x4E\x8F\x2E\xC7\x1E\xD3\x3D\xC0\x74\x74\x7B\xE6\
xBF\x41\xB8\xD1\x53\x3A\xBE\x89\x1E\x6C\x52\xF2\x28\xC4\xA6\x35\xE5\xA8\xFA\x16\
xC7\x0A\x79\x03\xFF\x32\x42\xED\x3A\x5C\x42\xBB\xC9\x49\x89\x4B\x66\xA7\x96\xE6\
xF6\x38\xDE\x8B\xA6\x69\x31\x19\x93\xFD\x8A\xBA\x7D\xBF\xC0\x7F\x38\x65\x8D\xF1\
x76\xEE\xFA\xCD\x94\x07\x76\x87\xB8\x0D\xDC\x1A\x97\xD7\x6D\x2A\x8F\x12\x52\x62\
x2A\x9F\xE2\x55\x9C\x13\x07\x6F\x4A\xF6\x56\xBF\x97\x9E\x23\xB2\x64\x2E\xD5\x10\
x1A\x63\x6C\xE3\x7A\x0A\x5A\x39\xC6\x6C\x64\x2F\xBD\xE9\x3D\x57\x1E\x53\x48\x31\
x8E\x74\xFA\x7C\xDE\x94\x16\x75\xB8\x84\x76\x93\x0B\x1D\x7E\x20\x97\xD7\x68\x6A\
xC9\x77\x0F\xB7\xB1\xDB\xC2\x7B\xA6\xBD\x78\x82\x2C\x29\xBB\x98\x32\x82\x5C\x1E\
xB0\x2D\xA6\xDB\x4C\xE8\x52\x79\x4C\x5A\x00\xF7\x92\xAF\x78\xB1\xA6\x98\xE3\xCD\
x13\x43\x70\x4C\xF6\x5E\xFF\x9D\xC6\x11\x21\xCB\x24\x75\x90\xD3\xBF\x73\x29\x13\
xAD\x24\x6A\xEF\xEB\x3A\x07\xE3\x57\x2F\xED\xA6\xFE\x76\xCE\xEF\x62\x06\x84\x16\
x32\x73\x61\xCB\xCC\x15\xA5\xDC\x17\x71\xDF\x67\x80\xD5\x2C\x07\x09\x9D\x31\x45\
x89\xC8\xF4\xAE\xF7\xF9\xD2\xE3\x62\xAA\xDC\x42\x3C\x9B\x1F\x98\xAE\xFB\x39\xDE\
xBC\xA8\x8B\x8B\x69\x1C\x11\x72\x59\xC4\x2C\x37\x69\xC5\xF7\x0C\x73\x4A\xEB\xD2\
xF7\x76\xC5\xD0\xE2\x16\xF8\x6B\x91\x69\x93\x3B\xB6\x91\xE0\x1B\x88\x97\x74\x55\
x51\x8B\xC9\x42\xED\xC8\xE8\xA1\x79\x9C\x4A\xD7\x1C\x6F\x5E\x54\x5D\x73\xCF\x11\
xA9\xC5\x1D\x86\x7B\x82\x38\xF8\x2E\x83\x6F\x98\x65\x05\x7B\xAF\xC9\x1D\x86\x41\
x4A\x14\x94\x76\x39\xCB\xBF\xCF\xC1\xF3\x43\xCE\x83\x9C\xB1\x8D\xC8\xC0\xD2\x74\
x6D\xA8\x27\x2E\x65\x89\xD0\x47\x94\xBE\xA2\x71\x44\x4A\x23\x81\xFA\x96\xD6\x49\
x89\xE1\x09\xC3\xB5\x1C\x9A\x8D\xFA\xEF\x18\xB2\x89\x92\x83\x19\x99\x83\xDD\xFE\
xA2\x96\x3F\x88\x93\x16\x7B\xC7\x5C\xBA\x7E\x83\x76\xA7\x00\xA3\xE0\xB2\x1A\x29\
xC9\xB5\x5E\xFF\x71\x6E\x3C\x20\xFD\xF8\xAE\x04\xF9\x74\x9D\xFA\x21\xC4\xC5\x52\
x62\x1B\x91\x3C\x5C\x84\x1E\xA0\xE7\x88\x94\x42\xEE\x55\xD3\x1D\x65\x0F\xE3\x69\
x08\x99\x19\xCA\x2D\xCE\xA4\x3C\x3B\x0C\x83\x92\xC4\xB9\x59\xF5\x8F\x18\xB7\xF6\
xFF\x6B\x24\x3A\xAD\x2F\x8A\x2D\x21\x9A\x52\xB1\x8D\x08\x49\x86\xC6\x11\x29\x85\
x3E\x96\x9B\x7A\x35\x05\x8D\xA3\xFA\x84\x5C\x57\x21\x11\x6B\x6D\x17\xB9\xDC\x63\
x15\x72\xCD\x0B\x21\x42\x89\xD8\x46\xC4\xD0\x62\x79\xF2\x22\xF6\x22\xD2\x38\x22\
xA5\x18\x8B\xDA\x5B\xFB\x64\x04\x29\x83\x1C\x8F\xDE\xE1\xF4\xD6\xFA\x3B\xD0\x38\
x22\xE1\x94\x8A\x6D\x44\x0C\x2D\x0C\x15\x97\x41\xB6\xC5\x99\xD4\x31\x8D\x23\x52\
x0A\x7B\xF9\x45\x96\xD2\x48\x79\x6A\x07\xAE\xDB\xE2\xF8\xDE\x23\xEE\x2F\x9B\x4F\
x8B\xE0\x83\xAD\xAE\x0B\x29\x11\xDB\xC8\xC6\x97\x2F\xDF\xE7\x97\xBE\x31\x7C\x83\
xBA\xBA\x79\x55\x59\x5E\x32\xDC\x90\x4D\x6A\xD0\xB2\x33\xB4\x52\xFA\xB1\x68\x25\
x9C\x6A\x64\xE8\xDF\xD5\x28\x7B\x3D\xA0\x85\x6E\xC8\xBC\x34\x43\xAA\x45\x1D\x9E\
x73\xBB\x29\x15\xDB\x48\xCB\x70\xE9\x00\xDF\xE5\xB2\x17\xB1\x44\xE4\xC0\x75\x72\
x6C\xE5\xF9\xDC\xC5\x54\xB9\xB5\xBA\x04\x37\x1A\x1A\x47\xE4\xD2\xC8\x11\xE9\xB7\
xC5\x51\x53\x9D\xEE\xD4\x1B\xC1\x75\xDA\x6B\x04\xB9\xD3\x03\xF4\x94\x71\xB4\x84\
x28\xCC\x25\x69\x51\x87\xE7\xDC\x6E\x6A\xC5\x36\x9A\xBA\x1D\x5E\xF6\xC8\x4D\xB1\
xA4\x00\x91\x73\x70\x19\xBA\x8F\x98\x36\xA8\xA7\xCA\x6D\xAE\xCC\x37\xF8\x27\x50\
x2B\x34\x0E\x01\x43\xE3\x88\xD4\xA0\xE6\x20\xA8\x15\x5A\xCA\x60\x91\x3A\xC0\xCC\
x61\x8F\xE3\xB4\xAF\x11\x5F\x6E\x63\xA7\xFB\x6A\x78\x00\xB4\x02\x9B\x1A\x54\xF4\
x29\xC5\x39\x31\x4F\x96\x78\x5C\xB8\x45\x1D\x9E\x73\xBB\xA9\x15\xDB\xE8\x0E\xC0\
x17\x86\x03\x04\x1B\x98\x81\xDF\x17\x7E\xE2\x2C\x96\x7F\x02\xF0\x79\xBF\x3E\x61\
xCA\x43\xCA\xE6\x1E\xA6\x6C\xE6\x1C\x86\x71\x95\xDD\xBA\x97\xA9\xF7\x9B\xC9\x67\
x8F\x18\xEA\xAB\x59\x28\x18\x1A\x47\xA4\x14\x76\x87\x5C\x23\xCD\xE0\x48\x19\x00\
xB5\x6B\x7E\x03\xF7\xEC\x50\x93\xE3\x84\x5C\xEA\xC0\xAD\x67\xCE\xCF\x91\xEF\x7A\
x55\xFF\xDE\xC2\x3D\xE0\xAC\x60\x94\xD4\x1C\xE3\x55\x07\x90\xF4\x29\x62\x5D\x3F\
xB1\x79\x04\x8E\x07\xBB\xA5\x51\xBB\x0E\x5B\xC9\xD4\xC4\x0E\x60\xB5\x63\x1B\xDD\
x60\x88\xC7\xF5\x0E\xA3\x13\x7C\x65\x74\x29\x4B\x6A\x21\x65\xFB\x88\xA1\x6C\x5E\
x31\x7F\x42\xEB\xBA\x1F\x0D\x18\xEA\xE3\x07\xA6\x2F\xBF\x03\xE8\x30\x18\x6A\x52\
x37\x12\x12\xA6\x7A\x5F\xA7\x71\x44\x4A\xA1\x3B\xE4\x2B\xE2\x0C\xA4\x1B\xC4\x19\
x35\xC2\x01\xE3\x83\x45\xC8\xBB\x36\x30\x2E\xDF\x14\xF4\xEC\x3D\xC5\x18\xD4\x83\
x92\x04\xD1\xF4\xAD\xD1\xAF\x60\xD2\xAD\x15\x9A\xEF\xD4\x98\xCC\xCA\x44\x29\xC6\
x2A\x44\xF9\xAD\x3D\xC8\xF8\x96\x46\x74\x9A\x62\x02\x85\xAE\x30\xDC\xFF\x26\x6E\
xF7\xA5\x19\x48\xB5\xEB\xB0\x95\xCC\xB1\x7B\xF9\x62\x0C\xB2\xA5\xC7\x36\x1A\xD3\
x23\xE7\x8A\xF6\x2E\xD6\xE2\x29\xF0\x7B\x37\xF0\xEF\x7D\xAA\xDE\xD7\x79\x5A\x8D\
x94\x62\x8B\xE3\xD9\x99\x28\xE2\x3D\x8C\x22\x1C\x9B\x55\xAC\x30\x74\x94\x39\x33\
x97\x17\x18\xE3\xC4\x56\xD6\xCF\x30\x9D\x6B\x8B\x41\x59\x1C\x30\xCC\x60\xE5\xEE\
x37\xF4\x7F\x8F\xF5\x66\x7C\xE0\xB8\xF3\xBE\xF5\xE9\xB0\x6F\x05\xD7\x77\x94\x69\
x0E\x30\xD1\xAA\x6D\x03\x6D\x0D\x33\xB3\xDA\x62\x58\x96\xFA\xB0\xD2\x2D\x27\xC5\
x74\x7A\x9F\xE0\x56\x88\x7A\xAF\x81\x94\xB9\xD4\xCF\xD4\xCC\x6F\x85\x63\xF7\xBB\
xCD\x1E\xFE\x01\xE5\xBB\x4F\x9B\xBD\x9F\x41\xDC\xEC\x22\x57\xCA\x4C\xEA\x47\x64\
xEA\x3A\x95\xDF\x2E\x89\x9A\x75\xD8\x52\xE6\x0E\xC7\x75\xB8\xC1\x50\x87\xD2\xC6\
x5D\x06\x46\xAD\xD8\x46\x29\x7D\x19\x08\x1F\xD8\xCF\x85\x27\xA4\x4F\xFC\x52\xF9\
xC0\xE9\xDD\x8D\x73\x78\x46\xC5\xAB\x65\x68\x1C\x91\x52\x1C\x00\xDC\xE2\xD4\xB3\
x50\xE3\xE2\x59\x19\x80\xF5\x72\xC1\x0D\xFC\x9B\x0C\x25\xDD\x9F\x91\x32\x5F\x70\
x6A\x2C\x68\xA5\x70\x0B\xFF\x3E\x86\x1D\xCC\x40\xA7\xD3\x7E\x3F\xF2\xFE\x29\xB6\
xF0\xCF\xFE\xE5\x08\xBE\xF6\x70\xE9\xFA\xB1\x8D\x3B\x97\xC1\xBA\x87\xC9\x5F\x08\
x2F\x18\xDF\xE7\x62\x5F\x7A\x1B\xC2\x16\xA6\xAC\x96\x46\xAD\x3A\x6C\x29\x73\xEC\
xD2\x62\xED\xED\x9D\xBA\x73\xAF\x66\x6C\x23\x99\x08\xC5\x78\x1D\xB6\xB8\x1C\xAF\
x91\xB0\x83\xC9\x53\x4C\x39\x88\xAE\x9A\x33\x51\x15\x23\x73\xAE\x81\xB4\x87\x89\
x95\x57\x2D\xB4\x02\x97\xD5\x48\x49\x64\xC0\x4C\x71\xE9\xCE\x75\x6B\xCB\xC0\x19\
xD3\x99\x24\xBD\x29\x7B\x0D\xBE\x91\x6F\xA0\xDE\x22\x4D\x11\x1C\x60\x94\x51\x48\
x3A\x24\x62\xB9\xCF\x60\x0B\xF1\xE4\xBD\xF4\xEF\x89\x49\xEF\x03\x4C\x5A\x53\x94\
x5D\x4C\x3E\x5B\x51\xA3\x0E\x5B\xCB\x7C\x41\xDA\xA6\xE5\xD2\xB1\x8D\x34\x4F\x11\
x32\x96\x6A\x70\xE7\xE0\x01\xE1\xC6\xAF\x18\x23\x39\x78\xEA\xDF\x95\x3A\x0E\x3C\
xC1\x5C\x4B\x54\x75\x69\x90\xC6\x11\x29\xCD\x1E\xA6\x61\x87\x2A\xA8\x7D\xFF\xDD\
x7F\x30\x7F\x46\xB9\xED\x65\xFB\x36\x98\xEE\x61\x14\xC7\xEF\xC0\x34\xBA\xE4\xDD\
x22\xCF\x4C\x78\x07\x53\x06\x21\xE5\x26\x9E\xB2\xDF\x88\x8F\x4E\xFD\x01\x93\xE6\
x50\x59\xC2\xBE\x97\x25\xBF\x4B\x31\x72\xEC\xDF\xC7\xB6\x8D\x73\x88\xC2\x5D\xAB\
x0E\x5B\xC9\x14\x2F\xEB\x03\xC2\x8D\xA4\x1A\xB1\x8D\x34\x07\x0C\x3A\x68\xAA\x9D\
x8A\x31\x70\xA9\x86\x91\xF0\x04\xF7\x84\xE8\x60\x7D\x27\xA7\x97\x46\xDA\xE5\x03\
xC2\xEA\x5C\x3C\xA1\xBF\xD0\xA8\xAF\xFF\xD5\x75\x5D\x0B\xB9\xE4\xC2\xF9\xF7\xDF\
x7F\xA7\x3E\xB2\x2F\x2F\x95\xFF\x8A\x12\x2F\x7D\x74\x56\x66\xAC\x6B\x0C\x7B\x5A\
x7C\xFB\x80\xE6\xA0\x2F\x6A\x9D\x23\x4B\xDE\x25\xFB\xB2\x24\xFD\xF6\xB2\x57\x4E\
x44\x96\xC8\x13\x59\x40\xB9\x7A\x72\xB5\x8D\x92\xF5\x54\x8B\xDA\x75\xD8\x4A\xA6\
x8B\x47\x1C\x2F\x6D\xFF\x42\xFD\x7A\xB5\x2F\x56\x96\x65\xB7\x4B\x89\x69\x14\x83\
xB4\x0D\xD9\xB8\xFF\x8D\xBA\xE1\x0B\x44\x1F\xDB\x75\x81\xCA\x69\x98\x84\xC6\x11\
x29\x82\xC3\x38\x22\x84\x5C\x2F\x5F\x18\x06\xE3\x1D\xF2\x2D\xDD\x10\x92\x15\x2E\
xAB\x11\x42\x08\xA9\x41\xED\xD8\x46\x84\x24\x43\xE3\x88\x10\x42\x48\x0D\x96\x1E\
xDB\x88\x90\xFF\xA0\x71\x44\x08\x21\xA4\x06\xB5\x62\x1B\x11\x32\x1B\x1A\x47\x84\
x10\x42\x4A\xA3\x63\x1B\xD1\x38\x22\x8B\x86\xC6\x11\x21\x84\x90\xD2\xE8\xD8\x46\
xD7\x78\x3A\x8C\x9C\x11\x8C\x90\x4D\x08\x21\xA4\x34\x76\xD4\x69\x1A\x46\x64\xF1\
xF0\x28\x3F\x21\x84\x10\x42\x88\x05\x97\xD5\x08\x21\x84\x10\x42\x2C\x68\x1C\x11\
x42\x08\x21\x84\x58\xD0\x38\x22\x84\x10\x42\x08\xB1\xE0\x86\x6C\x42\x08\x21\x4B\
x64\x8D\xE3\x53\x6E\xBE\x0B\xA4\x09\xC9\x06\x37\x64\x13\x42\x08\x59\x22\x6F\x18\
x02\x47\x7E\xC3\xDC\xEA\x4E\x48\x15\xB8\xAC\x46\x08\x21\x64\x69\xAC\xC0\x88\xDA\
xA4\x21\x34\x8E\x08\x21\x84\x2C\x8D\x7B\xF5\x6F\xDE\xC3\x46\xAA\x42\xE3\x88\x10\
x42\xC8\xD2\xB0\xBD\x46\x3B\x30\x70\x24\xA9\x0C\x8D\x23\x42\xC8\xB9\xF3\x0E\xA0\
xB3\x1E\x92\x97\xDA\xE5\xBB\xEE\x1F\xE1\xC3\xFA\xFF\x8D\x4A\x8B\xFD\xBC\x57\x48\
xDB\xA5\xA3\xEB\xDA\x7E\x1E\x1B\xA6\xAB\x3A\x34\x8E\x08\x21\x84\x2C\x09\xDB\x6B\
x74\x00\xF7\x1B\x91\x06\xD0\x38\x22\x84\x10\xB2\x24\xEC\xFD\x46\xDC\x6B\x44\x9A\
x40\xE3\x88\x90\x78\xE8\xCA\x27\xA4\x0C\x77\x30\x27\xD5\x04\x7A\x8D\xE2\xE0\xB2\
x58\x26\x68\x1C\x11\x42\x08\x59\x0A\xF6\x92\xDA\x37\x80\x7D\xAB\x84\x90\xEB\x86\
xC6\x11\x21\x84\x90\x25\xC0\xD8\x46\x64\x31\xD0\x38\x22\x84\x10\xB2\x04\x74\x6C\
x23\x1A\x47\xA4\x19\xBC\x5B\x8D\x10\x42\xC8\x12\xD0\xB1\x8D\x78\x8F\x5A\x7D\x9E\
x70\xBC\xE7\xCB\xE6\xAA\x62\x4D\xD1\x38\x22\x84\x10\xD2\x1A\x1D\xDB\x88\xA7\xD4\
xDA\xC0\x3D\x5E\x3D\x5C\x56\x23\x84\x10\xD2\x1A\x1D\xDB\x88\xC6\x11\x69\x0A\x3D\
x47\xA4\x34\x6B\x00\x37\xFD\x63\xB3\x87\x71\xD3\x5E\x95\xAB\x36\x10\x99\x45\x6B\
xF7\xF6\x1E\xC7\xD1\x82\x73\xCA\x5B\xE1\x78\xE6\x0E\x98\x41\xEA\xBB\xA0\xCC\xB1\
x76\x21\x6D\x22\xF7\x0C\xF6\xC6\x92\x29\x1C\x7A\x39\x25\x66\xCB\xB5\xEB\xB0\x95\
xCC\x5C\xD8\xFB\x8D\x5A\xEE\x35\x72\xE9\xAB\x12\x65\x28\xB2\x74\xDF\x2B\xD5\x0F\
x5A\xB1\x81\xC9\xE7\x58\xDB\xDC\xA3\xCE\x12\xEA\x06\xC7\xE5\x2C\xBA\x6D\x5C\
x76\xD7\x75\x7C\xF8\xE4\x7E\x6E\xBA\xAE\x7B\xEE\xBA\xEE\xAB\xF3\xF3\xD9\x75\xDD\
x7D\xA2\x9C\x77\xF5\xAE\xD4\xF4\xDA\xBC\x07\x7C\x27\x84\x4D\x64\x1A\x6E\xBA\xAE\
x7B\xED\xBA\xEE\x27\xE0\xDD\xAF\x09\xEF\x9F\x53\x47\x5D\x67\xCA\xE5\xB1\xEB\xBA\
xD5\x4C\x99\xA1\x79\xFC\xE9\xBF\x7B\x13\xF0\xDE\xA9\x76\xB0\xEA\xD3\xEC\xCB\xE3\
x57\xD7\x75\x77\x33\xF2\xD5\xAA\x0E\x6B\xC9\xCC\xD5\xCF\xA6\x9E\x3B\xF5\xFE\xB5\
xE3\xBB\x1B\x47\xFE\xA6\xFA\x6E\x68\x5F\xF0\x95\xE1\x4F\x37\xBF\x0F\xC4\xB4\x4B\
x91\xE9\xAB\xB7\xC7\x80\xF7\x68\xA6\xCA\x4A\xD7\xB5\xCD\xA3\x23\x0D\x53\x75\xF5\
x16\x98\x9E\xB7\x2E\x7E\x1C\x08\x6D\x0B\x8F\x9D\xBB\x6E\xDF\xBA\x11\x3D\x93\xBB\
x91\xF3\xB9\xEE\x67\xD5\x19\x25\x93\xC2\x67\xE7\x56\x8A\x63\xCF\xA5\x18\x47\x29\
xCA\xAD\xEB\x4C\x59\xA7\xE4\x37\x55\x5E\xD7\x19\x25\xF3\xDC\xC5\x0F\x10\xA9\xED\
xA2\xEB\xFC\xF9\x1C\x6B\x07\xEB\x2E\xDC\xF0\x13\x5E\x3D\x72\x96\x54\x87\x35\x65\
x96\x36\x8E\xEC\x01\xF4\xD3\xF3\xDD\xDC\xC6\x51\x4A\x19\xFE\x74\xE9\xC6\xB4\x6F\
xA0\x76\xF1\xDE\x8D\x4F\x16\x96\x66\x1C\xAD\x3C\xEF\x71\x11\x33\x0E\x84\xB4\x85\
xD7\x40\xB9\x3F\x9D\x32\xCE\xB8\xE7\x88\xE4\x62\x05\x13\x9D\x35\x35\x0A\xEB\xBA\
xFF\xBD\x76\x2F\x5F\x3A\xAF\x00\x9E\x13\x7F\xFB\x08\xE0\x33\x93\xBC\x03\x8C\x8B\
xD9\x7E\xC6\x58\xF5\x72\xBF\x22\x64\x7E\x62\x5E\x74\x5E\xC9\xE7\xD4\x29\x1A\x8D\
xB4\x25\xBD\x34\xE2\xE3\x1E\xA6\x7C\x62\xA9\x5D\x87\xAD\x64\x96\xE0\x06\xA7\xA7\
xD4\x6A\x91\x5A\x86\x2B\x00\x6F\x38\x0D\x3D\x10\x2A\x2F\xB4\x1D\x6B\x36\x30\xF5\
x76\xE7\xFB\x62\x43\xD6\x30\x69\xDC\xCC\xF8\x7D\xAE\x71\xE0\x11\xE1\x75\xB4\x82\
xA9\x9F\xFF\xD2\x4D\xE3\x88\xE4\xE2\x1E\xA7\x0D\x7A\x0F\x73\x34\xF4\x37\x80\xBF\
xD4\xF3\x1B\xA7\x7B\x0B\x44\xE9\xA4\x2A\x8F\x92\xDC\x5A\x8F\xCD\x5E\x7D\x26\x4F\
xC8\x5E\x81\xB1\xCE\x7B\x80\x29\xB3\x5B\x9C\x96\xD7\x13\x4E\xF7\x68\xAD\x11\xAE\
xE0\xC7\xE4\x6D\xFB\x77\xFF\x1A\xC9\x83\x2D\x57\xE7\xE7\x29\x50\xE6\x33\xC6\xF7\
x32\xBD\xF4\x32\x7E\x61\xC8\xA3\xA4\x61\x8B\xD3\x7D\x00\x6B\x84\x1B\x2E\xEF\x18\
xDA\xD0\x16\xC0\x9F\x11\x39\x7F\x30\x3E\x10\xDF\x23\x6E\xF0\xA9\x5D\x87\xAD\x64\
x96\x42\x97\x75\xAD\xFD\x46\xCF\x88\x37\x6E\x34\xAF\x08\x1F\xC4\x73\xC8\x03\x06\
x1D\xB9\xC4\x49\xA4\x18\x18\xB1\x93\x92\xB1\xF7\xA4\x4C\x6E\x6C\x6E\x90\xD6\xBE\
x07\x1D\x13\xE8\xBE\xE2\xC3\x27\xE4\xB9\xEB\x8C\x7B\xF2\xAB\x0B\x5F\x56\xDA\x74\
xA7\x6E\xE6\x50\xF7\x6D\xCD\x65\xB5\x39\xDF\x1F\x7B\x6E\xBA\x53\xDE\x3A\xFF\x72\
xD5\xAA\x1B\x77\x15\x87\x94\xB7\x5D\xCE\x3F\x81\xBF\xD1\x75\xF5\xDE\x85\x2F\xCB\
x8C\xB9\xBD\x43\xF2\x28\xF9\xB4\x97\x5B\x7E\xBA\x69\x77\xFB\x98\x0B\xDF\xF5\x7D\
x5F\xFB\xFB\x0A\xCC\x5F\x8B\x3A\x6C\x21\xB3\xE4\xB2\x9A\xBD\xF4\xF9\x16\xF0\xFD\
x1C\xCB\x6A\xAE\x77\xC4\xE2\x5B\x06\xCC\x2D\x4F\x64\xDA\xF5\xBD\x94\x65\xB5\x39\
x4B\xE7\x31\x69\x2C\x55\xAE\xC2\x7D\xD7\x71\x59\x8D\xE4\x65\x07\xE0\x1F\x98\xD9\
x6A\xE8\xC9\x8E\x0F\x00\x0F\xEA\x6F\x39\x66\x58\x4B\x47\x2F\x33\xED\x61\xBC\x19\
xBE\x53\x1B\x07\x98\xF2\xD2\x33\x6C\xDF\xB2\x95\xBE\xD0\xF3\x05\xF1\xA7\x6F\x3E\
x60\x3C\x13\xA1\x5E\x23\xED\x15\xF8\x40\x58\x1E\xD1\x7F\xE7\x0F\x06\x2F\x52\xA8\
x37\x4E\x08\xFD\xBE\xA4\xC9\x66\xEC\xF4\xD0\x18\xB5\xEB\xB0\x95\xCC\x52\xE8\xD3\
x83\xB5\x96\xD4\x72\x7A\xCC\xD6\xF0\xEB\xAB\x94\xA5\xDA\x29\x76\x30\x6D\x7B\x69\
x01\x32\x65\xB9\x3D\x27\xFA\x74\x59\x2D\xEE\x01\x2E\xAB\x91\xFC\x1C\x10\xDF\x71\
x77\x38\x1E\xC8\x42\x07\xA7\x73\x46\x1B\x0E\x7A\x80\xF6\xF1\x84\xE3\x72\x96\xA3\
xB2\x53\xE8\xCF\x6A\x2C\x5F\xE8\x41\x43\x1B\xC1\x21\x3C\xC0\x18\xDC\x31\x86\xD1\
x4B\xE4\xF7\x3F\x70\x5A\x1E\x21\x7B\x26\x6A\xD7\x61\x2B\x99\xA5\xB0\xDB\x47\xAD\
xD8\x46\x3A\xD8\xA4\xE6\x1B\x43\x9B\x93\xA5\xC9\x3F\x70\xB7\x27\x97\x71\x14\x5A\
xBE\x3B\x98\xBA\x91\xE7\x05\xA7\x4B\xA1\xB2\x44\xAC\xF5\xEB\x8B\x95\x56\xD7\x84\
xE7\xC9\xFA\x9E\xDE\x1E\x30\x97\x90\x09\xAD\x6C\xB3\x90\x27\x64\x72\x36\x77\xA2\
x2C\x4B\xF8\x76\xB9\xFA\xC6\xA7\x35\x80\x15\x8D\x23\xB2\x14\xB4\x62\x4C\xDD\xD0\
x77\x0E\x6C\x70\xEC\xC5\xD9\x21\x3E\xDE\xD3\x01\x69\x03\xBA\xFD\xFB\x92\xE8\xB4\
xA4\xE4\x51\x88\x4D\x6B\x4A\x3C\x9A\xD8\xB2\x6C\x51\x87\x4B\x68\x37\x39\x69\x71\
xC9\xAC\x6B\x3F\xD9\x1E\xC3\x5E\x48\xBB\x5C\xC5\x5B\x33\x65\x20\x69\x0F\x98\x8D\
xAF\x6C\xF7\x30\x86\xD8\x1F\x98\x81\x5B\x9E\xA7\xFE\xEF\x0F\x18\xEA\x2C\x65\x72\
x51\x0B\x5F\x3E\x1F\x60\xCA\xD6\xCE\xA3\xEC\x6D\x74\xF5\xEF\x39\x6D\x53\xCA\x56\
x8C\x22\xBB\x5C\x7D\x93\xA7\x35\x8D\x23\xB2\x14\x2E\x25\xD8\x59\x08\x63\x1B\xD7\
x53\xD0\x46\x40\xCC\x46\xF6\xD2\x9B\xDE\x73\xE5\x31\x85\x14\xE3\x48\xA7\xCF\x37\
xDB\x6F\x51\x87\x4B\x68\x37\xB9\xB8\xC7\xA9\xA1\x57\x03\x97\xD7\xC8\xB5\x3C\x29\
x1B\xDE\xA7\x98\x1A\xC4\x5D\x83\xBB\x2C\x17\xBB\x0C\xDC\x2D\x06\x23\x69\xC9\xB8\
xCA\x75\x8B\x69\xE3\xF7\x03\xC6\x68\x99\x62\x2C\x70\x64\x28\xDA\x4B\x2A\xC8\x92\
xBD\x0B\x1A\x47\x84\x2C\x80\xD4\x41\x4E\xFF\xCE\xA7\x88\x6D\x6A\xEF\xEB\x3A\x07\
xE3\x57\x2F\xED\xA6\xFE\x76\xCE\xEF\x62\x66\xCA\x2D\x64\xE6\xC2\x96\x59\x2A\x4A\
xB9\x4F\xAE\x4D\x88\x17\xEE\x03\x6E\xEF\x51\xCC\xDF\x81\xB0\x25\x1E\x04\x7E\xA7\
x35\x2E\x03\xC6\x67\xF8\xFA\xBC\x86\x29\x5B\x2C\x24\x34\xC9\x14\xDE\xC8\xFF\x34\
x8E\x08\x39\x5F\x62\x94\xA6\x56\x04\xCF\x58\xEE\x91\xE0\x56\xB4\x18\x84\xAE\x45\
xA6\x4D\xCB\xD8\x46\x53\x84\x1A\x67\x53\x03\x6A\xCA\xBE\xAD\xA5\x5F\xE9\x92\x0B\
x5F\x3E\x4B\xB4\xC7\xD9\xC6\x36\xEF\x56\x23\x25\xB8\xC3\x70\xD2\x80\x83\xEF\x32\
xF8\x86\x99\xA9\xDA\x27\x4A\xEE\x30\x0C\x52\xA2\xC0\xF4\x3D\x47\xF2\xEF\x73\xF0\
xFC\x90\xF3\xA0\x55\x6C\x23\x17\xA1\xDE\xB3\x29\x7D\x96\xE2\x7D\xBB\x94\x3E\x75\
x91\x3A\x9E\xC6\x11\xC9\x89\x04\xEA\xBB\xC8\xCE\x72\x01\x3C\xC1\xB8\xBF\xC7\x96\
xD4\x36\xEA\xBF\x63\xEC\x30\x7E\xB2\x8B\x90\x18\xEC\xF6\xB7\x43\x3D\x4F\x96\x4B\
x2F\x6D\x90\x7F\x79\xF1\x92\x0F\x95\xD8\x2C\x31\x68\xEF\x6C\xB8\xAC\x46\x72\x71\
xAD\xD7\x7F\x9C\x1B\x0F\x98\x8E\x0E\xED\xE3\x0E\xC6\xF8\xB5\x23\x50\x13\x12\x43\
xAB\xD8\x46\x00\xDB\x2C\x89\x80\x9E\x23\x92\x03\x09\xF7\xAE\x95\xCF\x1E\xC6\xD3\
x10\x32\x33\xBC\xC1\x75\x04\x7F\x5C\x02\x3B\x0C\x83\x92\xC4\x61\x59\xF5\x8F\x18\
xB7\xF6\xFF\x6B\x36\x30\xF5\xFD\xBB\x60\x1A\xC9\x65\xD2\x22\xB6\x51\x2B\x5A\xEF\
xED\x22\x33\xA0\x71\x44\x72\xA0\x8F\xE5\xCA\x51\xC9\x98\x0D\x87\x1B\xD0\x38\x6A\
x81\xAF\x8E\x24\x20\xE7\x3D\x8E\x97\x09\xD6\x30\xFB\x97\x5C\xC7\x70\x09\xD1\xB4\
x88\x6D\x24\xD4\xDE\xE3\x73\x29\x7B\x8A\x7C\xA4\xC6\x2F\x5B\x34\x34\x8E\x48\x0E\
xC6\xA2\xF6\x5E\xCB\x49\x8C\x4B\xE7\xBB\x7F\x76\x38\xBD\xB5\xFE\x0E\x34\x8E\x48\
x38\xAD\x62\x1B\x09\x2E\x4F\xCE\x16\xF5\xD3\xB3\xC1\x65\xE8\x49\x1A\x47\x84\x4C\
x60\x2F\xBF\xC8\x52\x1A\x29\x4F\xED\x6B\x1F\xB6\x38\xBE\x4B\x8A\xFB\xCB\xE6\xD3\
xE2\xEA\x8E\x56\xD7\x85\xB4\x8A\x6D\x14\xC2\x0A\xF5\xF5\xD6\xBA\x81\xCC\x16\xDC\
xC1\x6D\x78\xB6\x6A\x8F\x4E\xB8\x21\x9B\xE4\xA6\x65\x67\x5F\x64\x27\x1B\x41\xCF\
x60\x53\x8D\x0C\xFD\xBB\x1A\x65\xAF\x07\xB4\xD0\x4D\xAE\x97\x66\x48\xB5\xA8\xC3\
x73\x6E\x37\x35\x62\x1B\x85\xB4\xC5\x29\x83\xEC\x0E\x65\xF4\x87\xAB\x6C\x1F\x11\
x56\x87\xFA\xD2\xE8\x25\xE2\xF2\x1E\xB9\xAE\x6C\x09\xF9\xBC\xC9\x98\x42\xE3\x88\
x9C\x33\x39\x22\xFD\xB6\x38\x6E\xAB\xD3\xED\x53\x0E\x53\xE8\xB4\xD7\x70\x6F\xEB\
x01\x7A\x4A\x69\x2F\x21\x0A\x73\x49\x5A\xD4\xE1\x39\xB7\x9B\x1A\xB1\x8D\x6C\xAF\
xE6\x14\xAE\x81\xF6\x0D\x7E\x23\x64\x85\xB8\x70\x25\x2E\x79\x72\x90\x65\xAA\x6F\
xC8\x4D\xF7\x6F\xC8\x73\x42\x34\xB5\xBD\x84\xE0\xF2\x02\xDE\xE1\x38\xBE\x9A\xCD\
x23\x4C\x40\xDA\x29\x9A\x2D\xD9\xD1\x38\x22\xB9\xA9\x39\x08\xEA\x8E\x93\xD2\xF9\
x4B\x2A\x8C\x29\xF6\x38\x4E\xFB\x1A\xF1\xE5\x36\x76\xBA\xAF\xC6\x0C\x4B\x0F\x0A\
x53\xCA\x4B\x9F\x52\x9C\x13\x47\x66\x89\xB3\xE6\x16\x75\x78\xCE\xED\xA6\x56\x6C\
xA3\x57\x00\x5D\xFF\x8C\x95\x8D\x2B\xAF\x6B\x00\x9F\x38\xDD\x1B\x25\x9F\x3D\x02\
xF8\xEA\x3F\x0F\x0D\x5B\xE2\x2B\x5B\x31\x90\x3E\x61\x8C\x84\xC7\xFE\x79\x07\xF0\
x83\xC1\x70\x90\x50\x29\xBE\xBE\xE0\x32\x26\xD6\x30\xE9\x7F\x87\xDB\x20\x49\xC1\
x97\xCF\xE7\x5E\xB6\xE4\xD1\xFE\xB7\x8B\x66\xA7\x19\x69\x1C\x91\x1C\xD8\xB3\x86\
x35\xD2\x0C\x8E\x94\x01\x50\x77\x9C\x0D\xA6\x67\x28\x63\xE4\x38\x21\x97\x3A\x70\
xEB\x99\xF3\x73\xE4\xBB\x5E\xD5\xBF\xB7\x70\x0F\x38\x2B\x18\x05\x3C\xC7\x78\xD5\
x01\x24\x7D\x7B\x46\x74\xFD\xC4\xE6\x11\x30\x6D\x49\x06\xA4\xA5\x51\xBB\x0E\x5B\
xC9\xD4\xC4\x2E\xE7\xB5\x8C\x6D\xA4\x71\xDD\x8F\x06\x98\x74\xBE\xC2\x18\x26\x62\
x48\x74\x18\x8C\x17\x29\x6B\x31\x6A\x7C\xED\x32\x74\x0F\xA6\x18\x5F\xCF\xFD\x33\
xD6\x4F\x43\x0C\x24\x9F\xA7\xE5\x06\xC3\xED\x05\x39\x09\x31\x78\x6F\x30\xE4\xF1\
x11\x61\xCB\x98\xCD\x02\xCE\xD2\x38\x22\x39\xD0\xCA\xEE\x15\x71\x06\x92\x74\x9A\
x58\x0E\x18\x1F\x2C\x42\xDE\xB5\x81\x71\x57\xA7\xA0\x67\xEF\x29\xC6\xA0\x1E\x94\
x44\xF1\xF9\x14\xC6\x0A\x26\xDD\x5A\x79\xFA\x4E\x8D\xC9\x4C\xF7\x1D\x6E\x57\xFE\
x14\x63\x8A\xD9\xA7\xB8\x74\x9A\x62\x02\x85\xAE\x30\xDC\xFF\x26\x4B\x19\x4B\x33\
x90\x6A\xD7\x61\x2B\x99\x63\xF7\xF2\xC5\x18\x64\x39\x63\x1B\xE5\xF0\x72\x3D\x05\
x7E\x4F\x0C\x89\x29\x42\xDB\x65\xA8\xBC\x10\x7C\x06\x52\xAB\xD8\x4A\x07\xE4\x3F\
xB9\xBA\x45\xC3\x65\x35\x9E\x56\x23\x39\xD8\xC2\x18\x24\xF6\xAC\xEA\x0D\x66\xD6\
xB4\xC3\xF8\x4C\x6D\x85\x41\xF9\xCC\xF1\x66\xBC\xE0\x74\xC3\xE2\x33\x8C\xC2\xDA\
x62\x58\x8A\x38\x60\x98\xC1\xCA\xDD\x6F\xE8\xFF\x1E\xEB\xCD\xF8\xC0\xB1\x42\x7C\
xEB\xD3\x21\xC7\xDE\x81\xD3\x3B\xCA\x34\x07\x98\x68\xD5\xB6\x81\x26\x6E\xEF\x2D\
x86\x65\xA9\x0F\x2B\xDD\xB2\xA7\x42\xA7\xF7\x09\x6E\x25\xA2\x37\x7E\x4A\x99\x4B\
xFD\x4C\xCD\xA6\x57\xD6\x77\xF5\x00\xB0\x87\xDF\x38\xFA\xEE\xD3\x66\xBB\xCE\x65\
xE9\x42\xE4\x4A\x99\x49\xFD\x88\xCC\xB1\x4D\xA8\x4B\xDB\xD4\x5D\xB3\x0E\x5B\xCA\
xDC\xE1\xB8\x0E\x37\x18\xEA\x50\xDA\xF8\xD8\x44\x45\xC8\x1D\xDB\x68\x8B\x79\x86\
xF2\x07\x4E\xEF\x19\x9C\xC3\x33\xDC\x9E\x93\x3D\x4E\xFB\xC1\x1C\x6E\xFA\x67\xAC\
xCF\xEE\x70\xEA\x1D\xAC\x85\xE8\xE2\x1C\xFD\x54\x74\x47\x3B\xBA\xAE\xE3\xC3\x27\
xC7\xB3\xEE\xBA\xEE\xA7\xCB\xC7\x63\x84\xEC\xFB\x44\x19\x3F\x9D\x49\xB7\xCD\x7B\
x80\xBC\x9B\x80\x77\x6F\x0A\xA7\x5D\x78\x0D\x90\xB1\xEA\xBA\xEE\x2D\xE0\x5D\x5F\
x9D\xC9\xFF\xBB\xE7\x7B\x9F\xFD\x3B\x43\xEB\xE7\x35\x26\x43\x13\xB8\xF2\xA9\xD3\
x9B\xDA\x86\x53\xDF\x53\xA3\x0E\x5B\xCB\x7C\xF6\xBC\x6F\xAA\xDF\xE8\x74\xAE\x23\
xE5\x4E\xF5\xBF\x10\x5D\xE3\xEB\x83\xBE\x3C\x85\xF0\xD9\xA7\x27\x24\xDD\x8F\x19\
xE4\x89\xCE\x9A\x9B\xAF\xA9\xFA\x72\xF5\xFD\x10\x9D\xBC\xEA\x4C\x99\xCC\xE1\xAB\
x0B\x6B\x27\x1B\xC7\x3B\x42\xF4\xB8\x33\xAF\x5C\x56\x23\xB9\xD8\x03\xB8\x45\x9A\
x1B\xD4\x35\xEB\x0C\x61\x0B\x33\x9B\x8E\x71\x29\x4B\x7A\x53\x62\xAD\x7C\xF7\xF2
\x72\xB0\x85\x09\x9A\x19\xEB\x0E\x3F\xC0\xCC\xAC\x42\xD2\x21\x11\xCB\x6F\xE1\x5E\
x96\x08\xF1\xE4\xBD\xF4\xEF\x89\x49\xEF\x03\x4C\x5A\x53\x5C\xFE\x31\xF9\x6C\x45\
x8D\x3A\x6C\x2D\xF3\x05\x69\x4B\x5A\x25\x62\x1B\x7D\x23\xBE\x0D\x8E\xF1\x04\x53\
x86\xA9\x3A\xEB\x09\xE6\x0A\x9D\xD0\xDF\xBF\xCC\x90\x07\x98\x3A\xFF\x07\xFE\x32\
x4C\xAD\xAB\x1C\x1C\x60\xEA\x26\x75\x89\x6D\x07\x53\xA6\xCD\x63\x60\xD1\x38\x22\
x39\xD9\xC3\x34\xEC\x27\x84\x35\x6E\x71\x37\xFF\x83\xF9\x9B\x34\xB7\xBD\x6C\xDF\
x06\xD3\x3D\xCC\xC0\x30\xB7\x03\x6E\x61\x94\x40\x8E\xCD\xA5\x3B\x98\x32\x08\x29\
x37\x71\x37\xFF\x46\xBC\x02\xFA\x80\x49\x73\xA8\x2C\x61\xDF\xCB\x92\xDF\xA5\x0C\
x4A\xF6\xEF\x63\xDB\xC6\x39\x44\xE1\xAE\x55\x87\xAD\x64\xCA\xA0\xF7\x80\xF0\x81\
xB7\x64\x6C\xA3\x3D\x86\xBC\xCF\x31\x04\xA4\x0C\x1F\x10\x96\xBE\x5D\xFF\xDD\x5F\
x48\x2B\xC7\x58\x79\xDF\x18\xFA\x4E\xE8\x04\xD0\xAE\xAB\x16\x46\x86\x18\x8E\xD2\
x77\x7D\xC6\xA0\x4C\x8E\x6F\x91\x66\xF0\x17\xE1\xAF\xAE\xEB\x5A\xA7\x81\x5C\x2E\
xF6\xE5\xA5\xF2\x5F\xE9\xAC\xA5\x67\x36\x32\x63\x5D\x63\xD8\xD3\xE2\xDB\x07\x34\
x07\x7D\x51\xEB\x1C\x59\xF2\x2E\xD9\x97\x25\xE9\xB7\xF7\x34\xE5\x44\x64\x89\x3C\
x91\x05\x94\xAB\x27\x57\xDB\x28\x59\x4F\xB5\xA8\x5D\x87\xAD\x64\xBA\xD0\x31\x6C\
x7E\xE1\x3C\xEA\x55\x74\x87\x5C\xC8\x5C\x5A\x67\xD9\xBA\x0A\x28\xD3\x0F\xB4\x7E\
x12\x7D\x58\x0B\xD9\x27\xB5\x94\xB6\xE9\x85\xC6\x11\x21\x84\x90\x12\x7C\x61\x38\
x45\xB7\x83\xF1\x0A\x10\x72\x16\x70\x59\x8D\x10\x42\x48\x6E\x96\x14\xDB\x88\x90\
x68\x68\x1C\x11\x42\x08\xC9\x4D\xCE\xD8\x46\x84\x54\x87\xC6\x11\x21\x84\x90\xDC\
xE4\x8E\x6D\x44\x48\x55\x68\x1C\x11\x42\x08\xC9\x89\x0E\x38\x49\xE3\x88\x9C\x1D\
x34\x8E\x08\x21\x84\xE4\x44\xC7\x36\x5A\xE4\x69\x24\x42\x5C\xF0\xB4\x1A\x21\x84\
x90\x9C\xD8\xC6\xD1\x62\x8F\x6A\x13\xE2\x82\xC6\x11\x21\x84\x10\x42\x88\x05\x97\
xD5\x08\x21\x84\x10\x42\x2C\x68\x1C\x11\x42\x08\x21\x84\x58\xD0\x38\x22\x84\x10\
x42\x08\xB1\xF8\xBB\x75\x02\xC8\xF9\xF3\xEF\xBF\xFF\xB6\x4E\x02\x21\xE4\xF2\x58\
xE3\x78\x73\xB7\xEF\x52\x69\x42\xB2\x41\xE3\x88\x10\x42\xC8\x12\x79\xC4\x10\x4C\
x52\x6E\xA7\x27\xA4\x0A\x5C\x56\x23\x84\x10\xB2\x34\x56\x60\x94\x6D\xD2\x10\x1A\
x47\x84\x10\x42\x96\xC6\xBD\xFA\x37\xEF\x66\x23\x55\xA1\x71\x44\x08\x21\x64\x69\
xD8\x5E\xA3\x1D\x18\x48\x92\x54\x86\xC6\x11\x21\xE4\xDC\x79\x07\xD0\x59\x0F\xC9\
x4B\xED\xF2\x5D\xF7\x8F\xF0\x61\xFD\xFF\x46\xA5\xC5\x7E\xDE\x2B\xA4\xED\xD2\xD1\
x75\x6D\x3F\x8F\x0D\xD3\x55\x1D\x1A\x47\x84\x10\x42\x96\x84\xED\x35\x3A\x80\xFB\
x8D\x48\x03\x68\x1C\x11\x42\x08\x59\x12\xF6\x7E\x23\xEE\x35\x22\x4D\xA0\x71\x44\
x48\x3C\x74\xE5\x13\x52\x86\x3B\x98\x93\x6A\x02\xBD\x46\x71\x70\x59\x2C\x13\x34\
x8E\x08\x21\x84\x2C\x05\x7B\x49\xED\x1B\xC0\xBE\x55\x42\xC8\x75\x43\xE3\x88\x10\
x42\xC8\x12\x60\x6C\x23\xB2\x18\x68\x1C\x11\x42\x08\x59\x02\x3A\xB6\x11\x8D\x23\
xD2\x0C\x5E\x1F\x42\x08\x21\x64\x09\xE8\xD8\x46\xBC\x47\xAD\x3E\x4F\x38\xDE\xF3\
x65\x73\x55\xB1\xA6\x68\x1C\x11\x42\x08\x69\x8D\x8E\x6D\xC4\x53\x6A\x6D\xE0\x1E\
xAF\x1E\x2E\xAB\x11\x42\x08\x69\x8D\x8E\x6D\x44\xE3\x88\x34\x85\x9E\x23\x52\x9A\
x35\x80\x9B\xFE\xB1\xD9\xC3\xB8\x69\xAF\xCA\x55\x1B\x88\xCC\xA2\xB5\x7B\x7B\x8F\
xE3\x68\xC1\x39\xE5\xAD\x70\x3C\x73\x07\xCC\x20\xF5\x5D\x50\xE6\x58\xBB\x90\x36\
x91\x7B\x06\x7B\x63\xC9\x14\x0E\xBD\x9C\x12\xB3\xE5\xDA\x75\xD8\x4A\x66\x2E\xEC\
xFD\x46\x2D\xF7\x1A\xB9\xF4\x55\x89\x32\x14\x59\xBA\xEF\x95\xEA\x07\xAD\xD8\xC0\
xE4\x73\xAC\x6D\xEE\x51\x67\x09\x75\x83\xE3\x72\x16\xDD\x36\x2A\x9B\xC6\x11\x29\
xC1\x0D\x8C\xB2\xBB\xC3\xA9\x92\xD1\xEC\x61\x94\x61\x8A\x42\x7C\x87\x69\xF0\xC2\
x5F\x09\xEF\x00\x8E\xAF\x44\xF8\x00\x70\xEB\xF9\x8E\xCD\x66\xE2\xB3\x5B\xC4\x29\
xD3\x1B\x98\x38\x24\x3A\xCE\xCB\x18\x5B\x98\x99\xF5\x1C\x65\x1D\x53\x47\xE8\x65\
x7D\xF4\xB2\x53\x15\x59\x4C\x1E\xC5\x7B\xF0\x82\x74\x03\x7A\x05\x93\xC7\x7B\xB8\
xF3\xF8\x0D\xB3\xD7\x62\xAE\xB7\xA2\x76\x1D\xB6\x92\x99\x1B\x9D\xF6\xDA\x5E\x23\
xE9\x0B\xF7\x70\x97\xE1\x01\xA6\x3D\xCE\xE9\x03\x40\x78\xBB\x14\x99\x3B\xB8\xEB\
xED\x11\xC0\x73\x80\xDC\x67\xEB\x7B\x53\x7A\x4E\xEB\x54\x9B\x27\x98\xFC\x87\xB2\
xC1\xA0\x63\x7C\x48\xFE\x62\xC6\x81\x0D\xA6\xE3\xCC\xD9\xF9\x7B\xEC\x9F\xA9\xBA\
xDD\xC1\xE4\xED\x48\xCF\x70\x59\x8D\xE4\x64\x05\xD3\xF9\xBE\x60\x1A\x63\xC8\xA0\
xBB\x06\xF0\x0A\xE0\x13\xA7\xB3\xA7\x6B\xE1\x11\xA6\xCC\x7C\xCA\x59\xB8\x87\x51\
x0A\x21\x0A\xD1\x25\x2F\xB4\x8E\x00\xA3\x88\xA4\x6E\x9F\x11\x96\x4E\x1B\xF9\x6D\
x68\x1E\x65\x00\x11\x79\xB1\xAC\x61\xDA\xD4\x33\xFC\x79\xBC\x01\xF0\x06\xD3\x0E\
x53\xA9\x5D\x87\xAD\x64\x96\xC0\x1E\x3C\x4B\x79\xF2\xA6\xB0\xFB\x82\xAF\x0C\x6D\
xFD\x16\x32\xE0\xBB\xE4\x85\xB4\x4B\x91\x29\xF5\xF6\x1E\xF8\x9B\xD6\xAC\x30\xA4\
x37\xB4\x9C\xEE\x50\x66\x1C\x78\x85\x5F\x5F\xDD\xF5\x72\x8F\x4E\x4B\xD2\x38\x22\
xB9\x90\x0E\x91\x1A\x85\x75\xDD\xFF\xFE\xDA\x0C\x24\xE9\xBC\x29\x3C\xC2\x74\xEA\
x1C\xF2\x0E\x18\xBC\x43\xF2\x8C\xB1\xC2\xA0\xE0\x43\xF9\xC4\xBC\xE8\xBC\x92\xCF\
x50\x83\x4C\xDA\x52\xEC\x40\x72\x8F\x34\x03\xA9\x76\x1D\xB6\x92\x59\x82\x1B\x9C\
x9E\x52\xAB\x45\x6A\x19\xAE\x60\x8C\x69\x1D\x7A\x20\x54\x5E\xEC\xC4\x42\xD8\xC0\
xD4\x5B\xAA\x61\x56\x03\x99\x94\x4C\x79\x9F\x42\x7E\x9F\x6B\x1C\x78\x44\x78\x1D\
xAD\x60\xEA\xE7\xBF\x74\xD3\x38\x22\xB9\xB8\xC7\x69\x83\xDE\xC3\xB8\x2B\x7F\xC3\
x2C\x79\xD9\xCF\x6F\x9C\xBA\x50\x45\xE9\xA4\x2A\x8F\x92\xDC\x5A\x8F\xCD\x5E\x7D\
x26\x4F\xC8\xEC\x77\xAC\xF3\x1E\x60\xCA\xEC\x16\xA7\xE5\x75\xE2\xFA\x85\x29\xF3\
x50\x05\x3F\x26\x6F\xDB\xBF\xFB\xD7\x48\x1E\x6C\xB9\x3A\x3F\x4F\x81\x32\x9F\x31\
xBE\x97\xE9\xA5\x97\xF1\x0B\x43\x1E\x25\x0D\x63\xCB\x16\xE2\x61\x0C\xE1\x1D\x43\
x1B\xDA\x02\xF8\x33\x22\xE7\x0F\xC6\x07\xE2\xD0\x65\x00\xA1\x76\x1D\xB6\x92\x59\
x0A\x5D\xD6\xB5\xF6\x1B\x3D\x23\xDE\xB8\xD1\xBC\x22\x7C\x10\xCF\x21\x0F\x18\x74\
xE4\x12\x27\x91\x62\x60\xCC\xF5\x6E\xC9\x44\x7B\xCE\x7B\x6E\x90\xD6\xBE\xFF\xD3\
x31\x7F\x75\xDD\xD4\x56\x0A\x42\xC2\xF8\xF7\xDF\x7F\xE5\x7F\xC5\x35\x7A\x00\xF0\
x80\xB0\xBD\x0D\x1B\x9C\x1A\x44\xA1\x6B\xDB\x35\xF7\x1C\xCD\xF9\xFE\x18\x37\x38\
xF5\xBE\xEC\x60\xCA\xCD\xB5\x9F\x41\x5C\xFB\x5A\xD1\x86\xEC\x71\xFA\xC1\x50\xCE\
x07\x18\x03\x21\x66\xFF\xC9\x06\x66\x60\x16\xA3\x37\xE4\xFB\x7A\x4F\x40\x48\x1E\
x81\x41\xD1\xCA\xE0\x79\xC0\xB4\xD1\x39\xB6\x4F\xC2\xF5\x7D\x9D\x46\xDD\xFE\xBE\
x01\xFC\xE3\xF9\x1D\xD0\xA6\x0E\x5B\xC8\xCC\xD5\xCF\xC6\xF8\xC2\x30\x08\xEE\x60\
xDA\xA4\x8B\xD0\x7D\x26\xA9\xEF\x88\x65\x0F\x63\x80\xD6\x92\x27\x32\x6F\x31\xD4\
x77\xE8\x9E\x23\x9B\x12\x7B\x8E\x9E\x91\xF7\xFE\x36\x5F\x7D\xE6\x2E\x57\xE1\x01\
xC0\x96\x9E\x23\x92\x93\x1D\xCC\xA0\xF2\x1B\xE1\x83\xEE\x07\x4C\x63\xB4\xC9\x31\
xC3\x5A\x3A\x5A\x89\xEC\x61\x06\x06\x9F\xD1\x20\x86\xA7\x9E\x61\xFB\x94\x92\xDE\
xF4\xFA\x82\xF8\x8D\xB9\xA2\xAC\x42\xBD\x46\xDA\x2B\xF0\x81\xB0\x3C\x02\x83\xF1\
x26\x5E\xA4\x50\x6F\x9C\x10\xFA\x7D\x49\x93\xCD\xD8\xE9\xA1\x31\x6A\xD7\x61\x2B\
x99\xA5\xD0\xA7\x07\x6B\x2D\xA9\xE5\xF4\x98\xAD\xE1\xD7\x57\x73\xF6\xB2\x69\x76\
x38\x36\x8C\x96\x82\x2C\xB7\xE7\x44\x9F\x2E\xAB\xC5\x3D\xC0\x65\x35\x92\x9F\x03\
xE2\x3B\xEE\x0E\xC7\x03\x59\xE8\xE0\x74\xCE\x68\xC3\xC1\x37\x63\xD6\x3C\xE1\xB8\
x9C\xE5\xA8\xEC\x14\xFA\xB3\x1A\xCB\x17\x7A\xD0\xD0\x46\x70\x08\x0F\x30\x06\x77\
x8C\x61\xF4\x12\xF9\xFD\xB1\x53\x32\x21\x7B\x26\x6A\xD7\x61\x2B\x99\xA5\xB0\xDB\
x47\xAD\xD8\x46\x3A\xD8\xA4\xE6\x1B\x43\x9B\x93\xA5\xC9\x3F\x70\xB7\x27\x97\x71\
x14\x5A\xBE\x72\x62\x4A\x9E\xB1\x53\x9A\xB2\x44\xAC\xF5\xEB\x8B\x95\x56\xD7\x84\
xE7\xC9\xFA\x5E\x8A\xB7\xDB\x45\xC8\x84\x56\x3C\xCE\xF2\x84\x4C\xCE\xE6\x4E\x94\
x65\x09\xDF\x2E\x57\xDF\xF8\xB4\x06\xB0\xA2\x71\x44\x96\x82\x56\x8C\xA9\x1B\xFA\
xCE\x81\x0D\x4E\x8F\x2E\xC7\x1E\x57\x3F\x20\x6D\x40\xB7\x7F\x5F\x12\x9D\x96\x94\
x3C\x0A\xB1\x69\x4D\x39\xAA\x1E\x5B\x96\x2D\xEA\x70\x09\xED\x26\x27\x2D\x2E\x99\
x75\xED\x27\x93\x25\xB2\x2D\x8E\xCB\x55\xBC\x35\x53\x06\x92\xF6\x80\xD9\xF8\xCA\
x76\x0F\x63\x88\xFD\x81\x19\xB8\xE5\x79\xEA\xFF\x2E\xCB\xA5\x5B\xA4\x4D\x2E\x6A\
xE1\xCB\xE7\x03\x4C\xD9\xDA\x79\x94\xBD\x8D\xAE\xFE\x3D\xA7\x6D\x4A\xD9\x8A\x51\
x64\x97\xAB\x6F\xF2\xB4\xA6\x71\x44\x96\xC2\xA5\x04\x3B\x0B\x61\x6C\xE3\x7A\x0A\
xDA\x08\x88\xD9\xC8\x5E\x7A\xD3\x7B\xAE\x3C\xA6\x90\x62\x1C\xE9\xF4\xF9\x66\xFB\
x2D\xEA\x70\x09\xED\x26\x17\x3A\xFC\x40\xAD\x25\x35\x97\xD7\xC8\xB5\x3C\x29\x1B\
xDE\xA7\x98\x1A\xC4\x5D\x83\xBB\x2C\x17\xBB\x0C\xDC\x2D\x06\x23\x69\xC9\xB8\xCA\
xD5\x15\xC7\xEE\x03\xEE\x7D\x4C\x63\x81\x23\x43\xD1\x5E\x52\x41\x96\xEC\x5D\xD0\
x38\x22\x64\x01\xA4\x0E\x72\xFA\x77\x3E\x45\x6C\x53\x7B\x5F\xD7\x39\x18\xBF\x7A\
x69\x37\xF5\xB7\x73\x7E\x17\x33\x53\x6E\x21\x33\x17\xB6\xCC\x9A\xB1\x8D\xA6\xF2\
x1A\xE2\x85\xFB\x80\xDB\x7B\x14\xF3\x77\x20\x6C\x89\x07\x81\xDF\x69\x8D\xCB\x80\
xF1\x19\xBE\x3E\xAF\x61\xCA\x16\x0B\x09\x4D\x32\x85\x37\xF2\x3F\x8D\x23\x42\xCE\
x97\x18\xA5\xA9\x15\xC1\x33\x96\x7B\x24\xB8\x15\x2D\x06\xA1\x6B\x91\x69\xD3\x32\
xB6\xD1\x14\xA1\xC6\xD9\xD4\x80\x9A\xB2\x6F\x6B\x69\x91\xCA\x4B\xE1\xCB\x67\x89\
xF6\x38\xDB\xD8\xE6\xF5\x21\xA4\x04\x77\x18\x4E\x1A\x70\xF0\x5D\x06\xDF\x30\x33\
x55\xFB\x44\xC9\x1D\x86\x41\x4A\x14\x98\xBE\xE7\x48\xFE\x7D\x0E\x9E\x1F\x72\x1E\
xB4\x8A\x6D\xE4\x22\xD4\x7B\x36\xA5\xCF\x52\xBC\x6F\x97\xD2\xA7\x2E\x52\xC7\xD3\
x38\x22\x39\x91\x40\x7D\x17\xD9\x59\x2E\x80\x27\x0C\xD7\x11\x68\x36\xEA\xBF\x63\
xA4\xDC\x7F\x44\x88\xC6\x6E\x7F\x3B\xD4\xF3\x64\xB9\xF4\xD2\x06\xF9\x97\x17\x2F\
xF9\x50\x89\xCD\x12\x83\xF6\xCE\x86\xCB\x6A\x24\x17\xD7\x7A\xFD\xC7\xB9\xF1\x80\
xE9\xE8\xD0\x3E\x24\xC8\xA7\x1D\x81\x9A\x90\x18\x5A\xC5\x36\x02\xD8\x66\x49\x04\
xF4\x1C\x91\x1C\x48\xB8\x77\xAD\x7C\xF6\x30\x9E\x86\x90\x99\xA1\xDC\x8C\x4D\xCA\
x23\xB7\x7C\x03\x43\x1C\x96\x55\xFF\x88\x71\x6B\xFF\xBF\x46\x22\xD3\xFA\x22\x03\
x13\xA2\x69\x11\xDB\xA8\x15\xAD\xF7\x76\x91\x19\xD0\x38\x22\x39\xD0\xC7\x72\x53\
xAF\xA6\xA0\x71\x54\x9F\x90\xEB\x2A\x24\x0A\xB0\xBD\x4C\xB0\x86\xD9\xBF\x14\x72\
xCD\x0B\x21\x42\x8B\xD8\x46\x42\xED\x3D\x3E\x97\xB2\xA7\xC8\x47\x6A\xFC\xB2\x45\
x43\xE3\x88\xE4\x60\x2C\x6A\xEF\xB5\x9C\xC4\xB8\x74\xBE\xFB\x67\x87\xD3\x5B\xEB\
xEF\x40\xE3\x88\x84\xD3\x2A\xB6\x91\xE0\xF2\xE4\x6C\x51\x3F\x3D\x1B\x5C\x86\x9E\
xA4\x71\x44\xC8\x04\xF6\xF2\x8B\x2C\xA5\x91\xF2\xD4\xBE\xF6\x61\x8B\xE3\xBB\xA4\
xB8\xBF\x6C\x3E\x2D\xAE\xEE\x68\x75\x5D\x48\xAB\xD8\x46\x21\xAC\x50\x5F\x6F\xAD\
x1B\xC8\x6C\xC1\x1D\xDC\x86\x67\xAB\xF6\xE8\x84\x1B\xB2\x49\x6E\x5A\x76\xF6\x45\
x76\xB2\x11\xF4\x0C\x36\xD5\xC8\xD0\xBF\xAB\x51\xF6\x7A\x40\x0B\xDD\xE4\x7A\x6
9\x86\x54\x8B\x3A\x3C\xE7\x76\x53\x23\xB6\x51\x48\x5B\x9C\x32\xC8\xEE\x50\x46\x7F\
xB8\xCA\xF6\x11\x61\x75\xA8\x2F\x8D\x5E\x22\x2E\xEF\x91\xEB\xCA\x96\x90\xCF\x9B\
x8C\x29\x34\x8E\xC8\x39\x93\x23\xD2\x6F\x8B\xE3\xB6\x3A\xDD\x3E\xE5\x30\x85\x4E\
x7B\x0D\xF7\xB6\x1E\xA0\xA7\x94\xF6\x12\xA2\x30\x97\xA4\x45\x1D\x9E\x73\xBB\xA9\
x11\xDB\xC8\xF6\x6A\x4E\xE1\x1A\x68\xDF\xE0\x37\x42\x56\x88\x0B\x57\xE2\x92\x27\
x07\x59\xA6\xFA\x86\xDC\x74\xFF\x86\x3C\x27\x44\x53\xDB\x4B\x08\x2E\x2F\xE0\x1D\
x8E\xE3\xAB\xD9\x3C\xC2\x04\xA4\x9D\xA2\xD9\x92\x1D\x8D\x23\x92\x9B\x9A\x83\xA0\
xEE\x38\x29\x9D\xBF\xA4\xC2\x98\x62\x8F\xE3\xB4\xAF\x11\x5F\x6E\x63\xA7\xFB\x6A\
xCC\xB0\xF4\xA0\x30\xA5\xBC\xF4\x29\xC5\x39\x71\x64\x96\x38\x6B\x6E\x51\x87\xE7\
xDC\x6E\x6A\xC5\x36\x7A\x05\xD0\xF5\xCF\x58\xD9\xB8\xF2\xBA\x06\xF0\x89\xD3\xBD\
x51\xF2\xD9\x23\x80\xAF\xFE\xF3\xD0\xB0\x25\xBE\xB2\x15\x03\xE9\x13\xC6\x48\x78\
xEC\x9F\x77\x00\x3F\x18\x0C\x07\x09\x95\xE2\xEB\x0B\x2E\x63\x62\x0D\x93\xFE\x77\
xB8\x0D\x92\x14\x7C\xF9\x7C\xEE\x65\x4B\x1E\xED\x7F\xBB\x68\x76\x9A\x91\xC6\x11\
xC9\x81\x3D\x6B\x58\x23\xCD\xE0\x48\x19\x00\x75\xC7\xD9\x60\x7A\x86\x32\x46\x8E\
x13\x72\xA9\x03\xB7\x9E\x39\x3F\x47\xBE\xEB\x55\xFD\x7B\x0B\xF7\x80\xB3\x82\x51\
xC0\x73\x8C\x57\x1D\x40\xD2\xB7\x67\x44\xD7\x4F\x6C\x1E\x01\xD3\x96\x64\x40\x5A\
x1A\xB5\xEB\xB0\x95\x4C\x4D\xEC\x72\x5E\xCB\xD8\x46\x1A\xD7\xFD\x68\x80\x49\xE7\
x2B\x8C\x61\x22\x86\x44\x87\xC1\x78\x91\xB2\x16\xA3\xC6\xD7\x2E\x43\xF7\x60\x8A\
xF1\xF5\xDC\x3F\x63\xFD\x34\xC4\x40\xF2\x79\x5A\x6E\x30\xDC\x5E\x90\x93\x10\x83\
xF7\x06\x43\x1E\x1F\x11\xB6\x8C\xD9\x2C\xE0\x2C\x8D\x23\x92\x03\xAD\xEC\x5E\x11\
x67\x20\x49\xA7\x89\xE5\x80\xF1\xC1\x22\xE4\x5D\x1B\x18\x77\x75\x0A\x7A\xF6\x9E\
x62\x0C\xEA\x41\x49\x14\x9F\x4F\x61\xAC\x60\xD2\xAD\x95\xA7\xEF\xD4\x98\xCC\x74\
xDF\xE1\x76\xE5\x4F\x31\xA6\x98\x7D\x8A\x4B\xA7\x29\x26\x50\xE8\x0A\xC3\xFD\x6F\
xB2\x94\xB1\x34\x03\xA9\x76\x1D\xB6\x92\x39\x76\x2F\x5F\x8C\x41\x96\x33\xB6\x51\
x0E\x2F\xD7\x53\xE0\xF7\xC4\x90\x98\x22\xB4\x5D\x86\xCA\x0B\xC1\x67\x20\xB5\x8A\
xAD\x74\x40\xFE\x93\xAB\x5B\x34\x5C\x56\xE3\x69\x35\x92\x83\x2D\x8C\x41\x62\xCF\
xAA\xDE\x60\x66\x4D\x3B\x8C\xCF\xD4\x56\x18\x94\xCF\x1C\x6F\xC6\x0B\x4E\x37\x2C\
x3E\xC3\x28\xAC\x2D\x86\xA5\x88\x03\x86\x19\xAC\xDC\xFD\x86\xFE\xEF\xB1\xDE\x8C\
x0F\x1C\x2B\xC4\xB7\x3E\x1D\x72\xEC\x1D\x38\xBD\xA3\x4C\x73\x80\x89\x56\x6D\x1B\
x68\xE2\xF6\xDE\x62\x58\x96\xFA\xB0\xD2\x2D\x7B\x2A\x74\x7A\x9F\xE0\x56\x22\x7A\
xE3\xA7\x94\xB9\xD4\xCF\xD4\x6C\x7A\x65\x7D\x57\x0F\x00\x7B\xF8\x8D\xA3\xEF\x3E\
x6D\xB6\xEB\x5C\x96\x2E\x44\xAE\x94\x99\xD4\x8F\xC8\x1C\xDB\x84\xBA\xB4\x4D\xDD\
x35\xEB\xB0\xA5\xCC\x1D\x8E\xEB\x70\x83\xA1\x0E\xA5\x8D\x8F\x4D\x54\x84\xDC\xB1\
x8D\xB6\x98\x67\x28\x7F\xE0\xF4\x9E\xC1\x39\x3C\xC3\xED\x39\xD9\xE3\xB4\x1F\xCC\
xE1\xA6\x7F\xC6\xFA\xEC\x0E\xA7\xDE\xC1\x5A\x88\x2E\xCE\xD1\x4F\x45\x77\x34\x83\
xC6\x11\xC9\xC1\x01\xC0\x2D\x4E\x67\x34\x35\x2E\x9E\x95\x4E\xA4\x15\xC2\x0D\xFC\
xCA\x48\xD2\xFD\x19\x29\xF3\x05\xA7\xCA\x59\x2B\xDA\x5B\xF8\x67\xB9\x3B\x98\x81\
x4E\xA7\xFD\x7E\xE4\xFD\x53\x6C\xE1\x9F\xB1\xC9\x11\x7C\xED\xE1\xD2\xF5\x63\x1B\
x77\x2E\x83\x75\x0F\x93\xBF\x10\x5E\x30\xBE\xCF\xC5\xBE\xF4\x36\x84\x2D\x4C\x59\
x2D\x8D\x5A\x75\xD8\x52\xE6\xD8\xA5\xC5\xDA\xDB\x3B\x75\xE7\x5E\x89\xD8\x46\x63\
x13\xA2\x58\x64\xE0\x9D\x6B\x20\xED\x61\xE2\xBA\xF9\x3C\x36\x52\xD6\x73\x0D\x24\
xD1\x59\x53\x4B\x83\xE2\xC1\xC9\x65\xF8\xC5\x22\xE3\xC0\x1C\xBD\xFF\x8D\xB0\x32\
x2D\x0A\x97\xD5\x48\x2E\x64\xC0\x4C\x71\x83\xBA\x66\x9D\x21\xC8\xC0\x19\xD3\x99\
x24\xBD\x29\xB1\x56\xBE\x91\x6F\xA0\xDE\x22\x4D\x11\x1C\x60\x14\x7C\x48\x3A\x24\
x62\xB9\xCF\x60\x0B\xF1\xE4\xBD\xF4\xEF\x89\x49\xEF\x03\x4C\x5A\x53\x94\x5D\x4C\
x3E\x5B\x51\xA3\x0E\x5B\xCB\x7C\x41\xDA\x92\x56\x89\xD8\x46\xDF\x88\x6F\x83\x63\
x3C\xC1\x94\x61\xAA\xCE\x7A\x82\xB9\x42\x27\xF4\xF7\x2F\x33\xE4\x01\xA6\xCE\xFF\
x81\xBF\x0C\x53\xEB\x2A\x07\x62\xBC\xA5\x2E\xB1\xED\x60\xCA\xB4\x79\x0C\x2C\x1A\
x47\x24\x27\x7B\x98\x86\xFD\x84\xB0\xC6\x2D\xEE\xE6\x7F\x30\x7F\x46\xB9\xED\x65\
xFB\x36\x98\xEE\x61\x06\x86\xB9\x1D\x70\x0B\xA3\x04\x72\xCC\x84\x77\x30\x65\x10\
x52\x6E\xE2\x29\xFB\x8D\x78\x05\xF4\x01\x93\xE6\x50\x59\xC2\xBE\x97\x25\xBF\x4B\
x19\x94\xEC\xDF\xC7\xB6\x8D\x73\x88\xC2\x5D\xAB\x0E\x5B\xC9\x94\x41\xEF\x01\xE1\
x03\x6F\xC9\xD8\x46\x7B\x0C\x79\x9F\x63\x08\x48\x19\x3E\x20\x2C\x7D\xE2\xB5\xFB\
x85\xB4\x72\x8C\x95\x27\x5E\x3B\xF9\x4D\x48\xDF\xB3\xEB\xAA\x85\x91\x21\x86\xA3\
xF4\x5D\x9F\x31\x28\x93\xE3\x5B\x2C\xC0\x63\x24\xFC\xD5\x75\x5D\xEB\x34\x90\x33\
xE7\xDF\x7F\xFF\x9D\xFA\xC8\xBE\xBC\x54\xFE\x2B\x9D\xB5\xF4\xCC\x46\x66\xAC\x6B\
x0C\x7B\x5A\x7C\xFB\x80\xE6\xA0\x2F\x6A\x9D\x23\x4B\xDE\x25\xFB\xB2\x24\xFD\xF6\
xB2\x57\x4E\x44\x96\xC8\x13\x59\x40\xB9\x7A\x72\xB5\x8D\x92\xF5\x54\x8B\xDA\x75\
xD8\x4A\xA6\x0B\x1D\xC3\xE6\x17\xCE\xA3\x5E\x45\x77\xC8\x85\xCC\xA5\x75\x96\xAD\
xAB\x80\x32\xFD\x40\xEB\x27\xD1\x87\xB5\x90\x7D\x52\x4B\x69\x9B\x5E\x68\x1C\x91\
xD9\x38\x8C\x23\x42\xC8\xF5\xF2\x85\xE1\x14\xDD\x0E\xC6\x2B\x40\xC8\x59\xC0\x65\
x35\x42\x08\x21\xB9\x59\x52\x6C\x23\x42\xA2\xA1\x71\x44\x08\x21\x24\x37\x39\x63\
x1B\x11\x52\x1D\x1A\x47\x84\x10\x42\x72\x93\x3B\xB6\x11\x21\x55\xA1\x71\x44\x08\
x21\x24\x27\x3A\xB6\x11\x8D\x23\x72\x76\xD0\x38\x22\x84\x10\x92\x13\x1D\xDB\x68\
x91\xA7\x91\x08\x71\xC1\x08\xD9\x84\x10\x42\x72\xB2\xC5\xE0\x2D\xA2\x61\x44\xCE\
x12\x1E\xE5\x27\x84\x10\x42\x08\xB1\xE0\xB2\x1A\x21\x84\x10\x42\x88\x05\x8D\x23\
x42\x08\x21\x84\x10\x0B\x1A\x47\x84\x10\x42\x08\x21\x16\xDC\x90\x4D\x08\x21\x64\
xE9\xAC\x71\x7C\x0A\xCE\x77\xC1\x34\x21\xB3\xE0\x86\x6C\x42\x08\x21\x4B\xE7\x0D\
x43\x60\xC9\x6F\x98\x1B\xDF\x09\x29\x06\x97\xD5\x08\x21\x84\x2C\x99\x15\x18\x71\
x9B\x54\x86\xC6\x11\x21\x84\x90\x25\x73\xAF\xFE\xCD\x7B\xDA\x48\x71\x68\x1C\x11\
x42\x08\x59\x32\xB6\xD7\x68\x07\x06\x96\x24\x15\xA0\x71\x44\x08\xB9\x24\xDE\x01\
x74\xD6\x43\xF2\x53\xB3\x8C\xD7\xFD\x23\x7C\x58\xFF\xBF\x51\xE9\xB0\x9F\xF7\xC2\
xE9\xAA\xCD\x35\xE5\x75\x11\xD0\x38\x22\x84\x10\xB2\x54\x6C\xAF\xD1\x01\xDC\x6F\
x44\x2A\x41\xE3\x88\x10\x42\xC8\x52\xB1\xF7\x1B\x71\xAF\x11\xA9\x06\x8D\x23\x42\
xE6\x43\x17\x37\x21\xF9\xB9\x83\x39\xA9\x26\xD0\x6B\x44\xAA\x41\xE3\x88\x10\x42\
xC8\x12\xB1\x97\xD4\xBE\x01\xEC\x5B\x25\x84\x5C\x1F\x34\x8E\x08\x21\x84\x2C\x0D\
xC6\x36\x22\x4D\xA1\x71\x44\x08\x21\x64\x69\xE8\xD8\x46\x34\x8E\x48\x55\x68\x1C\
x11\x42\x08\x59\x1A\x3A\xB6\x11\xEF\x51\x23\x55\xA1\x71\x44\x08\x21\x64\x49\xE8\
xD8\x46\x3C\xA5\x46\xAA\x43\xE3\x88\x10\x42\xC8\x92\xD0\xB1\x8D\x68\x1C\x91\xEA\
xFC\xDD\x3A\x01\xE4\xAA\x58\x03\xB8\xE9\x1F\x9B\x3D\xCC\x69\x14\x5E\x0B\x70\x8A\
xCC\xA2\x57\xEA\xEF\x7B\x1C\x47\x0B\xCE\x29\x6F\x85\xE3\x99\x3B\x60\x06\xA9\xEF\
x82\x32\xC7\xDA\x85\xB4\x89\xDC\xA7\x94\x6E\x2C\x99\xC2\xA1\x97\x53\xE2\x44\x54\
xED\x3A\x6C\x25\x33\x17\xF6\x7E\xA3\x9C\x7B\x8D\x36\x38\x6E\xD7\xD2\x9E\x73\x2F\
xD9\xB9\xF4\xDC\xD2\xCB\x7E\x05\x53\x4E\x76\xDA\x4B\xA4\x7B\x09\x65\x74\x83\xD3\
x13\x91\x43\x7B\xE8\xBA\x8E\x0F\x9F\x92\xCF\x4D\xD7\x75\xCF\x5D\xD7\x7D\x75\x7E\
x3E\xBB\xAE\xBB\x4F\x94\xF3\xAE\xDE\x95\x9A\x5E\x9B\xF7\xC0\xEF\x85\xB0\x89\x48\
xC3\x4D\xD7\x75\xAF\x5D\xD7\xFD\x04\xBC\xF7\x35\xF2\xDD\x73\xEB\xA8\xEB\x4C\xB9\
x3C\x76\x5D\xB7\x9A\x29\x33\x34\x8F\x3F\xFD\x77\x6F\x02\xDE\x3B\xD5\x0E\x56\x7D\
x9A\x7D\x79\xFC\xEA\xBA\xEE\x6E\x46\xBE\x5A\xD5\x61\x4D\x99\xB9\xFA\xDA\xD8\x73\
xA7\xDE\xBD\x76\x7C\x77\xE3\xC8\x9F\xDD\x77\x1F\x3B\x77\x99\xBC\x75\x61\x6D\x2B\
xA4\x0F\xF9\xCA\xFE\xA7\x4B\xEB\x3B\xA1\x79\x2D\x55\x4E\x5F\xFD\xE7\xE7\x5A\x46\
x5D\x37\xB4\xF7\x55\x67\xEA\x7C\x8A\xD7\xAE\xEB\x56\x39\x1B\x35\x1F\x3E\xF6\xB3\
xEA\x4C\x47\x48\xE1\xB3\x73\x2B\xC5\xB1\xE7\x52\x8C\xA3\xC7\x84\x77\x77\x9D\x29\
xEB\x94\xFC\xA6\xCA\xEB\x3A\xA3\xC4\x9E\xBB\x78\x25\x96\xDA\x2E\xBA\xCE\x9F\xCF\
xB1\x76\xB0\xEE\xC2\x0D\x3F\xE1\xD5\x23\x67\x49\x75\x58\x5B\x66\x49\xE3\xC8\x1E\
xB4\x3E\x3D\xDF\x0D\x19\xF4\x5F\x03\xCB\xE1\xA7\x4B\x9F\x98\xA5\x94\xFD\x4F\x17\
x67\x84\x97\x36\x8E\x42\xCB\xE9\xB3\x4B\x9B\x14\xB5\x2E\xA3\xAE\xFF\x7C\xDD\x85\
x4D\x1E\x3E\xB9\xE7\x88\x94\x60\x05\x13\x29\xFA\x31\xF1\xF7\xEB\xFE\xF7\x7A\x69\
xE7\xD2\x79\x05\xF0\x9C\xF8\xDB\x47\x00\x9F\x99\xE4\x1D\x60\xDC\xCB\xF6\x33\xC6\
xAA\x97\xFB\x15\x21\xF3\x13\xE9\xED\x02\x18\xF2\xA9\x97\x8B\xA6\x90\xB6\xA4\xDD\
xF7\x3E\xEE\x61\xCA\x27\x96\xDA\x75\xD8\x4A\x66\x09\xF4\x32\xC7\xDC\xBD\x46\x8F\
x38\x0D\x09\x30\xC5\x0A\xA6\x1C\x37\x91\x32\x52\xCB\x7E\x05\xE0\x0D\xE1\xE9\x2B\
xC9\x33\xC2\xD3\xB1\x86\x49\x77\x0C\x4B\x29\x23\x79\x5F\x88\xEE\xD8\xD1\x38\x22\
x25\xB8\xC7\xA9\x61\xB3\x07\xF0\x04\xE0\x37\x80\xBF\xD4\xF3\x1B\xA7\x7B\x0B\x62\
x1A\x72\x0B\x6E\xAD\xC7\x66\xAF\x3E\x93\xC7\xB7\x97\x65\x4C\x91\x1F\x60\xCA\xEC\
x16\xA7\xE5\xF5\x84\xD3\x3D\x5A\x6B\x84\x2B\xA1\x31\x79\xDB\xFE\xDD\xBF\x46\xD2\
x6F\xCB\xD5\x79\x79\x0A\x94\xF9\x8C\xF1\xBD\x4C\x2F\xBD\x8C\x5F\x18\xF2\x28\x69\
xD8\xE2\x74\x4F\xC8\x1A\xE1\x86\xCB\x3B\x86\x36\xB4\x05\xF0\x67\x44\xCE\x1F\x8C\
x0F\xC4\xF7\x38\x1E\xAC\x7D\xD4\xAE\xC3\x56\x32\x4B\xA1\xCB\x7A\xCE\x7E\xA3\x1B\
xA4\xE5\x29\xC6\x20\x8E\x31\x2A\x5C\xF2\x5A\x4E\x02\xD7\x88\x9F\xAC\x6C\x22\x7E\
xB3\xA4\x32\x7A\x46\xD8\x24\xE9\x03\xC0\x4B\x4E\x77\x28\x1F\x3E\xF6\x73\xD7\x19\
xF7\xE5\x57\x17\xBE\xA4\xB4\xE9\x4E\x5D\x9E\xA1\xEB\xDC\xB5\x97\xD5\xE6\xFE\xC6\
x7E\x6E\xBA\x53\xDE\x3A\xBF\xFB\x7A\xD5\x8D\xBB\xC3\x43\xCA\xDB\x2E\xE7\x9F\xC0\
xDF\xE8\xBA\x7A\xEF\xC2\x97\x65\xC6\x5C\xDE\x21\x79\x94\x7C\xDA\xCB\x2D\x3F\xDD\
xF4\xB2\xAB\x6E\x07\xBE\xEF\xFB\xDA\xDF\x57\x60\xFE\x5A\xD4\x61\x0B\x99\x63\x65\
x1C\xDB\xDE\xA7\x1E\x7B\xE9\xF3\x2D\xE0\xFB\xBE\x65\x94\x54\x42\x96\xD7\x72\xCA\
xF6\x2D\x1F\xFA\xE4\xCD\x59\x56\x4B\xE5\xA7\xF3\xB7\xB3\x25\x95\x51\x28\xFF\xE5\
x8B\x9E\x23\x52\x8A\x1D\x80\x7F\x60\x66\xAB\xA1\xA7\x0F\x3E\x00\x3C\xA8\xBF\x2D\
xC1\xED\x5C\x1A\x3D\x0B\xDB\xC3\x78\x33\x7C\xA7\x68\x0E\x30\xE5\xA5\x67\xD8\xBE\
x59\x9D\xBE\xD0\xF3\x05\xF1\x27\x44\x3E\x60\x3C\x13\xA1\x5E\x23\xED\x15\xF8\x40\
x58\x1E\xD1\x7F\xE7\x0F\x06\x2F\x52\x88\x27\xCE\x26\xF4\xFB\x92\x26\x1B\x39\xD9\
xE6\xA3\x76\x1D\xB6\x92\x59\x0A\x7D\x7A\xB0\xE5\xF1\xFD\x10\x9D\x93\xD3\xD3\xB6\
x0E\x94\xB9\x24\xF4\xF5\x2E\x63\x9C\x63\x19\x3D\xA0\xEF\x3F\x34\x8E\x48\x49\x0E\
x88\x3F\x26\xBB\xC3\xF1\x40\x16\x3A\x38\x9D\x33\x5A\xC9\xE8\x01\xDA\xC7\x13\x8E\
xCB\x59\x1F\xC5\xD5\xE8\xCF\x6A\x5C\xCD\xA0\x15\x9B\x36\x82\x43\x78\x80\x31\x
B8\x63\x0C\xA3\x97\xC8\xEF\x7F\xE0\xB4\x3C\x42\xF6\xA1\xD4\xAE\xC3\x56\x32\x4B\x61\
xB7\x8F\x9C\xB1\x8D\x64\xD9\xF6\xA9\x7F\x5E\xE0\xD7\x49\x63\x21\x10\xF4\xE7\x2E\
x9D\xF4\x8D\xA1\xAD\xCA\x92\xE6\x1F\xB8\xDB\x61\x6B\xE3\x48\x26\x06\xB2\x8C\xFE\
x9F\x91\xE0\xC0\xD5\x2F\x96\x5C\x46\xBA\x4D\x6C\xAD\xBF\xFD\xD7\xEE\x68\x1C\x91\
x25\xA2\x15\x63\xEC\x26\xC9\x73\x62\x83\x63\x45\xBC\x43\x7C\xBC\xA7\x03\xD2\x06\
x74\xFB\xF7\x25\xD1\x69\x49\xC9\xA3\x10\x9B\xD6\x94\x98\x29\xB1\x65\xD9\xA2\x0E\
x97\xD0\x6E\x72\x52\xE2\x92\xD9\x3D\xCC\xE0\x2B\x46\x91\x0C\x88\x21\x06\xB6\x6B\
x60\x77\x79\x4C\xF6\x18\xF6\x50\xDA\xF5\xB1\x83\xDB\x83\xA9\x3D\x67\x35\x91\xB4\
xED\x30\x1C\xC0\xD8\xF6\x7F\x73\xF5\xB7\x73\x2C\xA3\xB1\x36\xF1\xD0\xCB\x7D\xB1\
xBF\x48\xE3\x88\x2C\x91\x12\x81\xF8\x96\xCA\xD8\xC6\xF5\x14\xB4\x11\x10\xB3\x91\
xBD\xF4\xA6\xF7\x5C\x79\x4C\x21\xC5\x38\xD2\xE9\xF3\x29\xE4\x16\x75\xB8\x84\x76\
x93\x8B\x7B\x9C\x1A\x7A\x39\xD0\x9E\x31\x41\x96\x69\x5D\xB8\x06\x7E\xD7\x67\xAE\
x65\x4D\xD9\x28\x3F\x45\x2B\xC3\x74\x2A\x4D\x7B\x28\x83\x41\xE1\xEA\x17\x4B\x2C\
x23\x59\x92\x1F\x93\xBD\xD7\x7F\xA7\x71\x44\xC8\xB2\x48\x1D\xE4\xF4\xEF\x5C\x4A\
x44\x2B\x87\xDA\x2E\xFD\x73\x30\x7E\xF5\xD2\x6E\xEA\x6F\xE7\xFC\x2E\x66\x20\x68\
x21\x33\x17\xB6\xCC\x5C\x51\xCA\x25\x1C\xC5\x14\x73\xA2\xBD\x4F\x95\x51\x88\xF7\
xEE\x03\x6E\xCF\x48\x6D\x7C\x37\x13\xF8\x0C\xD5\xA9\xB2\x58\x62\x19\x45\x5D\x60\
x4C\xE3\x88\x90\xCB\x20\x66\xB9\x49\x0F\x0A\xCF\x30\x61\x13\x2E\x7D\x6F\x57\x0C\
x2D\x6E\x81\xBF\x16\x99\x36\xB9\x63\x1B\x09\x2D\x0C\xF0\x50\x99\x53\x46\x59\x8B\
x65\x35\x9F\xA1\x92\xFB\x4A\xA7\x96\x65\x14\x95\x17\xDE\xAD\x46\x4A\x73\x87\xE1\
x4E\x23\x0E\xBE\xCB\xE0\x1B\xC6\x5D\x6E\x9F\x4E\xBA\xC3\x30\x48\x89\x62\xD2\xAE\
x66\xF9\xF7\x39\x78\x7E\xC8\x79\x90\x33\xB6\x51\x6B\x42\xBD\x6E\x53\x7A\xF0\x92\
xF7\x56\x0A\x2D\xCB\x28\x4A\x6F\xD1\x38\x22\xA5\x90\x40\x7D\x34\x88\x96\xC9\x13\
xCC\x3E\x8F\xB1\x25\xB5\x8D\xFA\xEF\x18\xB2\x79\xF3\x9C\x07\x33\xD2\x1E\xBB\xFD\
x45\x2D\x7B\x34\xC2\xA5\xCF\x36\xB8\x0E\x03\xC7\xC7\x45\x94\x11\x97\xD5\x48\x09\
xAE\xF5\xFA\x8F\x73\xE3\x01\xD3\xD1\xA1\x7D\xDC\xC1\x18\xBF\x76\x04\x6A\x42\x62\
x58\x52\x6C\xA3\x50\xD8\xD6\xFD\x5C\x44\x19\xD1\x73\x44\x72\x23\xF7\xAA\xE9\x0E\
xB2\x87\xF1\x34\x84\xCC\x0C\x6F\xD0\x3E\xEE\xC7\xB5\xB0\xC3\x30\x28\x49\x9C\x9B\
x55\xFF\x88\x71\x6B\xFF\xBF\x66\x03\x53\xDF\xBF\x0B\xA6\x91\x5C\x26\xA5\x62\x1B\
x11\x32\x1B\x1A\x47\x24\x37\xFA\x58\xAE\x1C\x9B\x8D\x39\x19\xB2\x01\x8D\xA3\x16\
xF8\xEA\x48\x02\x72\xDE\xE3\xD8\x35\x2E\xF7\x33\xB9\x8E\xFD\x12\xA2\x29\x11\xDB\
xA8\x34\xDC\x6F\xE7\xE7\x22\xCA\x88\xC6\x11\xC9\xCD\x58\xD4\xDE\xD4\x23\xB3\x64\
x59\xC8\xB1\xDF\x1D\x4E\x6F\xAD\xBF\x03\x8D\x23\x12\x4E\xA9\xD8\x46\xA5\x71\x79\
xBE\xB7\x38\x9F\x7C\x94\xE4\x22\xCA\x88\xC6\x11\xC9\x8D\xBD\xFC\x22\x4B\x69\xA4\
x3C\xB5\x8F\x01\x6F\x71\x7C\xDF\x11\xF7\x97\xCD\xA7\xC5\x51\xEE\x56\x51\x99\x4B\
xC4\x36\x6A\xCD\x0A\xE7\xA7\xEF\x7C\xF5\xEF\xFB\x3C\x76\x03\xFD\xD9\x94\x11\x37\
x64\x93\x92\xB4\xEC\x04\xAD\x94\x7E\x2C\x5A\xB9\xA4\x1A\x19\xFA\x77\x35\xCA\x5E\
x0F\x68\xA1\x1B\x31\x2F\xCD\x90\x6A\x51\x87\xE7\xDC\x6E\x4A\xC5\x36\xAA\xC5\x94\
x21\x77\x87\x36\x7A\x67\xCE\x06\xE8\x1B\xB8\xD3\xEC\xBB\x5C\x76\xAA\x2C\x96\x56\
x46\xD1\xD0\x38\x22\x97\x42\x8E\x48\xBF\x2D\x8E\x98\xEA\x74\xFB\x94\xD1\x14\x3A\
xED\xB9\x83\xB7\x8D\xA1\x07\xE8\x29\x25\xBD\x84\x28\xCC\x25\x69\x51\x87\xE7\xDC\
x6E\xCE\x3D\xB6\x91\xCB\x80\x7C\x83\xDF\x58\x59\x21\x6F\x98\x93\xB9\x37\xD6\x3F\
x3B\xDE\xFB\x38\xF1\x19\xE0\x6E\x2B\x4B\x2B\xA3\x68\x68\x1C\x91\x92\xD4\x1C\x04\
x75\x47\x4D\x19\x2C\x52\x07\x98\x39\xEC\x71\x9C\xF6\x35\xE2\xCB\x6D\xEC\x74\x5F\
x0D\x0F\x80\x56\x5C\x53\xCA\x52\x9F\x52\x9C\x13\xEB\x64\x89\xC7\x84\x5B\xD4\xE1\
x39\xB7\x9B\x73\x8B\x6D\xA4\x71\x95\xD1\x1A\xC0\x27\x4E\xF7\x54\xC9\x67\x8F\x00\
xBE\xFA\xCF\x73\x86\x3B\x79\x05\xD0\xF5\x4F\x6C\x3B\xB8\xB3\xD2\x24\x7D\xF3\x19\
xFE\x30\x1D\xAE\x72\x58\x62\x19\x45\x41\xE3\x88\xE4\xC6\x9E\xD1\xAE\x91\x66\x70\
xA4\x0C\x80\xDA\x35\xBF\x81\x7B\xD6\xA3\xC9\x75\x42\x2E\x25\xED\x7A\xE6\xFC\x1C\
xF9\x9E\x57\xF5\xEF\x2D\xDC\x03\xCE\x0A\x46\x39\xCD\x31\x5E\x75\x00\x49\xDF\x9E\
x11\x5D\x3F\xB1\x79\x04\x8E\x95\xF8\xD2\xA8\x5D\x87\xAD\x64\x8E\x11\x33\x78\x9D\
x63\x6C\x23\x8D\xEB\xEE\x2F\xC0\xE4\xEF\x15\xC0\x0F\x4C\x7B\x7D\x87\x31\x5A\x3E\
x71\x5C\x47\x12\xF6\x64\x09\xED\x59\xD2\xFC\xDE\x3F\x8F\xF0\xB7\x25\x57\x19\x9C\
x7D\x19\xD1\x38\x22\xB9\xD1\xCA\xEE\x15\x71\x06\xD2\x0D\xE2\x8C\x1A\xE1\x80\xF1\
xC1\x22\xE4\x5D\x1B\x18\x57\x6F\x2A\x7A\x06\x1F\x6B\x10\xEA\x41\x49\x82\x68\xFA\
xD6\xE6\x57\x30\xE9\xD6\x46\x8E\xEF\xD4\x98\xCC\xC6\x44\x11\xC6\x1A\x49\xF2\x5B\
x5B\x79\xFA\x96\x46\x74\x9A\x62\x02\x85\xAE\x30\xDC\xFF\x26\xEE\xF6\x25\x0C\x28\
x36\xB5\xEB\xB0\x95\x4C\x60\xFC\x6E\xBE\x50\xA3\xEC\x52\x62\x1B\xB9\x6E\x8E\xB7\
xB9\x81\xBB\x7F\x85\xB6\xE7\xA5\x6D\x62\x1E\xD3\xB7\x9A\xDA\x65\x94\x15\x9E\x56\
x23\xB9\xD9\xE2\x78\xD6\x21\x8A\x78\x0F\xA3\x08\xC7\x66\x13\x2B\x0C\x1D\x64\x8E\
x37\xE3\x05\xC6\x30\xB1\x15\xF5\x33\x4C\xA7\xDA\x62\x58\x8A\x38\x60\x98\xC1\xCA\
xDD\x6F\xE8\xFF\x9E\xE2\xF9\xF9\xC0\x71\xC7\x7D\xEB\xD3\x62\xDF\x78\xAD\xEF\x29\
xB3\x39\xC0\x44\xAB\xB6\x0D\xB4\x35\xCC\x8C\x6A\x8B\x61\x59\xEA\xC3\x4A\xB7\xEC\
x33\xD0\xE9\x7D\x82\x7B\x2F\xC0\x23\x8E\x0D\x12\x29\x73\xA9\x9F\xA9\x19\xDF\xCA\
xFA\xAE\x56\x52\x7B\xF8\x15\xE5\x77\x9F\x36\x7B\x7F\x83\xB8\xD7\x45\xAE\x94\x97\
xD4\x8F\xC8\xD4\x75\x2A\xBF\x5D\x12\x35\xEB\xB0\xA5\x4C\xC0\xD4\x97\x5D\x8F\x1B\
x0C\xF5\x28\x6D\x7C\x6A\xF0\x3C\xC7\xD8\x46\x63\x7C\xE0\xF4\x7E\xC2\x39\x3C\xC3\
xBF\xC4\xB8\x45\x7E\x03\x21\x55\xE7\x85\x18\x3E\x2D\xCA\x28\x1F\x5D\xD7\xF1\xE1\
x93\xFB\x59\x77\x5D\xF7\xD3\xE5\xE3\x31\x42\xF6\x7D\xA2\x8C\x9F\xCE\xA4\xDB\xE6\
x3D\x50\xE6\x4D\xC0\xFB\x37\x05\xD3\x2E\xBC\x06\xC8\x58\x75\x5D\xF7\x16\xF0\xAE\
xAF\xCE\xE4\xFF\xDD\xF3\xBD\xCF\xFE\x9D\xA1\xF5\xF3\x1A\x93\xA1\x09\x5C\xF9\xD4\
xE9\x4D\x6D\xC3\xA9\xEF\xA9\x51\x87\x4B\x90\xF9\xEC\x79\xE7\x58\xDF\xD1\xE9\x5C\
x27\xC8\xB5\x9F\x4D\xA4\x7C\x5F\x1D\xDB\x84\xEA\x1C\x5F\x39\x84\xF0\xD9\x19\x1D\
x12\xA2\x67\x42\xF4\xAA\xD6\x35\xBE\x72\x8A\xED\x93\xB1\xED\xA5\x56\x19\xB9\xF2\
xD9\x75\x61\x3A\xF8\xBF\x87\xCB\x6A\xA4\x04\x7B\x00\xB7\x48\x3B\xF9\x12\xE2\xAE\
x75\xB1\x85\x99\x4D\xC7\xCC\x2E\x24\xBD\xA9\xB1\x56\xBE\x7B\x99\x73\xD9\xC2\x04\
xCD\x8C\x9D\x19\x1D\x60\x66\x72\x21\x69\x90\x88\xE5\xB7\x70\xBB\xEA\x43\x3C\x79\
x2F\xFD\x7B\x62\xD2\xFB\x00\x93\xD6\x94\xD9\x5F\x4C\x3E\x5B\x51\xA3\x0E\x97\x20\
xF3\x05\xF1\x4B\x3D\x97\x18\xDB\xE8\x09\xA6\xEC\x53\x75\xDD\x13\xCC\xD5\x3B\x21\
xBF\xFF\x46\x7C\x7F\x0B\xE1\x09\xE1\x75\x21\xFA\x35\xF6\xFD\xB5\xCA\x28\x1B\x34\
x8E\x48\x29\xF6\x30\x0D\x3A\xB4\xE3\xED\xFB\xEF\xFE\x83\xF9\xFB\x10\xB6\xBD\x6C\
xDF\x06\xD3\x3D\x4C\x47\xFF\x1D\x98\x46\x9F\xCC\x5B\xCC\x4F\xFB\x0E\xA6\x0C\x42\
xCA\x4D\x96\xAA\x7E\x23\x3E\x3A\xF5\x07\x4C\x7A\x43\x65\x09\xFB\x5E\x96\xFC\x2E\
x45\x51\xDB\xBF\x8F\x6D\x1B\xE7\x10\x85\xBB\x56\x1D\xB6\x94\x79\x80\x69\x3F\x0F\
x08\x33\x92\xCE\x3D\xB6\x91\x0B\x29\xFB\x07\x84\xE5\x6B\xD7\x7F\xF7\x17\xE2\xCB\
x7F\x8F\xA1\x9E\x73\xED\x43\x3A\x60\xD0\xD5\x53\xFD\x79\x0F\x63\xE0\xA4\x4E\x4C\
x6A\x96\x51\x16\xFE\xEA\xBA\xAE\x85\x5C\x72\x7D\xD8\x97\x97\xCA\x7F\x45\x89\x97\
xDE\x6C\x28\x33\xD6\x35\x86\x3D\x2D\xAE\x3D\x40\x39\xD0\x97\xB5\xA6\xCA\x93\xF7\
xC8\xBE\x2C\x49\xBF\xBD\x9F\x29\x27\x22\x4B\xE4\x89\x2C\xA0\x5C\x3D\xB9\xDA\x46\
xE9\x7A\xAA\x41\xED\x3A\x6C\x25\xD3\xC5\x23\x8E\xF7\x29\xFD\xC2\xF9\xD7\xAB\x0B\
xD1\x39\x72\x91\x73\x2D\x5D\x37\x95\x96\xF7\x89\xCF\x64\x92\xA4\xBF\x6F\xA7\xBB\
x54\x9B\x59\x52\x19\x9D\x40\xE3\x88\x10\x42\x48\x69\xBE\x30\x9C\xA2\xDB\xC1\x78\
x21\x48\x1D\x62\x8D\x23\x02\x2E\xAB\x11\x42\x08\x29\xCB\x25\xC4\x36\x22\x57\x06\
x8D\x23\x42\x08\x21\x25\xB9\x94\xD8\x46\xE4\x8A\xA0\x71\x44\x08\x21\xA4\x24\x97\
x12\xDB\x88\x5C\x11\x34\x8E\x08\x21\x84\x94\x42\x07\x9C\xA4\x71\x44\xCE\x02\x1A\
x47\x84\x10\x42\x4A\xA1\x63\x1B\xB5\x38\x29\x47\x48\x34\xBC\x3E\x84\x10\x42\x48\
x29\xB6\x18\xBC\x45\x34\x8C\xC8\xD9\x40\xE3\x88\x10\x42\x48\x29\x16\x11\xB3\x86\
x90\x58\xB8\xAC\x46\x08\x21\x84\x10\x62\x41\xE3\x88\x10\x42\x08\x21\xC4\x82\x11\
xB2\x09\x21\x84\x10\x42\x2C\xB8\xE7\x88\x64\xE5\xDF\x7F\xFF\x6D\x9D\x04\x42\xC8\
xE5\xB1\xC6\xF1\xC9\x37\xDF\xA5\xD2\x84\xCC\x82\xC6\x11\x21\x84\x90\xA5\xF3\x88\
x21\x98\xE4\x37\x1A\xDD\xD4\x4E\xAE\x07\xEE\x39\x22\x84\x10\xB2\x64\x56\x60\x94\
x6D\x52\x19\x1A\x47\x84\x10\x42\x96\xCC\xBD\xFA\x37\xEF\x66\x23\xC5\xA1\x71\x44\
x08\x21\x64\xC9\xD8\x5E\xA3\x1D\x18\x4C\x92\x54\x80\xC6\x11\x21\xE4\x92\x78\x07\
xD0\x59\x0F\xC9\x4F\xCD\x32\x5E\xF7\x8F\x60\x07\x95\xDC\xA8\x74\xD8\xCF\x7B\xE1\
x74\xD5\xE6\x9A\xF2\xBA\x08\x68\x1C\x11\x42\x08\x59\x2A\xB6\xD7\xE8\x00\xEE\x37\
x22\x95\xA0\x71\x44\x08\x21\x64\xA9\xD8\xFB\x8D\xB8\xD7\x88\x54\x83\xC6\x11\x21\
xF3\xA1\x8B\x9B\x90\xFC\xDC\xC1\x9C\x54\x13\xE8\x35\x22\xD5\xA0\x71\x44\x08\x21\
x64\x89\xD8\x4B\x6A\xDF\x00\xF6\xAD\x12\x42\xAE\x0F\x1A\x47\x84\x10\x42\x96\x06\
x63\x1B\x91\xA6\xD0\x38\x22\x84\x10\xB2\x34\x74\x6C\x23\x1A\x47\xA4\x2A\x34\x8E\
x08\x21\x84\x2C\x0D\x1D\xDB\x88\xF7\xA8\x91\xAA\xD0\x38\x22\x84\x10\xB2\x24\x74\
x6C\x23\x9E\x52\x23\xD5\xA1\x71\x44\x08\x21\x64\x49\xE8\xD8\x46\x34\x8E\x48\x75\
xFE\x6E\x9D\x00\x72\x55\xAC\x01\xDC\xF4\x8F\xCD\x1E\xE6\x34\x0A\xAF\x05\x38\x45\
x66\xD1\x2B\xF5\xF7\x3D\x8E\xA3\x05\xE7\x94\xB7\xC2\xF1\xCC\x1D\x30\x83\xD4\x77\
x41\x99\x63\xED\x42\xDA\x44\xEE\x53\x4A\x37\x96\x4C\xE1\xD0\xCB\x29\x71\x22\xAA\
x76\x1D\xB6\x92\x99\x0B\x7B\xBF\x51\xCE\xBD\x46\x1B\x1C\xB7\x6B\x69\xCF\xB9\x97\
xEC\x5C\x7A\x6E\xE9\x65\xBF\x82\x29\x27\x3B\xED\x25\xD2\xBD\x84\x32\xBA\xC1\xE9\
x89\xC8\xFF\xDA\x03\x8D\x23\x52\x9A\x1B\x18\x65\x77\x87\xD3\x8E\xA0\xD9\xC3\x28\
xC3\x14\x85\xF8\x0E\xD3\xA9\x85\xBF\x12\xDE\x01\x1C\x5F\x87\xF0\x01\xE0\x36\xE0\
x7B\x36\x9B\x89\xCF\x6E\x11\xDE\xE9\x6F\x00\x3C\xE2\x34\xCE\xCB\x18\x5B\x98\x99\
xF5\x1C\x85\x12\x53\x47\xE8\x65\x7D\xF4\xB2\x53\x07\x96\x98\x3C\x8A\xF7\xE0\x05\
xE9\x06\xF4\x0A\x26\x8F\xF7\x70\xE7\xF1\x1B\xC0\x13\xE6\x7B\x2B\x6A\xD7\x61\x2B\
x99\xB9\xD1\x69\xCF\xE1\x35\x7A\xEC\x9F\xA9\x32\xD9\xC1\xD4\xF9\x9C\xC9\x99\xF4\
xA1\x7B\x87\x1C\xC0\xB4\xE5\x17\xCC\xEB\x3B\xB1\x6C\x30\x1D\x7F\xCD\xD6\x71\xAE\
x72\xFA\x86\x49\xF3\xCB\x8C\x74\x94\x2E\x23\x57\x3E\x81\x41\x07\xAF\x00\xBC\xE2\
xD8\x30\xB2\xD9\x02\x78\xE2\xB2\x1A\x29\xC5\x0A\xC0\x33\x80\x2F\x98\x0E\x17\
x32\xE8\xAE\x61\x1A\xED\x27\x4E\x3D\x17\xD7\xC2\x23\x4C\x99\xF9\x14\x88\x70\x0F\
xA3\x10\x9E\x67\xCA\x0B\xAD\x23\xC0\x28\x21\xA9\xDB\x67\x84\xA5\xD3\x46\x7E\x1B\
x9A\x47\x31\x6C\x44\x5E\x2C\x6B\x98\x36\xF5\x0C\x7F\x1E\x6F\x00\xBC\xC1\xB4\xC3\
x54\x6A\xD7\x61\x2B\x99\x25\xB0\x07\xAC\x1C\x9E\xBC\x57\xF8\xDB\xE8\x1D\x4C\xFB\
xD0\x27\xE4\x42\xB1\xFB\x90\xAF\xEC\x6D\xBD\x38\x35\x38\xB7\xC0\x57\x4E\x37\xFD\
xE7\x9F\x8E\xEF\xB8\x58\x4A\x19\xAD\x03\xDE\x7B\x0F\xE0\x9D\xC6\x11\x29\xC1\x0A\
x46\xF1\x3E\x26\xFE\x7E\xDD\xFF\xFE\xDA\x0C\x24\x51\x50\x29\x3C\xC2\x28\xAE\x1C\
xF2\x0E\x18\xBC\x43\xF2\x8C\xB1\xC2\xA0\xF4\x42\xF9\x44\x7A\xBB\x00\x86\x7C\x86\
x2A\x68\x69\x4B\xA1\x86\x9F\x70\x8F\x34\x03\xA9\x76\x1D\xB6\x92\x59\x02\xBD\xCC\
x31\xD7\x6B\xF4\x88\x70\x83\x47\xBC\x09\x1B\xDF\x17\x15\xA9\x65\xBF\x82\x31\xC2\
x53\x0D\xB2\x9C\x3C\x23\x3C\x1D\x6B\x98\x74\xC7\xB0\x94\x32\x92\xF7\x85\xE8\x8E\
x1D\x8D\x23\x52\x82\x7B\x9C\x1A\x36\x7B\x18\xD7\xF5\x6F\x98\x25\x2F\xFB\xF9\x8D\
xD3\xA5\xB4\x98\x86\xDC\x82\x5B\xEB\xB1\xD9\xAB\xCF\xE4\xF1\xCD\x80\xC7\x14\xF9\
x01\xA6\xCC\x6E\x71\x5A\x5E\x63\xCB\x00\x6B\x84\x2B\xA1\x31\x79\xDB\xFE\xDD\xBF\
x46\xD2\x6F\xCB\xD5\x79\x79\x0A\x94\xF9\x8C\xF1\xBD\x4C\x2F\xBD\x8C\x5F\x18\xF2\
x28\x69\x18\x73\xAD\x8B\x87\x31\x84\x77\x0C\x6D\x68\x0B\xE0\xCF\x88\x9C\x3F\x18\
x1F\x88\x65\xA9\x31\x94\xDA\x75\xD8\x4A\x66\x29\x74\x59\xCF\xD9\x6F\x24\x9E\x8E\
x58\x62\x0C\xE2\x18\xA3\xC2\x25\xAF\xE5\x24\x70\x8D\xF8\xC9\xCA\x26\xE2\x37\x4B\
x2A\xA3\x10\xCF\x31\x60\x26\x83\x2F\x7F\x75\xDD\xD4\xD6\x09\x42\xE2\xF9\xF7\xDF\
x7F\xE5\x7F\xEF\x60\x1A\xF5\x01\xC0\x03\xC2\xF6\x36\x6C\x70\x6A\x10\x3D\x21\x6C\
x9D\xBB\xF6\x9E\xA3\xB9\xBF\xB1\xB9\xC1\xA9\xF7\x65\x07\x53\x6E\xAE\x35\x77\x71\
x3F\x6B\xE5\x13\xB2\xBF\xE9\x07\x43\x39\x1F\x60\x0C\x84\x98\xFD\x27\xA2\x20\xC5\
xE8\x0D\xF9\xBE\xDE\x0F\x10\x92\x47\xE0\x74\x8F\xC0\x01\xD3\x06\xA7\x6E\x07\xBE\
xEF\xEB\x34\xEA\xF6\xF7\x0D\xE0\x1F\xCF\xEF\x80\x36\x75\xD8\x42\x26\x90\xAF\xAF\
x69\xBE\x30\x0C\x5E\x3B\x98\x36\xE9\xC2\xB7\xC7\x24\x95\x07\xF8\x0D\xB3\x9C\xB2\
xF7\x30\x86\x6B\xAA\x3C\x9F\xCE\x29\x51\x4E\x07\x98\x7E\xE1\x6A\x67\x4B\x2A\xA3\
x50\xFE\xCB\x17\x3D\x47\xA4\x14\x3B\x98\x46\xF6\x1B\xE1\x83\xEE\x07\x8C\x62\xB2\
x59\x82\xDB\xB9\x34\x7A\x16\xB6\x87\x19\x18\x7C\x46\x83\x18\x9E\x5A\x91\xFB\x66\
x75\x7A\xD3\xEB\x0B\xE2\x37\xE6\x8A\x42\x0E\xF5\x1A\x69\xAF\xC0\x07\xC2\xF2\x08\
x0C\xC6\x9B\x78\x91\x42\x0C\x1D\x9B\xD0\xEF\x4B\x9A\x6C\xE4\x64\x9B\x8F\xDA\x75\
xD8\x4A\x66\x29\xF4\xE9\xC1\x96\xC7\xF7\x43\x74\x4E\x4E\x4F\xDB\x3A\x50\xE6\x92\
xD0\xD7\xBB\x8C\x71\x8E\x65\xF4\xDF\xC4\x82\xC6\x11\x29\xC9\x01\xF1\x27\x32\x76\
x38\x1E\xC8\x42\x07\xA7\x73\x46\x2B\x19\xDF\x8C\x59\xF3\x84\xE3\x72\xD6\x47\x71\
x35\xFA\xB3\x1A\x57\x33\x68\xC5\xA6\x8D\xE0\x10\x1E\x60\x0C\xEE\x18\xC3\xE8\x25\
xF2\xFB\x72\x0A\xCF\x26\x64\x1F\x4A\xED\x3A\x6C\x25\xB3\x14\x76\xFB\xC8\x19\xDB\
x48\x96\x6D\x9F\x30\x78\xA1\x7D\x3A\x69\x2C\x04\x82\xFE\xDC\xA5\x93\xBE\x31\xB4\
x55\x59\xD2\xFC\x03\x77\x3B\x6C\x6D\x1C\xC9\xC4\x40\x96\xD1\x43\x3C\xBA\xAE\x7E\
xB1\xE4\x32\xD2\x6D\x62\x6B\xFD\xED\xBF\x76\x47\xE3\x88\x2C\x11\xAD\x18\x63\x37\
x49\x9E\x13\x1B\x9C\x1E\x5D\x8E\x3D\x52\x7C\x40\xDA\x80\x6E\xFF\xBE\x24\x3A\x2D\
x29\x79\x14\x62\xD3\x9A\x72\x54\x3D\xB6\x2C\x5B\xD4\xE1\x12\xDA\x4D\x4E\x4A\x5C\
x32\xBB\x87\x19\x7C\xC5\x28\x92\x01\x31\xC4\xC0\x76\x0D\xEC\x2E\x8F\x89\x2C\xFF\
x6C\x71\x5C\x1F\x3B\xB8\x3D\x98\xDA\x73\x56\x13\x49\x9B\x84\x76\x90\x09\xC2\x2D\
xDC\xFD\xED\x1C\xCB\x68\xAC\x4D\x3C\xF4\x72\x8F\xB6\x6F\xD0\x38\x22\x4B\xA4\x44\
x20\xBE\xA5\x32\xB6\x71\x3D\x05\x6D\x04\xC4\x6C\x64\x2F\xBD\xE9\x3D\x57\x1E\x53\
x48\x31\x8E\x74\xFA\x7C\x0A\xB9\x45\x1D\x2E\xA1\xDD\xE4\x42\x87\x1F\xC8\xE5\x35\
xD2\x9E\x31\x41\x96\x69\x5D\xB8\x06\x7E\xD7\x67\xAE\x65\x4D\xD9\x28\x3F\x45\x2B\
xC3\x74\x2A\x4D\x7B\xB8\xF7\x7B\xBA\xFA\xC5\x12\xCB\x48\x96\xE4\xC7\x64\xEF\xF5\
xDF\x69\x1C\x11\xB2\x2C\x52\x07\x39\xFD\x3B\x97\x12\xD1\xCA\xA1\xB6\x4B\xFF\x1C\
x8C\x5F\xBD\xB4\x9B\xFA\xDB\x39\xBF\x8B\x19\x08\x5A\xC8\xCC\x85\x2D\x33\x57\x94\
x72\x09\x47\x31\xC5\x9C\x68\xEF\x53\x65\x14\xE2\xBD\xFB\x80\xDB\x33\x52\x1B\xDF\
xCD\x04\x3E\x43\x75\xAA\x2C\x96\x58\x46\x51\x17\x18\xD3\x38\x22\xE4\x32\x88\x59\
x6E\xD2\x83\xC2\x33\xCC\x29\xAD\x4B\xDF\xDB\x15\x43\x8B\x5B\xE0\xAF\x45\xA6\x4D\
xEE\xD8\x46\x42\x0B\x03\x3C\x54\xE6\x94\x51\xD6\x62\x59\xCD\x67\xA8\xE4\xBE\xD2\
xA9\x65\x19\x45\xE5\x85\xD7\x87\x90\xD2\xDC\x61\xB8\xD3\x88\x83\xEF\x32\xF8\x86\
x71\x97\xDB\xA7\x93\xEE\x30\x0C\x52\xA2\x98\xB4\xAB\x59\xFE\x7D\x0E\x9E\x1F\x72\
x1E\xE4\x8C\x6D\xD4\x9A\x50\xAF\xDB\x94\x1E\xBC\xE4\xBD\x95\x42\xCB\x32\x8A\xD2\
x5B\x34\x8E\x48\x29\x24\x50\x1F\x0D\xA2\x65\xF2\x84\xE1\x5A\x0E\xCD\x46\xFD\x77\
x0C\xD9\xBC\x79\xCE\x83\x19\x69\x8F\xDD\xFE\xA2\x96\x3D\x1A\xE1\xD2\x67\x1B\x5C\
x87\x81\xE3\xE3\x22\xCA\x88\xCB\x6A\xA4\x04\xD7\x7A\xFD\xC7\xB9\xF1\x80\xE9\xE8\
xD0\x3E\x24\xC8\xA7\x1D\x81\x9A\x90\x18\x96\x14\xDB\x28\x14\xB6\x75\x3F\x17\x51\
x46\xF4\x1C\x91\xDC\xC8\xBD\x6A\xBA\x83\xEC\x61\x3C\x0D\x21\x33\x43\xB9\xBD\x99\
x94\x67\x87\x61\x50\x92\x38\x37\xAB\xFE\x11\xE3\xD6\xFE\x7F\x8D\x44\xA5\xF5\x45\
xAF\x25\x44\x53\x2A\xB6\x11\x21\xB3\xA1\x71\x44\x72\xA3\x8F\xE5\xA6\x5E\x4D\x41\
xE3\xA8\x3E\x21\xD7\x55\x48\xA4\x5A\xDB\x35\x2E\xF7\x33\x85\x5C\xF3\x42\x88\x50\
x22\xB6\x51\x69\xB8\xDF\xCE\xCF\x45\x94\x11\x8D\x23\x92\x9B\xB1\xA8\xBD\xA9\x47\
x66\xC9\xB2\x90\x63\xBF\x3B\x9C\xDE\x5A\x7F\x07\x1A\x47\x24\x9C\x52\xB1\x8D\x4A\
xE3\xF2\x7C\x6F\x71\x3E\xF9\x28\xC9\x45\x94\x11\x8D\x23\x92\x1B\x7B\xF9\x45\x96\
xD2\x48\x79\x6A\x1F\x03\xDE\xE2\xF8\xBE\x23\xEE\x2F\x9B\x4F\x8B\xA3\xDC\xAD\xA2\
x32\x97\x88\x6D\xD4\x9A\x15\xCE\x4F\xDF\xF9\xEA\xDF\xF7\x79\xEC\x06\xFA\xB3\x29\
x23\x6E\xC8\x26\x25\x69\xD9\x09\x5A\x29\xFD\x58\xB4\x72\x49\x35\x32\xF4\xEF\x6A\
x94\xBD\x1E\xD0\x42\x37\x62\x5E\x9A\x21\xD5\xA2\x0E\xCF\xB9\xDD\x94\x8A\x6D\x54\
x8B\x29\x43\xEE\x0E\x6D\xF4\xCE\x9C\x0D\xD0\x37\x70\xA7\xD9\x77\xB9\xEC\x54\x59\
x2C\xAD\x8C\xA2\xA1\x71\x44\x2E\x85\x1C\x91\x7E\x5B\x1C\x31\xD5\xE9\xF6\x29\xA3\
x29\x74\xDA\x73\x07\x6F\x1B\x43\x0F\xD0\x53\x4A\x7A\x09\x51\x98\x4B\xD2\xA2\x0E\
xCF\xB9\xDD\x9C\x7B\x6C\x23\x97\x01\xF9\x06\xBF\xB1\xB2\x42\xDE\x30\x27\x73\x6F\
xAC\x7F\x76\xBC\xF7\x71\xE2\x33\xC0\xDD\x56\x96\x56\x46\xD1\xD0\x38\x22\x25\xA9\
x39\x08\xEA\x8E\x9A\x32\x58\xA4\x0E\x30\x73\xD8\xE3\x38\xED\x6B\xC4\x97\xDB\xD8\
xE9\xBE\x1A\x1E\x00\xAD\xB8\xA6\x94\xA5\x3E\xA5\x38\x27\xD6\xC9\x12\x8F\x09\xB7\
xA8\xC3\x73\x6E\x37\xE7\x16\xDB\x48\xE3\x2A\xA3\x35\x80\x4F\x9C\xEE\xA9\x92\xCF\
x1E\x01\x7C\xF5\x9F\xE7\x0C\x77\xF2\x0A\xA0\xEB\x9F\xD8\x76\x70\x67\xA5\x49\xFA\
xE6\x33\xFC\x61\x3A\x5C\xE5\xB0\xC4\x32\x8A\x82\xC6\x11\xC9\x8D\x3D\xA3\x5D\x23\
xCD\xE0\x48\x19\x00\xB5\x6B\x7E\x03\xF7\xAC\x47\x93\xEB\x84\x5C\x4A\xDA\xF5\xCC\
xF9\x39\xF2\x3D\xAF\xEA\xDF\x5B\xB8\x07\x9C\x15\x8C\x72\x9A\x63\xBC\xEA\x00\x92\
xBE\x3D\x23\xBA\x7E\x62\xF3\x08\x1C\x2B\xF1\xA5\x51\xBB\x0E\x5B\xC9\x1C\x23\x66\
xF0\x3A\xC7\xD8\x46\x1A\xD7\xDD\x5F\x80\xC9\xDF\x2B\x80\x1F\x98\xF6\xFA\x0E\x63\
xB4\x7C\xE2\xB8\x8E\x24\xEC\xC9\x12\xDA\xB3\xA4\xF9\xBD\x7F\x1E\xE1\x6F\x4B\xAE\
x32\x38\xFB\x32\xA2\x71\x44\x72\xA3\x95\xDD\x2B\xE2\x0C\xA4\x1B\xC4\x19\x35\xC2\
x01\xE3\x83\x45\xC8\xBB\x36\x30\xAE\xDE\x54\xF4\x0C\x3E\xD6\x20\xD4\x83\x92\x04\
xD1\xF4\xAD\xCD\xAF\x60\xD2\xAD\x8D\x1C\xDF\xA9\x31\x99\x8D\x89\x22\x8C\x35\x92\
xE4\xB7\xB6\xF2\xF4\x2D\x8D\xE8\x34\xC5\x04\x0A\x5D\x61\xB8\xFF\x4D\xDC\xED\x4B\
x18\x50\x6C\x6A\xD7\x61\x2B\x99\xC0\xF8\xDD\x7C\xA1\x46\xD9\xA5\xC4\x36\x72\xDD\
x1C\x6F\x73\x03\x77\xFF\x0A\x6D\xCF\x4B\xDB\xC4\x3C\xA6\x6F\x35\xB5\xCB\x28\x2B\
x3C\xAD\x46\x72\xB3\xC5\xF1\xAC\x43\x14\xF1\x1E\x46\x11\x8E\xCD\x26\x56\x18\x3A\
xC8\x1C\x6F\xC6\x0B\x8C\x61\x62\x2B\xEA\x67\x98\x4E\xB5\xC5\xB0\x14\x71\xC0\x30\
x83\x95\xBB\xDF\xD0\xFF\x3D\xC5\xF3\xF3\x81\xE3\x8E\xFB\xD6\xA7\xC5\xBE\xF1\x5A\
xDF\x53\x66\x73\x80\x89\x56\x6D\x1B\x68\x6B\x98\x19\xD5\x16\xC3\xB2\xD4\x87\x95\
x6E\xD9\x67\xA0\xD3\xFB\x04\xF7\x5E\x80\x47\x1C\x1B\x24\x52\xE6\x52\x3F\x53\x33\
xBE\x95\xF5\x5D\xAD\xA4\xF6\xF0\x2B\xCA\xEF\x3E\x6D\xF6\xFE\x06\x71\xAF\x8B\x5C\
x29\x2F\xA9\x1F\x91\xA9\xEB\x54\x7E\xBB\x24\x6A\xD6\x61\x4B\x99\x80\xA9\x2F\xBB\
x1E\x37\x18\xEA\x51\xDA\xF8\xD4\xE0\x79\x8E\xB1\x8D\xC6\xF8\xC0\xE9\xFD\x84\x73\
x78\x86\x7F\x89\x71\x8B\xFC\x06\x42\xAA\xCE\x0B\x31\x7C\x5A\x94\x51\x36\x68\x1C\
x91\xDC\x1C\x00\xDC\xE2\xD4\xB3\x50\xE3\xE2\x59\x19\x80\xF5\x72\xC1\x0D\xA6\x37\
x1D\x0A\x92\xEE\xCF\x04\xB9\x2F\x38\x55\x5A\x5A\x21\xDC\xC2\x3D\xFB\xDB\xC1\x0C\
x74\x3A\xED\xF7\x23\xEF\x9E\x62\x0B\xFF\xEC\x5F\x8E\xE0\x6B\xEF\x96\xAE\x1F\xDB\
xB0\x73\x19\xAC\x7B\x98\xBC\x85\xF0\x82\xF1\x7D\x2E\xF6\xA5\xB7\x21\x6C\x61\xCA\
x6A\x69\xD4\xAA\xC3\xD6\x32\xC7\x2E\x2E\xD6\x1E\xDF\xB1\x7B\xF7\xCE\x35\xB6\xD1\
x14\x62\x20\xCC\x1D\xFC\xF7\x30\xF1\xE0\x7C\x83\xFE\xD8\xE4\x6F\x2E\x32\x61\x8C\
x31\xBA\xB6\x08\x37\x6C\x6B\x97\x51\x36\xB8\xAC\x46\x4A\x20\x03\x66\xCA\xC9\x97\
x10\x77\xAD\x0B\x19\x38\x63\x3A\x91\xA4\x37\x35\xD6\xCA\x37\xF2\x0C\xD6\x5B\xA4\
x29\x80\x03\x8C\x12\x0A\x49\x83\x44\x2C\xF7\x19\x6B\x21\x9E\xBC\x97\xFE\x3D\x31\
xE9\x7D\x80\x49\x6B\x8A\x92\x8B\xC9\x67\x2B\x6A\xD4\xE1\x12\x64\xBE\x20\x7E\xA9\
xE7\x12\x63\x1B\x3D\xC1\x94\x7D\xAA\xAE\x7B\x82\xB9\x7A\x27\xE4\xF7\xDF\x88\xEF\
x6F\x21\x3C\x21\xBC\x2E\x52\x26\x26\x35\xCB\x28\x1B\x34\x8E\x48\x29\xF6\x30\x0D\
x3A\xB4\xE3\xED\xFB\xEF\xFE\x83\xF9\x33\xCA\x6D\x2F\xDB\xB7\xC1\x74\x0F\xD3\xD1\
x7F\x07\xA6\xD1\x27\xF3\x16\xF3\xD3\xBE\x83\x29\x83\x90\x72\x13\x4F\xD9\x6F\xC4\
x47\xA7\xFE\x80\x49\x6F\xA8\x2C\x61\xDF\xCB\x92\xDF\xA5\x28\x6A\xFB\xF7\xB1\x6D\
xE3\x1C\xA2\x70\xD7\xAA\xC3\x96\x32\xC5\xD3\xFA\x80\x30\x23\xE9\xDC\x63\x1B\xB9\
x90\xB2\x7F\x40\x58\xBE\xC4\xDB\xF7\x0B\xF1\xE5\xBF\xC7\x50\xCF\xB9\xF6\x21\x1D\
x30\xE8\xEA\xA9\xFE\x2C\x9E\x9B\xD4\x89\x49\xCD\x32\xCA\xC2\x5F\x5D\xD7\xB5\x90\
x4B\x2E\x94\x7F\xFF\xFD\x77\xEA\x23\xFB\xF2\x52\xF9\xAF\x28\xF1\xD2\x9B\x0D\x65\
xC6\xBA\xC6\xB0\xA7\xC5\xB5\x07\x28\x07\xFA\xB2\xD6\x54\x79\xF2\x1E\xD9\x97\x25\
xE9\xB7\x97\xBD\x72\x22\xB2\x44\x9E\xC8\x02\xCA\xD5\x93\xAB\x6D\x94\xAE\xA7\x1A\
xD4\xAE\xC3\x56\x32\x5D\x3C\xE2\x78\x69\xFB\x17\xCE\xBF\x5E\x5D\x88\xCE\x91\x8B\
x9C\x6B\xE9\xBA\xA9\xB4\xBC\x4F\x7C\x26\x93\x24\xFD\x7D\x3B\xDD\xA5\xDA\xCC\x92\
xCA\xE8\x04\x1A\x47\x24\x2B\x0E\xE3\x88\x10\x72\xBD\x7C\x61\x38\x45\xB7\x83\xF1
\x42\x90\x3A\xC4\x1A\x47\x04\x5C\x56\x23\x84\x10\x52\x96\x4B\x88\x6D\x44\xAE\x0C\
x1A\x47\x84\x10\x42\x4A\x72\x29\xB1\x8D\xC8\x15\x41\xE3\x88\x10\x42\x48\x49\x2E\
x25\xB6\x11\xB9\x22\x68\x1C\x11\x42\x08\x29\x85\x8E\x6D\x44\xE3\x88\x9C\x05\x34\
x8E\x08\x21\x84\x94\x42\xC7\x36\x6A\x71\x52\x8E\x90\x68\x18\x21\x9B\x10\x42\x48\
x29\xEC\x68\xCA\x34\x8C\xC8\xD9\x40\xE3\x88\x10\x42\x48\x29\x16\x11\xB3\x86\x90\
x58\xB8\xAC\x46\x08\x21\x84\x10\x62\x41\xE3\x88\x10\x42\x08\x21\xC4\xE2\xFF\x01\
xF0\xCC\x65\x5A\x55\x61\xAF\xF5\x00\x00\x00\x00\x49\x45\x4E\x44\xAE\x42\x60\x82"
-- >> BASE85 DATA <<
imgui.GetIO().IniFilename = nil
imgui.GetIO().Fonts:Clear()
imgui.GetIO().Fonts:AddFontFromFileTTF(font_path, 13.0, nil, glyph_ranges)
imgui.GetIO().Fonts:AddFontFromMemoryCompressedBase85TTF(font85, 13.0,
config, faIconRanges)
checkstyle()
end)
function checkstyle()
imgui.SwitchContext()
local style = imgui.GetStyle()
local colors = style.Colors
local clr = imgui.Col
local ImVec4 = imgui.ImVec4
local ImVec2 = imgui.ImVec2
function string.separate(a)
if type(a) ~= 'number' then
return a
end
local b, e = gsub(format('%d', a), '^%-', '')
local c = gsub(b:reverse(), '%d%d%d', '%1.')
local d = gsub(c:reverse(), '^%.', '')
return (e == 1 and '-' or '')..d
end
function string.rlower(s)
local russian_characters = {
[155] = '[', [168] = '�', [184] = '�', [192] = '�', [193] = '�', [194]
= '�', [195] = '�', [196] = '�', [197] = '�', [198] = '�', [199] = '�', [200] =
'�', [201] = '�', [202] = '�', [203] = '�', [204] = '�', [205] = '�', [206] = '�',
[207] = '�', [208] = '�', [209] = '�', [210] = '�', [211] = '�', [212] = '�', [213]
= '�', [214] = '�', [215] = '�', [216] = '�', [217] = '�', [218] = '�', [219] =
'�', [220] = '�', [221] = '�', [222] = '�', [223] = '�', [224] = '�', [225] = '�',
[226] = '�', [227] = '�', [228] = '�', [229] = '�', [230] = '�', [231] = '�', [232]
= '�', [233] = '�', [234] = '�', [235] = '�', [236] = '�', [237] = '�', [238] =
'�', [239] = '�', [240] = '�', [241] = '�', [242] = '�', [243] = '�', [244] = '�',
[245] = '�', [246] = '�', [247] = '�', [248] = '�', [249] = '�', [250] = '�', [251]
= '�', [252] = '�', [253] = '�', [254] = '�', [255] = '�',
}
s = lower(s)
local strlen = len(s)
if strlen == 0 then return s end
s = lower(s)
local output = ''
for i = 1, strlen do
local ch = s:byte(i)
if ch >= 192 and ch <= 223 then output = output ..
russian_characters[ch + 32]
elseif ch == 168 then output = output .. russian_characters[184]
else output = output .. char(ch)
end
end
return output
end
function changePosition(table)
lua_thread.create(function()
local backup = {
['x'] = table.posX,
['y'] = table.posY
}
ChangePos = true
sampSetCursorMode(4)
addNotify('������� {MC}���{WC}, ����� ���������\n��������������, ���
{MC}���{WC},\n����� ��������', 5)
while ChangePos do
wait(0)
local cX, cY = getCursorPos()
table.posX = cX+10
table.posY = cY+10
if isKeyDown(0x01) then
while isKeyDown(0x01) do wait(0) end
ChangePos = false
sampSetCursorMode(0)
addNotify('������ ���������!', 5)
elseif isKeyDown(0x02) then
while isKeyDown(0x02) do wait(0) end
ChangePos = false
sampSetCursorMode(0)
table.posX = backup['x']
table.posY = backup['y']
addNotify('�� �������� ���������\n�������������', 5)
end
end
ChangePos = false
inicfg.save(configuration,'AS Helper')
end)
end
local p = imgui.GetCursorScreenPos()
local radius = radius or 10
local choosedcolor4 = choosedcolor4 or
imgui.GetStyle().Colors[imgui.Col.Text]
local filled = filled or false
local draw_list = imgui.GetWindowDrawList()
if imgui.InvisibleButton(str_id, imgui.ImVec2(23, 23)) then
rBool = true
end
if filled then
draw_list:AddCircleFilled(imgui.ImVec2(p.x + radius, p.y + radius),
radius+1, imgui.ColorConvertFloat4ToU32(choosedcolor4))
else
draw_list:AddCircle(imgui.ImVec2(p.x + radius, p.y + radius), radius+1,
imgui.ColorConvertFloat4ToU32(choosedcolor4),_,2)
end
local p = imgui.GetCursorScreenPos()
local isimage = isimage or false
local radius = radius or 10
local draw_list = imgui.GetWindowDrawList()
if imgui.InvisibleButton(str_id, imgui.ImVec2(23, 23)) then
rBool = true
end
if imgui.IsItemHovered() then
imgui.SetMouseCursor(imgui.MouseCursor.Hand)
end
if bool then
draw_list:AddCircle(imgui.ImVec2(p.x + radius, p.y + radius), radius,
imgui.ColorConvertFloat4ToU32(color4),_,1.5)
imgui.PushFont(font[8])
draw_list:AddText(imgui.ImVec2(p.x + 6, p.y + 6),
imgui.ColorConvertFloat4ToU32(imgui.GetStyle().Colors[imgui.Col.Text]),fa.ICON_FA_C
HECK);
imgui.PopFont()
end
imgui.SetCursorPosY(imgui.GetCursorPosY()+radius)
return rBool
end
function imgui.TextColoredRGB(text,align)
local width = imgui.GetWindowWidth()
local style = imgui.GetStyle()
local colors = style.Colors
local ImVec4 = imgui.ImVec4
local col =
imgui.ColorConvertU32ToFloat4(configuration.main_settings.ASChatColor)
local r,g,b,a = col.x*255, col.y*255, col.z*255, col.w*255
text = gsub(text, '{WC}', '{EBEBEB}')
text = gsub(text, '{MC}', format('{%06X}', bit.bor(bit.bor(b, bit.lshift(g,
8)), bit.lshift(r, 16))))
if hovered then
for k, v in pairs(POOL_HINTS) do
if k ~= str_id and imgui.GetTime() - v.timer <= animTime then
show = false
end
end
end
DL:AddTriangleFilled(a, b, c, col)
imgui.SetNextWindowPos(imgui.ImVec2(center.x, center.y - size.y - 3),
imgui.Cond.Always, imgui.ImVec2(0.5, 1.0))
imgui.PushStyleColor(imgui.Col.PopupBg, color)
imgui.PushStyleColor(imgui.Col.Border, color)
imgui.PushStyleVarVec2(imgui.StyleVar.WindowPadding, imgui.ImVec2(8,
8))
imgui.PushStyleVarFloat(imgui.StyleVar.WindowRounding, 6)
imgui.PushStyleVarFloat(imgui.StyleVar.Alpha, alpha)
imgui.PopStyleVar(3)
imgui.PopStyleColor(2)
end
if show then
local between = imgui.GetTime() - POOL_HINTS[str_id].timer
if between <= animTime then
local alpha = hovered and ImSaturate(between / animTime) or
ImSaturate(1 - between / animTime)
rend_window(alpha)
elseif hovered then
rend_window(1.00)
end
end
imgui.SetCursorPos(p_orig)
end
function getAfkCount()
local count = 0
for _, v in ipairs(checker_variables.online) do
if v.afk > 0 then
count = count + 1
end
end
return count
end
local cols = {
default = imgui.ImVec4(imgui.GetStyle().Colors[imgui.Col.Button]),
hovered =
imgui.ImVec4(imgui.GetStyle().Colors[imgui.Col.ButtonHovered]),
active = imgui.ImVec4(imgui.GetStyle().Colors[imgui.Col.ButtonActive])
}
imgui.PushStyleColor(imgui.Col.Button, imgui.ImVec4(pool['color']))
imgui.PushStyleColor(imgui.Col.ButtonHovered, imgui.ImVec4(pool['color']))
imgui.PushStyleColor(imgui.Col.ButtonActive, imgui.ImVec4(pool['color']))
local result = imgui.Button(label, size or imgui.ImVec2(0, 0))
imgui.PopStyleColor(3)
pool['hovered']['cur'] = imgui.IsItemHovered()
if pool['hovered']['old'] ~= pool['hovered']['cur'] then
pool['hovered']['old'] = pool['hovered']['cur']
pool['hovered']['clock'] = clock()
end
return result
end
local p = imgui.GetCursorScreenPos()
local draw_list = imgui.GetWindowDrawList()
local height = 20
local width = height * 1.55
local radius = height * 0.50
local animTime = 0.13
imgui.SameLine()
imgui.SetCursorPosY(imgui.GetCursorPosY()+3)
imgui.Text(str_id)
return rBool
end
function getDownKeys()
local curkeys = ''
local bool = false
for k, v in pairs(vkeys) do
if isKeyDown(v) and (v == VK_MENU or v == VK_CONTROL or v == VK_SHIFT
or v == VK_LMENU or v == VK_RMENU or v == VK_RCONTROL or v == VK_LCONTROL or v ==
VK_LSHIFT) then
if v ~= VK_MENU and v ~= VK_CONTROL and v ~= VK_SHIFT then
curkeys = v
end
end
end
for k, v in pairs(vkeys) do
if isKeyDown(v) and (v ~= VK_MENU and v ~= VK_CONTROL and v ~= VK_SHIFT
and v ~= VK_LMENU and v ~= VK_RMENU and v ~= VK_RCONTROL and v ~= VK_LCONTROL and v
~= VK_LSHIFT) then
if len(tostring(curkeys)) == 0 then
curkeys = v
return curkeys,true
else
curkeys = curkeys .. ' ' .. v
return curkeys,true
end
bool = false
end
end
return curkeys, bool
end
function imgui.GetKeysName(keys)
if type(keys) ~= 'table' then
return false
else
local tKeysName = {}
for k = 1, #keys do
tKeysName[k] = vkeys.id_to_name(tonumber(keys[k]))
end
return tKeysName
end
end
imgui.PushStyleColor(imgui.Col.Button,
imgui.GetStyle().Colors[imgui.Col.FrameBg])
imgui.PushStyleColor(imgui.Col.ButtonHovered,
imgui.GetStyle().Colors[imgui.Col.FrameBgHovered])
imgui.PushStyleColor(imgui.Col.ButtonActive,
imgui.GetStyle().Colors[imgui.Col.FrameBgActive])
if imgui.Button((sKeys ~= '' and sKeys or u8'��������') .. '## '..name,
imgui.ImVec2(width, 0)) then
tHotKeyData.edit = name
end
imgui.PopStyleColor(3)
return bool
end
sendchatarray(configuration.main_settings.playcd, {
{'������ ����, �
{gender:���������|����������} %s, ��� ���� ��� ������?',
configuration.main_settings.replaceash and '���' or '��������� �. ���-������'},
{'/do �� ����� �����
������� � ������� %s %s.',
configuration.RankNames[configuration.main_settings.myrankint],
#configuration.main_settings.myname < 1 and
gsub(sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(playerPed))), '_',
' ') or u8:decode(configuration.main_settings.myname)},
})
elseif tonumber(os.date('%H',
os.time(os.date('!*t')) + 2 * 60 * 60)) > 12 and tonumber(os.date('%H',
os.time(os.date('!*t')) + 2 * 60 * 60)) < 17 then
sendchatarray(configuration.main_settings.playcd, {
{'������ ����, �
{gender:���������|����������} %s, ��� ���� ��� ������?',
configuration.main_settings.replaceash and '���' or '��������� �. ���-������'},
{'/do �� ����� �����
������� � ������� %s %s.',
configuration.RankNames[configuration.main_settings.myrankint],
#configuration.main_settings.myname < 1 and
gsub(sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(playerPed))), '_',
' ') or u8:decode(configuration.main_settings.myname)},
})
elseif tonumber(os.date('%H',
os.time(os.date('!*t')) + 2 * 60 * 60)) > 16 and tonumber(os.date('%H',
os.time(os.date('!*t')) + 2 * 60 * 60)) < 24 then
sendchatarray(configuration.main_settings.playcd, {
{'������ �����, �
{gender:���������|����������} %s, ��� ���� ��� ������?',
configuration.main_settings.replaceash and '���' or '��������� �. ���-������'},
{'/do �� ����� �����
������� � ������� %s %s.',
configuration.RankNames[configuration.main_settings.myrankint],
#configuration.main_settings.myname < 1 and
gsub(sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(playerPed))), '_',
' ') or u8:decode(configuration.main_settings.myname)},
})
elseif tonumber(os.date('%H',
os.time(os.date('!*t')) + 2 * 60 * 60)) < 5 then
sendchatarray(configuration.main_settings.playcd, {
{'������ ����, �
{gender:���������|����������} %s, ��� ���� ��� ������?',
configuration.main_settings.replaceash and '���' or '��������� �. ���-������'},
{'/do �� ����� �����
������� � ������� %s %s.',
configuration.RankNames[configuration.main_settings.myrankint],
#configuration.main_settings.myname < 1 and
gsub(sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(playerPed))), '_',
' ') or u8:decode(configuration.main_settings.myname)},
})
end
else
ASHelperMessage('����� �������
�������� � 1-�� �����.')
end
end
if imgui.Button(fa.ICON_FA_FILE_ALT..u8'
�������� ����� ����', imgui.ImVec2(285,30)) then
if configuration.main_settings.myrankint
>= 1 then
sendchatarray(configuration.main_settings.playcd, {
{'/do � ������� ��� �����
����� ���� �� ��������.'},
{'/me {gender:������|�������}
����� ���� �� ������� ��� � {gender:�������|��������} ��� �������'},
{'/do � ����� �����
��������:'},
{'/do ������� �� ��������
����������� - %s$.', string.separate(configuration.main_settings.avtoprice or
5000)},
{'/do ������� �� ��������
���������� - %s$.', string.separate(configuration.main_settings.motoprice or
10000)},
{'/do ������� �� �����������
- %s$.', string.separate(configuration.main_settings.ribaprice or 30000)},
{'/do ������� �� ������
��������� - %s$.', string.separate(configuration.main_settings.lodkaprice or
30000)},
{'/do ������� �� ������ -
%s$.', string.separate(configuration.main_settings.gunaprice or 50000)},
{'/do ������� �� ����� -
%s$.', string.separate(configuration.main_settings.huntprice or 100000)},
{'/do ������� �� �������� -
%s$.', string.separate(configuration.main_settings.kladprice or 200000)},
{'/do ������� �� ������
�������� - %s$.', string.separate(configuration.main_settings.taxiprice or
250000)},
{'/do ������� �� ������
�������� - %s$.', string.separate(configuration.main_settings.mechprice or
450000)},
})
else
ASHelperMessage('����� �������
�������� � 1-�� �����.')
end
end
if imgui.Button(fa.ICON_FA_FILE_SIGNATURE..u8'
������� ������� ������', imgui.ImVec2(285,30)) then
if configuration.main_settings.myrankint
>= 3 then
imgui.SetScrollY(0)
Licenses_select[0] = 0
windowtype[0] = 1
else
sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:���|����} ��
����� ����� � {gender:��������|���������} ������ ����� �� ��������� �������� ��
����'},
{'/do ����� ��������� ����
����� �� ��������� �������� ��� ��������.'},
{'/me ���������� ������� ��
���� {gender:�������|��������} � �������� ��������'},
{'/n /givelicense %s',
fastmenuID},
})
end
end
if imgui.Button(fa.ICON_FA_REPLY..u8' �������
�� ���������', imgui.ImVec2(285,30)) then
imgui.OpenPopup('##changeexpelreason')
end
imgui.PushStyleVarVec2(imgui.StyleVar.WindowPadding, imgui.ImVec2(10, 10))
if imgui.BeginPopup('##changeexpelreason') then
imgui.Text(u8'������� /expel:')
if
imgui.InputText('##expelreasonbuff',usersettings.expelreason,
sizeof(usersettings.expelreason)) then
configuration.main_settings.expelreason =
u8:decode(str(usersettings.expelreason))
inicfg.save(configuration,'AS
Helper')
end
if imgui.Button(u8'�������',
imgui.ImVec2(-1, 25)) then
if not
sampIsPlayerPaused(fastmenuID) then
windows.imgui_fm[0] = false
sendchatarray(configuration.main_settings.playcd, {
{'/me ������� ��������
�� ����, � ����� � ������'},
{'/me ������ �����
�����, ����� �������� �� �����'},
{'/expel %s %s',
fastmenuID, configuration.main_settings.expelreason},
})
else
ASHelperMessage('�����
�������� � ���!')
end
end
imgui.EndPopup()
end
imgui.PopStyleVar()
imgui.Button(fa.ICON_FA_USER_PLUS..u8' ������ �
����������', imgui.ImVec2(285,30))
if imgui.IsItemHovered() and
(imgui.IsMouseReleased(0) or imgui.IsMouseReleased(1)) then
if configuration.main_settings.myrankint
>= 9 then
windows.imgui_fm[0] = false
sendchatarray(configuration.main_settings.playcd, {
{'/do ���� �� �������� �
�������.'},
{'/me ������ ���� � ������
���, {gender:������|�������} ������ ��� �� ��������'},
{'/me {gender:�������|
��������} ��� �������� ��������'},
{'����� ����������!
���������� �� ������ � ����������.'},
{'�� ���� ����������� ��
������ ����������� �� ��. �������.'},
{'/invite %s', fastmenuID},
})
if imgui.IsMouseReleased(1) then
waitingaccept = fastmenuID
end
else
ASHelperMessage('����� �������
�������� � 9-�� �����.')
end
end
imgui.Hint('invitehint','��� �� ������ ��������
� ����������\n��� �� ������ �� ��������� ������������')
if imgui.Button(fa.ICON_FA_USER_MINUS..u8'
������� �� �����������', imgui.ImVec2(285,30)) then
if configuration.main_settings.myrankint
>= 9 then
imgui.SetScrollY(0)
windowtype[0] = 3
imgui.StrCopy(uninvitebuf, '')
imgui.StrCopy(blacklistbuf, '')
uninvitebox[0] = false
else
ASHelperMessage('����� �������
�������� � 9-�� �����.')
end
end
if imgui.Button(fa.ICON_FA_EXCHANGE_ALT..u8'
�������� ���������', imgui.ImVec2(285,30)) then
if configuration.main_settings.myrankint
>= 9 then
imgui.SetScrollY(0)
Ranks_select[0] = 0
windowtype[0] = 4
else
ASHelperMessage('����� �������
�������� � 9-�� �����.')
end
end
if imgui.Button(fa.ICON_FA_USER_SLASH..u8'
������� � ����� ������', imgui.ImVec2(285,30)) then
if configuration.main_settings.myrankint
>= 9 then
imgui.SetScrollY(0)
windowtype[0] = 5
imgui.StrCopy(blacklistbuff, '')
else
ASHelperMessage('����� �������
�������� � 9-�� �����.')
end
end
if imgui.Button(fa.ICON_FA_USER..u8' ������ ��
������ ������', imgui.ImVec2(285,30)) then
if configuration.main_settings.myrankint
>= 9 then
windows.imgui_fm[0] = false
sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:������|�������}
������� �� �������'},
{'/me {gender:������|�������}
� ������ \'}''\������ ����,
{'/me {gender:���|�����} ��
���������� � �����'},
{'/me {gender:�����|������}
���������� �� ������� \'}''\������ ����,
{'/me {gender:�����������|
�����������} ��������'},
{'/do �������� ����
���������.'},
{'/unblacklist %s',
fastmenuID},
})
else
ASHelperMessage('����� �������
�������� � 9-�� �����.')
end
end
if imgui.Button(fa.ICON_FA_FROWN..u8' ������
������� ����������', imgui.ImVec2(285,30)) then
if configuration.main_settings.myrankint
>= 9 then
imgui.SetScrollY(0)
imgui.StrCopy(fwarnbuff, '')
windowtype[0] = 6
else
ASHelperMessage('����� �������
�������� � 9-�� �����.')
end
end
if imgui.Button(fa.ICON_FA_SMILE..u8' ����
������� ����������', imgui.ImVec2(285,30)) then
if configuration.main_settings.myrankint
>= 9 then
windows.imgui_fm[0] = false
sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:������|�������}
������� �� �������'},
{'/me {gender:������|�������}
� ������ \'���������� ������������\''},
{'/me {gender:����|�����} �
������ \'��������\''},
{'/me ���� � ������� �������
����������, {gender:�����|������} �� ��� ������� ���� ���� �������'},
{'/do ������� ��� ����� ��
������� ���� ����������.'},
{'/unfwarn %s', fastmenuID},
})
else
ASHelperMessage('����� �������
�������� � 9-�� �����.')
end
end
if imgui.Button(fa.ICON_FA_VOLUME_MUTE..u8'
������ ��� ����������', imgui.ImVec2(285,30)) then
if configuration.main_settings.myrankint
>= 9 then
imgui.SetScrollY(0)
imgui.StrCopy(fmutebuff, '')
fmuteint[0] = 0
windowtype[0] = 7
else
ASHelperMessage('����� �������
�������� � 9-�� �����.')
end
end
if imgui.Button(fa.ICON_FA_VOLUME_UP..u8' ����
��� ����������', imgui.ImVec2(285,30)) then
if configuration.main_settings.myrankint
>= 9 then
windows.imgui_fm[0] = false
sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:������|�������}
������� �� �������'},
{'/me {gender:������|�������}
�������'},
{'/me {gender:������|�������}
� ������ \'���������� ������������ %s\'', configuration.main_settings.replaceash
and '���' or '���������'},
{'/me {gender:������|�������}
������� ����������'},
{'/me {gender:������|�������}
����� \'������� ���� ����������\''},
{'/me {gender:�����|������}
�� ������ \'��������� ��������\''},
{'/funmute %s', fastmenuID},
})
else
ASHelperMessage('����� �������
�������� � 9-�� �����.')
end
end
imgui.Separator()
if imgui.Button(u8'�������� ������
'..fa.ICON_FA_STAMP, imgui.ImVec2(285,30)) then
if configuration.main_settings.myrankint
>= 5 then
imgui.SetScrollY(0)
lastq[0] = 0
windowtype[0] = 8
else
ASHelperMessage('������ ��������
�������� � 5-�� �����.')
end
end
if imgui.Button(u8'�������������
'..fa.ICON_FA_ELLIPSIS_V, imgui.ImVec2(285,30)) then
if configuration.main_settings.myrankint
>= 5 then
imgui.SetScrollY(0)
sobesetap[0] = 0
sobesdecline_select[0] = 0
windowtype[0] = 9
sobes_results = {
pass = nil,
medcard = nil,
wbook = nil,
licenses = nil
}
else
ASHelperMessage('������ ��������
�������� � 5-�� �����.')
end
end
imgui.EndGroup()
end
if windowtype[0] == 1 then
imgui.Text(u8'�������: ', imgui.ImVec2(75,30))
imgui.SameLine()
imgui.Combo('##chooseselllicense', Licenses_select,
new['const char*'][9](Licenses_Arr), #Licenses_Arr, imgui.ComboFlags.HeightLargest)
imgui.NewLine()
imgui.SetCursorPosX(7.5)
if imgui.Button(u8'������� ������� ��
'..u8(string.rlower(u8:decode(Licenses_Arr[Licenses_select[0]+1]))),
imgui.ImVec2(285,30)) then
local to, lic = fastmenuID,
string.rlower(u8:decode(Licenses_Arr[Licenses_select[0]+1]))
if lic ~= nil and to ~= nil then
if (lic == '������' and
configuration.main_settings.checkmcongun) or (lic == '�����' and
configuration.main_settings.checkmconhunt) then
sendchatarray(0, {
{'������, �� ������� ��������
�� %s �������� ��� ��� ���.�����', lic},
{'/n /showmc %s',
select(2,sampGetPlayerIdByCharHandle(playerPed))},
}, function() sellto = to lictype =
lic end, function() ASHelperMessage('�������� �������� ������ ���.�����. ��� �
���������� ������� {MC}Alt{WC} + {MC}O{WC}') skiporcancel = lic tempid = to end)
else
sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:���|����} ��
����� ����� � {gender:��������|���������} ������ ����� �� ��������� �������� ��
'..lic},
{'/do ����� ��������� ����
����� �� ��������� �������� ��� ��������.'},
{'/me ���������� ������� ��
%s {gender:�������|��������} � �������� ��������', lic},
}, function() sellto = to lictype =
lic end, function() wait(1000) givelic = true sampSendChat(format('/givelicense
%s', to)) end)
end
end
end
imgui.SetCursorPosX(7.5)
if imgui.Button(u8'������� �� �����',
imgui.ImVec2(285,30)) then
sendchatarray(0, {
{'�������� ������� �� ����� �� ������ �
��������� �. ���-��������'},
{'/n /gps -> ������ ����� -> �������
�������� -> [LV] ��������� (9)'},
})
end
imgui.SetCursorPos(imgui.ImVec2(7.5, 478))
if imgui.Button(u8'�����', imgui.ImVec2(142.5,30))
then
windowtype[0] = 0
end
end
if windowtype[0] == 3 then
imgui.TextColoredRGB('������� ���������:',1)
imgui.SetCursorPosX(52)
imgui.InputText(u8'##inputuninvitebuf', uninvitebuf,
sizeof(uninvitebuf))
if uninvitebox[0] then
imgui.TextColoredRGB('������� ��:',1)
imgui.SetCursorPosX(52)
imgui.InputText(u8'##inputblacklistbuf',
blacklistbuf, sizeof(blacklistbuf))
end
imgui.Checkbox(u8'������� � ��', uninvitebox)
imgui.SetCursorPosX(7.5)
if imgui.Button(u8'�������
'..sampGetPlayerNickname(fastmenuID)..'['..fastmenuID..']', imgui.ImVec2(285,30))
then
if configuration.main_settings.myrankint >= 9
then
if #str(uninvitebuf) > 0 then
if uninvitebox[0] then
if #str(blacklistbuf) > 0
then
windows.imgui_fm[0] =
false
sendchatarray(configuration.main_settings.playcd, {
{'/me
{gender:������|�������} ������� �� �������'},
{'/me
{gender:������|�������} � ������ \'����������\''},
{'/do ������
������.'},
{'/me {gender:���|
������} �������� � ������ \'����������\''},
{'/me
{gender:������|�������} � ������ \'}''\������ ����,
{'/me
{gender:����|�������} ���������� � ������, ����� ���� {gender:����������|
�����������} ��������'},
{'/do ��������
���� ���������.'},
{'/uninvite %s
%s', fastmenuID, u8:decode(str(uninvitebuf))},
{'/blacklist %s
%s', fastmenuID, u8:decode(str(blacklistbuf))},
})
else
ASHelperMessage('�������
������� �������� � ��!')
end
else
windows.imgui_fm[0] = false
sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:������|
�������} ������� �� �������'},
{'/me {gender:������|
�������} � ������ \'����������\''},
{'/do ������ ������.'},
{'/me {gender:���|
������} �������� � ������ \'����������\''},
{'/me
{gender:�����������|�����������} ��������, ����� {gender:�������|��������} �������
� {gender:�������|��������} ��� ������� � ������'},
{'/uninvite %s %s',
fastmenuID, u8:decode(str(uninvitebuf))},
})
end
else
ASHelperMessage('������� �������
���������!')
end
else
ASHelperMessage('����� ������� �������� �
9-�� �����.')
end
end
imgui.SetCursorPos(imgui.ImVec2(7.5, 478))
if imgui.Button(u8'�����', imgui.ImVec2(142.5,30))
then
windowtype[0] = 0
end
end
if windowtype[0] == 4 then
imgui.PushItemWidth(270)
imgui.Combo('##chooserank9', Ranks_select, new['const
char*'][9]({u8('[1] '..configuration.RankNames[1]), u8('[2]
'..configuration.RankNames[2]),u8('[3] '..configuration.RankNames[3]),u8('[4]
'..configuration.RankNames[4]),u8('[5] '..configuration.RankNames[5]),u8('[6]
'..configuration.RankNames[6]),u8('[7] '..configuration.RankNames[7]),u8('[8]
'..configuration.RankNames[8]),u8('[9] '..configuration.RankNames[9])}), 9)
imgui.PopItemWidth()
imgui.PushStyleColor(imgui.Col.Button,
imgui.ImVec4(0.15, 0.42, 0.0, 1.00))
imgui.PushStyleColor(imgui.Col.ButtonHovered,
imgui.ImVec4(0.25, 0.52, 0.0, 1.00))
imgui.PushStyleColor(imgui.Col.ButtonActive,
imgui.ImVec4(0.35, 0.62, 0.7, 1.00))
if imgui.Button(u8'�������� ����������
'..fa.ICON_FA_ARROW_UP, imgui.ImVec2(270,40)) then
if configuration.main_settings.myrankint >= 9
then
windows.imgui_fm[0] = false
sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:������|�������}
�������'},
{'/me {gender:������|�������} �
������ \'���������� ������������\''},
{'/me {gender:������|�������} �
������� ������� ����������'},
{'/me {gender:�������|��������}
��������� � ��������� ����������, ����� ���� {gender:�����������|�����������}
��������'},
{'/do ��������� � ���������� ����
��������.'},
{'��������� � ����������. �����
������� �� ������ ���� � ����������.'},
{'/giverank %s %s', fastmenuID,
Ranks_select[0]+1},
})
else
ASHelperMessage('����� ������� �������� �
9-�� �����.')
end
end
imgui.PopStyleColor(3)
if imgui.Button(u8'�������� ����������
'..fa.ICON_FA_ARROW_DOWN, imgui.ImVec2(270,30)) then
if configuration.main_settings.myrankint >= 9
then
windows.imgui_fm[0] = false
sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:������|�������}
�������'},
{'/me {gender:������|�������} �
������ \'���������� ������������\''},
{'/me {gender:������|�������} �
������� ������� ����������'},
{'/me {gender:�������|��������}
��������� � ��������� ����������, ����� ���� {gender:�����������|�����������}
��������'},
{'/do ��������� � ���������� ����
��������.'},
{'/giverank %s %s', fastmenuID,
Ranks_select[0]+1},
})
else
ASHelperMessage('����� ������� �������� �
9-�� �����.')
end
end
imgui.SetCursorPos(imgui.ImVec2(7.5, 478))
if imgui.Button(u8'�����', imgui.ImVec2(142.5,30))
then
windowtype[0] = 0
end
end
if windowtype[0] == 5 then
imgui.TextColoredRGB('������� �������� � ��:',1)
imgui.SetCursorPosX(52)
imgui.InputText(u8'##inputblacklistbuff',
blacklistbuff, sizeof(blacklistbuff))
imgui.NewLine()
imgui.SetCursorPosX(7.5)
if imgui.Button(u8'������� � ��
'..sampGetPlayerNickname(fastmenuID)..'['..fastmenuID..']', imgui.ImVec2(285,30))
then
if configuration.main_settings.myrankint >= 9
then
if #str(blacklistbuff) > 0 then
windows.imgui_fm[0] = false
sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:������|�������}
������� �� �������'},
{'/me {gender:������|�������}
� ������ \'}''\������ ����,
{'/me {gender:���|�����} ��
���������'},
{'/me {gender:���|������}
��������� � ������ \'}''\������ ����,
{'/me {gender:�����������|
�����������} ��������'},
{'/do �������� ����
���������.'},
{'/blacklist %s %s',
fastmenuID, u8:decode(str(blacklistbuff))},
})
else
ASHelperMessage('������� �������
�������� � ��!')
end
else
ASHelperMessage('����� ������� �������� �
9-�� �����.')
end
end
imgui.SetCursorPos(imgui.ImVec2(7.5, 478))
if imgui.Button(u8'�����', imgui.ImVec2(142.5,30))
then
windowtype[0] = 0
end
end
if windowtype[0] == 6 then
imgui.TextColoredRGB('������� ��������:',1)
imgui.SetCursorPosX(50)
imgui.InputText(u8'##giverwarnbuffinputtext',
fwarnbuff, sizeof(fwarnbuff))
imgui.NewLine()
imgui.SetCursorPosX(7.5)
if imgui.Button(u8'������ �������
'..sampGetPlayerNickname(fastmenuID)..'['..fastmenuID..']', imgui.ImVec2(285,30))
then
if #str(fwarnbuff) > 0 then
windows.imgui_fm[0] = false
sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:������|�������}
������� �� �������'},
{'/me {gender:������|�������} �
������ \'���������� ������������\''},
{'/me {gender:����|�����} �
������ \'��������\''},
{'/me ���� � ������� �������
����������, {gender:�������|��������} � ��� ������ ���� �������'},
{'/do ������� ��� �������� � ������
���� ����������.'},
{'/fwarn %s %s', fastmenuID,
u8:decode(str(fwarnbuff))},
})
else
ASHelperMessage('������� ������� ������
��������!')
end
end
imgui.SetCursorPos(imgui.ImVec2(7.5, 478))
if imgui.Button(u8'�����', imgui.ImVec2(142.5,30))
then
windowtype[0] = 0
end
end
if windowtype[0] == 7 then
imgui.TextColoredRGB('������� ����:',1)
imgui.SetCursorPosX(52)
imgui.InputText(u8'##fmutereasoninputtext',
fmutebuff, sizeof(fmutebuff))
imgui.TextColoredRGB('���� ����:',1)
imgui.SetCursorPosX(52)
imgui.InputInt(u8'##fmutetimeinputtext', fmuteint, 5)
imgui.NewLine()
if imgui.Button(u8'������ ���
'..sampGetPlayerNickname(fastmenuID)..'['..fastmenuID..']', imgui.ImVec2(270,30))
then
if configuration.main_settings.myrankint >= 9
then
if #str(fmutebuff) > 0 then
if tonumber(fmuteint[0]) and
tonumber(fmuteint[0]) > 0 then
windows.imgui_fm[0] = false
sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:������|
�������} ������� �� �������'},
{'/me {gender:������|
�������} �������'},
{'/me {gender:������|
�������} � ������ \'���������� ������������ %s\'',
configuration.main_settings.replaceash and '���' or '���������'},
{'/me {gender:������|
�������} ������� ����������'},
{'/me {gender:������|
�������} ����� \'�������� ���� ����������\''},
{'/me {gender:�����|
������} �� ������ \'��������� ��������\''},
{'/fmute %s %s %s',
fastmenuID, u8:decode(fmuteint[0]), u8:decode(str(fmutebuff))},
})
else
ASHelperMessage('�������
���������� ���� ����!')
end
else
ASHelperMessage('������� �������
������ ����!')
end
else
ASHelperMessage('����� ������� �������� �
9-�� �����.')
end
end
imgui.SetCursorPos(imgui.ImVec2(7.5, 478))
if imgui.Button(u8'�����', imgui.ImVec2(142.5,30))
then
windowtype[0] = 0
end
end
if windowtype[0] == 8 then
if not serverquestions['server'] then
QuestionType_select[0] = 1
end
if QuestionType_select[0] == 0 then
imgui.TextColoredRGB(serverquestions['server'],
1)
for k = 1, #serverquestions do
imgui.SetCursorPosX(7.5)
if
imgui.Button(u8(serverquestions[k].name)..'##'..k, imgui.ImVec2(285, 30)) then
if not inprocess then
ASHelperMessage('���������:
'..serverquestions[k].answer)
sampSendChat(serverquestions[k].question)
lastq[0] = clock()
else
ASHelperMessage('��
����������, �� ��� ����������� ���-��! �������� ���������: {MC}Alt{WC} +
{MC}U{WC}')
end
end
end
elseif QuestionType_select[0] == 1 then
if #questions.questions ~= 0 then
for k,v in pairs(questions.questions) do
imgui.SetCursorPosX(7.5)
if
imgui.Button(u8(v.bname..'##'..k), imgui.ImVec2(questions.active.redact and 200 or
285,30)) then
if not inprocess then
ASHelperMessage('���������: '..v.bhint)
sampSendChat(v.bq)
lastq[0] = clock()
else
ASHelperMessage('��
����������, �� ��� ����������� ���-��! �������� ���������: {MC}Alt{WC} +
{MC}U{WC}')
end
end
if questions.active.redact then
imgui.SameLine()
if
imgui.Button(fa.ICON_FA_PEN..'##'..k, imgui.ImVec2(30,30)) then
question_number = k
imgui.StrCopy(questionsettings.questionname, u8(v.bname))
imgui.StrCopy(questionsettings.questionhint, u8(v.bhint))
imgui.StrCopy(questionsettings.questionques, u8(v.bq))
imgui.OpenPopup(u8('�������� ��������'))
end
imgui.SameLine()
if
imgui.Button(fa.ICON_FA_TRASH..'##'..k, imgui.ImVec2(30,30)) then
table.remove(questions.questions,k)
local file =
io.open(getWorkingDirectory()..'\\AS Helper\\Questions.json', 'w')
file:write(encodeJson(questions))
file:close()
end
end
end
end
end
imgui.NewLine()
imgui.SetCursorPosX(7.5)
imgui.Text(fa.ICON_FA_CLOCK..' '..(lastq[0] == 0 and
u8'0 �. �����' or floor(clock()-lastq[0])..u8' �. �����'))
imgui.Hint('lastustavquesttime','��������� ���� �
���������� �������.')
imgui.SetCursorPosX(7.5)
imgui.PushStyleColor(imgui.Col.ButtonHovered,
imgui.ImVec4(0.00, 0.40, 0.00, 1.00))
imgui.PushStyleColor(imgui.Col.ButtonActive,
imgui.ImVec4(0.00, 0.30, 0.00, 1.00))
imgui.Button(u8'��������', imgui.ImVec2(137,35))
if imgui.IsItemHovered() and
(imgui.IsMouseReleased(0) or imgui.IsMouseReleased(1)) then
if imgui.IsMouseReleased(0) then
if not inprocess then
windows.imgui_fm[0] = false
sampSendChat(format('���������, %s,
�� ����� �����!', gsub(sampGetPlayerNickname(fastmenuID), '_', ' ')))
else
ASHelperMessage('�� ����������, ��
��� ����������� ���-��! �������� ���������: {MC}Alt{WC} + {MC}U{WC}')
end
end
if imgui.IsMouseReleased(1) then
if configuration.main_settings.myrankint
>= 9 then
windows.imgui_fm[0] = false
sendchatarray(configuration.main_settings.playcd, {
{'���������, %s, �� �����
�����!', gsub(sampGetPlayerNickname(fastmenuID), '_', ' ')},
{'/me {gender:������|�������}
�������'},
{'/me {gender:������|�������}
� ������ \'���������� ������������\''},
{'/me {gender:������|�������}
� ������� ������� ����������'},
{'/me {gender:�������|
��������} ��������� � ��������� ����������, ����� ���� {gender:�����������|
�����������} ��������'},
{'/do ��������� � ����������
���� ��������.'},
{'��������� � ����������.
����� ������� �� ������ ���� � ����������.'},
{'/giverank %s 2',
fastmenuID},
})
else
ASHelperMessage('����� �������
�������� � 9-�� �����.')
end
end
end
imgui.Hint('ustavhint','��� �� ������������� � �����
������\n��� �� �������� �� 2-�� �����')
imgui.PopStyleColor(2)
imgui.SameLine()
imgui.PushStyleColor(imgui.Col.ButtonHovered,
imgui.ImVec4(0.40, 0.00, 0.00, 1.00))
imgui.PushStyleColor(imgui.Col.ButtonActive,
imgui.ImVec4(0.30, 0.00, 0.00, 1.00))
if imgui.Button(u8'��������', imgui.ImVec2(137,35))
then
if not inprocess then
windows.imgui_fm[0] = false
sampSendChat(format('������, %s, �� �� ��
������ ����� �����. �������� � ��������� � �������� ���.',
gsub(sampGetPlayerNickname(fastmenuID), '_', ' ')))
else
ASHelperMessage('�� ����������, �� ���
����������� ���-��! �������� ���������: {MC}Alt{WC} + {MC}U{WC}')
end
end
imgui.PopStyleColor(2)
imgui.Separator()
imgui.SetCursorPosX(7.5)
imgui.BeginGroup()
if serverquestions['server'] then
imgui.SetCursorPosY(imgui.GetCursorPosY()
+ 3)
imgui.Text(u8'�������')
imgui.SameLine()
imgui.SetCursorPosY(imgui.GetCursorPosY()
- 3)
imgui.PushItemWidth(90)
imgui.PushStyleVarVec2(imgui.StyleVar.WindowPadding,imgui.ImVec2(10,10))
imgui.Combo(u8'##choosetypequestion',
QuestionType_select, new['const char*'][8]{u8'���������', u8'����'}, 2)
imgui.PopStyleVar()
imgui.PopItemWidth()
imgui.SameLine()
end
if QuestionType_select[0] == 1 then
if not questions.active.redact then
imgui.StrCopy(questionsettings.questionname, '')
imgui.StrCopy(questionsettings.questionhint, '')
imgui.StrCopy(questionsettings.questionques, '')
imgui.OpenPopup(u8('�������� ��������'))
end
imgui.SameLine()
end
imgui.SetCursorPos(imgui.ImVec2(7.5, 478))
if imgui.Button(u8'�����', imgui.ImVec2(142.5,30))
then
windowtype[0] = 0
end
if imgui.BeginPopup(u8'�������� ��������', _,
imgui.WindowFlags.NoCollapse + imgui.WindowFlags.AlwaysAutoResize) then
imgui.Text(u8'�������� ������:')
imgui.SameLine()
imgui.SetCursorPosX(125)
imgui.InputText('##questeditorname',
questionsettings.questionname, sizeof(questionsettings.questionname))
imgui.Text(u8'������: ')
imgui.SameLine()
imgui.SetCursorPosX(125)
imgui.InputText('##questeditorques',
questionsettings.questionques, sizeof(questionsettings.questionques))
imgui.Text(u8'���������: ')
imgui.SameLine()
imgui.SetCursorPosX(125)
imgui.InputText('##questeditorhint',
questionsettings.questionhint, sizeof(questionsettings.questionhint))
imgui.SetCursorPosX(17)
if #str(questionsettings.questionhint) > 0 and
#str(questionsettings.questionques) > 0 and #str(questionsettings.questionname) > 0
then
if
imgui.Button(u8'���������####questeditor', imgui.ImVec2(150, 25)) then
if question_number == nil then
questions.questions[#questions.questions + 1] = {
bname =
u8:decode(str(questionsettings.questionname)),
bq =
u8:decode(str(questionsettings.questionques)),
bhint =
u8:decode(str(questionsettings.questionhint)),
}
else
questions.questions[question_number].bname =
u8:decode(str(questionsettings.questionname))
questions.questions[question_number].bq =
u8:decode(str(questionsettings.questionques))
questions.questions[question_number].bhint =
u8:decode(str(questionsettings.questionhint))
end
local file =
io.open(getWorkingDirectory()..'\\AS Helper\\Questions.json', 'w')
file:write(encodeJson(questions))
file:close()
imgui.CloseCurrentPopup()
end
else
if windowtype[0] == 9 then
if sobesetap[0] == 0 then
imgui.TextColoredRGB('�������������: ���� 1',1)
imgui.Separator()
imgui.SetCursorPosX(7.5)
if imgui.Button(u8'����������������',
imgui.ImVec2(285,30)) then
sendchatarray(configuration.main_settings.playcd, {
{'������������, � %s %s, �� ������
�� �������������?', configuration.RankNames[configuration.main_settings.myrankint],
configuration.main_settings.replaceash and '���' or '���������'},
{'/do �� ����� ����� ������� �
������� %s %s.', configuration.RankNames[configuration.main_settings.myrankint],
#configuration.main_settings.myname < 1 and
gsub(sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(playerPed))), '_',
' ') or u8:decode(configuration.main_settings.myname)},
})
end
imgui.SetCursorPosX(7.5)
imgui.Button(u8'��������� ���������
'..fa.ICON_FA_ARROW_RIGHT, imgui.ImVec2(285,30))
if imgui.IsItemHovered() then
if imgui.IsMouseReleased(0) then
if not inprocess then
local s =
configuration.sobes_settings
local out = (s.pass and
'�������' or '')..
(s.medcard
and (s.pass and ', ���. �����' or '���. �����') or '')..
(s.wbook and
((s.pass or s.medcard) and ', ������� ������' or '������� ������') or '')..
(s.licenses
and ((s.pass or s.medcard or s.wbook) and ', ��������' or '��������') or '')
sendchatarray(0, {
{'������, �������� ���
���� ���������, � ������: %s', out},
{'/n ���������� ��
��!'},
})
sobesetap[0] = 1
else
ASHelperMessage('��
����������, �� ��� ����������� ���-��! �������� ���������: {MC}Alt{WC} +
{MC}U{WC}')
end
end
if imgui.IsMouseReleased(1) then
imgui.OpenPopup('##redactdocuments')
end
end
configuration.sobes_settings.medcard = sobes_settings.medcard[0]
inicfg.save(configuration,'AS
Helper')
end
if imgui.ToggleButton(u8'�������� �������
�����', sobes_settings.wbook) then
configuration.sobes_settings.wbook
= sobes_settings.wbook[0]
inicfg.save(configuration,'AS
Helper')
end
if imgui.ToggleButton(u8'��������
��������', sobes_settings.licenses) then
configuration.sobes_settings.licenses = sobes_settings.licenses[0]
inicfg.save(configuration,'AS
Helper')
end
imgui.EndPopup()
end
imgui.PopStyleVar()
end
if sobesetap[0] == 1 then
imgui.TextColoredRGB('�������������: ���� 2',1)
imgui.Separator()
if configuration.sobes_settings.pass then
imgui.TextColoredRGB(sobes_results.pass
and '������� - ������� ('..sobes_results.pass..')' or '������� - �� �������',1)
end
if configuration.sobes_settings.medcard then
sendchatarray(configuration.main_settings.playcd, {
{'/me ��� ��������� ��
��� �������� �������� {gender:�����|������} �� ��������'},
{'/todo ������...*
������ ��������� �������'},
{'������ � ����� ���
��������� ��������, �� ������ �� ��� ��������?'},
})
sobesetap[0] = 2
else
ASHelperMessage('��
����������, �� ��� ����������� ���-��! �������� ���������: {MC}Alt{WC} +
{MC}U{WC}')
end
end
end
end
if sobesetap[0] == 2 then
imgui.TextColoredRGB('�������������: ���� 3',1)
imgui.Separator()
imgui.SetCursorPosX(7.5)
if imgui.Button(u8'���������� ������� � ����.',
imgui.ImVec2(285,30)) then
if not inprocess then
sampSendChat('���������� ������� �
����.')
else
ASHelperMessage('�� ����������, ��
��� ����������� ���-��! �������� ���������: {MC}Alt{WC} + {MC}U{WC}')
end
end
imgui.SetCursorPosX(7.5)
if imgui.Button(u8'������ ������� ������ ���?',
imgui.ImVec2(285,30)) then
if not inprocess then
sampSendChat('������ �� �������
������ ���?')
else
ASHelperMessage('�� ����������, ��
��� ����������� ���-��! �������� ���������: {MC}Alt{WC} + {MC}U{WC}')
end
end
imgui.SetCursorPosX(7.5)
if imgui.Button(u8'�������� �� � ��� �����?
'..fa.ICON_FA_ARROW_RIGHT, imgui.ImVec2(285,30)) then
if not inprocess then
sampSendChat('�������� �� � ���
�����? ���� ��, �� ���������� ���������')
sobesetap[0] = 3
else
ASHelperMessage('�� ����������, ��
��� ����������� ���-��! �������� ���������: {MC}Alt{WC} + {MC}U{WC}')
end
end
end
if sobesetap[0] == 3 then
imgui.TextColoredRGB('�������������:
�������',1)
imgui.Separator()
imgui.SetCursorPosX(7.5)
imgui.PushStyleColor(imgui.Col.ButtonHovered,
imgui.ImVec4(0.00, 0.40, 0.00, 1.00))
imgui.PushStyleColor(imgui.Col.ButtonActive,
imgui.ImVec4(0.00, 0.30, 0.00, 1.00))
if imgui.Button(u8'������',
imgui.ImVec2(285,30)) then
if configuration.main_settings.myrankint
>= 9 then
sendchatarray(configuration.main_settings.playcd, {
{'�������, � ���� �� ���
���������!'},
{'/do ���� �� �������� �
�������.'},
{'/me ������ ���� � ������
���, {gender:������|�������} ������ ��� �� ��������'},
{'/me {gender:�������|
��������} ��� �������� ��������'},
{'����� ����������!
���������� �� ������ � ����������.'},
{'�� ���� ����������� ��
������ ����������� �� ��. �������.'},
{'/invite %s', fastmenuID},
})
else
sendchatarray(configuration.main_settings.playcd, {
{'�������, � ���� �� ���
���������!'},
{'/r %s ������� �����
�������������! ����� ������� �� ���, ����� ������ ���.',
gsub(sampGetPlayerNickname(fastmenuID), '_', ' ')},
{'/rb %s id', fastmenuID},
})
end
windows.imgui_fm[0] = false
end
imgui.PopStyleColor(2)
imgui.SetCursorPosX(7.5)
imgui.PushStyleColor(imgui.Col.ButtonHovered,
imgui.ImVec4(0.40, 0.00, 0.00, 1.00))
imgui.PushStyleColor(imgui.Col.ButtonActive,
imgui.ImVec4(0.30, 0.00, 0.00, 1.00))
if imgui.Button(u8'���������',
imgui.ImVec2(285,30)) then
lastsobesetap[0] = sobesetap[0]
sobesetap[0] = 7
end
imgui.PopStyleColor(2)
end
if sobesetap[0] == 7 then
imgui.TextColoredRGB('�������������:
����������',1)
imgui.Separator()
imgui.PushItemWidth(270)
imgui.Combo('##declinesobeschoosereasonselect',sobesdecline_select,
new['const char*'][5]({u8'������ ��',u8'�� ���� ��',u8'����� ����������',u8'������
�� �������',u8'������'}), 5)
imgui.PopItemWidth()
imgui.SetCursorPosX((imgui.GetWindowWidth() -
270) * 0.5)
imgui.PushStyleColor(imgui.Col.ButtonHovered,
imgui.ImVec4(0.40, 0.00, 0.00, 1.00))
imgui.PushStyleColor(imgui.Col.ButtonActive,
imgui.ImVec4(0.30, 0.00, 0.00, 1.00))
if imgui.Button(u8'���������',
imgui.ImVec2(270,30)) then
if not inprocess then
if sobesdecline_select[0] == 0 then
sampSendChat('� �������� � ��
���� ������ ��� ��-�� ����, ��� �� ����. ����������.')
sampSendChat('/b ����� ������
��')
elseif sobesdecline_select[0] == 1
then
sampSendChat('� �������� � ��
���� ������ ��� ��-�� ����, ��� �� ����. ����������.')
sampSendChat('/b �� ���� ��')
elseif sobesdecline_select[0] == 2
then
sampSendChat('� �������� � ��
���� ������ ��� ��-�� ����, ��� �� ����. ����������.')
sampSendChat('/b �����
����������')
elseif sobesdecline_select[0] == 3
then
sampSendChat('� �������� � ��
���� ������ ��� ��-�� ����, ��� �� ����. ����������.')
sampSendChat('/b ������ ��
�������')
elseif sobesdecline_select[0] == 4
then
sampSendChat('� �������� � ��
���� ������ ��� ��-�� ����, ��� �� ����. ����������.')
end
windows.imgui_fm[0] = false
else
ASHelperMessage('�� ����������, ��
��� ����������� ���-��! �������� ���������: {MC}Alt{WC} + {MC}U{WC}')
end
end
imgui.PopStyleColor(2)
end
imgui.PushStyleColor(imgui.Col.ChildBg,
imgui.ImVec4(0,0,0,0))
imgui.SetCursorPos(imgui.ImVec2(0, 25))
imgui.BeginChild('##fmmainwindow', imgui.ImVec2(300, -1),
false)
if newwindowtype[0] == 1 then
if clienttype[0] == 0 then
imgui.SetCursorPos(imgui.ImVec2(7.5,15))
imgui.BeginGroup()
if
configuration.main_settings.myrankint >= 1 then
if
imgui.Button(fa.ICON_FA_HAND_PAPER..u8' ���������������� ������',
imgui.ImVec2(285,30)) then
getmyrank = true
sampSendChat('/stats')
if
tonumber(os.date('%H', os.time(os.date('!*t')) + 2 * 60 * 60)) > 4 and
tonumber(os.date('%H', os.time(os.date('!*t')) + 2 * 60 * 60)) < 13 then
sendchatarray(configuration.main_settings.playcd, {
{'������
����, � {gender:���������|����������} %s, ��� ���� ��� ������?',
configuration.main_settings.replaceash and '���' or '��������� �. ���-������'},
{'/do ��
����� ����� ������� � ������� %s %s.',
configuration.RankNames[configuration.main_settings.myrankint],
#configuration.main_settings.myname < 1 and
gsub(sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(playerPed))), '_',
' ') or u8:decode(configuration.main_settings.myname)},
})
elseif
tonumber(os.date('%H', os.time(os.date('!*t')) + 2 * 60 * 60)) > 12 and
tonumber(os.date('%H', os.time(os.date('!*t')) + 2 * 60 * 60)) < 17 then
sendchatarray(configuration.main_settings.playcd, {
{'������
����, � {gender:���������|����������} %s, ��� ���� ��� ������?',
configuration.main_settings.replaceash and '���' or '��������� �. ���-������'},
{'/do ��
����� ����� ������� � ������� %s %s.',
configuration.RankNames[configuration.main_settings.myrankint],
#configuration.main_settings.myname < 1 and
gsub(sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(playerPed))), '_',
' ') or u8:decode(configuration.main_settings.myname)},
})
elseif
tonumber(os.date('%H', os.time(os.date('!*t')) + 2 * 60 * 60)) > 16 and
tonumber(os.date('%H', os.time(os.date('!*t')) + 2 * 60 * 60)) < 24 then
sendchatarray(configuration.main_settings.playcd, {
{'������
�����, � {gender:���������|����������} %s, ��� ���� ��� ������?',
configuration.main_settings.replaceash and '���' or '��������� �. ���-������'},
{'/do ��
����� ����� ������� � ������� %s %s.',
configuration.RankNames[configuration.main_settings.myrankint],
#configuration.main_settings.myname < 1 and
gsub(sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(playerPed))), '_',
' ') or u8:decode(configuration.main_settings.myname)},
})
elseif
tonumber(os.date('%H', os.time(os.date('!*t')) + 2 * 60 * 60)) < 5 then
sendchatarray(configuration.main_settings.playcd, {
{'������
����, � {gender:���������|����������} %s, ��� ���� ��� ������?',
configuration.main_settings.replaceash and '���' or '��������� �. ���-������'},
{'/do ��
����� ����� ������� � ������� %s %s.',
configuration.RankNames[configuration.main_settings.myrankint],
#configuration.main_settings.myname < 1 and
gsub(sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(playerPed))), '_',
' ') or u8:decode(configuration.main_settings.myname)},
})
end
end
else
sendchatarray(configuration.main_settings.playcd, {
{'/do � �������
��� ����� ����� ���� �� ��������.'},
{'/me
{gender:������|�������} ����� ���� �� ������� ��� � {gender:�������|��������} ���
�������'},
{'/do � �����
����� ��������:'},
{'/do ������� ��
�������� ����������� - %s$.', string.separate(configuration.main_settings.avtoprice
or 5000)},
{'/do ������� ��
�������� ���������� - %s$.', string.separate(configuration.main_settings.motoprice
or 10000)},
{'/do ������� ��
����������� - %s$.', string.separate(configuration.main_settings.ribaprice or
30000)},
{'/do ������� ��
������ ��������� - %s$.', string.separate(configuration.main_settings.lodkaprice or
30000)},
{'/do ������� ��
������ - %s$.', string.separate(configuration.main_settings.gunaprice or 50000)},
{'/do ������� ��
����� - %s$.', string.separate(configuration.main_settings.huntprice or 100000)},
{'/do ������� ��
�������� - %s$.', string.separate(configuration.main_settings.kladprice or
200000)},
{'/do ������� ��
������ �������� - %s$.', string.separate(configuration.main_settings.taxiprice or
250000)},
{'/do ������� ��
������ �������� - %s$.', string.separate(configuration.main_settings.mechprice or
450000)},
})
end
else
imgui.LockedButton(fa.ICON_FA_FILE_ALT..u8' �������� ����� ����',
imgui.ImVec2(285,30))
sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:���|
����} �� ����� ����� � {gender:��������|���������} ������ ����� �� ���������
�������� �� ����'},
{'/do �����
��������� ���� ����� �� ��������� �������� ��� ��������.'},
{'/me ����������
������� �� ���� {gender:�������|��������} � �������� ��������'},
{'/n /givelicense
%s', fastmenuID},
})
end
end
if
configuration.main_settings.myrankint >= 2 then
if
imgui.Button(fa.ICON_FA_REPLY..u8' ������� �� ���������', imgui.ImVec2(285,30))
then
imgui.OpenPopup('##changeexpelreason')
end
configuration.main_settings.expelreason =
u8:decode(str(usersettings.expelreason))
inicfg.save(configuration,'AS Helper')
end
if
imgui.Button(u8'�������', imgui.ImVec2(-1, 25)) then
if not
sampIsPlayerPaused(fastmenuID) then
windows.imgui_fm[0] = false
sendchatarray(configuration.main_settings.playcd, {
{'/me
������� �������� �� ����, � ����� � ������'},
{'/me
������ ����� �����, ����� �������� �� �����'},
imgui.PushStyleVarVec2(imgui.StyleVar.WindowPadding,imgui.ImVec2(10,10))
imgui.Combo('##chooseselllicense',
Licenses_select, new['const char*'][9](Licenses_Arr), #Licenses_Arr,
imgui.ComboFlags.HeightLargest)
imgui.PopStyleVar()
imgui.PopItemWidth()
imgui.NewLine()
imgui.SetCursorPosX(7.5)
if imgui.Button(u8'������� ������� ��
'..u8(string.rlower(u8:decode(Licenses_Arr[Licenses_select[0]+1]))),
imgui.ImVec2(285,30)) then
local to, lic = fastmenuID,
string.rlower(u8:decode(Licenses_Arr[Licenses_select[0]+1]))
if lic ~= nil and to ~= nil then
if (lic == '������' and
configuration.main_settings.checkmcongun) or (lic == '�����' and
configuration.main_settings.checkmconhunt) then
sendchatarray(0, {
{'������, ��
������� �������� �� %s �������� ��� ��� ���.�����', lic},
{'/n /showmc %s',
select(2,sampGetPlayerIdByCharHandle(playerPed))},
}, function() sellto =
to lictype = lic end, function() ASHelperMessage('�������� �������� ������
���.�����. ��� � ���������� ������� {MC}Alt{WC} + {MC}O{WC}') skiporcancel = lic
tempid = to end)
else
sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:���|
����} �� ����� ����� � {gender:��������|���������} ������ ����� �� ���������
�������� �� '..lic},
{'/do �����
��������� ���� ����� �� ��������� �������� ��� ��������.'},
{'/me ����������
������� �� %s {gender:�������|��������} � �������� ��������', lic},
}, function() sellto =
to lictype = lic end, function() wait(1000) givelic = true
sampSendChat(format('/givelicense %s', to)) end)
end
end
end
imgui.SetCursorPosX(7.5)
if imgui.Button(u8'������� �� �����',
imgui.ImVec2(285,30)) then
sendchatarray(0, {
{'�������� ������� �� �����
�� ������ � ��������� �. ���-��������'},
{'/n /gps -> ������ ����� ->
������� �������� -> [LV] ��������� (9)'},
})
end
imgui.SetCursorPos(imgui.ImVec2(15,240))
if
imgui.InvisibleButton('##fmbackbutton',imgui.ImVec2(55,15)) then
clienttype[0] = 0
end
imgui.SetCursorPos(imgui.ImVec2(15,240))
imgui.PushFont(font[16])
imgui.TextColored(imgui.IsItemHovered()
and imgui.GetStyle().Colors[imgui.Col.Text] or
imgui.GetStyle().Colors[imgui.Col.TextDisabled], fa.ICON_FA_CHEVRON_LEFT..u8'
�����')
imgui.PopFont()
end
elseif newwindowtype[0] == 2 then
imgui.SetCursorPos(imgui.ImVec2(15,20))
if sobesetap[0] == 0 then
imgui.TextColoredRGB('�������������: ����
1',1)
imgui.Separator()
imgui.SetCursorPosX(7.5)
if imgui.Button(u8'����������������',
imgui.ImVec2(285,30)) then
sendchatarray(configuration.main_settings.playcd, {
{'������������, � %s %s, ��
������ �� �������������?',
configuration.RankNames[configuration.main_settings.myrankint],
configuration.main_settings.replaceash and '���' or '���������'},
{'/do �� ����� ����� �������
� ������� %s %s.', configuration.RankNames[configuration.main_settings.myrankint],
#configuration.main_settings.myname < 1 and
gsub(sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(playerPed))), '_',
' ') or u8:decode(configuration.main_settings.myname)},
})
end
imgui.SetCursorPosX(7.5)
imgui.Button(u8'��������� ���������
'..fa.ICON_FA_ARROW_RIGHT, imgui.ImVec2(285,30))
if imgui.IsItemHovered() then
if imgui.IsMouseReleased(0) then
if not inprocess then
local s =
configuration.sobes_settings
local out = (s.pass and
'�������' or '')..
(s.medcard and (s.pass and ', ���. �����' or '���. �����') or '')..
imgui.OpenPopup('##redactdocuments')
end
end
configuration.sobes_settings.pass = sobes_settings.pass[0]
inicfg.save(configuration,'AS
Helper')
end
if imgui.ToggleButton(u8'��������
���. �����', sobes_settings.medcard) then
configuration.sobes_settings.medcard = sobes_settings.medcard[0]
inicfg.save(configuration,'AS
Helper')
end
if imgui.ToggleButton(u8'��������
������� �����', sobes_settings.wbook) then
configuration.sobes_settings.wbook = sobes_settings.wbook[0]
inicfg.save(configuration,'AS
Helper')
end
if imgui.ToggleButton(u8'��������
��������', sobes_settings.licenses) then
configuration.sobes_settings.licenses = sobes_settings.licenses[0]
inicfg.save(configuration,'AS
Helper')
end
imgui.EndPopup()
end
imgui.PopStyleVar()
end
if sobesetap[0] == 1 then
imgui.TextColoredRGB('�������������: ����
2',1)
imgui.Separator()
if configuration.sobes_settings.pass then
sendchatarray(configuration.main_settings.playcd, {
{'/me ���
��������� �� ��� �������� �������� {gender:�����|������} �� ��������'},
{'/todo ������...*
������ ��������� �������'},
{'������ � �����
��� ��������� ��������, �� ������ �� ��� ��������?'},
})
sobesetap[0] = 2
else
ASHelperMessage('��
����������, �� ��� ����������� ���-��! �������� ���������: {MC}Alt{WC} +
{MC}U{WC}')
end
end
end
end
if sobesetap[0] == 2 then
imgui.TextColoredRGB('�������������: ����
3',1)
imgui.Separator()
imgui.SetCursorPosX(7.5)
if imgui.Button(u8'���������� ������� �
����.', imgui.ImVec2(285,30)) then
if not inprocess then
sampSendChat('����������
������� � ����.')
else
ASHelperMessage('��
����������, �� ��� ����������� ���-��! �������� ���������: {MC}Alt{WC} +
{MC}U{WC}')
end
end
imgui.SetCursorPosX(7.5)
if imgui.Button(u8'������ ������� ������
���?', imgui.ImVec2(285,30)) then
if not inprocess then
sampSendChat('������ ��
������� ������ ���?')
else
ASHelperMessage('��
����������, �� ��� ����������� ���-��! �������� ���������: {MC}Alt{WC} +
{MC}U{WC}')
end
end
imgui.SetCursorPosX(7.5)
if imgui.Button(u8'�������� �� � ���
�����? '..fa.ICON_FA_ARROW_RIGHT, imgui.ImVec2(285,30)) then
if not inprocess then
sampSendChat('�������� �� �
��� �����? ���� ��, �� ���������� ���������')
sobesetap[0] = 3
else
ASHelperMessage('��
����������, �� ��� ����������� ���-��! �������� ���������: {MC}Alt{WC} +
{MC}U{WC}')
end
end
end
if sobesetap[0] == 3 then
imgui.TextColoredRGB('�������������:
�������',1)
imgui.Separator()
imgui.SetCursorPosX(7.5)
sendchatarray(configuration.main_settings.playcd, {
{'�������, � ���� �� ���
���������!'},
{'/do ���� �� �������� �
�������.'},
{'/me ������ ���� �
������ ���, {gender:������|�������} ������ ��� �� ��������'},
{'/me {gender:�������|
��������} ��� �������� ��������'},
{'����� ����������!
���������� �� ������ � ����������.'},
{'�� ���� ����������� ��
������ ����������� �� ��. �������.'},
{'/invite %s',
fastmenuID},
})
else
sendchatarray(configuration.main_settings.playcd, {
{'�������, � ���� �� ���
���������!'},
{'/r %s ������� �����
�������������! ����� ������� �� ���, ����� ������ ���.',
gsub(sampGetPlayerNickname(fastmenuID), '_', ' ')},
{'/rb %s id',
fastmenuID},
})
end
windows.imgui_fm[0] = false
end
imgui.PopStyleColor(2)
imgui.SetCursorPosX(7.5)
imgui.PushStyleColor(imgui.Col.ButtonHovered, imgui.ImVec4(0.40, 0.00, 0.00,
1.00))
if sobesetap[0] == 7 then
imgui.TextColoredRGB('�������������:
����������',1)
imgui.Separator()
imgui.PushItemWidth(270)
imgui.SetCursorPosX(15)
imgui.PushStyleVarVec2(imgui.StyleVar.WindowPadding,imgui.ImVec2(10,10))
imgui.Combo('##declinesobeschoosereasonselect',sobesdecline_select,
new['const char*'][5]({u8'������ ��',u8'�� ���� ��',u8'����� ����������',u8'������
�� �������',u8'������'}), 5)
imgui.PopStyleVar()
imgui.PopItemWidth()
imgui.SetCursorPos(imgui.ImVec2(15,240))
if sobesetap[0] ~= 0 then
if
imgui.InvisibleButton('##sobesbackbutton',imgui.ImVec2(55,15)) then
if sobesetap[0] == 7 then
sobesetap[0] = lastsobesetap[0]
elseif sobesetap[0] ~= 0 then
sobesetap[0] = sobesetap[0] - 1
end
end
imgui.SetCursorPos(imgui.ImVec2(15,240))
imgui.PushFont(font[16])
imgui.TextColored(imgui.IsItemHovered()
and imgui.GetStyle().Colors[imgui.Col.Text] or
imgui.GetStyle().Colors[imgui.Col.TextDisabled], fa.ICON_FA_CHEVRON_LEFT..u8'
�����')
imgui.PopFont()
imgui.SameLine()
end
imgui.SetCursorPosY(240)
if sobesetap[0] ~= 3 and sobesetap[0] ~= 7 then
imgui.SetCursorPosX(195)
if
imgui.InvisibleButton('##sobesforwardbutton',imgui.ImVec2(125,15)) then
sobesetap[0] = sobesetap[0] + 1
end
imgui.SetCursorPos(imgui.ImVec2(195,
240))
imgui.PushFont(font[16])
imgui.TextColored(imgui.IsItemHovered()
and imgui.GetStyle().Colors[imgui.Col.Text] or
imgui.GetStyle().Colors[imgui.Col.TextDisabled], u8'����������
'..fa.ICON_FA_CHEVRON_RIGHT)
imgui.PopFont()
end
elseif newwindowtype[0] == 3 then
imgui.SetCursorPos(imgui.ImVec2(7.5, 15))
imgui.BeginGroup()
if not serverquestions['server'] then
QuestionType_select[0] = 1
end
if QuestionType_select[0] == 0 then
imgui.TextColoredRGB(serverquestions['server'], 1)
for k = 1, #serverquestions do
if
imgui.Button(u8(serverquestions[k].name)..'##'..k, imgui.ImVec2(275, 30)) then
if not inprocess then
ASHelperMessage('���������: '..serverquestions[k].answer)
sampSendChat(serverquestions[k].question)
lastq[0] = clock()
else
ASHelperMessage('���������: '..v.bhint)
sampSendChat(v.bq)
lastq[0] =
clock()
else
imgui.PushStyleColor(imgui.Col.Button, imgui.ImVec4(1,1,1,0))
imgui.PushStyleColor(imgui.Col.ButtonHovered, imgui.ImVec4(1,1,1,0))
imgui.PushStyleColor(imgui.Col.ButtonActive, imgui.ImVec4(1,1,1,0))
if
imgui.Button(fa.ICON_FA_PEN..'##'..k, imgui.ImVec2(20,25)) then
question_number = k
imgui.StrCopy(questionsettings.questionname, u8(v.bname))
imgui.StrCopy(questionsettings.questionhint, u8(v.bhint))
imgui.StrCopy(questionsettings.questionques, u8(v.bq))
imgui.OpenPopup(u8('�������� ��������'))
end
imgui.SameLine()
if
imgui.Button(fa.ICON_FA_TRASH..'##'..k, imgui.ImVec2(20,25)) then
table.remove(questions.questions,k)
local file =
io.open(getWorkingDirectory()..'\\AS Helper\\Questions.json', 'w')
file:write(encodeJson(questions))
file:close()
end
imgui.PopStyleColor(3)
end
end
end
end
imgui.EndGroup()
imgui.NewLine()
imgui.SetCursorPosX(7.5)
imgui.Text(fa.ICON_FA_CLOCK..' '..(lastq[0] ==
0 and u8'0 �. �����' or floor(clock()-lastq[0])..u8' �. �����'))
imgui.Hint('lastustavquesttime','��������� ����
� ���������� �������.')
imgui.SetCursorPosX(7.5)
imgui.PushStyleColor(imgui.Col.ButtonHovered,
imgui.ImVec4(0.00, 0.40, 0.00, 1.00))
imgui.PushStyleColor(imgui.Col.ButtonActive,
imgui.ImVec4(0.00, 0.30, 0.00, 1.00))
imgui.Button(u8'��������',
imgui.ImVec2(130,30))
if imgui.IsItemHovered() and
(imgui.IsMouseReleased(0) or imgui.IsMouseReleased(1)) then
if imgui.IsMouseReleased(0) then
if not inprocess then
windows.imgui_fm[0] = false
sendchatarray(configuration.main_settings.playcd, {
{'���������, %s, ��
����� �����!', gsub(sampGetPlayerNickname(fastmenuID), '_', ' ')},
{'/me {gender:������|
�������} �������'},
{'/me {gender:������|
�������} � ������ \'���������� ������������\''},
{'/me {gender:������|
�������} � ������� ������� ����������'},
{'/me {gender:�������|
��������} ��������� � ��������� ����������, ����� ���� {gender:�����������|
�����������} ��������'},
{'/do ��������� �
���������� ���� ��������.'},
{'��������� �
����������. ����� ������� �� ������ ���� � ����������.'},
{'/giverank %s 2',
fastmenuID},
})
else
ASHelperMessage('�����
������� �������� � 9-�� �����.')
end
end
end
imgui.Hint('ustavhint','��� �� ������������� �
����� ������\n��� �� �������� �� 2-�� �����')
imgui.PopStyleColor(2)
imgui.SameLine()
imgui.PushStyleColor(imgui.Col.ButtonHovered,
imgui.ImVec4(0.40, 0.00, 0.00, 1.00))
imgui.PushStyleColor(imgui.Col.ButtonActive,
imgui.ImVec4(0.30, 0.00, 0.00, 1.00))
if imgui.Button(u8'��������',
imgui.ImVec2(130,30)) then
if not inprocess then
windows.imgui_fm[0] = false
sampSendChat(format('������, %s, ��
�� �� ������ ����� �����. �������� � ��������� � �������� ���.',
gsub(sampGetPlayerNickname(fastmenuID), '_', ' ')))
else
ASHelperMessage('�� ����������, ��
��� ����������� ���-��! �������� ���������: {MC}Alt{WC} + {MC}U{WC}')
end
end
imgui.PopStyleColor(2)
imgui.Separator()
imgui.SetCursorPosX(7.5)
imgui.BeginGroup()
if serverquestions['server'] then
imgui.SetCursorPosY(imgui.GetCursorPosY() + 3)
imgui.Text(u8'�������')
imgui.SameLine()
imgui.SetCursorPosY(imgui.GetCursorPosY() - 3)
imgui.PushItemWidth(90)
imgui.PushStyleVarVec2(imgui.StyleVar.WindowPadding,imgui.ImVec2(10,10))
imgui.StrCopy(questionsettings.questionname, '')
imgui.StrCopy(questionsettings.questionhint, '')
imgui.StrCopy(questionsettings.questionques, '')
imgui.OpenPopup(u8('�������� ��������'))
end
imgui.SameLine()
end
imgui.PushStyleVarVec2(imgui.StyleVar.WindowPadding, imgui.ImVec2(15,15))
if imgui.BeginPopup(u8'�������� ��������', _,
imgui.WindowFlags.NoCollapse + imgui.WindowFlags.AlwaysAutoResize) then
imgui.Text(u8'�������� ������:')
imgui.SameLine()
imgui.SetCursorPosX(125)
imgui.InputText('##questeditorname',
questionsettings.questionname, sizeof(questionsettings.questionname))
imgui.Text(u8'������: ')
imgui.SameLine()
imgui.SetCursorPosX(125)
imgui.InputText('##questeditorques',
questionsettings.questionques, sizeof(questionsettings.questionques))
imgui.Text(u8'���������: ')
imgui.SameLine()
imgui.SetCursorPosX(125)
imgui.InputText('##questeditorhint',
questionsettings.questionhint, sizeof(questionsettings.questionhint))
imgui.SetCursorPosX(17)
if #str(questionsettings.questionhint) >
0 and #str(questionsettings.questionques) > 0 and
#str(questionsettings.questionname) > 0 then
if
imgui.Button(u8'���������####questeditor', imgui.ImVec2(150, 25)) then
if question_number == nil
then
questions.questions[#questions.questions + 1] = {
bname =
u8:decode(str(questionsettings.questionname)),
bq =
u8:decode(str(questionsettings.questionques)),
bhint =
u8:decode(str(questionsettings.questionhint)),
}
else
questions.questions[question_number].bname =
u8:decode(str(questionsettings.questionname))
questions.questions[question_number].bq =
u8:decode(str(questionsettings.questionques))
questions.questions[question_number].bhint =
u8:decode(str(questionsettings.questionhint))
end
local file =
io.open(getWorkingDirectory()..'\\AS Helper\\Questions.json', 'w')
file:write(encodeJson(questions))
file:close()
imgui.CloseCurrentPopup()
end
else
imgui.LockedButton(u8'���������####questeditor', imgui.ImVec2(150, 25))
sendchatarray(configuration.main_settings.playcd, {
{'/do ���� �� �������� �
�������.'},
{'/me ������ ���� �
������ ���, {gender:������|�������} ������ ��� �� ��������'},
{'/me {gender:�������|
��������} ��� �������� ��������'},
{'����� ����������!
���������� �� ������ � ����������.'},
{'�� ���� ����������� ��
������ ����������� �� ��. �������.'},
{'/invite %s',
fastmenuID},
})
if imgui.IsMouseReleased(1)
then
waitingaccept =
fastmenuID
end
end
imgui.Hint('invitehint','��� ��
������ �������� � ����������\n��� �� ������ �� ��������� ������������')
if
imgui.Button(fa.ICON_FA_USER_MINUS..u8' ������� �� �����������',
imgui.ImVec2(275,30)) then
leadertype[0] = 1
imgui.StrCopy(uninvitebuf,
'')
imgui.StrCopy(blacklistbuf,
'')
uninvitebox[0] = false
end
if
imgui.Button(fa.ICON_FA_EXCHANGE_ALT..u8' �������� ���������',
imgui.ImVec2(275,30)) then
Ranks_select[0] = 0
leadertype[0] = 2
end
if
imgui.Button(fa.ICON_FA_USER_SLASH..u8' ������� � ����� ������',
imgui.ImVec2(275,30)) then
leadertype[0] = 3
imgui.StrCopy(blacklistbuff,
'')
end
if
imgui.Button(fa.ICON_FA_USER..u8' ������ �� ������ ������', imgui.ImVec2(275,30))
then
windows.imgui_fm[0] = false
sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:������|
�������} ������� �� �������'},
{'/me {gender:������|
�������} � ������ \'}''\������ ����,
{'/me {gender:���|�����}
�� ���������� � �����'},
{'/me {gender:�����|
������} ���������� �� ������� \'}''\������ ����,
{'/me
{gender:�����������|�����������} ��������'},
{'/do �������� ����
���������.'},
{'/unblacklist %s',
fastmenuID},
})
end
if
imgui.Button(fa.ICON_FA_FROWN..u8' ������ ������� ����������',
imgui.ImVec2(275,30)) then
imgui.StrCopy(fwarnbuff, '')
leadertype[0] = 4
end
if
imgui.Button(fa.ICON_FA_SMILE..u8' ���� ������� ����������', imgui.ImVec2(275,30))
then
windows.imgui_fm[0] = false
sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:������|
�������} ������� �� �������'},
{'/me {gender:������|
�������} � ������ \'���������� ������������\''},
{'/me {gender:����|
�����} � ������ \'��������\''},
{'/me ���� � �������
������� ����������, {gender:�����|������} �� ��� ������� ���� ���� �������'},
{'/do ������� ��� �����
�� ������� ���� ����������.'},
{'/unfwarn %s',
fastmenuID},
})
end
if
imgui.Button(fa.ICON_FA_VOLUME_MUTE..u8' ������ ��� ����������',
imgui.ImVec2(275,30)) then
imgui.StrCopy(fmutebuff, '')
fmuteint[0] = 0
leadertype[0] = 5
end
if
imgui.Button(fa.ICON_FA_VOLUME_UP..u8' ���� ��� ����������', imgui.ImVec2(275,30))
then
windows.imgui_fm[0] = false
sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:������|
�������} ������� �� �������'},
{'/me {gender:������|
�������} �������'},
{'/me {gender:������|
�������} � ������ \'���������� ������������ %s\'',
configuration.main_settings.replaceash and '���' or '���������'},
{'/me {gender:������|
�������} ������� ����������'},
{'/me {gender:������|
�������} ����� \'������� ���� ����������\''},
{'/me {gender:�����|
������} �� ������ \'��������� ��������\''},
{'/funmute %s',
fastmenuID},
})
end
imgui.EndGroup()
elseif leadertype[0] == 1 then
imgui.SetCursorPos(imgui.ImVec2(15,20))
imgui.TextColoredRGB('�������
���������:',1)
imgui.SetCursorPosX(52)
imgui.InputText(u8'##inputuninvitebuf',
uninvitebuf, sizeof(uninvitebuf))
if uninvitebox[0] then
imgui.TextColoredRGB('�������
��:',1)
imgui.SetCursorPosX(52)
sendchatarray(configuration.main_settings.playcd, {
{'/me
{gender:������|�������} ������� �� �������'},
{'/me
{gender:������|�������} � ������ \'����������\''},
{'/do
������ ������.'},
{'/me
{gender:���|������} �������� � ������ \'����������\''},
{'/me
{gender:������|�������} � ������ \'}''\������ ����,
{'/me
{gender:����|�������} ���������� � ������, ����� ���� {gender:����������|
�����������} ��������'},
{'/do
�������� ���� ���������.'},
windows.imgui_fm[0] = false
sendchatarray(configuration.main_settings.playcd, {
{'/me
{gender:������|�������} ������� �� �������'},
{'/me
{gender:������|�������} � ������ \'����������\''},
{'/do ������
������.'},
{'/me
{gender:���|������} �������� � ������ \'����������\''},
{'/me
{gender:�����������|�����������} ��������, ����� {gender:�������|��������} �������
� {gender:�������|��������} ��� ������� � ������'},
{'/uninvite
%s %s', fastmenuID, u8:decode(str(uninvitebuf))},
})
end
else
ASHelperMessage('�������
������� ���������!')
end
else
ASHelperMessage('�����
������� �������� � 9-�� �����.')
end
end
imgui.SetCursorPos(imgui.ImVec2(15,240))
if
imgui.InvisibleButton('##fmbackbutton',imgui.ImVec2(55,15)) then
leadertype[0] = 0
end
imgui.SetCursorPos(imgui.ImVec2(15,240))
imgui.PushFont(font[16])
imgui.TextColored(imgui.IsItemHovered()
and imgui.GetStyle().Colors[imgui.Col.Text] or
imgui.GetStyle().Colors[imgui.Col.TextDisabled], fa.ICON_FA_CHEVRON_LEFT..u8'
�����')
imgui.PopFont()
elseif leadertype[0] == 2 then
imgui.SetCursorPos(imgui.ImVec2(15,20))
imgui.SetCursorPosX(47.5)
imgui.PushItemWidth(200)
imgui.PushStyleVarVec2(imgui.StyleVar.WindowPadding,imgui.ImVec2(10,10))
imgui.Combo('##chooserank9',
Ranks_select, new['const char*'][9]({u8('[1] '..configuration.RankNames[1]),
u8('[2] '..configuration.RankNames[2]),u8('[3]
'..configuration.RankNames[3]),u8('[4] '..configuration.RankNames[4]),u8('[5]
'..configuration.RankNames[5]),u8('[6] '..configuration.RankNames[6]),u8('[7]
'..configuration.RankNames[7]),u8('[8] '..configuration.RankNames[8]),u8('[9]
'..configuration.RankNames[9])}), 9)
imgui.PopStyleVar()
imgui.PopItemWidth()
imgui.SetCursorPosX(7.5)
imgui.PushStyleColor(imgui.Col.Button,
imgui.ImVec4(0.15, 0.42, 0.0, 1.00))
sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:������|
�������} �������'},
{'/me {gender:������|
�������} � ������ \'���������� ������������\''},
{'/me {gender:������|
�������} � ������� ������� ����������'},
{'/me {gender:�������|
��������} ��������� � ��������� ����������, ����� ���� {gender:�����������|
�����������} ��������'},
{'/do ��������� �
���������� ���� ��������.'},
{'��������� �
����������. ����� ������� �� ������ ���� � ����������.'},
{'/giverank %s %s',
fastmenuID, Ranks_select[0]+1},
})
else
ASHelperMessage('�����
������� �������� � 9-�� �����.')
end
end
imgui.PopStyleColor(3)
imgui.SetCursorPosX(7.5)
if imgui.Button(u8'�������� ����������
'..fa.ICON_FA_ARROW_DOWN, imgui.ImVec2(285,30)) then
if
configuration.main_settings.myrankint >= 9 then
windows.imgui_fm[0] = false
sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:������|
�������} �������'},
{'/me {gender:������|
�������} � ������ \'���������� ������������\''},
{'/me {gender:������|
�������} � ������� ������� ����������'},
{'/me {gender:�������|
��������} ��������� � ��������� ����������, ����� ���� {gender:�����������|
�����������} ��������'},
{'/do ��������� �
���������� ���� ��������.'},
{'/giverank %s %s',
fastmenuID, Ranks_select[0]+1},
})
else
ASHelperMessage('�����
������� �������� � 9-�� �����.')
end
end
imgui.SetCursorPos(imgui.ImVec2(15,240))
if
imgui.InvisibleButton('##fmbackbutton',imgui.ImVec2(55,15)) then
leadertype[0] = 0
end
imgui.SetCursorPos(imgui.ImVec2(15,240))
imgui.PushFont(font[16])
imgui.TextColored(imgui.IsItemHovered()
and imgui.GetStyle().Colors[imgui.Col.Text] or
imgui.GetStyle().Colors[imgui.Col.TextDisabled], fa.ICON_FA_CHEVRON_LEFT..u8'
�����')
imgui.PopFont()
elseif leadertype[0] == 3 then
imgui.SetCursorPos(imgui.ImVec2(15,20))
imgui.TextColoredRGB('������� �������� �
��:',1)
imgui.SetCursorPosX(52)
imgui.InputText(u8'##inputblacklistbuff',
blacklistbuff, sizeof(blacklistbuff))
imgui.NewLine()
imgui.SetCursorPosX(7.5)
if imgui.Button(u8'������� � ��
'..sampGetPlayerNickname(fastmenuID)..'['..fastmenuID..']', imgui.ImVec2(285,30))
then
if
configuration.main_settings.myrankint >= 9 then
if #str(blacklistbuff) > 0
then
windows.imgui_fm[0] =
false
sendchatarray(configuration.main_settings.playcd, {
{'/me
{gender:������|�������} ������� �� �������'},
{'/me
{gender:������|�������} � ������ \'}''\������ ����,
{'/me {gender:���|
�����} �� ���������'},
{'/me {gender:���|
������} ��������� � ������ \'}''\������ ����,
{'/me
{gender:�����������|�����������} ��������'},
{'/do ��������
���� ���������.'},
{'/blacklist %s
%s', fastmenuID, u8:decode(str(blacklistbuff))},
})
else
ASHelperMessage('�������
������� �������� � ��!')
end
else
ASHelperMessage('�����
������� �������� � 9-�� �����.')
end
end
imgui.SetCursorPos(imgui.ImVec2(15,240))
if
imgui.InvisibleButton('##fmbackbutton',imgui.ImVec2(55,15)) then
leadertype[0] = 0
end
imgui.SetCursorPos(imgui.ImVec2(15,240))
imgui.PushFont(font[16])
imgui.TextColored(imgui.IsItemHovered()
and imgui.GetStyle().Colors[imgui.Col.Text] or
imgui.GetStyle().Colors[imgui.Col.TextDisabled], fa.ICON_FA_CHEVRON_LEFT..u8'
�����')
imgui.PopFont()
elseif leadertype[0] == 4 then
imgui.SetCursorPos(imgui.ImVec2(15,20))
imgui.TextColoredRGB('�������
��������:',1)
imgui.SetCursorPosX(50)
sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:������|
�������} ������� �� �������'},
{'/me {gender:������|
�������} � ������ \'���������� ������������\''},
{'/me {gender:����|
�����} � ������ \'��������\''},
{'/me ���� � �������
������� ����������, {gender:�������|��������} � ��� ������ ���� �������'},
{'/do ������� ���
�������� � ������ ���� ����������.'},
{'/fwarn %s %s',
fastmenuID, u8:decode(str(fwarnbuff))},
})
else
ASHelperMessage('�������
������� ������ ��������!')
end
end
imgui.SetCursorPos(imgui.ImVec2(15,240))
if
imgui.InvisibleButton('##fmbackbutton',imgui.ImVec2(55,15)) then
leadertype[0] = 0
end
imgui.SetCursorPos(imgui.ImVec2(15,240))
imgui.PushFont(font[16])
imgui.TextColored(imgui.IsItemHovered()
and imgui.GetStyle().Colors[imgui.Col.Text] or
imgui.GetStyle().Colors[imgui.Col.TextDisabled], fa.ICON_FA_CHEVRON_LEFT..u8'
�����')
imgui.PopFont()
elseif leadertype[0] == 5 then
imgui.SetCursorPos(imgui.ImVec2(15,20))
imgui.TextColoredRGB('������� ����:',1)
imgui.SetCursorPosX(52)
windows.imgui_fm[0] = false
sendchatarray(configuration.main_settings.playcd, {
{'/me
{gender:������|�������} ������� �� �������'},
{'/me
{gender:������|�������} �������'},
{'/me
{gender:������|�������} � ������ \'���������� ������������ %s\'',
configuration.main_settings.replaceash and '���' or '���������'},
{'/me
{gender:������|�������} ������� ����������'},
{'/me
{gender:������|�������} ����� \'�������� ���� ����������\''},
{'/me
{gender:�����|������} �� ������ \'��������� ��������\''},
{'/fmute %s
%s %s', fastmenuID, u8:decode(fmuteint[0]), u8:decode(str(fmutebuff))},
})
else
imgui.SetCursorPos(imgui.ImVec2(15,240))
if
imgui.InvisibleButton('##fmbackbutton',imgui.ImVec2(55,15)) then
leadertype[0] = 0
end
imgui.SetCursorPos(imgui.ImVec2(15,240))
imgui.PushFont(font[16])
imgui.TextColored(imgui.IsItemHovered()
and imgui.GetStyle().Colors[imgui.Col.Text] or
imgui.GetStyle().Colors[imgui.Col.TextDisabled], fa.ICON_FA_CHEVRON_LEFT..u8'
�����')
imgui.PopFont()
end
imgui.Spacing()
end
imgui.EndChild()
imgui.SetCursorPos(imgui.ImVec2(300, 25))
imgui.BeginChild('##fmplayerinfo', imgui.ImVec2(200, 75),
false)
imgui.SetCursorPosY(17)
imgui.TextColoredRGB('��:
{SSSSSS}'..sampGetPlayerNickname(fastmenuID)..'['..fastmenuID..']', 1)
imgui.Hint('lmb to copy name', '��� - �����������
���')
if imgui.IsMouseReleased(0) and imgui.IsItemHovered()
then
local name, result =
gsub(u8(sampGetPlayerNickname(fastmenuID)), '_', ' ')
imgui.SetClipboardText(name)
end
imgui.TextColoredRGB('��� � �����:
'..sampGetPlayerScore(fastmenuID), 1)
imgui.EndChild()
imgui.SetCursorPos(imgui.ImVec2(300, 100))
imgui.BeginChild('##fmchoosewindowtype', imgui.ImVec2(200,
-1), false)
imgui.SetCursorPos(imgui.ImVec2(20, 17.5))
imgui.BeginGroup()
for k, v in pairs(fmbuttons) do
if configuration.main_settings.myrankint
>= v.rank then
if newwindowtype[0] == k then
local p =
imgui.GetCursorScreenPos()
imgui.PushStyleColor(imgui.Col.Button, imgui.ImVec4(1,1,1,newwindowtype[0] ==
k and 0.1 or 0))
imgui.PushStyleColor(imgui.Col.ButtonActive, imgui.ImVec4(1,1,1,0.15))
imgui.PushStyleColor(imgui.Col.ButtonHovered, imgui.ImVec4(1,1,1,0.1))
if imgui.AnimButton(v.name,
imgui.ImVec2(162,35)) then
if newwindowtype[0] ~= k then
newwindowtype[0] = k
sobesetap[0] = 0
sobesdecline_select[0] =
0
lastq[0] = 0
sobes_results = {
pass = nil,
medcard = nil,
wbook = nil,
licenses = nil
}
end
end
imgui.PopStyleColor(3)
end
end
imgui.EndGroup()
imgui.EndChild()
imgui.PopStyleColor()
imgui.End()
imgui.PopStyleVar()
end
end
)
imgui.Image(ash_image,imgui.ImVec2(198,25),imgui.ImVec2(0.25,configuration.main_set
tings.style ~= 2 and 0.8 or 0.9),imgui.ImVec2(1,configuration.main_settings.style
~= 2 and 0.9 or 1))
imgui.SameLine(510)
imgui.PushStyleColor(imgui.Col.Button,
imgui.ImVec4(1,1,1,0))
imgui.PushStyleColor(imgui.Col.ButtonHovered,
imgui.ImVec4(1,1,1,0))
imgui.PushStyleColor(imgui.Col.ButtonActive,
imgui.ImVec4(1,1,1,0))
if
imgui.Button(fa.ICON_FA_QUESTION_CIRCLE..'##allcommands',imgui.ImVec2(23,23)) then
imgui.OpenPopup(u8'��� �������')
end
imgui.SameLine()
if imgui.Button(fa.ICON_FA_TIMES,imgui.ImVec2(23,23)) then
windows.imgui_settings[0] = false
end
imgui.PopStyleColor(3)
imgui.SetCursorPos(imgui.ImVec2(217, 23))
imgui.TextColored(imgui.GetStyle().Colors[imgui.Col.Border],'v.
'..thisScript().version)
imgui.Hint('lastupdate','���������� �� 05.03.2022')
imgui.PushStyleVarVec2(imgui.StyleVar.WindowPadding,
imgui.ImVec2(15,15))
if imgui.BeginPopupModal(u8'��� �������', _,
imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoScrollbar +
imgui.WindowFlags.AlwaysAutoResize + imgui.WindowFlags.NoTitleBar) then
imgui.PushFont(font[16])
imgui.TextColoredRGB('��� ��������� ������� � ������
�������', 1)
imgui.PopFont()
imgui.Spacing()
imgui.TextColoredRGB('������� �������:')
imgui.SetCursorPosX(20)
imgui.BeginGroup()
imgui.TextColoredRGB('/ash - ������� ���
�������')
imgui.TextColoredRGB('/ashbind - ������
�������')
imgui.TextColoredRGB('/ashlect - ��� ������
�������')
imgui.TextColoredRGB('/ashdep - ���
������������ �������')
if configuration.main_settings.fmtype == 1 then
imgui.TextColoredRGB('/'..configuration.main_settings.usefastmenucmd..' [id]
- ��� ������������� � ��������')
end
imgui.EndGroup()
imgui.Spacing()
imgui.TextColoredRGB('������� ������� � ��
�����������:')
imgui.SetCursorPosX(20)
imgui.BeginGroup()
imgui.TextColoredRGB('/invite [id] | /uninvite
[id] [�������] - �������/���������� �������� �� ������ (9+)')
imgui.TextColoredRGB('/blacklist [id] [�������]
| /unblacklist [id] - ���������/�������� �������� � �� ������� (9+)')
imgui.TextColoredRGB('/fwarn [id] [�������]
| /unfwarn [id] - ������/�������� �������� �������� �� ������� (9+)')
imgui.TextColoredRGB('/fmute [id] [����]
[�������] | /funmute [id] - ������/�������� ���� �������� �� ������� (9+)')
imgui.TextColoredRGB('/giverank [id] [����] -
��������� ����� �������� � ������� (9+)')
imgui.TextColoredRGB('/expel [id] [�������] -
������� �������� �� ��������� (2+)')
imgui.EndGroup()
imgui.Spacing()
imgui.TextColoredRGB('������ �������:')
imgui.SetCursorPosX(20)
imgui.BeginGroup()
if configuration.main_settings.fmtype == 0 then
imgui.TextColoredRGB('��� +
'..configuration.main_settings.usefastmenu..' - ��� ������������� � ��������')
end
if configuration.main_settings.dofastexpel then
imgui.TextColoredRGB('��� +
'..configuration.main_settings.fastexpel..' - ������� /expel')
end
imgui.TextColoredRGB(configuration.main_settings.fastscreen..' - �������
��������')
imgui.TextColoredRGB('Alt + O - �������������,
��� ������ ��� ���������� ���. �����')
imgui.TextColoredRGB('Alt + U - ����������
���������')
imgui.EndGroup()
imgui.Spacing()
if imgui.Button(u8'�������##�������', imgui.ImVec2(-
1, 30)) then imgui.CloseCurrentPopup() end
imgui.EndPopup()
end
imgui.PopStyleVar()
imgui.EndGroup()
imgui.PushStyleVarFloat(imgui.StyleVar.ChildRounding, 6)
imgui.BeginChild('##MainSettingsWindowChild',imgui.ImVec2(-1,-
1),false, imgui.WindowFlags.NoScrollbar + imgui.WindowFlags.NoScrollWithMouse)
if mainwindow[0] == 0 then
imgui.PushStyleVarFloat(imgui.StyleVar.Alpha,
ImSaturate(1 / (alphaAnimTime / (clock() - alpha[0]))))
imgui.SetCursorPos(imgui.ImVec2(25,50))
imgui.BeginGroup()
for k,v in pairs(buttons) do
imgui.BeginGroup()
local p =
imgui.GetCursorScreenPos()
if imgui.InvisibleButton(v.name,
imgui.ImVec2(150,130)) then
mainwindow[0] = k
alpha[0] = clock()
end
if v.timer == 0 then
v.timer = imgui.GetTime()
end
if imgui.IsItemHovered() then
v.y_hovered =
ceil(v.y_hovered) > 0 and 10 - ((imgui.GetTime() - v.timer) * 100) or 0
v.timer = ceil(v.y_hovered) >
0 and v.timer or 0
imgui.SetMouseCursor(imgui.MouseCursor.Hand)
else
v.y_hovered =
ceil(v.y_hovered) < 10 and (imgui.GetTime() - v.timer) * 100 or 10
v.timer = ceil(v.y_hovered) <
10 and v.timer or 0
end
imgui.SetCursorPosY(imgui.GetCursorPosY() + 10 + v.y_hovered)
imgui.PushFont(font[25])
imgui.Text(v.icon)
imgui.PopFont()
imgui.SameLine(10)
imgui.SetCursorPosY(imgui.GetCursorPosY() + 30 + v.y_hovered)
imgui.BeginGroup()
imgui.PushFont(font[16])
imgui.Text(u8(v.name))
imgui.PopFont()
imgui.Text(u8(v.text))
imgui.EndGroup()
imgui.EndGroup()
if k ~= #buttons then
imgui.SameLine(k*200)
end
end
imgui.EndGroup()
imgui.PopStyleVar()
elseif mainwindow[0] == 1 then
imgui.SetCursorPos(imgui.ImVec2(15,20))
if
imgui.InvisibleButton('##settingsbackbutton',imgui.ImVec2(10,15)) then
mainwindow[0] = 0
alpha[0] = clock()
end
imgui.SetCursorPos(imgui.ImVec2(15,20))
imgui.PushFont(font[16])
imgui.TextColored(imgui.IsItemHovered() and
imgui.GetStyle().Colors[imgui.Col.Text] or
imgui.GetStyle().Colors[imgui.Col.TextDisabled], fa.ICON_FA_CHEVRON_LEFT)
imgui.PopFont()
imgui.SameLine()
local p = imgui.GetCursorScreenPos()
imgui.GetWindowDrawList():AddLine(imgui.ImVec2(p.x +
5, p.y - 10),imgui.ImVec2(p.x + 5, p.y + 26),
imgui.ColorConvertFloat4ToU32(imgui.GetStyle().Colors[imgui.Col.TextDisabled]),
1.5)
imgui.SetCursorPos(imgui.ImVec2(60,15))
imgui.PushFont(font[25])
imgui.Text(u8'���������')
imgui.PopFont()
imgui.SetCursorPos(imgui.ImVec2(15,65))
imgui.BeginGroup()
imgui.PushStyleVarVec2(imgui.StyleVar.ButtonTextAlign,
imgui.ImVec2(0.05,0.5))
for k, i in pairs(settingsbuttons) do
local clr =
imgui.GetStyle().Colors[imgui.Col.Text].x
if settingswindow[0] == k then
local p =
imgui.GetCursorScreenPos()
imgui.GetWindowDrawList():AddRectFilled(imgui.ImVec2(p.x, p.y +
10),imgui.ImVec2(p.x + 3, p.y + 25),
imgui.ColorConvertFloat4ToU32(imgui.GetStyle().Colors[imgui.Col.Border]), 5,
imgui.DrawCornerFlags.Right)
end
imgui.PushStyleColor(imgui.Col.Button,
imgui.ImVec4(clr,clr,clr,settingswindow[0] == k and 0.1 or 0))
imgui.PushStyleColor(imgui.Col.ButtonActive, imgui.ImVec4(clr,clr,clr,0.15))
imgui.PushStyleColor(imgui.Col.ButtonHovered, imgui.ImVec4(clr,clr,clr,0.1))
if imgui.AnimButton(i,
imgui.ImVec2(162,35)) then
if settingswindow[0] ~= k then
settingswindow[0] = k
alpha[0] = clock()
end
end
imgui.PopStyleColor(3)
end
imgui.PopStyleVar()
imgui.EndGroup()
imgui.SetCursorPos(imgui.ImVec2(187, 0))
imgui.PushStyleVarFloat(imgui.StyleVar.Alpha,
ImSaturate(1 / (alphaAnimTime / (clock() - alpha[0]))))
imgui.BeginChild('##usersettingsmainwindow',_,false)
if settingswindow[0] == 1 then
imgui.SetCursorPos(imgui.ImVec2(15,15))
imgui.BeginGroup()
imgui.PushFont(font[16])
imgui.Text(u8'������� ���������')
imgui.PopFont()
imgui.SetCursorPosX(25)
imgui.BeginGroup()
imgui.BeginGroup()
imgui.SetCursorPosY(imgui.GetCursorPosY() + 3)
imgui.Text(u8'���� ��')
imgui.SetCursorPosY(imgui.GetCursorPosY() + 10)
imgui.Text(u8'������')
imgui.SetCursorPosY(imgui.GetCursorPosY() + 10)
imgui.Text(u8'��� ���')
imgui.SetCursorPosY(imgui.GetCursorPosY() + 10)
imgui.Text(u8'��� ����')
imgui.EndGroup()
imgui.SameLine(90)
imgui.PushItemWidth(120)
imgui.BeginGroup()
if
imgui.InputTextWithHint(u8'##mynickinroleplay',
u8((gsub(sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(playerPed))),
'_', ' '))), usersettings.myname, sizeof(usersettings.myname)) then
configuration.main_settings.myname = str(usersettings.myname)
inicfg.save(configuration,'AS Helper')
end
imgui.SameLine()
imgui.Text(fa.ICON_FA_QUESTION_CIRCLE)
if
imgui.InputText(u8'##myaccentintroleplay', usersettings.myaccent,
sizeof(usersettings.myaccent)) then
configuration.main_settings.myaccent = str(usersettings.myaccent)
inicfg.save(configuration,'AS Helper')
end
imgui.PushStyleVarVec2(imgui.StyleVar.WindowPadding,imgui.ImVec2(10,10))
if
imgui.Combo(u8'##choosegendercombo',usersettings.gender, new['const char*'][2]
({u8'�������',u8'�������'}), 2) then
configuration.main_settings.gender = usersettings.gender[0]
inicfg.save(configuration,'AS Helper')
end
imgui.PopStyleVar()
if
imgui.Button(u8(configuration.RankNames[configuration.main_settings.myrankint]..'
('..u8(configuration.main_settings.myrankint)..')'), imgui.ImVec2(120, 23)) then
getmyrank = true
sampSendChat('/stats')
end
imgui.EndGroup()
imgui.NewLine()
imgui.PushFont(font[16])
imgui.Text(u8'��� ��������
�������')
imgui.PopFont()
imgui.SetCursorPosX(25)
imgui.BeginGroup()
imgui.SetCursorPosY(imgui.GetCursorPosY() + 3)
imgui.Text(u8'��� ���������')
imgui.SameLine(100)
imgui.SetCursorPosY(imgui.GetCursorPosY() - 3)
imgui.PushItemWidth(120)
imgui.PushStyleVarVec2(imgui.StyleVar.WindowPadding,imgui.ImVec2(10,10))
if
imgui.Combo(u8'##choosefmtypecombo',usersettings.fmtype, new['const char*'][2]
({u8'�������',u8'�������'}), 2) then
configuration.main_settings.fmtype = usersettings.fmtype[0]
inicfg.save(configuration,'AS Helper')
end
imgui.PopStyleVar()
imgui.PopItemWidth()
imgui.SetCursorPosY(imgui.GetCursorPosY() + 4)
imgui.Text(u8'��������')
imgui.SameLine(100)
if
configuration.main_settings.fmtype == 0 then
imgui.Text(u8' ��� +')
imgui.SameLine(nil, 5)
imgui.SetCursorPosY(imgui.GetCursorPosY() - 4)
imgui.HotKey('���
�������� �������', configuration.main_settings, 'usefastmenu', 'E',
find(configuration.main_settings.usefastmenu, '+') and 150 or 75)
if
imgui.ToggleButton(u8'��������� ������ ��� ���������',usersettings.createmarker)
then
if marker ~= nil
then
removeBlip(marker)
end
marker = nil
oldtargettingped =
0
configuration.main_settings.createmarker = usersettings.createmarker[0]
inicfg.save(configuration,'AS Helper')
end
elseif
configuration.main_settings.fmtype == 1 then
imgui.Text(u8'/')
imgui.SameLine(110)
imgui.SetCursorPosY(imgui.GetCursorPosY() - 4)
imgui.PushItemWidth(110)
if
imgui.InputText(u8'[id]##usefastmenucmdbuff',usersettings.usefastmenucmd,sizeof(use
rsettings.usefastmenucmd)) then
configuration.main_settings.usefastmenucmd = str(usersettings.usefastmenucmd)
inicfg.save(configuration,'AS Helper')
end
imgui.PopItemWidth()
end
imgui.EndGroup()
imgui.NewLine()
imgui.PushFont(font[16])
imgui.Text(u8'����������')
imgui.PopFont()
imgui.SetCursorPosX(25)
imgui.BeginGroup()
if
imgui.ToggleButton(u8'���������� ���� ����������', usersettings.statsvisible) then
configuration.main_settings.statsvisible = usersettings.statsvisible[0]
inicfg.save(configuration,'AS Helper')
end
if
imgui.Button(fa.ICON_FA_ARROWS_ALT..'##statsscreenpos') then
if
configuration.main_settings.statsvisible then
changePosition(configuration.imgui_pos)
else
addNotify('�������
�����������\n����������.', 5)
end
end
imgui.SameLine()
imgui.Text(u8'��������������')
imgui.EndGroup()
imgui.NewLine()
imgui.PushFont(font[16])
imgui.Text(u8'���������')
imgui.PopFont()
imgui.SetCursorPosX(25)
imgui.BeginGroup()
if
imgui.ToggleButton(u8'������� ��������� ��������', usersettings.replacechat) then
configuration.main_settings.replacechat = usersettings.replacechat[0]
inicfg.save(configuration,'AS Helper')
end
if
imgui.ToggleButton(u8'��������� ����� �������������', usersettings.autodoor) then
configuration.main_settings.autodoor = usersettings.autodoor[0]
inicfg.save(configuration,'AS Helper')
end
if
imgui.ToggleButton(u8'���������� ���� ����� ���������� � �����',
usersettings.chatrank) then
configuration.main_settings.chatrank = usersettings.chatrank[0]
inicfg.save(configuration,'AS Helper')
end
if
imgui.ToggleButton(u8'���������� ���� �� ����� ����������', usersettings.bodyrank)
then
configuration.main_settings.bodyrank = usersettings.bodyrank[0]
inicfg.save(configuration,'AS Helper')
end
if
imgui.ToggleButton(u8'������� ����� ��', usersettings.dofastscreen) then
configuration.main_settings.dofastscreen = usersettings.dofastscreen[0]
inicfg.save(configuration,'AS Helper')
end
imgui.SameLine()
imgui.SetCursorPosY(imgui.GetCursorPosY() - 4)
imgui.HotKey('��������
������', configuration.main_settings, 'fastscreen', 'F4',
find(configuration.main_settings.fastscreen, '+') and 150 or 75)
if
imgui.ToggleButton(u8'������� expel ��', usersettings.dofastexpel) then
configuration.main_settings.dofastexpel = usersettings.dofastexpel[0]
inicfg.save(configuration,'AS Helper')
end
imgui.SameLine(nil, 20)
imgui.Text(u8'��� +')
imgui.SameLine(nil, 5)
imgui.SetCursorPosY(imgui.GetCursorPosY() - 4)
imgui.HotKey('�������
/expel', configuration.main_settings, 'fastexpel', 'G',
find(configuration.main_settings.fastexpel, '+') and 150 or 75)
imgui.PushItemWidth(85)
if
imgui.InputText(u8'##expelreasonbuff',usersettings.expelreason,sizeof(usersettings.
expelreason)) then
configuration.main_settings.expelreason =
u8:decode(str(usersettings.expelreason))
inicfg.save(configuration,'AS Helper')
end
imgui.PopItemWidth()
imgui.SameLine()
imgui.Text(u8'�������
/expel')
imgui.EndGroup()
imgui.Spacing()
imgui.EndGroup()
elseif settingswindow[0] == 2 then
imgui.SetCursorPos(imgui.ImVec2(15,15))
imgui.BeginGroup()
imgui.PushFont(font[16])
imgui.Text(u8'����� ����')
imgui.PopFont()
imgui.SetCursorPosX(25)
imgui.BeginGroup()
if
imgui.CircleButton('##choosestyle0', configuration.main_settings.style == 0,
imgui.ImVec4(1.00, 0.42, 0.00, 0.90)) then
configuration.main_settings.style = 0
configuration.main_settings.style = 1
configuration.main_settings.style = 2
configuration.main_settings.style = 3
configuration.main_settings.style = 4
configuration.main_settings.style = 5
imgui.Image(rainbowcircle,imgui.ImVec2(17,17))
imgui.SetCursorPos(pos)
if
imgui.CircleButton('##choosestyle6', configuration.main_settings.style == 6,
imgui.GetStyle().Colors[imgui.Col.Button], nil, true) then
configuration.main_settings.style = 6
imgui.Hint('MoonMonetHint','MoonMonet')
imgui.EndGroup()
imgui.SetCursorPosY(imgui.GetCursorPosY() - 25)
imgui.NewLine()
if
configuration.main_settings.style == 6 then
imgui.PushFont(font[16])
imgui.Text(u8'���� �������
Monet')
imgui.PopFont()
imgui.SetCursorPosX(25)
imgui.BeginGroup()
imgui.PushItemWidth(200)
if
imgui.ColorPicker3('##moonmonetcolorselect', usersettings.moonmonetcolorselect,
imgui.ColorEditFlags.NoInputs + imgui.ColorEditFlags.PickerHueWheel +
imgui.ColorEditFlags.NoSidePreview) then
local r,g,b =
usersettings.moonmonetcolorselect[0] * 255,usersettings.moonmonetcolorselect[1] *
255,usersettings.moonmonetcolorselect[2] * 255
local argb =
join_argb(255,r,g,b)
configuration.main_settings.monetstyle = argb
configuration.main_settings.monetstyle_chroma = monetstylechromaselect[0]
checkstyle()
end
imgui.PopItemWidth()
imgui.EndGroup()
imgui.NewLine()
end
imgui.PushFont(font[16])
imgui.Text(u8'��� ��������
�������')
imgui.PopFont()
imgui.SetCursorPosX(25)
imgui.BeginGroup()
if
imgui.RadioButtonIntPtr(u8('������ �����'), usersettings.fmstyle, 0) then
configuration.main_settings.fmstyle = usersettings.fmstyle[0]
inicfg.save(configuration,'AS Helper')
end
if imgui.IsItemHovered() then
imgui.SetMouseCursor(imgui.MouseCursor.Hand)
imgui.SetNextWindowSize(imgui.ImVec2(90, 150))
imgui.Begin('##oldstyleshow', _, imgui.WindowFlags.Tooltip +
imgui.WindowFlags.NoResize + imgui.WindowFlags.NoScrollbar +
imgui.WindowFlags.NoTitleBar)
local p =
imgui.GetCursorScreenPos()
for i = 0,6 do
configuration.main_settings.fmstyle = usersettings.fmstyle[0]
inicfg.save(configuration,'AS Helper')
end
if imgui.IsItemHovered() then
imgui.SetMouseCursor(imgui.MouseCursor.Hand)
imgui.SetNextWindowSize(imgui.ImVec2(200, 110))
imgui.Begin('##newstyleshow', _, imgui.WindowFlags.Tooltip +
imgui.WindowFlags.NoResize + imgui.WindowFlags.NoScrollbar +
imgui.WindowFlags.NoTitleBar)
local p =
imgui.GetCursorScreenPos()
for i = 0,3 do
configuration.main_settings.RChatColor =
imgui.ColorConvertFloat4ToU32(imgui.ImVec4(chatcolors.RChatColor[0],
chatcolors.RChatColor[1], chatcolors.RChatColor[2], chatcolors.RChatColor[3]))
configuration.main_settings.RChatColor = 4282626093
if
inicfg.save(configuration, 'AS Helper.ini') then
chatcolors.RChatColor =
vec4ToFloat4(imgui.ColorConvertU32ToFloat4(configuration.main_settings.RChatColor))
end
end
imgui.SameLine(265)
if
imgui.Button(u8'����##RTest',imgui.ImVec2(37,25)) then
local result, myid =
sampGetPlayerIdByCharHandle(playerPed)
local color4 =
imgui.ColorConvertU32ToFloat4(configuration.main_settings.RChatColor)
local r, g, b, a =
color4.x * 255, color4.y * 255, color4.z * 255, color4.w * 255
sampAddChatMessage('[R]
'..configuration.RankNames[configuration.main_settings.myrankint]..'
'..sampGetPlayerNickname(tonumber(myid))..'['..myid..']: (( ��� ��������� ������
������ ��! ))', join_argb(a, r, g, b))
end
if
imgui.ColorEdit4(u8'##DSet', chatcolors.DChatColor, imgui.ColorEditFlags.NoInputs +
imgui.ColorEditFlags.NoAlpha) then
configuration.main_settings.DChatColor =
imgui.ColorConvertFloat4ToU32(imgui.ImVec4(chatcolors.DChatColor[0],
chatcolors.DChatColor[1], chatcolors.DChatColor[2], chatcolors.DChatColor[3]))
configuration.main_settings.DChatColor = 4294940723
if
inicfg.save(configuration, 'AS Helper.ini') then
chatcolors.DChatColor =
vec4ToFloat4(imgui.ColorConvertU32ToFloat4(configuration.main_settings.DChatColor))
end
end
imgui.SameLine(265)
if
imgui.Button(u8'����##DTest',imgui.ImVec2(37,25)) then
local result, myid =
sampGetPlayerIdByCharHandle(playerPed)
local color4 =
imgui.ColorConvertU32ToFloat4(configuration.main_settings.DChatColor)
local r, g, b, a =
color4.x * 255, color4.y * 255, color4.z * 255, color4.w * 255
sampAddChatMessage('[D]
'..configuration.RankNames[configuration.main_settings.myrankint]..'
'..sampGetPlayerNickname(tonumber(myid))..'['..myid..']: ��� ��������� ������
������ ��!', join_argb(a, r, g, b))
end
if
imgui.ColorEdit4(u8'##SSet', chatcolors.ASChatColor, imgui.ColorEditFlags.NoInputs
+ imgui.ColorEditFlags.NoAlpha) then
configuration.main_settings.ASChatColor =
imgui.ColorConvertFloat4ToU32(imgui.ImVec4(chatcolors.ASChatColor[0],
chatcolors.ASChatColor[1], chatcolors.ASChatColor[2], chatcolors.ASChatColor[3]))
inicfg.save(configuration, 'AS Helper.ini')
end
imgui.SameLine()
imgui.Text(u8'���� AS Helper
� ����')
imgui.SameLine(190)
if
imgui.Button(u8'��������##SCol',imgui.ImVec2(65,25)) then
configuration.main_settings.ASChatColor = 4281558783
if
inicfg.save(configuration, 'AS Helper.ini') then
chatcolors.ASChatColor =
vec4ToFloat4(imgui.ColorConvertU32ToFloat4(configuration.main_settings.ASChatColor)
)
end
end
imgui.SameLine(265)
if
imgui.Button(u8'����##ASTest',imgui.ImVec2(37,25)) then
ASHelperMessage('���
��������� ������ ������ ��!')
end
imgui.EndGroup()
imgui.Spacing()
imgui.EndGroup()
elseif settingswindow[0] == 3 then
imgui.SetCursorPosY(40)
imgui.TextColoredRGB('���� {808080}
(?)',1)
imgui.Hint('pricelisthint','��� �����
����� ������������� ��� ����������� ����� �����')
imgui.PushItemWidth(62)
imgui.SetCursorPosX(91)
imgui.BeginGroup()
if imgui.InputText(u8'����',
pricelist.avtoprice, sizeof(pricelist.avtoprice),
imgui.InputTextFlags.CharsDecimal) then
configuration.main_settings.avtoprice = str(pricelist.avtoprice)
inicfg.save(configuration,'AS
Helper')
end
if imgui.InputText(u8'�������',
pricelist.ribaprice, sizeof(pricelist.ribaprice),
imgui.InputTextFlags.CharsDecimal) then
configuration.main_settings.ribaprice = str(pricelist.ribaprice)
inicfg.save(configuration,'AS
Helper')
end
if imgui.InputText(u8'������',
pricelist.gunaprice, sizeof(pricelist.gunaprice),
imgui.InputTextFlags.CharsDecimal) then
configuration.main_settings.gunaprice = str(pricelist.gunaprice)
inicfg.save(configuration,'AS
Helper')
end
if imgui.InputText(u8'��������',
pricelist.kladprice, sizeof(pricelist.kladprice),
imgui.InputTextFlags.CharsDecimal) then
configuration.main_settings.kladprice = str(pricelist.kladprice)
inicfg.save(configuration,'AS
Helper')
end
if imgui.InputText(u8'�������',
pricelist.mechprice, sizeof(pricelist.mechprice),
imgui.InputTextFlags.CharsDecimal) then
configuration.main_settings.mechprice = str(pricelist.mechprice)
inicfg.save(configuration,'AS
Helper')
end
imgui.EndGroup()
imgui.SameLine(220)
imgui.BeginGroup()
if imgui.InputText(u8'����',
pricelist.motoprice, sizeof(pricelist.motoprice),
imgui.InputTextFlags.CharsDecimal) then
configuration.main_settings.motoprice = str(pricelist.motoprice)
inicfg.save(configuration,'AS
Helper')
end
if imgui.InputText(u8'��������',
pricelist.lodkaprice, sizeof(pricelist.lodkaprice),
imgui.InputTextFlags.CharsDecimal) then
configuration.main_settings.lodkaprice = str(pricelist.lodkaprice)
inicfg.save(configuration,'AS
Helper')
end
if imgui.InputText(u8'�����',
pricelist.huntprice, sizeof(pricelist.huntprice),
imgui.InputTextFlags.CharsDecimal) then
configuration.main_settings.huntprice = str(pricelist.huntprice)
inicfg.save(configuration,'AS
Helper')
end
if imgui.InputText(u8'�����',
pricelist.taxiprice, sizeof(pricelist.taxiprice),
imgui.InputTextFlags.CharsDecimal) then
configuration.main_settings.taxiprice = str(pricelist.taxiprice)
inicfg.save(configuration,'AS
Helper')
end
imgui.EndGroup()
imgui.PopItemWidth()
end
imgui.EndChild()
imgui.PopStyleVar()
elseif mainwindow[0] == 2 then
imgui.SetCursorPos(imgui.ImVec2(15,20))
if
imgui.InvisibleButton('##settingsbackbutton',imgui.ImVec2(10,15)) then
mainwindow[0] = 0
alpha[0] = clock()
end
imgui.SetCursorPos(imgui.ImVec2(15,20))
imgui.PushFont(font[16])
imgui.TextColored(imgui.IsItemHovered() and
imgui.GetStyle().Colors[imgui.Col.Text] or
imgui.GetStyle().Colors[imgui.Col.TextDisabled], fa.ICON_FA_CHEVRON_LEFT)
imgui.PopFont()
imgui.SameLine()
local p = imgui.GetCursorScreenPos()
imgui.GetWindowDrawList():AddLine(imgui.ImVec2(p.x +
5, p.y - 10),imgui.ImVec2(p.x + 5, p.y + 26),
imgui.ColorConvertFloat4ToU32(imgui.GetStyle().Colors[imgui.Col.TextDisabled]),
1.5)
imgui.SetCursorPos(imgui.ImVec2(60,15))
imgui.PushFont(font[25])
imgui.Text(u8'�������������')
imgui.PopFont()
imgui.SetCursorPos(imgui.ImVec2(15,65))
imgui.BeginGroup()
imgui.PushStyleVarVec2(imgui.StyleVar.ButtonTextAlign,
imgui.ImVec2(0.05,0.5))
for k, i in pairs(additionalbuttons) do
local clr =
imgui.GetStyle().Colors[imgui.Col.Text].x
if additionalwindow[0] == k then
local p =
imgui.GetCursorScreenPos()
imgui.GetWindowDrawList():AddRectFilled(imgui.ImVec2(p.x, p.y +
10),imgui.ImVec2(p.x + 3, p.y + 25),
imgui.ColorConvertFloat4ToU32(imgui.GetStyle().Colors[imgui.Col.Border]), 5,
imgui.DrawCornerFlags.Right)
end
imgui.PushStyleColor(imgui.Col.Button,
imgui.ImVec4(clr,clr,clr,additionalwindow[0] == k and 0.1 or 0))
imgui.PushStyleColor(imgui.Col.ButtonActive, imgui.ImVec4(clr,clr,clr,0.15))
imgui.PushStyleColor(imgui.Col.ButtonHovered, imgui.ImVec4(clr,clr,clr,0.1))
if imgui.AnimButton(i,
imgui.ImVec2(186,35)) then
if additionalwindow[0] ~= k then
additionalwindow[0] = k
alpha[0] = clock()
end
end
imgui.PopStyleColor(3)
end
imgui.PopStyleVar()
imgui.EndGroup()
imgui.SetCursorPos(imgui.ImVec2(235, 0))
imgui.PushStyleVarFloat(imgui.StyleVar.Alpha,
ImSaturate(1 / (alphaAnimTime / (clock() - alpha[0]))))
if additionalwindow[0] == 1 then
imgui.BeginChild('##rulesswindow',_,false,
imgui.WindowFlags.NoScrollbar)
imgui.SetCursorPosY(20)
if ruless['server'] then
imgui.TextColoredRGB('�������
������� '..ruless['server']..' + ���� {808080}(?)',1)
else
imgui.TextColoredRGB('���� �������
{808080}(?)',1)
end
imgui.Hint('txtfileforrules','�� ������
������� .txt ���� � ���������� ANSI\n��� �� ������� ����� � ���������')
if imgui.IsMouseReleased(0) and
imgui.IsItemHovered() then
createDirectory(getWorkingDirectory()..'\\AS Helper\\Rules')
os.execute('explorer
'..getWorkingDirectory()..'\\AS Helper\\Rules')
end
imgui.SetCursorPos(imgui.ImVec2(15, 20))
imgui.Text(fa.ICON_FA_REDO_ALT)
if imgui.IsMouseReleased(0) and
imgui.IsItemHovered() then
checkRules()
end
imgui.Hint('updateallrules','������� ��
��������� ���� ������')
for i = 1, #ruless do
imgui.SetCursorPosX(15)
if
imgui.Button(u8(ruless[i].name..'##'..i), imgui.ImVec2(330,35)) then
imgui.StrCopy(search_rule,
'')
RuleSelect = i
imgui.OpenPopup(u8('�������'))
end
end
imgui.Spacing()
imgui.PushStyleVarVec2(imgui.StyleVar.WindowPadding, imgui.ImVec2(15,15))
if imgui.BeginPopupModal(u8('�������'),
nil, imgui.WindowFlags.NoCollapse + imgui.WindowFlags.AlwaysAutoResize +
imgui.WindowFlags.NoTitleBar) then
imgui.TextColoredRGB(ruless[RuleSelect].name,1)
imgui.SetCursorPosX(416)
imgui.PushItemWidth(200)
configuration.main_settings.rule_align = rule_align[0]
inicfg.save(configuration,'AS
Helper.ini')
end
imgui.SameLine()
if imgui.BoolButton(rule_align[0]
== 2,fa.ICON_FA_ALIGN_CENTER, imgui.ImVec2(40, 20)) then
rule_align[0] = 2
configuration.main_settings.rule_align = rule_align[0]
inicfg.save(configuration,'AS
Helper.ini')
end
imgui.SameLine()
if imgui.BoolButton(rule_align[0]
== 3,fa.ICON_FA_ALIGN_RIGHT, imgui.ImVec2(40, 20)) then
rule_align[0] = 3
configuration.main_settings.rule_align = rule_align[0]
inicfg.save(configuration,'AS
Helper.ini')
end
imgui.BeginChild('##�������',
imgui.ImVec2(1000, 500), true)
for _ = 1, #ruless[RuleSelect].text
do
if sizeof(search_rule) < 1
then
imgui.TextColoredRGB(ruless[RuleSelect].text[_],rule_align[0]-1)
if imgui.IsItemHovered()
and imgui.IsMouseDoubleClicked(0) then
sampSetChatInputEnabled(true)
sampSetChatInputText(gsub(ruless[RuleSelect].text[_], '%{.+%}',''))
end
else
if
find(string.rlower(ruless[RuleSelect].text[_]),
string.rlower(gsub(u8:decode(str(search_rule)), '(%p)','(%%p)'))) then
imgui.TextColoredRGB(ruless[RuleSelect].text[_],rule_align[0]-1)
if
imgui.IsItemHovered() and imgui.IsMouseDoubleClicked(0) then
sampSetChatInputEnabled(true)
sampSetChatInputText(gsub(ruless[RuleSelect].text[_], '%{.+%}',''))
end
end
end
end
imgui.EndChild()
imgui.SetCursorPosX(416)
if
imgui.Button(u8'�������',imgui.ImVec2(200,25)) then imgui.CloseCurrentPopup() end
imgui.EndPopup()
end
imgui.PopStyleVar()
imgui.EndChild()
elseif additionalwindow[0] == 2 then
imgui.BeginChild('##zametkimainwindow',_,false,
imgui.WindowFlags.NoScrollbar)
imgui.BeginChild('##zametkizametkichild',
imgui.ImVec2(-1, 210), false)
if zametkaredact_number == nil then
imgui.PushStyleVarVec2(imgui.StyleVar.ItemSpacing, imgui.ImVec2(12,6))
imgui.SetCursorPosY(10)
imgui.Columns(4)
imgui.Text('#')
imgui.SetColumnWidth(-1, 30)
imgui.NextColumn()
imgui.Text(u8'��������')
imgui.SetColumnWidth(-1, 150)
imgui.NextColumn()
imgui.Text(u8'�������')
imgui.SetColumnWidth(-1, 75)
imgui.NextColumn()
imgui.Text(u8'������')
imgui.Columns(1)
imgui.Separator()
for i = 1, #zametki do
if
imgui.Selectable(u8('##'..i), now_zametka[0] == i) then
now_zametka[0] = i
end
if
imgui.IsMouseDoubleClicked(0) and imgui.IsItemHovered() then
windows.imgui_zametka[0] = true
zametka_window[0]
= now_zametka[0]
end
end
imgui.SetCursorPosY(35)
imgui.Columns(4)
for i = 1, #zametki do
local name, cmd, button
= zametki[i].name, zametki[i].cmd, zametki[i].button
imgui.Text(u8(i))
imgui.SetColumnWidth(-1,
30)
imgui.NextColumn()
imgui.Text(u8(name))
imgui.SetColumnWidth(-1,
150)
imgui.NextColumn()
imgui.Text(u8(#cmd > 0
and '/'..cmd or ''))
imgui.SetColumnWidth(-1,
75)
imgui.NextColumn()
imgui.Text(u8(button))
imgui.NextColumn()
end
imgui.Columns(1)
imgui.Separator()
imgui.PopStyleVar()
imgui.Spacing()
else
imgui.SetCursorPos(imgui.ImVec2(60, 20))
imgui.BeginGroup()
imgui.PushFont(font[16])
imgui.InputText('##zametkaeditorname', zametkisettings.zametkaname,
sizeof(zametkisettings.zametkaname))
imgui.Text(u8'�������
���������:')
imgui.SameLine(125)
imgui.InputText('##zametkaeditorcmd', zametkisettings.zametkacmd,
sizeof(zametkisettings.zametkacmd))
imgui.PopItemWidth()
imgui.Text(u8'����
���������:')
imgui.SameLine(125)
imgui.SetCursorPos(imgui.ImVec2(60,190))
if
imgui.InvisibleButton('##zametkigoback',imgui.ImVec2(65,15)) then
zametkaredact_number =
nil
imgui.StrCopy(zametkisettings.zametkacmd, '')
imgui.StrCopy(zametkisettings.zametkaname, '')
imgui.StrCopy(zametkisettings.zametkatext, '')
zametkisettings.zametkabtn = ''
end
imgui.SetCursorPos(imgui.ImVec2(60,190))
imgui.PushFont(font[16])
imgui.TextColored(imgui.IsItemHovered() and
imgui.GetStyle().Colors[imgui.Col.Text] or
imgui.GetStyle().Colors[imgui.Col.TextDisabled], fa.ICON_FA_CHEVRON_LEFT..u8'
������')
imgui.PopFont()
imgui.SetCursorPos(imgui.ImVec2(220,190))
if
imgui.InvisibleButton('##zametkisave',imgui.ImVec2(85,15)) then
if
#str(zametkisettings.zametkaname) > 0 then
if
#str(zametkisettings.zametkatext) > 0 then
if
zametkaredact_number ~= 0 then
sampUnregisterChatCommand(zametki[zametkaredact_number].cmd)
end
zametkaredact_number = nil
local file =
io.open(getWorkingDirectory()..'\\AS Helper\\Zametki.json', 'w')
file:write(encodeJson(zametki))
file:close()
updatechatcommands()
else
imgui.SetCursorPos(imgui.ImVec2(220,190))
imgui.PushFont(font[16])
imgui.TextColored(imgui.IsItemHovered() and
imgui.GetStyle().Colors[imgui.Col.Text] or
imgui.GetStyle().Colors[imgui.Col.TextDisabled], u8'���������
'..fa.ICON_FA_CHEVRON_RIGHT)
imgui.PopFont()
imgui.PushStyleVarVec2(imgui.StyleVar.WindowPadding, imgui.ImVec2(15, 15))
if
imgui.BeginPopupModal(u8'�������� ������ �������', nil,
imgui.WindowFlags.NoCollapse + imgui.WindowFlags.AlwaysAutoResize +
imgui.WindowFlags.NoTitleBar) then
imgui.Text(u8'�����:')
imgui.InputTextMultiline(u8'##zametkatexteditor',
zametkisettings.zametkatext, sizeof(zametkisettings.zametkatext),
imgui.ImVec2(435,200))
if
imgui.Button(u8'�������', imgui.ImVec2(-1, 25)) then imgui.CloseCurrentPopup() end
imgui.EndPopup()
end
imgui.PopStyleVar()
end
imgui.EndChild()
imgui.SetCursorPosX(7)
if zametkaredact_number == nil then
if
imgui.Button(fa.ICON_FA_PLUS_CIRCLE..u8' �������##zametkas') then
zametkaredact_number = 0
imgui.StrCopy(zametkisettings.zametkacmd, '')
imgui.StrCopy(zametkisettings.zametkaname, '')
imgui.StrCopy(zametkisettings.zametkatext, '')
zametkisettings.zametkabtn =
''
end
imgui.SameLine()
if imgui.Button(fa.ICON_FA_PEN..u8'
��������') then
if zametki[now_zametka[0]]
then
zametkaredact_number =
now_zametka[0]
imgui.StrCopy(zametkisettings.zametkacmd, u8(zametki[now_zametka[0]].cmd))
imgui.StrCopy(zametkisettings.zametkaname, u8(zametki[now_zametka[0]].name))
imgui.StrCopy(zametkisettings.zametkatext, u8(zametki[now_zametka[0]].text))
zametkisettings.zametkabtn = zametki[now_zametka[0]].button
end
end
imgui.SameLine()
if
imgui.Button(fa.ICON_FA_TRASH..u8' �������') then
if zametki[now_zametka[0]]
then
table.remove(zametki,
now_zametka[0])
now_zametka[0] = 1
end
local file =
io.open(getWorkingDirectory()..'\\AS Helper\\Zametki.json', 'w')
file:write(encodeJson(zametki))
file:close()
end
imgui.SameLine()
if
imgui.Button(fa.ICON_FA_ARROW_UP) then
now_zametka[0] =
(now_zametka[0] - 1 < 1) and #zametki or now_zametka[0] - 1
end
imgui.SameLine()
if
imgui.Button(fa.ICON_FA_ARROW_DOWN) then
now_zametka[0] =
(now_zametka[0] + 1 > #zametki) and 1 or now_zametka[0] + 1
end
imgui.SameLine()
if
imgui.Button(fa.ICON_FA_WINDOW_RESTORE) then
windows.imgui_zametka[0] =
true
zametka_window[0] =
now_zametka[0]
end
end
imgui.EndChild()
elseif additionalwindow[0] == 3 then
imgui.BeginChild('##otigrovkiwindow',_,false)
imgui.SetCursorPos(imgui.ImVec2(15,15))
imgui.BeginGroup()
imgui.Text(u8'�������� �����
����������:')
imgui.PushItemWidth(200)
if imgui.SliderFloat('##playcd',
usersettings.playcd, 0.5, 10.0, '%.1f c.') then
if usersettings.playcd[0] <
0.5 then usersettings.playcd[0] = 0.5 end
if usersettings.playcd[0] >
10.0 then usersettings.playcd[0] = 10.0 end
if imgui.ToggleButton(u8'��������
��������� ����� ������', usersettings.dorponcmd) then
configuration.main_settings.dorponcmd = usersettings.dorponcmd[0]
inicfg.save(configuration,'AS
Helper')
end
if
imgui.ToggleButton(u8'������������� �������', usersettings.playdubinka) then
configuration.main_settings.playdubinka = usersettings.playdubinka[0]
inicfg.save(configuration,'AS
Helper')
end
if imgui.ToggleButton(u8'�������
��������� �� ��� � ����������', usersettings.replaceash) then
configuration.main_settings.replaceash = usersettings.replaceash[0]
inicfg.save(configuration,'AS
Helper')
end
if imgui.ToggleButton(u8'���. �����
�� �����', usersettings.checkmconhunt) then
configuration.main_settings.checkmconhunt = usersettings.checkmconhunt[0]
inicfg.save(configuration,'AS
Helper')
end
imgui.SameLine()
imgui.Text(fa.ICON_FA_QUESTION_CIRCLE)
imgui.Hint('mconhunt','����
�������, �� ����� �������� �������� �� ����� ����� ��������� ���. �����')
if imgui.ToggleButton(u8'���. �����
�� ������', usersettings.checkmcongun) then
configuration.main_settings.checkmcongun = usersettings.checkmcongun[0]
inicfg.save(configuration,'AS
Helper')
end
imgui.SameLine()
imgui.Text(fa.ICON_FA_QUESTION_CIRCLE)
imgui.Hint('mcongun','���� �������,
�� ����� �������� �������� �� ������ ����� ��������� ���. �����')
imgui.EndGroup()
imgui.EndChild()
elseif additionalwindow[0] == 4 then
imgui.BeginChild('##checkerwindow',_,false)
if not checker_variables.blocked then
local p = imgui.GetWindowPos()
imgui.SetCursorPos(imgui.ImVec2(25,
20))
imgui.BeginGroup()
imgui.SetCursorPosX(15)
imgui.PushFont(font[16])
imgui.Text(u8'��������')
imgui.PopFont()
if
imgui.ToggleButton(u8'������� �����', checker_variables.state) then
configuration.Checker.state = checker_variables.state[0]
inicfg.save(configuration, 'AS Helper.ini')
end
if
imgui.Button(fa.ICON_FA_ARROWS_ALT..'##checkerpos') then
if
configuration.Checker.state then
changePosition(configuration.Checker)
else
addNotify('�������
�����.', 5)
end
end
imgui.SameLine()
imgui.Text(u8'��������������')
imgui.SetCursorPosY(imgui.GetCursorPosY() + 4)
imgui.Text(u8'����� ���
�����������(s):')
imgui.SameLine()
imgui.SetCursorPosY(imgui.GetCursorPosY() - 4)
imgui.PushItemWidth(50)
if
imgui.InputInt('##AFKMax_low', checker_variables.afk_max_l, 0, 0) then
if
checker_variables.afk_max_l[0] < 0 then checker_variables.afk_max_l[0] = 0 end
if
checker_variables.afk_max_l[0] > 3599 then checker_variables.afk_max_l[0] = 3599
end
configuration.Checker.afk_max_l = checker_variables.afk_max_l[0]
configuration.Checker.afk_max_h = checker_variables.afk_max_h[0]
imgui.PushItemWidth(110)
if
imgui.DragInt('##checkerDelay', checker_variables.delay, 0.5, 3, 30,
u8((checker_variables.delay[0]) .. ' ������')) then
if
checker_variables.delay[0] < 3 then checker_variables.delay[0] = 3 end
if
checker_variables.delay[0] > 30 then checker_variables.delay[0] = 30 end
configuration.Checker.delay = checker_variables.delay[0]
imgui.EndGroup()
imgui.SetCursorPosX(25)
imgui.BeginGroup()
imgui.SetCursorPosX(15)
imgui.PushFont(font[16])
imgui.Text(u8'�����')
imgui.PopFont()
imgui.PushItemWidth(130)
imgui.Text(u8'��������
������:')
imgui.SameLine(140)
if
imgui.InputTextWithHint('##FontName', u8'�������� ������',
checker_variables.font_input, sizeof(checker_variables.font_input)) then
imgui.StrCopy(checker_variables.font_input, u8'Arial')
configuration.Checker.font_size = checker_variables.font_size[0]
checker_variables.font =
renderCreateFont(configuration.Checker.font_name, configuration.Checker.font_size,
configuration.Checker.font_flag)
configuration.Checker.font_flag = checker_variables.font_flag[0]
checker_variables.font =
renderCreateFont(configuration.Checker.font_name, configuration.Checker.font_size,
configuration.Checker.font_flag)
configuration.Checker.font_offset = checker_variables.font_offset[0]
imgui.Text(u8'��������������:')
imgui.SameLine(140)
if
imgui.SliderInt('##FontAlpha', checker_variables.font_alpha, 1, 100, u8'%d%%') then
if
checker_variables.font_alpha[0] < 1 then checker_variables.font_alpha[0] = 1 end
if
checker_variables.font_alpha[0] > 100 then checker_variables.font_alpha[0] = 100
end
configuration.Checker.show_uniform = checker_variables.show.uniform[0]
imgui.Text(fa.ICON_FA_QUESTION_CIRCLE)
imgui.Hint('hint_uniform',
'���������� ��� �� ����������� � �����, � ��� ���\n(������ /members)')
if
imgui.ToggleButton(u8'����� ���������', checker_variables.show.rank) then
configuration.Checker.show_rank = checker_variables.show.rank[0]
configuration.Checker.show_id = checker_variables.show.id[0]
configuration.Checker.show_afk = checker_variables.show.afk[0]
configuration.Checker.show_warn = checker_variables.show.warn[0]
configuration.Checker.show_quests = checker_variables.show.quests[0]
configuration.Checker.show_mute = checker_variables.show.mute[0]
inicfg.save(configuration, 'AS Helper.ini')
end
imgui.SameLine()
imgui.Text(fa.ICON_FA_QUESTION_CIRCLE)
imgui.Hint('hint_mute', '�
�����������, �� ������� ������� ��������������� ���\n����� ������� Muted � ������')
if
imgui.ToggleButton(u8'���������� ����', checker_variables.show.near) then
configuration.Checker.show_near = checker_variables.show.near[0]
imgui.Text(fa.ICON_FA_QUESTION_CIRCLE)
imgui.Hint('hint_near',
'���������� ��������� � ����� ���� ����������\n����� �������� ������ [N] � ������')
imgui.EndGroup()
imgui.SameLine(nil, 25)
imgui.BeginGroup()
local col =
checker_variables.col
imgui.SetCursorPosX(209)
imgui.PushFont(font[16])
imgui.Text(u8'�����')
imgui.PopFont()
if
imgui.ColorEdit4('##TitleColor', col.title, imgui.ColorEditFlags.NoInputs +
imgui.ColorEditFlags.NoLabel + imgui.ColorEditFlags.NoAlpha) then
local c =
imgui.ImVec4(col.title[0], col.title[1], col.title[2], col.title[3])
configuration.Checker.col_title = imgui.ColorConvertFloat4ToARGB(c)
configuration.Checker.col_default = imgui.ColorConvertFloat4ToARGB(c)
configuration.Checker.col_afk_max = imgui.ColorConvertFloat4ToARGB(c)
configuration.Checker.col_note = imgui.ColorConvertFloat4ToARGB(c)
imgui.SetCursorPosX(imgui.GetCursorPosX() + 13)
imgui.TextDisabled(u8"����
��� ������ - ���������� � vk.com/justmini")
imgui.EndGroup()
end
imgui.EndChild()
end
imgui.PopStyleVar()
elseif mainwindow[0] == 3 then
imgui.SetCursorPos(imgui.ImVec2(15,20))
if
imgui.InvisibleButton('##settingsbackbutton',imgui.ImVec2(10,15)) then
mainwindow[0] = 0
alpha[0] = clock()
end
imgui.SetCursorPos(imgui.ImVec2(15,20))
imgui.PushFont(font[16])
imgui.TextColored(imgui.IsItemHovered() and
imgui.GetStyle().Colors[imgui.Col.Text] or
imgui.GetStyle().Colors[imgui.Col.TextDisabled], fa.ICON_FA_CHEVRON_LEFT)
imgui.PopFont()
imgui.SameLine()
local p = imgui.GetCursorScreenPos()
imgui.GetWindowDrawList():AddLine(imgui.ImVec2(p.x +
5, p.y - 10),imgui.ImVec2(p.x + 5, p.y + 26),
imgui.ColorConvertFloat4ToU32(imgui.GetStyle().Colors[imgui.Col.TextDisabled]),
1.5)
imgui.SetCursorPos(imgui.ImVec2(60,15))
imgui.PushFont(font[25])
imgui.Text(u8'���������')
imgui.PopFont()
imgui.SetCursorPos(imgui.ImVec2(15,65))
imgui.BeginGroup()
imgui.PushStyleVarVec2(imgui.StyleVar.ButtonTextAlign,
imgui.ImVec2(0.05,0.5))
for k, i in pairs(infobuttons) do
local clr =
imgui.GetStyle().Colors[imgui.Col.Text].x
if infowindow[0] == k then
local p =
imgui.GetCursorScreenPos()
imgui.GetWindowDrawList():AddRectFilled(imgui.ImVec2(p.x, p.y +
10),imgui.ImVec2(p.x + 3, p.y + 25),
imgui.ColorConvertFloat4ToU32(imgui.GetStyle().Colors[imgui.Col.Border]), 5,
imgui.DrawCornerFlags.Right)
end
imgui.PushStyleColor(imgui.Col.Button,
imgui.ImVec4(clr,clr,clr,infowindow[0] == k and 0.1 or 0))
imgui.PushStyleColor(imgui.Col.ButtonActive, imgui.ImVec4(clr,clr,clr,0.15))
imgui.PushStyleColor(imgui.Col.ButtonHovered, imgui.ImVec4(clr,clr,clr,0.1))
if imgui.AnimButton(i,
imgui.ImVec2(186,35)) then
if infowindow[0] ~= k then
infowindow[0] = k
alpha[0] = clock()
end
end
imgui.PopStyleColor(3)
end
imgui.PopStyleVar()
imgui.EndGroup()
imgui.SetCursorPos(imgui.ImVec2(208, 0))
imgui.PushStyleVarFloat(imgui.StyleVar.Alpha,
ImSaturate(1 / (alphaAnimTime / (clock() - alpha[0]))))
imgui.BeginChild('##informationmainwindow',_,false)
if infowindow[0] == 1 then
imgui.PushFont(font[16])
imgui.SetCursorPosX(20)
imgui.BeginGroup()
if updateinfo.version and
updateinfo.version ~= thisScript().version then
imgui.SetCursorPosY(20)
downloadUrlToFile(url,file,function(id,status)
if status ==
dlstatus.STATUSEX_ENDDOWNLOAD then
DownloadFile(updateinfo.file, thisScript().path)
NoErrors = true
end
imgui.SameLine()
if
imgui.TreeNodeStr(u8'������ ���������') then
imgui.SetCursorPosX(135)
imgui.TextWrapped(u8(updateinfo.change_log))
imgui.TreePop()
end
imgui.EndGroup()
elseif updateinfo.version and
updateinfo.version == thisScript().version then
imgui.SetCursorPosY(30)
imgui.TextColored(imgui.ImVec4(0.2,
1, 0.2, 1), fa.ICON_FA_CHECK_CIRCLE)
imgui.SameLine()
imgui.SetCursorPosY(20)
imgui.BeginGroup()
imgui.Text(u8'� ���
����������� �������� ����� �������.')
imgui.PushFont(font[11])
checkUpdates('https://raw.githubusercontent.com/Just-Mini/ASHelper/main/
Jsons/update.json', true)
end
imgui.EndGroup()
end
imgui.NewLine()
imgui.PushFont(font[15])
imgui.Text(u8'���������')
imgui.PopFont()
imgui.SetCursorPosX(30)
if imgui.ToggleButton(u8'����-��������
����������', auto_update_box) then
configuration.main_settings.autoupdate = auto_update_box[0]
inicfg.save(configuration,'AS
Helper')
end
imgui.SetCursorPosX(30)
if imgui.ToggleButton(u8'�������� ����
������', get_beta_upd_box) then
configuration.main_settings.getbetaupd = get_beta_upd_box[0]
inicfg.save(configuration,'AS
Helper')
end
imgui.SameLine()
imgui.Text(fa.ICON_FA_QUESTION_CIRCLE)
imgui.Hint('betareleaseshint', '�����
������� ������ ������� �� ������ ��������\n��������� ������ ������ ���� ��
����������� �\n�������� � ����� ������������.\n{FF1010}������ ���� ������ �� �����
�������������.')
imgui.EndGroup()
elseif infowindow[0] == 2 then
imgui.SetCursorPos(imgui.ImVec2(15,15))
imgui.BeginGroup()
if testCheat('dev') then
configuration.main_settings.myrankint = 10
addNotify('{20FF20}�����
������������ �����.', 5)
sampRegisterChatCommand('ash_temp',function()
fastmenuID = select(2,
sampGetPlayerIdByCharHandle(playerPed))
windows.imgui_fm[0] = true
end)
end
imgui.PushFont(font[15])
imgui.TextColoredRGB('����� -
{MC}JustMini')
imgui.PopFont()
imgui.NewLine()
imgui.Spacing()
imgui.TextWrapped(u8'���� �� ��������
���� ������ ��������, �� ������ ���������� ���������� ��������.')
imgui.SetCursorPosX(25)
imgui.TextColored(imgui.ImVec4(0.31,0.78,0.47,1), fa.ICON_FA_GEM)
imgui.SameLine(40)
imgui.Text(u8'���������� ����������:')
imgui.SameLine(190)
imgui.Link('https://www.donationalerts.com/r/justmini',
'donationalerts.com/r/justmini')
imgui.EndGroup()
elseif infowindow[0] == 3 then
imgui.SetCursorPos(imgui.ImVec2(15,15))
imgui.BeginGroup()
imgui.PushFont(font[16])
imgui.TextColoredRGB('AS Helper',1)
imgui.PopFont()
imgui.TextColoredRGB('����� ������� -
{MC}'..thisScript().version)
if imgui.Button(u8'������ ���������')
then
windows.imgui_changelog[0] = true
end
imgui.Image(ash_image,imgui.ImVec2(202,25),imgui.ImVec2(0.25,configuration.main_set
tings.style ~= 2 and 0.4 or 0.5),imgui.ImVec2(1,configuration.main_settings.style
~= 2 and 0.5 or 0.6))
imgui.SameLine(583)
imgui.PushStyleColor(imgui.Col.Button, imgui.ImVec4(1,1,1,0))
imgui.PushStyleColor(imgui.Col.ButtonHovered, imgui.ImVec4(1,1,1,0))
imgui.PushStyleColor(imgui.Col.ButtonActive, imgui.ImVec4(1,1,1,0))
if choosedslot then
if imgui.Button(fa.ICON_FA_QUESTION_CIRCLE,imgui.ImVec2(23,23))
then
imgui.OpenPopup(u8'����')
end
end
imgui.SameLine(606)
if imgui.Button(fa.ICON_FA_TIMES,imgui.ImVec2(23,23)) then
windows.imgui_binder[0] = false
end
imgui.PopStyleColor(3)
if imgui.BeginPopup(u8'����', nil, imgui.WindowFlags.NoCollapse +
imgui.WindowFlags.AlwaysAutoResize + imgui.WindowFlags.NoTitleBar) then
for k,v in pairs(tagbuttons) do
if
imgui.Button(u8(tagbuttons[k].name),imgui.ImVec2(150,25)) then
imgui.StrCopy(bindersettings.binderbuff,
str(bindersettings.binderbuff)..u8(tagbuttons[k].name))
ASHelperMessage('��� ��� ����������.')
end
imgui.SameLine()
if imgui.IsItemHovered() then
imgui.BeginTooltip()
imgui.Text(u8(tagbuttons[k].hint))
imgui.EndTooltip()
end
imgui.Text(u8(tagbuttons[k].text))
end
imgui.EndPopup()
end
imgui.BeginChild('ChildWindow',imgui.ImVec2(175,270), true,
imgui.WindowFlags.NoScrollbar)
imgui.SetCursorPosY(7.5)
for key, value in pairs(configuration.BindsName) do
imgui.SetCursorPosX(7.5)
if
imgui.Button(u8(configuration.BindsName[key]..'##'..key),imgui.ImVec2(160,30)) then
choosedslot = key
imgui.StrCopy(bindersettings.binderbuff,
gsub(u8(configuration.BindsAction[key]), '~', '\n' ) or '')
imgui.StrCopy(bindersettings.bindername,
u8(configuration.BindsName[key] or ''))
imgui.StrCopy(bindersettings.bindercmd,
u8(configuration.BindsCmd[key] or ''))
imgui.StrCopy(bindersettings.binderdelay,
u8(configuration.BindsDelay[key] or ''))
bindersettings.bindertype[0] = configuration.BindsType[key]
or 0
bindersettings.binderbtn = configuration.BindsKeys[key] or
''
end
end
imgui.EndChild()
if choosedslot ~= nil and choosedslot <= 50 then
imgui.SameLine()
imgui.BeginChild('ChildWindow2',imgui.ImVec2(435,200),false)
imgui.InputTextMultiline('##bindertexteditor',
bindersettings.binderbuff, sizeof(bindersettings.binderbuff),
imgui.ImVec2(435,200))
imgui.EndChild()
imgui.SetCursorPos(imgui.ImVec2(206.5, 261))
imgui.Text(u8'�������� �����:')
imgui.SameLine()
imgui.PushItemWidth(150)
if choosedslot ~= 50 then
imgui.InputText('##bindersettings.bindername',
bindersettings.bindername,sizeof(bindersettings.bindername),imgui.InputTextFlags.Re
adOnly)
else imgui.InputText('##bindersettings.bindername',
bindersettings.bindername, sizeof(bindersettings.bindername))
end
imgui.PopItemWidth()
imgui.SameLine()
imgui.PushItemWidth(162)
imgui.Combo('##binderchoosebindtype', bindersettings.bindertype,
new['const char*'][2]({u8'������������ �������', u8'������������ �������'}), 2)
imgui.PopItemWidth()
imgui.SetCursorPos(imgui.ImVec2(206.5, 293))
imgui.TextColoredRGB('�������� ����� �������� {FF4500}(ms):');
imgui.SameLine()
imgui.Hint('msbinderhint','���������� �������� � �������������\n1
������� = 1.000 �����������')
imgui.PushItemWidth(64)
imgui.InputText('##bindersettings.binderdelay',
bindersettings.binderdelay, sizeof(bindersettings.binderdelay),
imgui.InputTextFlags.CharsDecimal)
if tonumber(str(bindersettings.binderdelay)) and
tonumber(str(bindersettings.binderdelay)) > 60000 then
imgui.StrCopy(bindersettings.binderdelay, '60000')
elseif tonumber(str(bindersettings.binderdelay)) and
tonumber(str(bindersettings.binderdelay)) < 1 then
imgui.StrCopy(bindersettings.binderdelay, '1')
end
imgui.PopItemWidth()
imgui.SameLine()
if bindersettings.bindertype[0] == 0 then
imgui.Text('/')
imgui.SameLine()
imgui.PushItemWidth(145)
imgui.InputText('##bindersettings.bindercmd',bindersettings.bindercmd,sizeof(binder
settings.bindercmd),imgui.InputTextFlags.CharsNoBlank)
imgui.PopItemWidth()
elseif bindersettings.bindertype[0] == 1 then
imgui.HotKey('##binderbinder', bindersettings, 'binderbtn',
'', 162)
end
imgui.NewLine()
imgui.SetCursorPos(imgui.ImVec2(535, 330))
if #str(bindersettings.binderbuff) > 0 and
#str(bindersettings.bindername) > 0 and #str(bindersettings.binderdelay) > 0 and
bindersettings.bindertype[0] ~= nil then
if imgui.Button(u8'���������',imgui.ImVec2(100,30)) then
local kei = nil
if not inprocess then
for key, value in
pairs(configuration.BindsName) do
if
u8:decode(str(bindersettings.bindername)) == tostring(value) then
sampUnregisterChatCommand(configuration.BindsCmd[key])
kei = key
end
end
local refresh_text =
gsub(u8:decode(str(bindersettings.binderbuff)), '\n', '~')
if kei ~= nil then
configuration.BindsName[kei] =
u8:decode(str(bindersettings.bindername))
configuration.BindsDelay[kei] =
str(bindersettings.binderdelay)
configuration.BindsAction[kei] =
refresh_text
configuration.BindsType[kei]=
bindersettings.bindertype[0]
if bindersettings.bindertype[0] == 0 then
configuration.BindsCmd[kei] =
u8:decode(str(bindersettings.bindercmd))
elseif bindersettings.bindertype[0] == 1
then
configuration.BindsKeys[kei] =
bindersettings.binderbtn
end
if inicfg.save(configuration, 'AS
Helper') then
ASHelperMessage('���� �������
�������!')
end
else
configuration.BindsName[#configuration.BindsName + 1] =
u8:decode(str(bindersettings.bindername))
configuration.BindsDelay[#configuration.BindsDelay + 1] =
str(bindersettings.binderdelay)
configuration.BindsAction[#configuration.BindsAction + 1] = refresh_text
configuration.BindsType[#configuration.BindsType + 1] =
bindersettings.bindertype[0]
if bindersettings.bindertype[0] == 0 then
configuration.BindsCmd[#configuration.BindsCmd + 1] =
u8:decode(str(bindersettings.bindercmd))
elseif bindersettings.bindertype[0] == 1
then
configuration.BindsKeys[#configuration.BindsKeys + 1] =
bindersettings.binderbtn
end
if inicfg.save(configuration, 'AS
Helper') then
ASHelperMessage('���� �������
������!')
end
end
imgui.StrCopy(bindersettings.bindercmd, '')
imgui.StrCopy(bindersettings.binderbuff, '')
imgui.StrCopy(bindersettings.bindername, '')
imgui.StrCopy(bindersettings.binderdelay, '')
imgui.StrCopy(bindersettings.bindercmd, '')
bindersettings.bindertype[0] = 0
choosedslot = nil
updatechatcommands()
else
ASHelperMessage('�� �� ������ �����������������
� �������� �� ���� ���� ���������!')
end
end
else
imgui.LockedButton(u8'���������',imgui.ImVec2(100,30))
imgui.Hint('notallparamsbinder','�� ����� �� ��� ���������.
������������� ��.')
end
imgui.SameLine()
imgui.SetCursorPosX(202)
if imgui.Button(u8'��������',imgui.ImVec2(100,30)) then
imgui.StrCopy(bindersettings.bindercmd, '')
imgui.StrCopy(bindersettings.binderbuff, '')
imgui.StrCopy(bindersettings.bindername, '')
imgui.StrCopy(bindersettings.binderdelay, '')
imgui.StrCopy(bindersettings.bindercmd, '')
bindersettings.bindertype[0] = 0
choosedslot = nil
end
else
imgui.SetCursorPos(imgui.ImVec2(240,180))
imgui.Text(u8'�������� ���� ��� �������� ����� �� ���
�������������.')
end
imgui.SetCursorPos(imgui.ImVec2(14, 330))
if imgui.Button(u8'��������',imgui.ImVec2(82,30)) then
choosedslot = 50
imgui.StrCopy(bindersettings.binderbuff, '')
imgui.StrCopy(bindersettings.bindername, '')
imgui.StrCopy(bindersettings.bindercmd, '')
imgui.StrCopy(bindersettings.binderdelay, '')
bindersettings.bindertype[0] = 0
end
imgui.SameLine()
if choosedslot ~= nil and choosedslot ~= 50 then
if imgui.Button(u8'�������',imgui.ImVec2(82,30)) then
if not inprocess then
for key, value in pairs(configuration.BindsName) do
local value = tostring(value)
if u8:decode(str(bindersettings.bindername)) ==
configuration.BindsName[key] then
sampUnregisterChatCommand(configuration.BindsCmd[key])
table.remove(configuration.BindsName,key)
table.remove(configuration.BindsKeys,key)
table.remove(configuration.BindsAction,key)
table.remove(configuration.BindsCmd,key)
table.remove(configuration.BindsDelay,key)
table.remove(configuration.BindsType,key)
if inicfg.save(configuration,'AS Helper')
then
imgui.StrCopy(bindersettings.bindercmd, '')
imgui.StrCopy(bindersettings.binderbuff, '')
imgui.StrCopy(bindersettings.bindername, '')
imgui.StrCopy(bindersettings.binderdelay, '')
imgui.StrCopy(bindersettings.bindercmd, '')
bindersettings.bindertype[0] = 0
choosedslot = nil
ASHelperMessage('���� �������
�����!')
end
end
end
updatechatcommands()
else
ASHelperMessage('�� �� ������ ������ ���� �� ����
���� ���������!')
end
end
else
imgui.LockedButton(u8'�������',imgui.ImVec2(82,30))
imgui.Hint('choosedeletebinder','�������� ���� ������� ������
�������')
end
imgui.End()
end
)
imgui.Image(ash_image,imgui.ImVec2(199,25),imgui.ImVec2(0.25,configuration.main_set
tings.style ~= 2 and 0.6 or 0.7),imgui.ImVec2(1,configuration.main_settings.style
~= 2 and 0.7 or 0.8))
imgui.SameLine(401)
imgui.PushStyleColor(imgui.Col.Button, imgui.ImVec4(1,1,1,0))
imgui.PushStyleColor(imgui.Col.ButtonHovered, imgui.ImVec4(1,1,1,0))
imgui.PushStyleColor(imgui.Col.ButtonActive, imgui.ImVec4(1,1,1,0))
if imgui.Button(fa.ICON_FA_TIMES,imgui.ImVec2(23,23)) then
windows.imgui_lect[0] = false
end
imgui.PopStyleColor(3)
imgui.Separator()
if imgui.RadioButtonIntPtr(u8('���'), lectionsettings.lection_type, 1)
then
configuration.main_settings.lection_type =
lectionsettings.lection_type[0]
inicfg.save(configuration,'AS Helper')
end
imgui.SameLine()
if imgui.RadioButtonIntPtr(u8('/s'), lectionsettings.lection_type, 4)
then
configuration.main_settings.lection_type =
lectionsettings.lection_type[0]
inicfg.save(configuration,'AS Helper')
end
imgui.SameLine()
if imgui.RadioButtonIntPtr(u8('/r'), lectionsettings.lection_type, 2)
then
configuration.main_settings.lection_type =
lectionsettings.lection_type[0]
inicfg.save(configuration,'AS Helper')
end
imgui.SameLine()
if imgui.RadioButtonIntPtr(u8('/rb'), lectionsettings.lection_type, 3)
then
configuration.main_settings.lection_type =
lectionsettings.lection_type[0]
inicfg.save(configuration,'AS Helper')
end
imgui.SameLine()
imgui.SetCursorPosX(245)
imgui.PushItemWidth(50)
if imgui.DragInt('##lectionsettings.lection_delay',
lectionsettings.lection_delay, 0.1, 1, 30, u8('%d �.')) then
if lectionsettings.lection_delay[0] < 1 then
lectionsettings.lection_delay[0] = 1 end
if lectionsettings.lection_delay[0] > 30 then
lectionsettings.lection_delay[0] = 30 end
configuration.main_settings.lection_delay =
lectionsettings.lection_delay[0]
inicfg.save(configuration,'AS Helper')
end
imgui.Hint('lectiondelay','�������� ����� ����������')
imgui.PopItemWidth()
imgui.SameLine()
imgui.SetCursorPosX(307)
if imgui.Button(u8'������� ���� '..fa.ICON_FA_PLUS_CIRCLE,
imgui.ImVec2(112, 24)) then
lection_number = nil
imgui.StrCopy(lectionsettings.lection_name, '')
imgui.StrCopy(lectionsettings.lection_text, '')
imgui.OpenPopup(u8('�������� ������'))
end
imgui.Separator()
if #lections.data == 0 then
imgui.SetCursorPosY(120)
imgui.TextColoredRGB('� ��� ��� �� ����� ������.',1)
imgui.SetCursorPosX((imgui.GetWindowWidth() - 250) * 0.5)
if imgui.Button(u8'������������ ����������� ������',
imgui.ImVec2(250, 25)) then
local function copy(obj, seen)
if type(obj) ~= 'table' then return obj end
if seen and seen[obj] then return seen[obj] end
local s = seen or {}
local res = setmetatable({}, getmetatable(obj))
s[obj] = res
for k, v in pairs(obj) do res[copy(k, s)] = copy(v,
s) end
return res
end
lections = copy(default_lect)
local file = io.open(getWorkingDirectory()..'\\AS Helper\\
Lections.json', 'w')
file:write(encodeJson(lections))
file:close()
end
else
for i = 1, #lections.data do
if lections.active.bool == true then
if lections.data[i].name == lections.active.name then
if
imgui.Button(fa.ICON_FA_PAUSE..'##'..u8(lections.data[i].name), imgui.ImVec2(280,
25)) then
inprocess = nil
lections.active.bool = false
lections.active.name = nil
lections.active.handle:terminate()
lections.active.handle = nil
end
else
imgui.LockedButton(u8(lections.data[i].name),
imgui.ImVec2(280, 25))
end
imgui.SameLine()
imgui.LockedButton(fa.ICON_FA_PEN..'##'..u8(lections.data[i].name),
imgui.ImVec2(50, 25))
imgui.SameLine()
imgui.LockedButton(fa.ICON_FA_TRASH..'##'..u8(lections.data[i].name),
imgui.ImVec2(50, 25))
else
if imgui.Button(u8(lections.data[i].name),
imgui.ImVec2(280, 25)) then
lections.active.bool = true
lections.active.name = lections.data[i].name
lections.active.handle =
lua_thread.create(function()
for key = 1, #lections.data[i].text do
if lectionsettings.lection_type[0]
== 2 then
if
lections.data[i].text[key]:sub(1,1) == '/' then
sampSendChat(lections.data[i].text[key])
else
sampSendChat(format('/r
%s', lections.data[i].text[key]))
end
elseif
lectionsettings.lection_type[0] == 3 then
if
lections.data[i].text[key]:sub(1,1) == '/' then
sampSendChat(lections.data[i].text[key])
else
sampSendChat(format('/rb
%s', lections.data[i].text[key]))
end
elseif
lectionsettings.lection_type[0] == 4 then
if
lections.data[i].text[key]:sub(1,1) == '/' then
sampSendChat(lections.data[i].text[key])
else
sampSendChat(format('/s
%s', lections.data[i].text[key]))
end
else
sampSendChat(lections.data[i].text[key])
end
if key ~= #lections.data[i].text
then
wait(lectionsettings.lection_delay[0] * 1000)
end
end
lections.active.bool = false
lections.active.name = nil
lections.active.handle = nil
end)
end
imgui.SameLine()
if
imgui.Button(fa.ICON_FA_PEN..'##'..u8(lections.data[i].name), imgui.ImVec2(50, 25))
then
lection_number = i
imgui.StrCopy(lectionsettings.lection_name,
u8(tostring(lections.data[i].name)))
imgui.StrCopy(lectionsettings.lection_text,
u8(tostring(table.concat(lections.data[i].text, '\n'))))
imgui.OpenPopup(u8'�������� ������')
end
imgui.SameLine()
if
imgui.Button(fa.ICON_FA_TRASH..'##'..u8(lections.data[i].name), imgui.ImVec2(50,
25)) then
lection_number = i
imgui.OpenPopup('##delete')
end
end
end
end
if imgui.BeginPopup('##delete') then
imgui.TextColoredRGB('�� �������, ��� ������ ������� ����� \
n\''..(lections.data[lection_number].name)..'\'',1)
imgui.SetCursorPosX( (imgui.GetWindowWidth() - 100 -
imgui.GetStyle().ItemSpacing.x) * 0.5 )
if imgui.Button(u8'��',imgui.ImVec2(50,25)) then
imgui.CloseCurrentPopup()
table.remove(lections.data, lection_number)
local file = io.open(getWorkingDirectory()..'\\AS Helper\\
Lections.json', 'w')
file:write(encodeJson(lections))
file:close()
end
imgui.SameLine()
if imgui.Button(u8'���',imgui.ImVec2(50,25)) then
imgui.CloseCurrentPopup() end
imgui.EndPopup()
end
if imgui.BeginPopupModal(u8'�������� ������', _,
imgui.WindowFlags.NoCollapse + imgui.WindowFlags.AlwaysAutoResize) then
imgui.InputTextWithHint('##lecteditor', u8'�������� ������',
lectionsettings.lection_name, sizeof(lectionsettings.lection_name))
imgui.Text(u8'����� ������: ')
imgui.InputTextMultiline('##lecteditortext',
lectionsettings.lection_text, sizeof(lectionsettings.lection_text),
imgui.ImVec2(700, 300))
imgui.SetCursorPosX(209)
if #str(lectionsettings.lection_name) > 0 and
#str(lectionsettings.lection_text) > 0 then
if imgui.Button(u8'���������##lecteditor',
imgui.ImVec2(150, 25)) then
local pack = function(text, match)
local array = {}
for line in gmatch(text, '[^'..match..']+') do
array[#array + 1] = line
end
return array
end
if lection_number == nil then
lections.data[#lections.data + 1] = {
name =
u8:decode(str(lectionsettings.lection_name)),
text =
pack(u8:decode(str(lectionsettings.lection_text)), '\n')
}
else
lections.data[lection_number].name =
u8:decode(str(lectionsettings.lection_name))
lections.data[lection_number].text =
pack(u8:decode(str(lectionsettings.lection_text)), '\n')
end
local file = io.open(getWorkingDirectory()..'\\AS
Helper\\Lections.json', 'w')
file:write(encodeJson(lections))
file:close()
imgui.CloseCurrentPopup()
end
else
imgui.LockedButton(u8'���������##lecteditor',
imgui.ImVec2(150, 25))
imgui.Hint('notallparamslecteditor','�� ����� �� ���
���������. ������������� ��.')
end
imgui.SameLine()
if imgui.Button(u8'��������##lecteditor', imgui.ImVec2(150, 25))
then imgui.CloseCurrentPopup() end
imgui.Spacing()
imgui.EndPopup()
end
imgui.End()
end
)
imgui.Image(ash_image,imgui.ImVec2(266,25),imgui.ImVec2(0,configuration.main_settin
gs.style ~= 2 and 0 or 0.1),imgui.ImVec2(1,configuration.main_settings.style ~= 2
and 0.1 or 0.2))
imgui.PushStyleColor(imgui.Col.Button, imgui.ImVec4(1,1,1,0))
imgui.PushStyleColor(imgui.Col.ButtonHovered, imgui.ImVec4(1,1,1,0))
imgui.PushStyleColor(imgui.Col.ButtonActive, imgui.ImVec4(1,1,1,0))
imgui.SameLine(622)
imgui.Button(fa.ICON_FA_INFO_CIRCLE,imgui.ImVec2(23,23))
imgui.Hint('waitwaitwait!!!','���� ��� ��� ���� ������������� ���
������ �� �� ���� ��������\n� ������� ���������� ����� �������� ����� ���������
���������')
imgui.SameLine(645)
if imgui.Button(fa.ICON_FA_MINUS_SQUARE,imgui.ImVec2(23,23)) then
if #dephistory ~= 0 then
dephistory = {}
ASHelperMessage('������ ��������� ������� �������.')
end
end
imgui.Hint('clearmessagehistory','�������� ������ ���������')
imgui.SameLine(668)
if imgui.Button(fa.ICON_FA_TIMES,imgui.ImVec2(23,23)) then
windows.imgui_depart[0] = false
end
imgui.PopStyleColor(3)
imgui.BeginChild('##depbuttons',imgui.ImVec2(180,300),true,
imgui.WindowFlags.NoScrollbar + imgui.WindowFlags.NoScrollWithMouse)
imgui.PushItemWidth(150)
imgui.TextColoredRGB('��� ����� ����������� {FF2525}*',1)
if
imgui.InputTextWithHint('##myorgnamedep',u8('���������'),departsettings.myorgname,
sizeof(departsettings.myorgname)) then
configuration.main_settings.astag =
u8:decode(str(departsettings.myorgname))
end
imgui.TextColoredRGB('��� � ��� ����������� {FF2525}*',1)
imgui.InputTextWithHint('##toorgnamedep',u8('����'),departsettings.toorgname,
sizeof(departsettings.toorgname))
imgui.TextColoredRGB('������� ���������',1)
imgui.InputTextWithHint('##frequencydep','100,3',departsettings.frequency,
sizeof(departsettings.frequency))
imgui.PopItemWidth()
imgui.NewLine()
imgui.SameLine()
imgui.BeginChild('##deptext',imgui.ImVec2(480,265),true,imgui.WindowFlags.NoScrollb
ar)
imgui.SetScrollY(imgui.GetScrollMaxY())
imgui.TextColoredRGB('������ ��������� ������������ {808080}
(?)',1)
imgui.Hint('mytagfind depart','���� � ���� ������������ ����� ���
\''..u8:decode(str(departsettings.myorgname))..'\'\n� ���� ������ �������� ���
���������')
imgui.Separator()
for k,v in pairs(dephistory) do
imgui.TextWrapped(u8(v))
end
imgui.EndChild()
imgui.SetCursorPos(imgui.ImVec2(207,323))
imgui.PushItemWidth(368)
imgui.InputTextWithHint('##myorgtextdep', u8'�������� ���������',
departsettings.myorgtext, sizeof(departsettings.myorgtext))
imgui.PopItemWidth()
imgui.SameLine()
if imgui.Button(u8'���������',imgui.ImVec2(100,24)) then
if #str(departsettings.myorgname) > 0 and
#str(departsettings.toorgname) > 0 and #str(departsettings.myorgtext) > 0 then
if #str(departsettings.frequency) > 0 then
sampSendChat(format('/d [%s] - %s - [%s] %s',
u8:decode(str(departsettings.myorgname)),
gsub(u8:decode(str(departsettings.frequency)),
'%.',','),u8:decode(str(departsettings.toorgname)),u8:decode(str(departsettings.myo
rgtext))))
else
sampSendChat(format('/d [%s] - [%s] %s',
u8:decode(str(departsettings.myorgname)),u8:decode(str(departsettings.toorgname)),u
8:decode(str(departsettings.myorgtext))))
end
imgui.StrCopy(departsettings.myorgtext, '')
else
ASHelperMessage('� ��� ���-�� �� �������.')
end
end
imgui.End()
end
)
local imgui_changelog = imgui.OnFrame(
function() return windows.imgui_changelog[0] end,
function(player)
player.HideCursor = isKeyDown(0x12)
imgui.SetNextWindowSize(imgui.ImVec2(850, 600),
imgui.Cond.FirstUseEver)
imgui.SetNextWindowPos(imgui.ImVec2(ScreenSizeX * 0.5 , ScreenSizeY *
0.5),imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
imgui.PushStyleVarVec2(imgui.StyleVar.WindowPadding,imgui.ImVec2(0,0))
imgui.Begin(u8'##changelog', windows.imgui_changelog,
imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.NoResize +
imgui.WindowFlags.NoCollapse)
imgui.SetCursorPos(imgui.ImVec2(15,15))
imgui.Image(ash_image,imgui.ImVec2(238,25),imgui.ImVec2(0.10,configuration.main_set
tings.style ~= 2 and 0.201 or 0.3),imgui.ImVec2(1,configuration.main_settings.style
~= 2 and 0.3 or 0.4))
imgui.PushStyleColor(imgui.Col.Button, imgui.ImVec4(1,1,1,0))
imgui.PushStyleColor(imgui.Col.ButtonHovered,
imgui.ImVec4(1,1,1,0))
imgui.PushStyleColor(imgui.Col.ButtonActive,
imgui.ImVec4(1,1,1,0))
imgui.SameLine(810)
if imgui.Button(fa.ICON_FA_TIMES,imgui.ImVec2(23,23)) then
windows.imgui_changelog[0] = false
end
imgui.PopStyleColor(3)
imgui.Separator()
imgui.SetCursorPosY(49)
imgui.PushStyleColor(imgui.Col.ChildBg, imgui.ImVec4(0,0,0,0))
imgui.BeginChild('##TEXTEXTEXT',imgui.ImVec2(-1,-1),false,
imgui.WindowFlags.NoScrollbar)
imgui.SetCursorPos(imgui.ImVec2(15,15))
imgui.BeginGroup()
for i = #changelog.versions, 1 , -1 do
imgui.PushFont(font[25])
imgui.Text(u8('�����:
'..changelog.versions[i].version..' | '..changelog.versions[i].date))
imgui.PopFont()
imgui.PushFont(font[16])
for _,line in pairs(changelog.versions[i].text)
do
if find(line, '%{LINK:.*||.*%}') then
local name, link = line:match('%
{LINK:(.*)||(.*)%}')
local symbol, lsymbol =
line:find('%{.+%}')
imgui.TextWrapped(u8(' -
'..line:sub(1, symbol-1)))
imgui.SameLine(nil, 0)
imgui.Link(link, u8(name))
imgui.SameLine(nil, 0)
imgui.TextWrapped(u8(line:sub(lsymbol+1)))
elseif find(line, '%{HINT:.*%}') then
local text = line:match('%{HINT:
(.*)%}')
imgui.TextWrapped(u8(' -
'..gsub(line, '%{HINT:.+%}', '')))
imgui.SameLine(nil, 5)
imgui.Text(fa.ICON_FA_QUESTION_CIRCLE)
imgui.Hint(line,text)
else
imgui.TextWrapped(u8(' - '..line))
end
end
imgui.PopFont()
if changelog.versions[i].patches then
imgui.Spacing()
imgui.PushFont(font[16])
imgui.TextColoredRGB('{25a5db}����������
'..(changelog.versions[i].patches.active and '<<' or '>>'))
imgui.PopFont()
if imgui.IsItemHovered() and
imgui.IsMouseReleased(0) then
changelog.versions[i].patches.active = not
changelog.versions[i].patches.active
end
if changelog.versions[i].patches.active
then
imgui.Text(u8(changelog.versions[i].patches.text))
end
end
imgui.NewLine()
end
imgui.EndGroup()
imgui.EndChild()
imgui.PopStyleColor()
imgui.End()
imgui.PopStyleVar()
end
)
imgui.SetNextWindowPos(imgui.ImVec2(configuration.imgui_pos.posX,configuration.imgu
i_pos.posY),imgui.Cond.Always)
imgui.Begin(u8'���������� ##stats',_,imgui.WindowFlags.NoCollapse +
imgui.WindowFlags.NoBringToFrontOnFocus + imgui.WindowFlags.NoResize +
imgui.WindowFlags.NoTitleBar)
imgui.Text(fa.ICON_FA_CAR..u8' ���� - '..configuration.my_stats.avto)
imgui.Text(fa.ICON_FA_MOTORCYCLE..u8' ���� -
'..configuration.my_stats.moto)
imgui.Text(fa.ICON_FA_FISH..u8' ����������� -
'..configuration.my_stats.riba)
imgui.Text(fa.ICON_FA_SHIP..u8' �������� -
'..configuration.my_stats.lodka)
imgui.Text(fa.ICON_FA_CROSSHAIRS..u8' ������ -
'..configuration.my_stats.guns)
imgui.Text(fa.ICON_FA_SKULL_CROSSBONES..u8' ����� -
'..configuration.my_stats.hunt)
imgui.Text(fa.ICON_FA_DIGGING..u8' �������� -
'..configuration.my_stats.klad)
imgui.Text(fa.ICON_FA_TAXI..u8' ����� - '..configuration.my_stats.taxi)
imgui.Text(fa.ICON_FA_CAR_WRENCH..u8' ������� -
'..configuration.my_stats.mech)
imgui.End()
end
)
imgui.PushStyleVarFloat(imgui.StyleVar.WindowBorderSize, 0)
imgui.Begin(u8('Notify ##'..k), _,
imgui.WindowFlags.NoTitleBar + imgui.WindowFlags.NoResize +
imgui.WindowFlags.NoMove + imgui.WindowFlags.NoScrollbar)
local style = imgui.GetStyle()
local pos = imgui.GetCursorScreenPos()
local DrawList = imgui.GetWindowDrawList()
DrawList:PathClear()
local num_segments = 80
local step = 6.28 / num_segments
local max = 6.28 * (1 - ((clock() -
notify.msg[k].justshowed) / notify.msg[k].time))
local centre = imgui.ImVec2(pos.x + 15, pos.y +
15 + style.FramePadding.y)
for i = 0, max, step do
DrawList:PathLineTo(imgui.ImVec2(centre.x
+ 15 * cos(i), centre.y + 15 * sin(i)))
end
DrawList:PathStroke(imgui.ColorConvertFloat4ToU32(imgui.GetStyle().Colors[imgui.Col
.TitleBgActive]), false, 3)
imgui.SetCursorPos(imgui.ImVec2(30 -
imgui.CalcTextSize(u8(abs(ceil(notify.msg[k].time - (clock() -
notify.msg[k].justshowed))))).x * 0.5, 27))
imgui.Text(tostring(abs(ceil(notify.msg[k].time
- (clock() - notify.msg[k].justshowed)))))
imgui.PushFont(font[16])
imgui.SetCursorPos(imgui.ImVec2(105, 10))
imgui.TextColoredRGB('{MC}AS Helper')
imgui.PopFont()
imgui.SetCursorPosX(60)
imgui.BeginGroup()
imgui.TextColoredRGB(notify.msg[k].text)
imgui.EndGroup()
imgui.End()
imgui.PopStyleVar(2)
notify.pos.y = notify.pos.y - 70 - i * 21
else
if k == 1 then
table.remove(notify.msg, k)
end
end
else
table.remove(notify.msg, k)
end
end
local notf_sX, notf_sY =
convertGameScreenCoordsToWindowScreenCoords(605, 438)
notify.pos = {x = notf_sX - 200, y = notf_sY - 70}
end
)
imgui.Begin(u8(zametki[zametka_window[0]].name..'##zametka_windoww'..zametka_window
[0]), windows.imgui_zametka)
imgui.Text(u8(zametki[zametka_window[0]].text))
imgui.End()
end
)
local interaction_frame = imgui.OnFrame(
function() return checker_variables.temp_player_data ~= nil and not
isPauseMenuActive() end,
function(player)
local data = checker_variables.temp_player_data
imgui.SetNextWindowSize(imgui.ImVec2(200,300), imgui.Cond.Appearing)
imgui.SetNextWindowPos(imgui.ImVec2( getCursorPos() ),
imgui.Cond.Appearing, imgui.ImVec2(-0.2, 0.0))
imgui.Begin(u8('##admininfo'), _, imgui.WindowFlags.NoResize +
imgui.WindowFlags.NoBringToFrontOnFocus + imgui.WindowFlags.NoCollapse +
imgui.WindowFlags.NoScrollbar + imgui.WindowFlags.NoScrollWithMouse +
imgui.WindowFlags.NoTitleBar)
imgui.TextColoredRGB('{909090}������� � �����������',1)
imgui.PushFont(font[20])
imgui.TextColoredRGB(format('%s (%s)', sub(gsub(data.nickname,
'_', ' '), 1, 15), data.id),1)
imgui.PopFont()
if imgui.IsItemHovered() then
imgui.BeginTooltip()
imgui.Text(u8('��� - c���������� ���'))
imgui.EndTooltip()
if imgui.IsMouseReleased(0) then
setClipboardText(data.nickname)
end
end
imgui.PushFont(font[11])
imgui.TextColoredRGB(format('{909090}%s%s', (data.uniform and '�
�����' or '��� �����'), (data.mute and ' * MUTED' or '')), 1)
imgui.PopFont()
imgui.Separator()
imgui.Separator()
imgui.TextColoredRGB('{909090}�������',1)
imgui.PushItemWidth(170)
if imgui.InputText('##specialnoteforadmin',
checker_variables.note_input, sizeof(checker_variables.note_input)) then
configuration.Checker_Notes[data.nickname] =
#str(checker_variables.note_input) > 0 and
u8:decode(str(checker_variables.note_input)) or nil
inicfg.save(configuration,'AS Helper')
end
imgui.PopItemWidth()
if imgui.Button(u8'�������',imgui.ImVec2(170,25)) then
checker_variables.temp_player_data = nil
end
imgui.End()
end
)
function updatechatcommands()
for key, value in pairs(configuration.BindsName) do
sampUnregisterChatCommand(configuration.BindsCmd[key])
if configuration.BindsCmd[key] ~= '' and configuration.BindsType[key]
== 0 then
sampRegisterChatCommand(configuration.BindsCmd[key], function()
if not inprocess then
local temp = 0
local temp2 = 0
for bp in
gmatch(tostring(configuration.BindsAction[key]), '[^~]+') do
temp = temp + 1
end
inprocess = lua_thread.create(function()
for bp in
gmatch(tostring(configuration.BindsAction[key]), '[^~]+') do
temp2 = temp2 + 1
if not find(bp, '%{delay_(%d+)%}') then
sampSendChat(tostring(bp))
if temp2 ~= temp then
wait(configuration.BindsDelay[key])
end
else
local delay = bp:match('%
{delay_(%d+)%}')
wait(delay)
end
end
wait(0)
inprocess = nil
end)
else
ASHelperMessage('�� ����������, �� ��� �����������
���-��! �������� ���������: {MC}Alt{WC} + {MC}U{WC}')
end
end)
end
end
for k, v in pairs(zametki) do
sampUnregisterChatCommand(v.cmd)
sampRegisterChatCommand(v.cmd, function()
windows.imgui_zametka[0] = true
zametka_window[0] = k
end)
end
end
function sampev.onPlayerStreamIn(playerId)
if configuration.main_settings.bodyrank then
for i, member in ipairs(checker_variables.online) do
if member.nickname == sampGetPlayerNickname(playerId) then
sampCreate3dTextEx(i, string.format('%s [%s]',
configuration.RankNames[member.rank], member.rank), 0XA0FFFFFF, 0, 0, -0.5, 10,
false, playerId, -1)
checker_variables.bodyranks[#checker_variables.bodyranks +
1] = { player = playerId, text = i }
break
end
end
end
end
function sampev.onPlayerStreamOut(playerId)
for i, v in ipairs(checker_variables.bodyranks) do
if v.player == playerId then
sampDestroy3dText(v.text)
end
end
end
sendchatarray(configuration.main_settings.playcd, {
{'/me ��� ���.����� � ���� ����� �
��������'},
{'/do ���.����� � �����.'},
{'/todo �� � ������* ������ ���.�����
�������'},
{'/me {gender:���|����} �� ����� ����� �
{gender:��������|���������} ������ ����� �� ��������� �������� �� %s',
skiporcancel},
{'/do ����� ��������� ���� ����� ��
��������� �������� ��� ��������.'},
{'/me ���������� ������� �� %s
{gender:�������|��������} � �������� ��������', skiporcancel},
}, function() lictype = skiporcancel sellto =
tempid end, function() wait(1000) givelic = true skiporcancel = false
sampSendChat(format('/givelicense %s', tempid)) end)
else
sendchatarray(configuration.main_settings.playcd, {
{'/me ��� ���.����� � ���� ����� �
��������'},
{'/do ���.����� �� � �����.'},
{'/todo � ��������, � ���.����� ��������,
��� � ��� ���� ���������.* ������ ���.����� �������'},
{'�������� � � ��������� �����!'},
}, function() skiporcancel = false
ASHelperMessage('������� �� �������� ��������, �������� ������� ���.�����!') end)
end
sampSendDialogResponse(1234, 1, 1, nil)
return false
end
end
elseif find(text, '����') then
if configuration.sobes_settings.pass and sobes_results and not
sobes_results.pass then
if not find(text, '��:
{FFD700}'..sampGetPlayerNickname(fastmenuID)) then
return {dialogId, style, title, button1, button2,
text}
end
if find(text, '{FFFFFF}����������:') then
sobes_results.pass = ('����� � �����������')
return {dialogId, style, title, button1, button2,
text}
end
for DialogLine in gmatch(text, '[^\r\n]+') do
local passstatusint = DialogLine:match('{FFFFFF}��� �
�����: {FFD700}(%d+)')
if tonumber(passstatusint) and
tonumber(passstatusint) < 3 then
sobes_results.pass = ('������ 3 ��� � �����')
return {dialogId, style, title, button1,
button2, text}
end
end
for DialogLine in gmatch(text, '[^\r\n]+') do
local zakonstatusint =
DialogLine:match('{FFFFFF}�����������������: {FFD700}(%d+)')
if tonumber(zakonstatusint) and
tonumber(zakonstatusint) < 35 then
sobes_results.pass = ('�� ���������������')
return {dialogId, style, title, button1,
button2, text}
end
end
if find(text, '������ � ��������������� ��������') then
sobes_results.pass = ('��� � ���������')
return {dialogId, style, title, button1, button2,
text}
end
if find(text, '������� � ��{FF6200} �����������') then
sobes_results.pass = ('� �� ���������')
return {dialogId, style, title, button1, button2,
text}
end
if find(text, 'Warns') then
sobes_results.pass = ('���� �����')
return {dialogId, style, title, button1, button2,
text}
end
sobes_results.pass = ('� ������')
end
elseif find(title, '��������') then
if configuration.sobes_settings.licenses and sobes_results and
not sobes_results.licenses then
for DialogLine in gmatch(text, '[^\r\n]+') do
if find(DialogLine, '������� �� ����') then
if find(DialogLine, '���') then
sobes_results.licenses = ('��� �� ����')
return {dialogId, style, title, button1,
button2, text}
end
end
if find(DialogLine, '������� �� ����') then
if find(DialogLine, '���') then
sobes_results.licenses = ('��� �� ����')
return {dialogId, style, title, button1,
button2, text}
end
end
end
sobes_results.licenses = ('� ������')
return {dialogId, style, title, button1, button2, text}
end
end
elseif dialogId == 0 then
if find(title, '������� ������ '..sampGetPlayerNickname(fastmenuID))
then
sobes_results.wbook = ('������������')
end
end
checker_variables.online[#checker_variables.online + 1] = {
nickname = tostring(nick),
id = id,
rank = tonumber(rank_id),
afk = tonumber(afk),
warns = tonumber(warns),
quests = tonumber(quests),
mute = mute,
near = near,
uniform = uniform
}
end
if checker_variables.await.next_page.bool then
sampSendDialogResponse(dialogId, 1,
checker_variables.await.next_page.i, _)
checker_variables.await.next_page.bool = false
checker_variables.await.next_page.i = 0
else
while #checker_variables.online >
tonumber(checker_variables.online.online) do
table.remove(checker_variables.online, 1)
end
checker_variables.online.afk = getAfkCount()
sampSendDialogResponse(dialogId, 0, _, _)
checker_variables.await.members = false
end
return false
elseif checker_variables.await.members and dialogId ~= 2015 then
checker_variables.dontShowMeMembers = true
checker_variables.await.members = false
checker_variables.await.next_page.bool = false
checker_variables.await.next_page.i = 0
while #checker_variables.online > tonumber(checker_variables.online.online)
do
table.remove(checker_variables.online, 1)
end
elseif checker_variables.dontShowMeMembers and dialogId == 2015 then
checker_variables.dontShowMeMembers = false
lua_thread.create(function()
wait(0)
sampSendDialogResponse(dialogId, 0, nil, nil)
end)
return false
end
end
local color =
imgui.ColorConvertU32ToFloat4(configuration.main_settings.RChatColor)
local r,g,b,a = color.x*255, color.y*255, color.z*255, color.w*255
return { join_argb(r, g, b, a), message}
end
if find(message, '%[D%]') and color == 865730559 or color == 865665023 then
if find(message, u8:decode(departsettings.myorgname[0])) then
local tmsg = gsub(message, '%[D%] ','')
dephistory[#dephistory + 1] = tmsg
end
local color =
imgui.ColorConvertU32ToFloat4(configuration.main_settings.DChatColor)
local r,g,b,a = color.x*255, color.y*255, color.z*255, color.w*255
return { join_argb(r, g, b, a), message }
end
if find(message, '%[���������%] {FFFFFF}�� ������� ������� �������') then
local typeddd, toddd = message:match('%[���������%] {FFFFFF}�� �������
������� ������� (.+) ������ (.+).')
if typeddd == '�� ����' then
configuration.my_stats.avto = configuration.my_stats.avto + 1
elseif typeddd == '�� ����' then
configuration.my_stats.moto = configuration.my_stats.moto + 1
elseif typeddd == '�� �������' then
configuration.my_stats.riba = configuration.my_stats.riba + 1
elseif typeddd == '�� ��������' then
configuration.my_stats.lodka = configuration.my_stats.lodka + 1
elseif typeddd == '�� ������' then
configuration.my_stats.guns = configuration.my_stats.guns + 1
elseif typeddd == '�� �����' then
configuration.my_stats.hunt = configuration.my_stats.hunt + 1
elseif typeddd == '�� ��������' then
configuration.my_stats.klad = configuration.my_stats.klad + 1
elseif typeddd == '��������' then
configuration.my_stats.taxi = configuration.my_stats.taxi + 1
elseif typeddd == '��������' then
configuration.my_stats.mech = configuration.my_stats.mech + 1
else
if configuration.main_settings.replacechat then
ASHelperMessage(format('�� ������� ������� ������� %s
������ %s.',typeddd,gsub(toddd, '_',' ')))
return false
end
end
if inicfg.save(configuration,'AS Helper') then
if configuration.main_settings.replacechat then
ASHelperMessage(format('�� ������� ������� ������� %s
������ %s. ��� ���� ��������� � ���� ����������.',typeddd,gsub(toddd, '_',' ')))
return false
end
end
end
if find(message, '������������ ������ ����� ����� ����������� (.+), ��������
���������: (.+)') and waitingaccept then
local invited,inviting = message:match('������������ ������ ����� �����
����������� (.+), �������� ���������: (.+)%[')
if inviting ==
sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(playerPed))) then
if invited == sampGetPlayerNickname(waitingaccept) then
lua_thread.create(function()
wait(100)
sampSendChat(format('/giverank %s 2',waitingaccept))
waitingaccept = false
end)
end
end
end
end
function sampev.onSendChat(message)
if find(message, '{my_id}') then
sampSendChat(gsub(message, '{my_id}', select(2,
sampGetPlayerIdByCharHandle(playerPed))))
return false
end
if find(message, '{my_name}') then
sampSendChat(gsub(message, '{my_name}',
(configuration.main_settings.useservername and
gsub(sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(playerPed))), '_',
' ') or u8:decode(configuration.main_settings.myname))))
return false
end
if find(message, '{my_rank}') then
sampSendChat(gsub(message, '{my_rank}',
configuration.RankNames[configuration.main_settings.myrankint]))
return false
end
if find(message, '{my_score}') then
sampSendChat(gsub(message, '{my_score}',
sampGetPlayerScore(select(2,sampGetPlayerIdByCharHandle(playerPed)))))
return false
end
if find(message, '{H}') then
sampSendChat(gsub(message, '{H}', os.date('%H', os.time())))
return false
end
if find(message, '{HM}') then
sampSendChat(gsub(message, '{HM}', os.date('%H:%M', os.time())))
return false
end
if find(message, '{HMS}') then
sampSendChat(gsub(message, '{HMS}', os.date('%H:%M:%S', os.time())))
return false
end
if find(message, '{close_id}') then
if select(1,getClosestPlayerId()) then
sampSendChat(gsub(message, '{close_id}',
select(2,getClosestPlayerId())))
return false
end
ASHelperMessage('� ���� ������ �� ������� �� ������ ������.')
return false
end
if find(message, '@{%d+}') then
local id = message:match('@{(%d+)}')
if id and IsPlayerConnected(id) then
sampSendChat(gsub(message, '@{%d+}', sampGetPlayerNickname(id)))
return false
end
ASHelperMessage('������ ������ ��� �� �������.')
return false
end
if find(message, '{gender:(%A+)|(%A+)}') then
local male, female = message:match('{gender:(%A+)|(%A+)}')
if configuration.main_settings.gender == 0 then
local gendermsg = gsub(message, '{gender:%A+|%A+}', male, 1)
sampSendChat(tostring(gendermsg))
return false
else
local gendermsg = gsub(message, '{gender:%A+|%A+}', female, 1)
sampSendChat(tostring(gendermsg))
return false
end
end
function sampev.onSendCommand(cmd)
if find(cmd, '{my_id}') then
sampSendChat(gsub(cmd, '{my_id}', select(2,
sampGetPlayerIdByCharHandle(playerPed))))
return false
end
if find(cmd, '{my_name}') then
sampSendChat(gsub(cmd, '{my_name}',
(configuration.main_settings.useservername and
gsub(sampGetPlayerNickname(select(2,sampGetPlayerIdByCharHandle(playerPed))), '_',
' ') or u8:decode(configuration.main_settings.myname))))
return false
end
if find(cmd, '{my_rank}') then
sampSendChat(gsub(cmd, '{my_rank}',
configuration.RankNames[configuration.main_settings.myrankint]))
return false
end
if find(cmd, '{my_score}') then
sampSendChat(gsub(cmd, '{my_score}',
sampGetPlayerScore(select(2,sampGetPlayerIdByCharHandle(playerPed)))))
return false
end
if find(cmd, '{H}') then
sampSendChat(gsub(cmd, '{H}', os.date('%H', os.time())))
return false
end
if find(cmd, '{HM}') then
sampSendChat(gsub(cmd, '{HM}', os.date('%H:%M', os.time())))
return false
end
if find(cmd, '{HMS}') then
sampSendChat(gsub(cmd, '{HMS}', os.date('%H:%M:%S', os.time())))
return false
end
if find(cmd, '{close_id}') then
if select(1,getClosestPlayerId()) then
sampSendChat(gsub(cmd, '{close_id}',
select(2,getClosestPlayerId())))
return false
end
ASHelperMessage('� ���� ������ �� ������� �� ������ ������.')
return false
end
if find(cmd, '@{%d+}') then
local id = cmd:match('@{(%d+)}')
if id and IsPlayerConnected(id) then
sampSendChat(gsub(cmd, '@{%d+}', sampGetPlayerNickname(id)))
return false
end
ASHelperMessage('������ ������ ��� �� �������.')
return false
end
if find(cmd, '{gender:(%A+)|(%A+)}') then
local male, female = cmd:match('{gender:(%A+)|(%A+)}')
if configuration.main_settings.gender == 0 then
local gendermsg = gsub(cmd, '{gender:%A+|%A+}', male, 1)
sampSendChat(tostring(gendermsg))
return false
else
local gendermsg = gsub(cmd, '{gender:%A+|%A+}', female, 1)
sampSendChat(tostring(gendermsg))
return false
end
end
if configuration.main_settings.fmtype == 1 then
com = #cmd > #configuration.main_settings.usefastmenucmd+1 and sub(cmd,
2, #configuration.main_settings.usefastmenucmd+2) or sub(cmd, 2,
#configuration.main_settings.usefastmenucmd+1)..' '
if com == configuration.main_settings.usefastmenucmd..' ' then
if windows.imgui_fm[0] == false then
if find(cmd,
'/'..configuration.main_settings.usefastmenucmd..' %d+') then
local param = cmd:match('.+ (%d+)')
if sampIsPlayerConnected(param) then
if
doesCharExist(select(2,sampGetCharHandleBySampPlayerId(param))) then
fastmenuID = param
ASHelperMessage(format('�� ������������
��� �������� ������� ��: %s [%s]',gsub(sampGetPlayerNickname(fastmenuID), '_', '
'),fastmenuID))
ASHelperMessage('������� {MC}ALT{WC} ��
����, ����� ������ ������. {MC}ESC{WC} �� ����, ����� ������� ���.')
windows.imgui_fm[0] = true
else
ASHelperMessage('����� �� �������� ���� �
����')
end
else
ASHelperMessage('����� �� � ����')
end
else
ASHelperMessage('/'..configuration.main_settings.usefastmenucmd..' [id]')
end
end
return false
end
end
end
function IsPlayerConnected(id)
return (sampIsPlayerConnected(tonumber(id)) or select(2,
sampGetPlayerIdByCharHandle(playerPed)) == tonumber(id))
end
function checkServer(ip)
return servers[select(1, sampGetCurrentServerAddress())] or false
end
function ASHelperMessage(text)
local col =
imgui.ColorConvertU32ToFloat4(configuration.main_settings.ASChatColor)
local r,g,b,a = col.x*255, col.y*255, col.z*255, col.w*255
text = gsub(text, '{WC}', '{EBEBEB}')
text = gsub(text, '{MC}', format('{%06X}', bit.bor(bit.bor(b, bit.lshift(g,
8)), bit.lshift(r, 16))))
sampAddChatMessage(format('[ASHelper]{EBEBEB} %s', text),join_argb(a, r, g,
b)) -- ff6633 default
end
if NoErrors then
return false
end
function getClosestPlayerId()
local temp = {}
local tPeds = getAllChars()
local me = {getCharCoordinates(playerPed)}
for i = 1, #tPeds do
local result, id = sampGetPlayerIdByCharHandle(tPeds[i])
if tPeds[i] ~= playerPed and result then
local pl = {getCharCoordinates(tPeds[i])}
local dist = getDistanceBetweenCoords3d(me[1], me[2], me[3],
pl[1], pl[2], pl[3])
temp[#temp + 1] = { dist, id }
end
end
if #temp > 0 then
table.sort(temp, function(a, b) return a[1] < b[1] end)
return true, temp[1][2]
end
return false
end
function sendchatarray(delay, text, start_function, end_function)
start_function = start_function or function() end
end_function = end_function or function() end
if inprocess ~= nil then
ASHelperMessage('�� ����������, �� ��� ����������� ���-��! ��������
���������: {MC}Alt{WC} + {MC}U{WC}')
return false
end
inprocess = lua_thread.create(function()
start_function()
for i = 1, #text do
sampSendChat(format(text[i][1], unpack(text[i], 2)))
if i ~= #text then
wait(delay)
end
end
end_function()
wait(0)
inprocess = nil
end)
return true
end
function createJsons()
createDirectory(getWorkingDirectory()..'\\AS Helper')
createDirectory(getWorkingDirectory()..'\\AS Helper\\Rules')
if not doesFileExist(getWorkingDirectory()..'\\AS Helper\\Lections.json')
then
lections = default_lect
local file = io.open(getWorkingDirectory()..'\\AS Helper\\
Lections.json', 'w')
file:write(encodeJson(lections))
file:close()
else
local file = io.open(getWorkingDirectory()..'\\AS Helper\\
Lections.json', 'r')
lections = decodeJson(file:read('*a'))
file:close()
end
if not doesFileExist(getWorkingDirectory()..'\\AS Helper\\Questions.json')
then
questions = {
active = { redact = false },
questions = {}
}
local file = io.open(getWorkingDirectory()..'\\AS Helper\\
Questions.json', 'w')
file:write(encodeJson(questions))
file:close()
else
local file = io.open(getWorkingDirectory()..'\\AS Helper\\
Questions.json', 'r')
questions = decodeJson(file:read('*a'))
questions.active.redact = false
file:close()
end
if not doesFileExist(getWorkingDirectory()..'\\AS Helper\\Zametki.json') then
zametki = {}
local file = io.open(getWorkingDirectory()..'\\AS Helper\\
Zametki.json', 'w')
file:write(encodeJson(zametki))
file:close()
else
local file = io.open(getWorkingDirectory()..'\\AS Helper\\
Zametki.json', 'r')
zametki = decodeJson(file:read('*a'))
file:close()
end
return true
end
function checkRules()
ruless = {}
while file do
file = findNextFile(searchHandle)
addRuleFunc(file)
end
local json_url =
'https://raw.githubusercontent.com/Just-Mini/ASHelper/main/Jsons/Rules/'..server..'
.json'
local json = getWorkingDirectory() .. '\\'..thisScript().name..'-rules.json'
if doesFileExist(json) then
os.remove(json)
end
function messageFromAuthor()
local json_url =
'https://raw.githubusercontent.com/Just-Mini/ASHelper/main/Jsons/ServerList.json'
local json = getWorkingDirectory() .. '\\'..thisScript().name..'-
server_list.json'
if doesFileExist(json) then
os.remove(json)
end
if doesFileExist(json) then
os.remove(json)
end
updateinfo.updatelastcheck =
getTimeAfter(os.time({day = os.date('%d'), month = os.date('%m'), year =
os.date('%Y')}))..' � '..os.date('%X')
inicfg.save(configuration, 'AS Helper.ini')
end
end
end
end
)
end
function ImSaturate(f)
return f < 0.0 and 0.0 or (f > 1.0 and 1.0 or f)
end
function main()
if not isSampLoaded() or not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(1000) end
createJsons()
lua_thread.create(function()
local ASHfont = renderCreateFont('trebucbd', 11, 9)
messageFromAuthor()
while not servers.message do
renderFontDrawText(ASHfont, "[AS HELPER]: ��������� ���������
��������� � �������...", 10, ScreenSizeY - renderGetFontDrawHeight(ASHfont) - 5,
0xFFFFFFFF)
wait(0)
end
checkRules()
end)
getmyrank = true
sampSendChat('/stats')
print('{00FF00}������� ��������')
addNotify(format('������� �������� �������,\n����� {MC}%s{WC}.\n���������
������: {MC}/ash', thisScript().version), 10)
if configuration.main_settings.changelog then
windows.imgui_changelog[0] = true
configuration.main_settings.changelog = false
inicfg.save(configuration, 'AS Helper.ini')
end
sampRegisterChatCommand('ash', function()
windows.imgui_settings[0] = not windows.imgui_settings[0]
alpha[0] = clock()
end)
sampRegisterChatCommand('ashbind', function()
choosedslot = nil
windows.imgui_binder[0] = not windows.imgui_binder[0]
end)
sampRegisterChatCommand('ashstats', function()
ASHelperMessage('��� ���� ������ �������� � {MC}/ash{WC} -
{MC}���������{WC}.')
end)
sampRegisterChatCommand('ashlect', function()
if configuration.main_settings.myrankint < 5 then
return addNotify('����� ������ �������� � 5-��\n�����.', 5)
end
windows.imgui_lect[0] = not windows.imgui_lect[0]
end)
sampRegisterChatCommand('ashdep', function()
if configuration.main_settings.myrankint < 5 then
return addNotify('����� ������ �������� � 5-��\n�����.', 5)
end
windows.imgui_depart[0] = not windows.imgui_depart[0]
end)
sampRegisterChatCommand('ashupd', function()
windows.imgui_settings[0] = true
mainwindow[0] = 3
infowindow[0] = 1
alpha[0] = clock()
end)
sampRegisterChatCommand('uninvite', function(param)
if not configuration.main_settings.dorponcmd then
return sampSendChat(format('/uninvite %s',param))
end
if configuration.main_settings.myrankint < 9 then
return ASHelperMessage('����� ������� �������� � 9-�� �����.')
end
local uvalid = param:match('(%d+)')
local reason = select(2, param:match('(%d+) (.+),')) or select(2,
param:match('(%d+) (.+)'))
local withbl = select(2, param:match('(.+), (.+)'))
if uvalid == nil or reason == nil then
return ASHelperMessage('/uninvite [id] [�������], [������� ��]
(�� ����������)')
end
if tonumber(uvalid) == select(2,sampGetPlayerIdByCharHandle(playerPed))
then
return ASHelperMessage('�� �� ������ �������� �� �����������
������ ���.')
end
if withbl then
return sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:������|�������} ������� �� �������'},
{'/me {gender:������|�������} � ������ \'����������\''},
{'/do ������ ������.'},
{'/me {gender:���|������} �������� �
������ \'����������\''},
{'/me {gender:������|�������} � ������ \'}''\������ ����,
{'/me {gender:����|�������} ���������� � ������, ����� ����
{gender:����������|�����������} ��������'},
{'/do �������� ���� ���������.'},
{'/uninvite %s %s', uvalid, reason},
{'/blacklist %s %s', uvalid, withbl},
})
else
return sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:������|�������} ������� �� �������'},
{'/me {gender:������|�������} � ������ \'����������\''},
{'/do ������ ������.'},
{'/me {gender:���|������} �������� �
������ \'����������\''},
{'/me {gender:�����������|�����������} ��������, �����
{gender:�������|��������} ������� � {gender:�������|��������} ��� ������� �
������'},
{'/uninvite %s %s', uvalid, reason},
})
end
end)
sampRegisterChatCommand('invite', function(param)
if not configuration.main_settings.dorponcmd then
return sampSendChat(format('/invite %s',param))
end
if configuration.main_settings.myrankint < 9 then
return ASHelperMessage('����� ������� �������� � 9-�� �����.')
end
local id = param:match('(%d+)')
if id == nil then
return ASHelperMessage('/invite [id]')
end
if tonumber(id) == select(2,sampGetPlayerIdByCharHandle(playerPed))
then
return ASHelperMessage('�� �� ������ ���������� � ����������
������ ���.')
end
return sendchatarray(configuration.main_settings.playcd, {
{'/do ���� �� �������� � �������.'},
{'/me ������ ���� � ������ ���, {gender:������|�������} ������
��� �� ��������'},
{'/me {gender:�������|��������} ��� �������� ��������'},
{'����� ����������! ���������� �� ������ � ����������.'},
{'�� ���� ����������� �� ������ ����������� �� ��. �������.'},
{'/invite %s', id},
})
end)
sampRegisterChatCommand('giverank', function(param)
if not configuration.main_settings.dorponcmd then
return sampSendChat(format('/giverank %s',param))
end
if configuration.main_settings.myrankint < 9 then
return ASHelperMessage('����� ������� �������� � 9-�� �����.')
end
local id,rank = param:match('(%d+) (%d)')
if id == nil or rank == nil then
return ASHelperMessage('/giverank [id] [����]')
end
if tonumber(id) == select(2,sampGetPlayerIdByCharHandle(playerPed))
then
return ASHelperMessage('�� �� ������ ����� ���� ������ ����.')
end
return sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:������|�������} �������'},
{'/me {gender:������|�������} � ������ \'����������
������������\''},
{'/me {gender:������|�������} � ������� ������� ����������'},
{'/me {gender:�������|��������} ��������� � ��������� ����������,
����� ���� {gender:�����������|�����������} ��������'},
{'/do ��������� � ���������� ���� ��������.'},
{'��������� � ����������. ����� ������� �� ������ ���� �
����������.'},
{'/giverank %s %s', id, rank},
})
end)
sampRegisterChatCommand('blacklist', function(param)
if not configuration.main_settings.dorponcmd then
return sampSendChat(format('/blacklist %s',param))
end
if configuration.main_settings.myrankint < 9 then
return ASHelperMessage('����� ������� �������� � 9-�� �����.')
end
local id,reason = param:match('(%d+) (.+)')
if id == nil or reason == nil then
return ASHelperMessage('/blacklist [id] [�������]')
end
if tonumber(id) == select(2,sampGetPlayerIdByCharHandle(playerPed))
then
return ASHelperMessage('�� �� ������ ������ � �� ������ ���.')
end
return sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:������|�������} ������� �� �������'},
{'/me {gender:������|�������} � ������ \'}''\������ ����,
{'/me {gender:���|�����} �� ���������'},
{'/me {gender:���|������} ��������� � ������ \'}''\������ ����,
{'/me {gender:�����������|�����������} ��������'},
{'/do �������� ���� ���������.'},
{'/blacklist %s %s', id, reason},
})
end)
sampRegisterChatCommand('unblacklist', function(param)
if not configuration.main_settings.dorponcmd then
return sampSendChat(format('/unblacklist %s',param))
end
if configuration.main_settings.myrankint < 9 then
return ASHelperMessage('����� ������� �������� � 9-�� �����.')
end
local id = param:match('(%d+)')
if id == nil then
return ASHelperMessage('/unblacklist [id]')
end
return sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:������|�������} ������� �� �������'},
{'/me {gender:������|�������} � ������ \'}''\������ ����,
{'/me {gender:���|�����} �� ���������� � �����'},
{'/me {gender:�����|������} ���������� �� ������� \'����
������\''},
{'/me {gender:�����������|�����������} ��������'},
{'/do �������� ���� ���������.'},
{'/unblacklist %s', id},
})
end)
sampRegisterChatCommand('fwarn', function(param)
if not configuration.main_settings.dorponcmd then
return sampSendChat(format('/fwarn %s',param))
end
if configuration.main_settings.myrankint < 9 then
return ASHelperMessage('����� ������� �������� � 9-�� �����.')
end
local id,reason = param:match('(%d+) (.+)')
if id == nil or reason == nil then
return ASHelperMessage('/fwarn [id] [�������]')
end
return sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:������|�������} ������� �� �������'},
{'/me {gender:������|�������} � ������ \'����������
������������\''},
{'/me {gender:����|�����} � ������ \'��������\''},
{'/me ���� � ������� ������� ����������, {gender:�������|
��������} � ��� ������ ���� �������'},
{'/do ������� ��� �������� � ������ ���� ����������.'},
{'/fwarn %s %s', id, reason},
})
end)
sampRegisterChatCommand('unfwarn', function(param)
if not configuration.main_settings.dorponcmd then
return sampSendChat(format('/unfwarn %s',param))
end
if configuration.main_settings.myrankint < 9 then
return ASHelperMessage('����� ������� �������� � 9-�� �����.')
end
local id = param:match('(%d+)')
if id == nil then
return ASHelperMessage('/unfwarn [id]')
end
return sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:������|�������} ������� �� �������'},
{'/me {gender:������|�������} � ������ \'����������
������������\''},
{'/me {gender:����|�����} � ������ \'��������\''},
{'/me ���� � ������� ������� ����������, {gender:�����|������} ��
��� ������� ���� ���� �������'},
{'/do ������� ��� ����� �� ������� ���� ����������.'},
{'/unfwarn %s', id},
})
end)
sampRegisterChatCommand('fmute', function(param)
if not configuration.main_settings.dorponcmd then
return sampSendChat(format('/fmute %s',param))
end
if configuration.main_settings.myrankint < 9 then
return ASHelperMessage('����� ������� �������� � 9-�� �����.')
end
local id,mutetime,reason = param:match('(%d+) (%d+) (.+)')
if id == nil or reason == nil or mutetime == nil then
return ASHelperMessage('/fmute [id] [����] [�������]')
end
return sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:������|�������} ������� �� �������'},
{'/me {gender:������|�������} �������'},
{'/me {gender:������|�������} � ������ \'���������� ������������
%s\'', configuration.main_settings.replaceash and '���' or '���������'},
{'/me {gender:������|�������} ������� ����������'},
{'/me {gender:������|�������} ����� \'�������� ����
����������\''},
{'/me {gender:�����|������} �� ������ \'��������� ��������\''},
{'/fmute %s %s %s', id, mutetime, reason},
})
end)
sampRegisterChatCommand('funmute', function(param)
if not configuration.main_settings.dorponcmd then
return sampSendChat(format('/funmute %s',param))
end
if configuration.main_settings.myrankint < 9 then
return ASHelperMessage('����� ������� �������� � 9-�� �����.')
end
local id = param:match('(%d+)')
if id == nil then
return ASHelperMessage('/funmute [id]')
end
return sendchatarray(configuration.main_settings.playcd, {
{'/me {gender:������|�������} ������� �� �������'},
{'/me {gender:������|�������} �������'},
{'/me {gender:������|�������} � ������ \'���������� ������������
%s\'', configuration.main_settings.replaceash and '���' or '���������'},
{'/me {gender:������|�������} ������� ����������'},
{'/me {gender:������|�������} ����� \'������� ����
����������\''},
{'/me {gender:�����|������} �� ������ \'��������� ��������\''},
{'/funmute %s', id},
})
end)
sampRegisterChatCommand('expel', function(param)
if not configuration.main_settings.dorponcmd then
return sampSendChat(format('/expel %s',param))
end
if configuration.main_settings.myrankint < 2 then
return ASHelperMessage('����� ������� �������� � 2-�� �����.')
end
local id,reason = param:match('(%d+) (.+)')
if id == nil or reason == nil then
return ASHelperMessage('/expel [id] [�������]')
end
if sampIsPlayerPaused(id) then
return ASHelperMessage('����� �������� � ���!')
end
return sendchatarray(configuration.main_settings.playcd, {
{'/me ������� �������� �� ����, � ����� � ������'},
{'/me ������ ����� �����, ����� �������� �� �����'},
{'/expel %s %s',id,reason},
})
end)
updatechatcommands()
lua_thread.create(function()
local function sampIsLocalPlayerSpawned()
local res, id = sampGetPlayerIdByCharHandle(PLAYER_PED)
return sampGetGamestate() == 3 and res and
sampGetPlayerAnimationId(id) ~= 0
end
while not sampIsLocalPlayerSpawned() do wait(1000) end
if sampIsLocalPlayerSpawned() then
wait(2000)
getmyrank = true
sampSendChat('/stats')
end
end)
while true do
if getCharPlayerIsTargeting() then
if configuration.main_settings.fmtype == 0 then
if configuration.main_settings.createmarker then
local targettingped =
select(2,getCharPlayerIsTargeting())
if sampGetPlayerIdByCharHandle(targettingped) then
if marker ~= nil and oldtargettingped ~=
targettingped then
removeBlip(marker)
marker = nil
marker = addBlipForChar(targettingped)
elseif marker == nil and oldtargettingped ~=
targettingped then
marker = addBlipForChar(targettingped)
end
end
oldtargettingped = targettingped
end
if isKeysDown(configuration.main_settings.usefastmenu) and
not sampIsChatInputActive() then
if
sampGetPlayerIdByCharHandle(select(2,getCharPlayerIsTargeting())) then
setVirtualKeyDown(0x02,false)
fastmenuID =
select(2,sampGetPlayerIdByCharHandle(select(2,getCharPlayerIsTargeting())))
ASHelperMessage(format('�� ������������ ���
�������� ������� ��: %s [%s]',gsub(sampGetPlayerNickname(fastmenuID), '_', '
'),fastmenuID))
ASHelperMessage('������� {MC}ALT{WC} �� ����,
����� ������ ������. {MC}ESC{WC} �� ����, ����� ������� ���.')
wait(0)
windows.imgui_fm[0] = true
end
end
end
sendchatarray(configuration.main_settings.playcd, {
{'/me ������� �������� ��
����, � ����� � ������'},
{'/me ������ ����� �����,
����� �������� �� �����'},
{'/expel %s %s',id,reason},
})
else
ASHelperMessage('����� �������� �
���!')
end
else
ASHelperMessage('/expel [id] [�������]')
end
else
ASHelperMessage('������ �������� �������� � 2-
�� �����.')
end
end
end
end
if isKeysDown(configuration.main_settings.fastscreen) and
configuration.main_settings.dofastscreen and (clock() - tHotKeyData.lasted > 0.1)
and not sampIsChatInputActive() then
sampSendChat('/time')
wait(500)
setVirtualKeyDown(0x77, true)
wait(0)
setVirtualKeyDown(0x77, false)
end
if configuration.main_settings.playdubinka then
local weapon = getCurrentCharWeapon(playerPed)
if weapon == 3 and not rp_check then
sampSendChat('/me ��� ������� � ���� {gender:���|����} �
����� ����')
rp_check = true
elseif weapon ~= 3 and rp_check then
sampSendChat('/me {gender:�������|��������} ������� ��
���')
rp_check = false
end
end
inprocess = lua_thread.create(function()
for bp in
gmatch(tostring(configuration.BindsAction[key]), '[^~]+') do
temp2 = temp2 + 1
if not find(bp, '%{delay_(%d+)%}') then
sampSendChat(tostring(bp))
if temp2 ~= temp then
wait(configuration.BindsDelay[key])
end
else
local delay = bp:match('%
{delay_(%d+)%}')
wait(delay)
end
end
wait(0)
inprocess = nil
end)
else
ASHelperMessage('�� ����������, �� ��� �����������
���-��! �������� ���������: {MC}Alt{WC} + {MC}U{WC}')
end
end
end
for k = 1, #zametki do
if isKeysDown(zametki[k].button) and not sampIsChatInputActive()
then
windows.imgui_zametka[0] = true
zametka_window[0] = k
end
end
if sampIsDialogActive() then
checker_variables.lastDialogWasActive = clock()
end
if renderFontDrawClickableText(true, ch.font,
render_text, cfgch.posX, cfgch.posY + k * offset, render_color, render_color) then
imgui.StrCopy(ch.note_input,
u8(configuration.Checker_Notes[nick] or ''))
checker_variables.temp_player_data = member
end
end
end
end
checkUpdates('https://raw.githubusercontent.com/Just-Mini/ASHelper/main/
Jsons/update.json')
autoupd[0] = clock()
end
changelog = {
versions = {
{
version = '1.0',
date = '31.03.2021',
text = {'����� (������� zody �� ������ � ����������)'},
},
{
version = '2.1',
date = '01.05.2021',
text = {
'��� ���������� /ashstats ������� ����� �������',
'������� ���� �������� �������������� ����������
/ashstats',
'�������� ������ � ������� ��� /ash',
'������ ����� ����������� ����� � /ash',
'������ ��� ��������� ����� ��������� ��������� ����� ���
��������',
'�������� ������ ���������',
'���������� �������� ���������� ����� /ash',
'������������ �������� �������� ��� /ash',
'��������� ������ ����� ����',
'��������� ��������� ������ /r ���� � /d ����',
'��������� ������ ��������� ������',
'��������� ������ �������� /time + �����',
'��������� ��������������� ����',
'��������� ������ ������� �������',
},
patches = {
active = false,
text = [[
- ��������� ��� � ��������������
- ��������� ��� � ������� �� ������
- ��������� ��� � ������ ��� ������� �������� � ����������]]
},
},
{
version = '2.2',
date = '10.05.2021',
text = {
'��������� ������ ��������� � �� ����� �������',
'��������� ������ ���������� ������ /ashlect',
'���������� ������� �������� ��������� �� ������� �������',
'������������ ������� ������',
'��������� ���� ��� ������ � �������� ���� ����������
�������',
'���������� ��������� �������������� ������',
},
patches = {
active = false,
text = [[
- ��������� ���� ��� �������� /ashstats
- ��������� ���� ��� ������ �����
- ��������� ��� � ������������ ���������
- ��������� ��� � ���������� �������� ����� ������������ �������� ���]]
},
},
{
version = '2.3',
date = '14.05.2021',
text = {
'������ ����������� �� ���������� rkeys',
'������ ����������� �� ���������� fAwesome5',
'��������� ������ ������ ������ ���������',
'�������������� � �������� ������� �������� ������ ��
�������',
'��������� png �������� ������ ���������� � ����',
'��������� ���� � ������',
},
},
{
version = '2.4',
date = '16.05.2021',
text = {
'��������� ������ ������ � ���� ������������ /ashdep',
'������ ������ ���������',
'������� ������-���� ����',
'������� ������� ��������� �� ����������� �������� ��-��
������������',
'��������� ��������� 16-�� ������� (Gilbert)',
'���������� ������� �����������',
'������ ��� ������ �������� � 5-�� �����',
},
patches = {
active = false,
text = [[
- ��������� ������ ������� �������� �� ����������
- ��������� ��� � ������ /givelicense �������������]]
},
},
{
version = '2.5',
date = '25.07.2021',
text = {
'��������� ������������� �������',
'������� ������ ����� �� 2-�� �����',
'���������� ������� �������� ������',
'�������� ������ ���������� ������� � �������� ������',
},
patches = {
active = false,
text = [[ - ��������� ��� � ������ ������� ��� �����������
����� �����]]
},
},
{
version = '2.6',
date = '28.08.2021',
text = {
'��������� ��������� 17-�� ������� (Show Low)',
},
patches = {
active = false,
text = [[
- ��������� ���� ��� �������� ������� '���� �� ����'
- ��������� ��� � ��������������� ������/��������
- ��������� ������������������� ������� ��-�� �������� ������� �� R3]]
},
},
{
version = '2.7',
date = '02.11.2021',
text = {
'��������� ������ �������� ����� ���������� � �������',
'��������� ������� /expel',
'������ ����� � ������� �������������� � ������',
'��������� ��������� 18-�� ������� (Casa-Grande)',
},
},
{
version = '3.0',
date = '11.12.2021',
text = {
'��������� ���������� � ������ ��������� � /ash',
'�������� ����� ��������� � ��� �������� �������',
'������ ����������� � �������������� ����',
'�������� ������� �������� � ��������� ����������, ������
��������� ������ ������������ ��',
'��������� ����������, �������',
'��������� ��������� �MoonMonet�',
'������ ������� �� mimgui',
'�������� ������� �������� � �������� ���������',
'��������� ������� � �������� ������ � ����������� ��
������ ������� (������� ���� ���� � ������ 13.11.2021, ��� ��������� ������
������)',
'��������� ������� \'���������\', � ������� �����
���������: �������� ���. ����� ��� ������� �������� �� ������, �����; ������
����� \'���������\' �� \'���\'; ��������� �������� ����� ����������',
'��������� �������� �������� ������ � �������� �
�������������.',
'������� ������� �������� �������, ������ ������ ��������
�� ���� ��������.',
},
patches = {
active = false,
text = [[
- ��������� ���� ������� ��� ��������� ������������� ���������� ����������
- ��������� ��� � ����������� �������� /ashupd
- ��������� ��� � �������� ��� �������� ������� ��� ����� ����
- ��������� ��� � �������� ��������� ����� ��� �������� �������
- �������� ��������� ���������]]
},
},
{
version = '3.1',
date = '13.03.2022',
text = {
'��������� ��� � \'�� �����\' ����� /do � /todo',
'�������� ���������� ����� ����������� �� ������ ({LINK:���
Cosmo||https://www.blast.hk/threads/59761/})',
'�������� ������� /expel �� ��� + G (�� ��������)',
'��������� ������ ���������� ����� ���������� � ����� � ��
�����',
'��������/��������� ��������� ��������� {HINT:1. nRP ��� �
������ ������������\n2. ��������� �������� � �������� �� ��\n3. ���������
�������������� ������\n4. ���������� ������ �� �� ����� ��� �������}',
'�������� ������� PNG ������ {HINT:������ ������ 10-��
������ ����� ��������� ����� ����}',
},
patches = {
active = false,
text = [[
- ������ �� � 5 ������ ����� /do � /todo
- ��������� ����������� ��� � ������]]
},
},
{
version = '3.2',
date = '07.08.2022',
text = {
'��������� ������ ����������� ������',
'������ ����� ������ ������ \'�������\' ����� ������������
�������',
'�������� ��������� /expel',
'��������� ������������� �������� � �������',
},
patches = {
active = false,
text = [[
- ��������� ����������� ��� � ������
- ��������� ������� �� ������ ��������
- ��������� ���������� �����]]
},
},
{
version = '3.3',
date = '05.03.2023',
text = {
'������ ����������� �� lfs',
'������ ����������� �� PNG ������, ������ ��� �������
���������������',
'�������� ������� ��������� ������ �������',
'������ ��������� �������� �������',
'��������� ��� ������� �������� �� ����������',
},
},
},
}
default_lect = {
active = { bool = false, name = nil, handle = nil },
data = {
{
name = '������� ��������� �������',
text = {
'������� ����������, ������ � ������� ����� �� ���� ������
��������� �������.',
'�������� ������ ���������� ��������� � ����������� ������
�� ��������.',
'������� ���������� �������� ������� ��������� �������
������������ �� ���.�������.',
'���������� ���������� ��� ����� �������� � ���� ��������,
� ������ ������ - ����������.',
'��� �� ����� �������� ����� ������ ����� ��������� �
�����������...',
'������� �� ��������, ����� ��������.'
}
},
{
name = '����������� � ���������',
text = {
'������� ����������! ��������� �������.',
'����� ��� �������� ����������� � ���������...',
'� ������� �� ��������� ���������� ��������� �� \'��\'.',
'����� , ��������� ���������� ��������� , � ���������
�����������...',
'�� ����� �������� , ����� ��������� ��������.',
'�������� �� ��������!',
'����� �� �������� �����������.'
}
},
{
name = '������� � ����',
text = {
'������ � �������� ��� ����� �� ���� \'������� � ����\'.',
'���� ��������� ��� � ���, ��� � ���� ���������...',
'��������� ������, �����������, ��������� � �.�.',
'��� �� � ���� ����� ��������� � ������ �������� �����
�����.',
'�� ������ �������� � ��� ������� ����. ��� ���������
��������� �� ������ �������.',
'������� �� ��������. ������ ���������� ��������.'
}
},
{
name = '�������� ������� ���������',
text = {
'C����� � ������� ����� �� ���� \'�������� �������
���������\'.',
'����������� ��������� ��������� ����������� �������
����.',
'����������� ��������� ��������� � ������� ���� ��������
���������.',
'����������� ��������� ��������� � ������� ���� ��������
������.',
'����������� ��������� ��������� � ������� ���� ��������
���� ����������.',
'����������� ��������� ��������� ������ ��� ����
������������� ������.',
'����������� ��������� ��������� ������ � ������
���������.',
'����������� ��������� ��������� ���������� �����������
������� � ������� ����.',
'�� ���� � ��� ��, ������� �� ��������.'
}
},
{
name = '������� ����',
text = {
'��������� ����������, ��������� �������!',
'������ � ������� ����� �� ���� ������� ����.',
'���������� � ������� ���� ������ ��������� � �����
��������� � �����.',
'�� ������ �������� �� ��������� ������� ������� ���
����������.',
'� ������������ �� ������ ������� ���� � 9:00 �� 19:00.',
'� ������� � ����������� ������� ���� � 10:00 �� 18:00.',
'� �� ������� ���� ��� � ���� ��������� ����� �������� ����
���������.',
'�� ����� ���� ���������� ����� ���� �����.',
'���� ��� � 13:00 �� 14:00.',
'�� ���� � ��� ��, ������� �� ��������.'
}
}
}
}
servers = {}