do if type(getrlyunyz) ~= 'function' then gg.alert('请使用RLGG执行') os.exit() return end local info = { example_version = '1.0.3', name = '境科技', appid = '101750', appkey = 'c4Xe1as94kbw144n', rc4key = 'ktD16LDLbZQKQ4do', version = '1.0', mi_type = '3' } local rlyunyz = getrlyunyz(info) local ret = rlyunyz.start() if not ret or not isTable(ret) or ret.sign ~= '404da4b0b98a688132abfbdcafbc56fc' then os.exit() return end end -- 把以上代码复制到你脚本最前面即可 --作者绝境 --QQ2621314172 --液态玻璃效果由 KT 开发 --仅做移植 --github仓库https://github.com/Kyant0/AndroidLiquidGlass --该UI为开源圈钱死全家 资源目录 = gg.FILES_DIR .. "/沐小天/" baseDir = gg.FILES_DIR .. "/沐小天" zip = gg.FILES_DIR .. "/沐小天.zip" filesDir = gg.FILES_DIR .. "/" function 文件存在(p) local f = io.open(p, "r") if f then f:close() return true end return false end function 删除(path) os.execute("rm -rf '" .. path .. "'") end ---------------------------------------------------------------- -- 日志:所有提示统一记录,设置页里可弹窗查看 ---------------------------------------------------------------- 日志表 = {} function 日志(t) t = tostring(t) local ts = os.date("%H:%M:%S") table.insert(日志表, ts .. " " .. t) if #日志表 > 300 then table.remove(日志表, 1) end pcall(function() gg.toast(t) end) end function 查看日志() if #日志表 == 0 then gg.alert("暂无日志") return end local from = math.max(1, #日志表 - 80) local lines = {} for i = from, #日志表 do lines[#lines + 1] = 日志表[i] end gg.alert(table.concat(lines, "\n")) end function 清空日志() 日志表 = {} 日志("日志已清空") end -- 原来 确保配置目录 定义在 200 行往后还是 local, -- 导出日志这里调用时拿到的是 nil,点「导出日志」必报错; -- 提前定义成全局,后面所有地方(保存配置/调试/扫描相册)都能用 function 确保配置目录() pcall(function() os.execute("mkdir -p '" .. 配置目录 .. "' 2>/dev/null") end) end function 导出日志() 确保配置目录() local path = 配置目录 .. "log.txt" local f = io.open(path, "w") if f then f:write(table.concat(日志表, "\n")) f:close() 日志("日志已导出:" .. path) else 日志("日志导出失败") end end function 下载并解压() 日志("正在下载资源配置") file.download("https://image.rlyun.fun/down.php/43f4d4890764c8cdf428abc2217f45f9.zip", zip) gg.alert("资源下载完成,正在解压") file.unzip(zip, filesDir) os.remove(zip) gg.alert("资源解压完成") end if 文件存在(资源目录 .. "2.TXT") then else 删除(baseDir) 下载并解压() end 字体路径 = "" 宽度 = "40dp" 高度 = "40dp" local material3 = require "material3" local context = material3:getContext() import 'com.google.android.material.bottomnavigation.BottomNavigationView' import 'com.google.android.material.navigation.NavigationView' import 'com.google.android.material.button.MaterialButton' import "com.google.android.material.progressindicator.*" import "com.google.android.material.dialog.MaterialAlertDialogBuilder" import "com.google.android.material.slider.Slider" import "com.google.android.material.materialswitch.MaterialSwitch" import "com.google.android.material.card.MaterialCardView" import "android.graphics.PorterDuff" import "android.graphics.PorterDuffColorFilter" context:setTheme(0x7f090009) local View = import('android.view.View') local MotionEvent = import('android.view.MotionEvent') local WindowManager = import('android.view.WindowManager') local Gravity = import('android.view.Gravity') local PixelFormat = import('android.graphics.PixelFormat') local GradientDrawable = import('android.graphics.drawable.GradientDrawable') local Build = import('android.os.Build') local FrameLayout = import('android.widget.FrameLayout') local LinearLayout = import('android.widget.LinearLayout') local TextView = import('android.widget.TextView') local ImageView = import('android.widget.ImageView') local ScrollView = import('android.widget.ScrollView') local Button = import('android.widget.Button') local SeekBar = import('android.widget.SeekBar') local CheckBox = import('android.widget.CheckBox') MXT = {} local ui = require('ui') YoYoImpl = luajava.getYoYoImpl() LiquidGlassDex = dex.loadfile(资源目录 .. 'LiquidGlass.dex') LiquidToggleClass = LiquidGlassDex:loadClass('MXT.com.liquidglass.java.miba.LiquidToggle') LiquidSliderClass = LiquidGlassDex:loadClass('MXT.com.liquidglass.java.miba.LiquidSlider') LiquidButtonClass = LiquidGlassDex:loadClass('MXT.com.liquidglass.java.miba.LiquidButton') LiquidBottomTabsClass = LiquidGlassDex:loadClass('MXT.com.liquidglass.java.miba.LiquidBottomTabs') ApiClass = LiquidGlassDex:loadClass('MXT.com.liquidglass.java.miba.LiquidGlassApi') ApiClass:setPrinter(print) ApiClass:loginWithCard('沐小天') if 字体路径 ~= nil and 字体路径 ~= "" then ApiClass:setGlobalFontPath(字体路径) end function liquidGlassInt(color) color = tonumber(color) or 0 if color > 0x7fffffff then color = color - 0x100000000 end return color end local function dpToPx(dp) return dp * (luajava.bindClass("android.content.res.Resources").getSystem():getDisplayMetrics().densityDpi / 160) end screenW = context:getResources():getDisplayMetrics().widthPixels screenH = context:getResources():getDisplayMetrics().heightPixels local uid = 0 local function newUid() uid = uid + 1 return uid end ---------------------------------------------------------------- -- 配置(面板透明度 / 主题 / 动画速度 / 悬浮球透明度 / 窗口锁定) ---------------------------------------------------------------- local SystemClock = luajava.bindClass('android.os.SystemClock') 配置目录 = "/sdcard/绝境UI/" 配置文件 = 配置目录 .. "ui_config.txt" 默认配置 = { 面板透明度 = 100, 深色主题 = false, 动画速度 = 100, 悬浮球透明度 = 100, 窗口锁定 = false, 液态玻璃 = true, 面板圆角 = 20, 悬浮球大小 = 40, 背景图 = "", 窗口X = -1, 窗口Y = -1, } 配置 = {} for k, v in pairs(默认配置) do 配置[k] = v end 控件表 = {} 初始化队列 = {} function 加入初始化(fn) 初始化队列[#初始化队列 + 1] = fn end function 执行初始化() local 队列 = 初始化队列 初始化队列 = {} for i = 1, #队列 do local ok, err = pcall(队列[i]) if not ok then print("[UI初始化失败] " .. tostring(err)) end end end -- 确保配置目录 已在文件开头统一定义(全局),这里不再重复 function 读配置() local f = io.open(配置文件, "r") if not f then return end for line in f:lines() do -- 原来用 [%w_]+ 匹配键名,中文键(面板透明度 等)永远匹配不上, -- 导致设置每次启动都被重置;改成按第一个 = 切分 local k, v = line:match("^%s*([^=]+)%s*=%s*(.-)%s*$") if k then k = k:match("^%s*(.-)%s*$") if 默认配置[k] ~= nil then if type(默认配置[k]) == "boolean" then 配置[k] = (v == "true") elseif type(默认配置[k]) == "string" then 配置[k] = v else 配置[k] = tonumber(v) or 默认配置[k] end end end end f:close() end function 保存配置() 确保配置目录() local f = io.open(配置文件, "w") if not f then return end for k, v in pairs(配置) do if type(v) == "boolean" then v = v and "true" or "false" end f:write(k .. "=" .. tostring(v) .. "\n") end f:close() end local function 动画时长() return math.max(1, math.floor(400 * (配置.动画速度 or 100) / 100)) end local function 面板图透明度() local a = (配置.面板透明度 or 100) / 100 if 配置.深色主题 then a = a * 0.55 end return a end function 应用面板() luajava.runUiThread(function() local base = 配置.深色主题 and 0xff1b1b1b or 0xffffffff if ckou then pcall(function() ckou:setBackground(getVerticalBG({base}, 配置.面板圆角 or 20)) end) end if 背景视图 then pcall(function() 背景视图:setAlpha(面板图透明度()) end) end end) end function 应用主题() luajava.runUiThread(function() local base = 配置.深色主题 and 0xff1b1b1b or 0xffffffff if ckou then pcall(function() ckou:setBackground(getVerticalBG({base}, 配置.面板圆角 or 20)) end) end if 背景视图 then pcall(function() 背景视图:setAlpha(面板图透明度()) end) end local c = 配置.深色主题 and 0xffffffff or 0xff161616 for i = 1, #MXT do local v = MXT[i] pcall(function() v:setTextColor(liquidGlassInt(c)) end) pcall(function() v:setLabelColor(liquidGlassInt(c)) end) end if BottomTabs then pcall(function() BottomTabs:setAccentColor(liquidGlassInt(0xff2196F3)) end) end end) end function 应用球() luajava.runUiThread(function() if control then pcall(function() control:setAlpha((配置.悬浮球透明度 or 100) / 100) end) pcall(function() local sz = dpToPx(配置.悬浮球大小 or 40) local lp = control:getLayoutParams() if lp then lp.width = sz lp.height = sz control:setLayoutParams(lp) end end) end end) end function 应用玻璃() luajava.runUiThread(function() local on = 配置.液态玻璃 ~= false for i = 1, #MXT do local v = MXT[i] pcall(function() v:setAutoBackdropEnabled(on) end) end end) end function 重置窗口位置() luajava.runUiThread(function() if not window or not mainLayoutParams then return end local ww = mainLayoutParams.width or 0 local hh = mainLayoutParams.height or 0 mainLayoutParams.x = math.max(0, math.floor((screenW - ww) / 2)) mainLayoutParams.y = math.max(0, math.floor((screenH - hh) / 2)) window:updateViewLayout(floatWindow, mainLayoutParams) 配置.窗口X = mainLayoutParams.x 配置.窗口Y = mainLayoutParams.y 保存配置() 日志("窗口已回到屏幕中间") end) end local 图片后缀 = {".jpg", ".jpeg", ".png", ".webp", ".bmp"} local function 是图片名(n) local l = n:lower() for i = 1, #图片后缀 do local t = 图片后缀[i] if #l >= #t and l:sub(-#t) == t then return true end end return false end function 扫描相册图片() local 目录表 = {"/sdcard/DCIM/Camera/", "/sdcard/DCIM/", "/sdcard/Pictures/", "/sdcard/Download/"} local 列表, 已见 = {}, {} 确保配置目录() for i = 1, #目录表 do local tmp = 配置目录 .. "ls_" .. i .. ".txt" pcall(function() os.execute("ls -1 '" .. 目录表[i] .. "' > '" .. tmp .. "' 2>/dev/null") end) local f = io.open(tmp, "r") if f then for line in f:lines() do line = line:match("^%s*(.-)%s*$") if line ~= "" and 是图片名(line) then local 全 = 目录表[i] .. line if not 已见[全] then 已见[全] = true 列表[#列表 + 1] = 全 end end end f:close() os.remove(tmp) end if #列表 >= 60 then break end end return 列表 end local function 取背景图(p) if not p or p == "" then return nil end local ok, d = pcall(function() return luajava.getBitmapDrawable(p) end) if ok then return d end return nil end function 应用背景路径(p, 记住) p = tostring(p or "") if p == "" then p = 默认背景 end local 用图 = nil if p:lower():find("^http") then 确保配置目录() local 本地 = 配置目录 .. "bg.jpg" pcall(function() file.download(p, 本地) end) if 文件存在(本地) then 用图 = 取背景图(本地) end if not 用图 then 用图 = 取背景图(p) end else 用图 = 取背景图(p) end if not 用图 then gg.alert("背景图加载失败:\n" .. p) return false end luajava.runUiThread(function() if 背景视图 then pcall(function() 背景视图:setImageDrawable(用图) end) end end) 背景 = p if 记住 then 配置.背景图 = p 保存配置() end return true end function 背景菜单() local 选项 = {"从相册选择", "输入图片路径", "输入图片链接", "恢复默认背景", "取消"} local c = gg.choice(选项, nil, "自定义背景图") if not c then return end if c == 1 then local 图片 = 扫描相册图片() if #图片 == 0 then gg.alert("没扫描到图片,可以手动输入路径") return end 图片[#图片 + 1] = "取消" local d = gg.choice(图片, nil, "选择背景图片") if d and d <= #图片 - 1 then if 应用背景路径(图片[d], true) then 日志("背景已更新") end end elseif c == 2 then local r = gg.prompt({"图片路径"}, {背景}, {"text"}) if r and r[1] and r[1] ~= "" then if 应用背景路径(r[1], true) then 日志("背景已更新") end end elseif c == 3 then local r = gg.prompt({"图片链接(http 开头)"}, {"https://"}, {"text"}) if r and r[1] and r[1] ~= "" and r[1] ~= "https://" then if 应用背景路径(r[1], true) then 日志("背景已更新") end end elseif c == 4 then 配置.背景图 = "" 保存配置() 背景 = 默认背景 local d = 取背景图(默认背景) if d then luajava.runUiThread(function() if 背景视图 then pcall(function() 背景视图:setImageDrawable(d) end) end end) end 日志("已恢复默认背景") end end function 关于() gg.alert("作者:绝境\nQQ:2621314172") end function 应用全部() 应用面板() 应用球() 应用主题() 应用玻璃() end function 重置配置() for k, v in pairs(默认配置) do 配置[k] = v end 保存配置() 应用全部() local 拉条值 = { ["面板透明度 (%)"] = 配置.面板透明度, ["动画速度 (%)"] = 配置.动画速度, ["悬浮球透明度 (%)"] = 配置.悬浮球透明度, ["面板圆角"] = 配置.面板圆角, ["悬浮球大小 (dp)"] = 配置.悬浮球大小, } for name, v in pairs(控件表) do if 拉条值[name] then pcall(function() v:setValue(拉条值[name], false) end) end end pcall(function() if 控件表["深色主题"] then 控件表["深色主题"]:setSelected(false, false) end end) pcall(function() if 控件表["锁定窗口"] then 控件表["锁定窗口"]:setSelected(false, false) end end) pcall(function() if 控件表["液态玻璃效果"] then 控件表["液态玻璃效果"]:setSelected(true, false) end end) pcall(function() 背景 = 默认背景 local d = 取背景图(默认背景) if d then luajava.runUiThread(function() if 背景视图 then pcall(function() 背景视图:setImageDrawable(d) end) end end) end end) 日志("已恢复出厂设置") end 读配置() ---------------------------------------------------------------- -- 回森进程选择(首页按钮:自动 / 手动) ---------------------------------------------------------------- 回森包名 = "com.kwai.hisense" 回森包名候选 = {"com.kwai.hisense", "com.kwai.huishen"} local function 当前进程包名() local cur = "" pcall(function() cur = tostring(gg.getTargetPackage()) end) return cur end function 是回森(pkg) if not pkg or pkg == "" then return false end for i = 1, #回森包名候选 do if pkg == 回森包名候选[i] then return true end end return pkg:find("hisense", 1, true) ~= nil or pkg:find("huishen", 1, true) ~= nil end local function 设置进程(pkg) if type(gg.setProcess) ~= "function" then return false end pcall(function() gg.setProcess(pkg) end) gg.sleep(500) if type(gg.getTargetPackage) ~= "function" then return true end return 当前进程包名() == pkg end function 查找回森包名() local found = nil pcall(function() local pm = context:getPackageManager() local list = pm:getInstalledPackages(0) for i = 0, list:size() - 1 do local pi = list:get(i) local pn = tostring(pi.packageName) local label = "" pcall(function() label = tostring(pm:getApplicationLabel(pi)) end) if pn == 回森包名 or label:find("回森", 1, true) then found = pn break end end end) return found end function 自动选择进程() local cur = 当前进程包名() if 是回森(cur) then 日志("当前已经是回森:" .. cur) 设置状态("当前已经是回森:" .. cur) return true, cur end for i = 1, #回森包名候选 do if 设置进程(回森包名候选[i]) then 日志("已附加到回森:" .. 回森包名候选[i]) 设置状态("已附加到回森:" .. 回森包名候选[i]) return true, 回森包名候选[i] end end local pkg = 查找回森包名() if pkg and 设置进程(pkg) then 日志("已附加到回森:" .. pkg) 设置状态("已附加到回森:" .. pkg) return true, pkg end 日志("回森还没打开,请先点「自动打开回森」") 设置状态("回森还没打开,请先点「自动打开回森」") return false, nil end ---------------------------------------------------------------- -- 自动打开回森(只负责把回森拉起来,和选进程互不关联) ---------------------------------------------------------------- local function 启动应用(pkg) -- 1) RLGG 文档接口:app.start(packageName)(app.startActivity 需要 Intent,不能直接传包名) local ok1 = pcall(function() app.start(pkg) end) -- 2) 标准 Android Intent(FLAG_ACTIVITY_NEW_TASK) local ok2 = pcall(function() local pm = context:getPackageManager() local it = pm:getLaunchIntentForPackage(pkg) if it then it:addFlags(0x10000000) context:startActivity(it) end end) -- 3) root shell:monkey / am start(ADB 权限) local ok3 = pcall(function() local sh = newShell(true) if sh then sh.cmd("monkey -p " .. pkg .. " -c android.intent.category.LAUNCHER 1") sh.cmd("am start -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -p " .. pkg) sh.destroy() end end) -- 4) 普通 shell 兜底 pcall(function() os.execute("monkey -p " .. pkg .. " -c android.intent.category.LAUNCHER 1") end) return ok1, ok2, ok3 end local function 前台包名() local top = "" pcall(function() local sh = newShell(true) if sh then top = sh.cmd("dumpsys activity activities | grep -E 'mResumedActivity|topResumedActivity' | head -n 1") sh.destroy() end end) if type(top) ~= "string" then return "" end return top:match("([%w_%.]+)/[%w_%.$]+") or "" end function 自动打开回森() local cur = 当前进程包名() local fg0 = 前台包名() if 是回森(cur) or 是回森(fg0) then local got = 是回森(cur) and cur or fg0 日志("回森已经在运行:" .. got) 设置状态("回森已经在运行:" .. got) return true, got end local pkg = nil for i = 1, #回森包名候选 do local 已装 = false pcall(function() 已装 = gg.isPackageInstalled(回森包名候选[i]) end) if 已装 then pkg = 回森包名候选[i] break end end if not pkg then pkg = 查找回森包名() end if not pkg then 日志("没找到回森,请确认模拟器里已安装") 设置状态("没找到回森,请确认模拟器里已安装") return false, nil end 设置状态("正在打开回森…") 日志("正在打开回森:" .. pkg) local a, b, c = 启动应用(pkg) print(string.format("[启动回森] app.start=%s intent=%s shell=%s", tostring(a), tostring(b), tostring(c))) gg.sleep(2500) local now = 当前进程包名() local fg = 前台包名() if 是回森(now) or 是回森(fg) then local got = 是回森(now) and now or fg 设置状态("回森已打开:" .. got) 日志("回森已打开:" .. got) return true, got end 设置状态(string.format("启动失败:app.start=%s intent=%s shell=%s", tostring(a), tostring(b), tostring(c))) 日志("启动命令已发,若没弹出来请检查 RLGG 的 root/后台弹出权限") return false, pkg end function 手动选择进程() if type(gg.setProcessX) == "function" then pcall(function() gg.setProcessX() end) else gg.alert("当前环境不支持手动选择进程") end end function 查看当前进程() local cur = 当前进程包名() local fg = 前台包名() gg.alert("当前目标进程:" .. (cur ~= "" and cur or "未选择") .. "\n前台应用:" .. (fg ~= "" and fg or "未知")) end function 退出确认() if gg.choice({"退出脚本", "取消"}, nil, "确定要退出吗?") == 1 then 退出() end end -- 把窗口夹在屏幕内:原来只挡了 x<=0,往右/往下拖能把面板拖出屏幕再也点不到 local function 限制窗口位置() if not mainLayoutParams then return end local ww = tonumber(mainLayoutParams.width) or 0 local hh = tonumber(mainLayoutParams.height) or 0 if ww <= 0 then ww = 窗宽 or 0 end if hh <= 0 then hh = 窗高 or 0 end local maxX = screenW - ww local maxY = screenH - hh if maxX < 0 then maxX = 0 end if maxY < 0 then maxY = 0 end if mainLayoutParams.x < 0 then mainLayoutParams.x = 0 end if mainLayoutParams.x > maxX then mainLayoutParams.x = maxX end if mainLayoutParams.y < 0 then mainLayoutParams.y = 0 end if mainLayoutParams.y > maxY then mainLayoutParams.y = maxY end end -- 占位:底部 10dp 条原来绑了一个不存在的 yinc,某些 DSL 版本会给 nil 设监听直接报错 function yinc() end hanshu = function(v, event) if 配置.窗口锁定 then return end local Action = event:getAction() if Action == MotionEvent.ACTION_DOWN then RawX = event:getRawX() RawY = event:getRawY() x = mainLayoutParams.x y = mainLayoutParams.y elseif Action == MotionEvent.ACTION_MOVE then mainLayoutParams.x = tonumber(x) + (event:getRawX() - RawX) mainLayoutParams.y = tonumber(y) + (event:getRawY() - RawY) 限制窗口位置() window:updateViewLayout(floatWindow, mainLayoutParams) elseif Action == MotionEvent.ACTION_UP then mainLayoutParams.x = tonumber(x) + (event:getRawX() - RawX) mainLayoutParams.y = tonumber(y) + (event:getRawY() - RawY) 限制窗口位置() window:updateViewLayout(floatWindow, mainLayoutParams) 配置.窗口X = mainLayoutParams.x 配置.窗口Y = mainLayoutParams.y 保存配置() end end function getVerticalBG(gtvb1, gtvb3, gtvb4, gtvb5) if not gtvb4 then gtvb4 = 0 gtvb5 = 0xff161616 end local jb = luajava.new(GradientDrawable) jb:setShape(GradientDrawable.RECTANGLE) jb:setCornerRadius(gtvb3) if #gtvb1 == 1 then jb:setColor(gtvb1[1]) else jb:setGradientType(GradientDrawable.LINEAR_GRADIENT) jb:setColors(gtvb1) end jb:setStroke(gtvb4, gtvb5) return jb end function getLayoutParams() LayoutParams = WindowManager.LayoutParams local lp = luajava.new(LayoutParams) if (Build.VERSION.SDK_INT >= 26) then lp.type = LayoutParams.TYPE_APPLICATION_OVERLAY else lp.type = LayoutParams.TYPE_PHONE end lp.format = PixelFormat.RGBA_8888 lp.flags = LayoutParams.FLAG_NOT_FOCUSABLE lp.gravity = Gravity.LEFT | Gravity.TOP lp.width = LayoutParams.WRAP_CONTENT lp.height = LayoutParams.WRAP_CONTENT return lp end mainLayoutParams = getLayoutParams() window = context:getSystemService("window") function 退出() tuichu = 1 luajava.setFloatingWindowHide(false) end w = tonumber(宽度:match("%d+")) h = tonumber(高度:match("%d+")) 显示 = 1 function 隐藏() luajava.runUiThread(function() if 显示 == 0 then 显示 = 1 control:setVisibility(View.GONE) chuangk:setVisibility(View.VISIBLE) chuangk:setAlpha(1) mainLayoutParams.width = 窗宽 mainLayoutParams.height = 窗高 mainLayoutParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL window:updateViewLayout(floatWindow, mainLayoutParams) YoYoImpl:with("FadeIn"):duration(动画时长()):playOn(ckou) else 显示 = 0 mainLayoutParams.width = dpToPx(配置.悬浮球大小 or w) mainLayoutParams.height = dpToPx(配置.悬浮球大小 or h) chuangk:setVisibility(View.GONE) control:setVisibility(View.VISIBLE) mainLayoutParams.flags = LayoutParams.FLAG_NOT_FOCUSABLE window:updateViewLayout(floatWindow, mainLayoutParams) YoYoImpl:with("FadeIn"):duration(动画时长()):playOn(control) end end) end local 上次球点击 = 0 function 悬浮球点击() local now = SystemClock:uptimeMillis() if 上次球点击 > 0 and now - 上次球点击 < 350 then 上次球点击 = 0 日志("双击悬浮球,关闭脚本") 退出() return end 上次球点击 = now 隐藏() end local gomokuView = (function() local Bitmap = luajava.bindClass('android.graphics.Bitmap') local BitmapConfig = luajava.bindClass('android.graphics.Bitmap$Config') local Canvas = luajava.bindClass('android.graphics.Canvas') local Paint = luajava.bindClass('android.graphics.Paint') local PaintStyle = luajava.bindClass('android.graphics.Paint$Style') local Color = luajava.bindClass('android.graphics.Color') local ImageView = luajava.bindClass('android.widget.ImageView') local ScaleType = luajava.bindClass('android.widget.ImageView$ScaleType') local LinearLayout = luajava.bindClass('android.widget.LinearLayout') local TextView = luajava.bindClass('android.widget.TextView') local Button = luajava.bindClass('android.widget.Button') local GradientDrawable = luajava.bindClass('android.graphics.drawable.GradientDrawable') local function spc(p, c) p:setARGB(math.floor(c / 0x1000000) % 0x100, math.floor(c / 0x10000) % 0x100, math.floor(c / 0x100) % 0x100, c % 0x100) end local N = 15 local EMPTY, BLACK, WHITE = 0, 1, 2 local DIRS = {{1, 0}, {0, 1}, {1, 1}, {1, -1}} local STARS = {{4, 4}, {4, 12}, {12, 4}, {12, 12}, {8, 8}} local C_STATUS = Color:parseColor('#666666') local C_PURPLE = Color:parseColor('#9C27B0') local C_BLUE = Color:parseColor('#2196F3') local C_ORANGE = Color:parseColor('#FF9800') local C_GREY = Color:parseColor('#607D8B') local C_WHITE_TEXT = Color:parseColor('#FFFFFF') local board, current, over, winLine, steps, history local boardIv, statusTv, modeBtn, soundBtn local boardSize, padding, cellSize local aiThinking = false local boardBmp, boardCvs local paintBg, paintLine, paintStar, paintShadow, paintBlack, paintWhite, paintWhiteEdge, paintWin local resourcesReady = false local MODES = {'pve_b', 'pve_w', 'pvp'} local MODE_NAMES = {pve_b = '人机·黑', pve_w = '人机·白', pvp = '双人对战'} local modeIdx = 1 local gameMode = MODES[modeIdx] local soundOn = true local function ps(t) if not soundOn then return end pcall(function() string.toMusic(t) end) end local function resetState() board = {} for y = 1, N do board[y] = {} for x = 1, N do board[y][x] = EMPTY end end current, over, winLine, steps, history = BLACK, false, nil, 0, {} aiThinking = false end resetState() local function checkWin(x, y, c) for _, d in ipairs(DIRS) do local line = {{x, y}} local nx, ny = x + d[1], y + d[2] while nx >= 1 and nx <= N and ny >= 1 and ny <= N and board[ny][nx] == c do line[#line + 1] = {nx, ny} nx, ny = nx + d[1], ny + d[2] end nx, ny = x - d[1], y - d[2] while nx >= 1 and nx <= N and ny >= 1 and ny <= N and board[ny][nx] == c do table.insert(line, 1, {nx, ny}) nx, ny = nx - d[1], ny - d[2] end if #line >= 5 then return line end end return nil end local function lineValue(r, c, dc, dr, color) local cnt = 1 local oa, ob = 0, 0 local nc, nr = c + dc, r + dr while nc >= 1 and nc <= N and nr >= 1 and nr <= N do local v = board[nr][nc] if v == color then cnt = cnt + 1 elseif v == EMPTY then oa = 1 break else break end nc, nr = nc + dc, nr + dr end nc, nr = c - dc, r - dr while nc >= 1 and nc <= N and nr >= 1 and nr <= N do local v = board[nr][nc] if v == color then cnt = cnt + 1 elseif v == EMPTY then ob = 1 break else break end nc, nr = nc - dc, nr - dr end local open = oa + ob if cnt >= 5 then return 1000000 end if cnt == 4 then if open == 2 then return 100000 elseif open == 1 then return 10000 else return 0 end elseif cnt == 3 then if open == 2 then return 5000 elseif open == 1 then return 500 else return 0 end elseif cnt == 2 then if open == 2 then return 200 elseif open == 1 then return 50 else return 0 end elseif cnt == 1 then if open == 2 then return 10 elseif open == 1 then return 1 else return 0 end end return 0 end local function pointScore(r, c, color) local t = 0 for _, d in ipairs(DIRS) do t = t + lineValue(r, c, d[1], d[2], color) end return t end local function hasNeighbor(r, c) for dy = -2, 2 do for dx = -2, 2 do if not (dx == 0 and dy == 0) then local nx, ny = c + dx, r + dy if nx >= 1 and nx <= N and ny >= 1 and ny <= N and board[ny][nx] ~= EMPTY then return true end end end end return false end local function aiChoose(ac) local hc = 3 - ac if steps == 0 then return 8, 8 end local bs, br, bc = -1, nil, nil for r = 1, N do for c = 1, N do if board[r][c] == EMPTY and hasNeighbor(r, c) then local s = pointScore(r, c, ac) * 1.1 + pointScore(r, c, hc) if s > bs then bs, br, bc = s, r, c end end end end if not br then for r = 1, N do for c = 1, N do if board[r][c] == EMPTY then return r, c end end end end return br, bc end local function initDraw() if resourcesReady then return end boardBmp = Bitmap:createBitmap(boardSize, boardSize, BitmapConfig.ARGB_8888) boardCvs = Canvas(boardBmp) paintBg = Paint() spc(paintBg, 0xFFE8C48A) paintLine = Paint() spc(paintLine, 0xFF5D4037) paintLine:setStrokeWidth(2) paintLine:setAntiAlias(true) paintStar = Paint() spc(paintStar, 0xFF5D4037) paintStar:setAntiAlias(true) paintShadow = Paint() paintShadow:setAntiAlias(true) spc(paintShadow, 0x3A000000) paintBlack = Paint() paintBlack:setAntiAlias(true) spc(paintBlack, 0xFF000000) paintWhite = Paint() paintWhite:setAntiAlias(true) spc(paintWhite, 0xFFFFFFFF) paintWhiteEdge = Paint() paintWhiteEdge:setAntiAlias(true) spc(paintWhiteEdge, 0xFF999999) paintWhiteEdge:setStyle(PaintStyle.STROKE) paintWhiteEdge:setStrokeWidth(2) paintWin = Paint() paintWin:setAntiAlias(true) spc(paintWin, 0xFFFF0000) paintWin:setStyle(PaintStyle.STROKE) paintWin:setStrokeWidth(6) resourcesReady = true end local function renderBoard() if not boardIv then return end initDraw() local cvs = boardCvs cvs:drawRect(0, 0, boardSize, boardSize, paintBg) for i = 0, N - 1 do local p = padding + i * cellSize cvs:drawLine(padding, p, padding + (N - 1) * cellSize, p, paintLine) cvs:drawLine(p, padding, p, padding + (N - 1) * cellSize, paintLine) end for _, s in ipairs(STARS) do local sx = padding + (s[1] - 1) * cellSize local sy = padding + (s[2] - 1) * cellSize cvs:drawCircle(sx, sy, cellSize * 0.09, paintStar) end for y = 1, N do for x = 1, N do if board[y][x] ~= EMPTY then local cx = padding + (x - 1) * cellSize local cy = padding + (y - 1) * cellSize local r = cellSize * 0.42 cvs:drawCircle(cx + 2, cy + 2, r, paintShadow) if board[y][x] == BLACK then cvs:drawCircle(cx, cy, r, paintBlack) else cvs:drawCircle(cx, cy, r, paintWhite) cvs:drawCircle(cx, cy, r, paintWhiteEdge) end end end end if winLine then for _, pt in ipairs(winLine) do cvs:drawCircle(padding + (pt[1] - 1) * cellSize, padding + (pt[2] - 1) * cellSize, cellSize * 0.45, paintWin) end end boardIv:setImageBitmap(boardBmp) boardIv:invalidate() end local function doMove(r, c) if over or board[r][c] ~= EMPTY then return false end board[r][c] = current steps = steps + 1 history[#history + 1] = {r = r, c = c, color = current} if current == BLACK then ps('啪') else ps('咚') end local line = checkWin(c, r, current) if line then over = true winLine = line if statusTv then statusTv:setText(current == BLACK and '⚫ 黑棋 获胜!' or '⚪ 白棋 获胜!') end elseif steps >= N * N then over = true if statusTv then statusTv:setText('平局') end else current = 3 - current if statusTv then statusTv:setText(current == BLACK and '⚫ 黑棋 回合' or '⚪ 白棋 回合') end end renderBoard() return true end local function shouldAIMove() if over then return false end return (gameMode == 'pve_b' and current == WHITE) or (gameMode == 'pve_w' and current == BLACK) end local function maybeAIMove() if not shouldAIMove() or aiThinking then return end aiThinking = true if statusTv then statusTv:setText('🤖 AI 思考中...') end luajava.startThread(function() gg.sleep(250) local ac = current local r, c = aiChoose(ac) luajava.postMain(function() aiThinking = false if not over and r and c then doMove(r, c) end end) end) end local function doUndo() if aiThinking then return end local uc = (gameMode == 'pvp') and 1 or 2 local u = false for _ = 1, uc do local last = table.remove(history) if last then board[last.r][last.c] = EMPTY current = last.color steps = steps - 1 u = true end end if not u then return end over = false winLine = nil if statusTv then statusTv:setText(current == BLACK and '⚫ 黑棋 回合' or '⚪ 白棋 回合') end renderBoard() maybeAIMove() end local function makeBtn(text, bg, fn) local b = Button(context) b:setText(text) b:setTextSize(12) b:setTextColor(C_WHITE_TEXT) b:setAllCaps(false) local gd = GradientDrawable() gd:setColor(bg) gd:setCornerRadius(50) b:setBackground(gd) b:setPadding(dpToPx(6), dpToPx(4), dpToPx(6), dpToPx(4)) b:setMinimumWidth(0) b:setMinimumHeight(0) b:setOnClickListener(luajava.createProxy('android.view.View$OnClickListener', { onClick = function(v) fn() end })) return b end local function wrapParam(b, weight) local p = luajava.newInstance('android.widget.LinearLayout$LayoutParams', 0, -2, weight or 1.0) p:setMargins(dpToPx(3), 0, dpToPx(3), 0) b:setLayoutParams(p) return b end local function handleTouch(px, py) if over or aiThinking then return end if gameMode == 'pve_b' and current == WHITE then return end if gameMode == 'pve_w' and current == BLACK then return end local c = math.floor((px - padding) / cellSize + 0.5) + 1 local r = math.floor((py - padding) / cellSize + 0.5) + 1 if r < 1 or r > N or c < 1 or c > N or board[r][c] ~= EMPTY then return end if doMove(r, c) then maybeAIMove() end end local function build() boardSize = math.floor(math.min(dpToPx(280), screenW - dpToPx(90))) padding = boardSize * 0.06 cellSize = (boardSize - 2 * padding) / (N - 1) resourcesReady = false local root = LinearLayout(context) root:setOrientation(1) root:setGravity(17) root:setPadding(0, dpToPx(10), 0, dpToPx(10)) statusTv = TextView(context) statusTv:setText('⚫ 黑棋 回合') statusTv:setTextSize(14) statusTv:setTextColor(C_STATUS) statusTv:setGravity(17) statusTv:setPadding(0, 0, 0, dpToPx(6)) root:addView(statusTv) boardIv = ImageView(context) boardIv:setLayoutParams(luajava.newInstance('android.widget.LinearLayout$LayoutParams', boardSize, boardSize)) boardIv:setScaleType(ScaleType.FIT_XY) boardIv:setOnTouchListener(luajava.createProxy('android.view.View$OnTouchListener', { onTouch = function(v, event) if event:getAction() == 0 then handleTouch(event:getX(), event:getY()) end return true end })) root:addView(boardIv) local r1 = LinearLayout(context) r1:setOrientation(0) r1:setGravity(17) r1:setLayoutParams(luajava.newInstance('android.widget.LinearLayout$LayoutParams', -1, -2)) modeBtn = makeBtn(MODE_NAMES[gameMode], C_PURPLE, function() modeIdx = (modeIdx % #MODES) + 1 gameMode = MODES[modeIdx] modeBtn:setText(MODE_NAMES[gameMode]) resetState() if statusTv then statusTv:setText('⚫ 黑棋 回合') end renderBoard() maybeAIMove() end) wrapParam(modeBtn) r1:addView(modeBtn) soundBtn = makeBtn(soundOn and '🔊 音效' or '🔇 静音', C_GREY, function() soundOn = not soundOn soundBtn:setText(soundOn and '🔊 音效' or '🔇 静音') end) wrapParam(soundBtn) r1:addView(soundBtn) root:addView(r1) local r2 = LinearLayout(context) r2:setOrientation(0) r2:setGravity(17) r2:setLayoutParams(luajava.newInstance('android.widget.LinearLayout$LayoutParams', -1, -2)) local bR = makeBtn('重开', C_BLUE, function() resetState() if statusTv then statusTv:setText('⚫ 黑棋 回合') end renderBoard() maybeAIMove() end) wrapParam(bR) r2:addView(bR) local bU = makeBtn('悔棋', C_ORANGE, doUndo) wrapParam(bU) r2:addView(bU) root:addView(r2) resetState() renderBoard() maybeAIMove() return root end return build() end)() local weiqiView = (function() local Bitmap = luajava.bindClass('android.graphics.Bitmap') local BitmapConfig = luajava.bindClass('android.graphics.Bitmap$Config') local Canvas = luajava.bindClass('android.graphics.Canvas') local Paint = luajava.bindClass('android.graphics.Paint') local PaintStyle = luajava.bindClass('android.graphics.Paint$Style') local Color = luajava.bindClass('android.graphics.Color') local ImageView = luajava.bindClass('android.widget.ImageView') local ScaleType = luajava.bindClass('android.widget.ImageView$ScaleType') local LinearLayout = luajava.bindClass('android.widget.LinearLayout') local TextView = luajava.bindClass('android.widget.TextView') local Button = luajava.bindClass('android.widget.Button') local GradientDrawable = luajava.bindClass('android.graphics.drawable.GradientDrawable') local function spc(p, c) p:setARGB(math.floor(c / 0x1000000) % 0x100, math.floor(c / 0x10000) % 0x100, math.floor(c / 0x100) % 0x100, c % 0x100) end local N = 19 local EMPTY, BLACK, WHITE = 0, 1, 2 local STARS = {{3, 3}, {3, 9}, {3, 15}, {9, 3}, {9, 9}, {9, 15}, {15, 3}, {15, 9}, {15, 15}} local C_STATUS = Color:parseColor('#666666') local C_PURPLE = Color:parseColor('#9C27B0') local C_BLUE = Color:parseColor('#2196F3') local C_ORANGE = Color:parseColor('#FF9800') local C_GREY = Color:parseColor('#607D8B') local C_WHITE_TEXT = Color:parseColor('#FFFFFF') local board, current, over, steps, history local boardIv, statusTv, modeBtn, soundBtn local boardSize, padding, cellSize local aiThinking = false local boardBmp, boardCvs local paintBg, paintLine, paintStar, paintShadow, paintBlack, paintWhite, paintWhiteEdge local resourcesReady = false local MODES = {'pve_b', 'pve_w', 'pvp'} local MODE_NAMES = {pve_b = '人机·黑', pve_w = '人机·白', pvp = '双人对战'} local modeIdx = 1 local gameMode = MODES[modeIdx] local soundOn = true local function ps(t) if not soundOn then return end pcall(function() string.toMusic(t) end) end local function resetState() board = {} for y = 1, N do board[y] = {} for x = 1, N do board[y][x] = EMPTY end end current, over, steps, history = BLACK, false, 0, {} aiThinking = false end resetState() local function hasLiberty(x, y, color, vis) vis = vis or {} local key = x .. "," .. y if vis[key] then return false end vis[key] = true local dirs = {{1, 0}, {-1, 0}, {0, 1}, {0, -1}} for _, d in ipairs(dirs) do local nx, ny = x + d[1], y + d[2] if nx >= 1 and nx <= N and ny >= 1 and ny <= N then if board[ny][nx] == EMPTY then return true elseif board[ny][nx] == color then if hasLiberty(nx, ny, color, vis) then return true end end end end return false end local function capturePieces(x, y, color) local opp = 3 - color local cap = false local dirs = {{1, 0}, {-1, 0}, {0, 1}, {0, -1}} for _, d in ipairs(dirs) do local nx, ny = x + d[1], y + d[2] if nx >= 1 and nx <= N and ny >= 1 and ny <= N and board[ny][nx] == opp then if not hasLiberty(nx, ny, opp) then local tr = {} local function collect(px, py, vis) vis = vis or {} local k = px .. "," .. py if vis[k] then return end vis[k] = true table.insert(tr, {px, py}) for _, dd in ipairs(dirs) do local qx, qy = px + dd[1], py + dd[2] if qx >= 1 and qx <= N and qy >= 1 and qy <= N and board[qy][qx] == opp then collect(qx, qy, vis) end end end collect(nx, ny) for _, pt in ipairs(tr) do board[pt[2]][pt[1]] = EMPTY steps = steps - 1 end cap = true end end end return cap end local function initDraw() if resourcesReady then return end boardBmp = Bitmap:createBitmap(boardSize, boardSize, BitmapConfig.ARGB_8888) boardCvs = Canvas(boardBmp) paintBg = Paint() spc(paintBg, 0xFFE8C48A) paintLine = Paint() spc(paintLine, 0xFF5D4037) paintLine:setStrokeWidth(2) paintLine:setAntiAlias(true) paintStar = Paint() spc(paintStar, 0xFF5D4037) paintStar:setAntiAlias(true) paintShadow = Paint() paintShadow:setAntiAlias(true) spc(paintShadow, 0x3A000000) paintBlack = Paint() paintBlack:setAntiAlias(true) spc(paintBlack, 0xFF000000) paintWhite = Paint() paintWhite:setAntiAlias(true) spc(paintWhite, 0xFFFFFFFF) paintWhiteEdge = Paint() paintWhiteEdge:setAntiAlias(true) spc(paintWhiteEdge, 0xFF999999) paintWhiteEdge:setStyle(PaintStyle.STROKE) paintWhiteEdge:setStrokeWidth(2) resourcesReady = true end local function renderBoard() if not boardIv then return end initDraw() local cvs = boardCvs cvs:drawRect(0, 0, boardSize, boardSize, paintBg) for i = 0, N - 1 do local p = padding + i * cellSize cvs:drawLine(padding, p, padding + (N - 1) * cellSize, p, paintLine) cvs:drawLine(p, padding, p, padding + (N - 1) * cellSize, paintLine) end for _, s in ipairs(STARS) do cvs:drawCircle(padding + (s[1] - 1) * cellSize, padding + (s[2] - 1) * cellSize, cellSize * 0.09, paintStar) end for y = 1, N do for x = 1, N do if board[y][x] ~= EMPTY then local cx = padding + (x - 1) * cellSize local cy = padding + (y - 1) * cellSize local r = cellSize * 0.42 cvs:drawCircle(cx + 2, cy + 2, r, paintShadow) if board[y][x] == BLACK then cvs:drawCircle(cx, cy, r, paintBlack) else cvs:drawCircle(cx, cy, r, paintWhite) cvs:drawCircle(cx, cy, r, paintWhiteEdge) end end end end boardIv:setImageBitmap(boardBmp) boardIv:invalidate() end local function doMove(r, c) if over or board[r][c] ~= EMPTY then return false end board[r][c] = current steps = steps + 1 history[#history + 1] = {r = r, c = c, color = current} if current == BLACK then ps('啪') else ps('咚') end local captured = capturePieces(c, r, current) if steps >= N * N then over = true if statusTv then statusTv:setText('棋盘已满,平局') end else current = 3 - current if statusTv then if captured then statusTv:setText(current == BLACK and '⚫ 黑棋 回合(吃子!)' or '⚪ 白棋 回合(吃子!)') else statusTv:setText(current == BLACK and '⚫ 黑棋 回合' or '⚪ 白棋 回合') end end end renderBoard() return true end local function shouldAIMove() if over then return false end return (gameMode == 'pve_b' and current == WHITE) or (gameMode == 'pve_w' and current == BLACK) end local function aiChoose(ac) for r = 1, N do for c = 1, N do if board[r][c] == EMPTY then board[r][c] = ac local cap = false local dirs = {{1, 0}, {-1, 0}, {0, 1}, {0, -1}} for _, d in ipairs(dirs) do local nx, ny = c + d[1], r + d[2] if nx >= 1 and nx <= N and ny >= 1 and ny <= N and board[ny][nx] == 3 - ac and not hasLiberty(nx, ny, 3 - ac) then cap = true break end end board[r][c] = EMPTY if cap then return r, c end end end end local cands = {} for r = 1, N do for c = 1, N do if board[r][c] == EMPTY then local hn = false for dy = -2, 2 do for dx = -2, 2 do if not (dx == 0 and dy == 0) then local nx, ny = c + dx, r + dy if nx >= 1 and nx <= N and ny >= 1 and ny <= N and board[ny][nx] ~= EMPTY then hn = true end end end end if hn then table.insert(cands, {r, c}) end end end end if #cands > 0 then local idx = math.random(1, #cands) return cands[idx][1], cands[idx][2] end return 10, 10 end local function maybeAIMove() if not shouldAIMove() or aiThinking then return end aiThinking = true if statusTv then statusTv:setText('🤖 AI 思考中...') end luajava.startThread(function() gg.sleep(300) local r, c = aiChoose(current) luajava.postMain(function() aiThinking = false if not over and r and c then doMove(r, c) end end) end) end local function doUndo() if aiThinking then return end local uc = (gameMode == 'pvp') and 1 or 2 local u = false for _ = 1, uc do local last = table.remove(history) if last then board[last.r][last.c] = EMPTY current = last.color steps = steps - 1 u = true end end if not u then return end over = false if statusTv then statusTv:setText(current == BLACK and '⚫ 黑棋 回合' or '⚪ 白棋 回合') end renderBoard() maybeAIMove() end local function makeBtn(text, bg, fn) local b = Button(context) b:setText(text) b:setTextSize(12) b:setTextColor(C_WHITE_TEXT) b:setAllCaps(false) local gd = GradientDrawable() gd:setColor(bg) gd:setCornerRadius(50) b:setBackground(gd) b:setPadding(dpToPx(6), dpToPx(4), dpToPx(6), dpToPx(4)) b:setMinimumWidth(0) b:setMinimumHeight(0) b:setOnClickListener(luajava.createProxy('android.view.View$OnClickListener', { onClick = function(v) fn() end })) return b end local function wrapParam(b, weight) local p = luajava.newInstance('android.widget.LinearLayout$LayoutParams', 0, -2, weight or 1.0) p:setMargins(dpToPx(3), 0, dpToPx(3), 0) b:setLayoutParams(p) return b end local function handleTouch(px, py) if over or aiThinking then return end if gameMode == 'pve_b' and current == WHITE then return end if gameMode == 'pve_w' and current == BLACK then return end local c = math.floor((px - padding) / cellSize + 0.5) + 1 local r = math.floor((py - padding) / cellSize + 0.5) + 1 if r < 1 or r > N or c < 1 or c > N or board[r][c] ~= EMPTY then return end if doMove(r, c) then maybeAIMove() end end local function build() boardSize = math.floor(math.min(dpToPx(280), screenW - dpToPx(90))) padding = boardSize * 0.06 cellSize = (boardSize - 2 * padding) / (N - 1) resourcesReady = false local root = LinearLayout(context) root:setOrientation(1) root:setGravity(17) root:setPadding(0, dpToPx(10), 0, dpToPx(10)) statusTv = TextView(context) statusTv:setText('⚫ 黑棋 回合') statusTv:setTextSize(14) statusTv:setTextColor(C_STATUS) statusTv:setGravity(17) statusTv:setPadding(0, 0, 0, dpToPx(6)) root:addView(statusTv) boardIv = ImageView(context) boardIv:setLayoutParams(luajava.newInstance('android.widget.LinearLayout$LayoutParams', boardSize, boardSize)) boardIv:setScaleType(ScaleType.FIT_XY) boardIv:setOnTouchListener(luajava.createProxy('android.view.View$OnTouchListener', { onTouch = function(v, event) if event:getAction() == 0 then handleTouch(event:getX(), event:getY()) end return true end })) root:addView(boardIv) local r1 = LinearLayout(context) r1:setOrientation(0) r1:setGravity(17) r1:setLayoutParams(luajava.newInstance('android.widget.LinearLayout$LayoutParams', -1, -2)) modeBtn = makeBtn(MODE_NAMES[gameMode], C_PURPLE, function() modeIdx = (modeIdx % #MODES) + 1 gameMode = MODES[modeIdx] modeBtn:setText(MODE_NAMES[gameMode]) resetState() if statusTv then statusTv:setText('⚫ 黑棋 回合') end renderBoard() maybeAIMove() end) wrapParam(modeBtn) r1:addView(modeBtn) soundBtn = makeBtn(soundOn and '🔊 音效' or '🔇 静音', C_GREY, function() soundOn = not soundOn soundBtn:setText(soundOn and '🔊 音效' or '🔇 静音') end) wrapParam(soundBtn) r1:addView(soundBtn) root:addView(r1) local r2 = LinearLayout(context) r2:setOrientation(0) r2:setGravity(17) r2:setLayoutParams(luajava.newInstance('android.widget.LinearLayout$LayoutParams', -1, -2)) local bR = makeBtn('重开', C_BLUE, function() resetState() if statusTv then statusTv:setText('⚫ 黑棋 回合') end renderBoard() maybeAIMove() end) wrapParam(bR) r2:addView(bR) local bU = makeBtn('悔棋', C_ORANGE, doUndo) wrapParam(bU) r2:addView(bU) root:addView(r2) resetState() renderBoard() maybeAIMove() return root end return build() end)() local xiangqiView = (function() local Bitmap = luajava.bindClass('android.graphics.Bitmap') local BitmapConfig = luajava.bindClass('android.graphics.Bitmap$Config') local Canvas = luajava.bindClass('android.graphics.Canvas') local Paint = luajava.bindClass('android.graphics.Paint') local PaintStyle = luajava.bindClass('android.graphics.Paint$Style') local Color = luajava.bindClass('android.graphics.Color') local ImageView = luajava.bindClass('android.widget.ImageView') local ScaleType = luajava.bindClass('android.widget.ImageView$ScaleType') local LinearLayout = luajava.bindClass('android.widget.LinearLayout') local TextView = luajava.bindClass('android.widget.TextView') local Button = luajava.bindClass('android.widget.Button') local GradientDrawable = luajava.bindClass('android.graphics.drawable.GradientDrawable') local RadialGradient = luajava.bindClass('android.graphics.RadialGradient') local LinearGradient = luajava.bindClass('android.graphics.LinearGradient') local TileModeClass = luajava.bindClass('android.graphics.Shader$TileMode') local function si(c) c = tonumber(c) or 0 if c > 0x7fffffff then c = c - 0x100000000 end return c end local function spc(p, c) p:setARGB(math.floor(c / 0x1000000) % 0x100, math.floor(c / 0x10000) % 0x100, math.floor(c / 0x100) % 0x100, c % 0x100) end local function col(h) return Color:parseColor(h) end local COLS, ROWS = 9, 10 local EMPTY = 0 local R_KING, R_ADV, R_ELE, R_HOR, R_CHA, R_CAN, R_PAWN = 1, 2, 3, 4, 5, 6, 7 local B_KING, B_ADV, B_ELE, B_HOR, B_CHA, B_CAN, B_PAWN = 8, 9, 10, 11, 12, 13, 14 local PT = { [1] = "帅", [2] = "仕", [3] = "相", [4] = "马", [5] = "车", [6] = "炮", [7] = "兵", [8] = "将", [9] = "士", [10] = "象", [11] = "马", [12] = "车", [13] = "炮", [14] = "卒" } local C_STATUS = col('#666666') local C_PURPLE = col('#9C27B0') local C_BLUE = col('#2196F3') local C_ORANGE = col('#FF9800') local C_GREY = col('#607D8B') local C_WHITE_TEXT = col('#FFFFFF') local board, current, over, history, selected local boardIv, statusTv, modeBtn, soundBtn local boardWidth, boardHeight, padding, cellSize local aiThinking = false local boardBmp, boardCvs local paintBg, paintLine, paintSel, paintText local paintBoardFrame, paintBoardInnerShadow local paintPieceShadow, paintPieceSurface, paintPieceBase local paintRedEdge, paintBlackEdge, paintRedThin, paintBlackThin local paintHintDot, paintHintCapture local resourcesReady = false local MODES = {'pve_b', 'pve_r', 'pvp'} local MODE_NAMES = {pve_b = '人机·红方', pve_r = '人机·黑方', pvp = '双人对战'} local modeIdx = 1 local gameMode = MODES[modeIdx] local soundOn = true local function ps(t) if not soundOn then return end pcall(function() string.toMusic(t) end) end local function resetState() board = {} for y = 1, ROWS do board[y] = {} for x = 1, COLS do board[y][x] = EMPTY end end board[1][1] = B_CHA board[1][2] = B_HOR board[1][3] = B_ELE board[1][4] = B_ADV board[1][5] = B_KING board[1][6] = B_ADV board[1][7] = B_ELE board[1][8] = B_HOR board[1][9] = B_CHA board[3][2] = B_CAN board[3][8] = B_CAN board[4][1] = B_PAWN board[4][3] = B_PAWN board[4][5] = B_PAWN board[4][7] = B_PAWN board[4][9] = B_PAWN board[10][1] = R_CHA board[10][2] = R_HOR board[10][3] = R_ELE board[10][4] = R_ADV board[10][5] = R_KING board[10][6] = R_ADV board[10][7] = R_ELE board[10][8] = R_HOR board[10][9] = R_CHA board[8][2] = R_CAN board[8][8] = R_CAN board[7][1] = R_PAWN board[7][3] = R_PAWN board[7][5] = R_PAWN board[7][7] = R_PAWN board[7][9] = R_PAWN current = R_KING over = false history = {} selected = nil aiThinking = false end resetState() local function inBoard(x, y) return x >= 1 and x <= COLS and y >= 1 and y <= ROWS end local function isRed(p) return p >= 1 and p <= 7 end local function isBlack(p) return p >= 8 and p <= 14 end local function sameSide(p1, p2) if p1 == EMPTY or p2 == EMPTY then return false end return (isRed(p1) and isRed(p2)) or (isBlack(p1) and isBlack(p2)) end local function countBetween(x1, y1, x2, y2) local c = 0 if x1 == x2 then local s = y1 < y2 and 1 or -1 for y = y1 + s, y2 - s, s do if board[y][x1] ~= EMPTY then c = c + 1 end end elseif y1 == y2 then local s = x1 < x2 and 1 or -1 for x = x1 + s, x2 - s, s do if board[y1][x] ~= EMPTY then c = c + 1 end end end return c end local function isValidMove(fx, fy, tx, ty) if not inBoard(tx, ty) then return false end local p = board[fy][fx] local t = board[ty][tx] if p == EMPTY or sameSide(p, t) then return false end local dx, dy = math.abs(tx - fx), math.abs(ty - fy) if p == R_KING or p == B_KING then local minX, maxX = 4, 6 local minY, maxY = (isRed(p) and 8 or 1), (isRed(p) and 10 or 3) if tx < minX or tx > maxX or ty < minY or ty > maxY then return false end if (dx + dy) ~= 1 then return false end if t == R_KING or t == B_KING then if fx == tx and countBetween(fx, fy, tx, ty) == 0 then return true end end return true elseif p == R_ADV or p == B_ADV then local minX, maxX = 4, 6 local minY, maxY = (isRed(p) and 8 or 1), (isRed(p) and 10 or 3) if tx < minX or tx > maxX or ty < minY or ty > maxY then return false end return dx == 1 and dy == 1 elseif p == R_ELE or p == B_ELE then if dx ~= 2 or dy ~= 2 then return false end if isRed(p) and ty < 6 then return false end if isBlack(p) and ty > 5 then return false end local ex, ey = (fx + tx) / 2, (fy + ty) / 2 if board[ey][ex] ~= EMPTY then return false end return true elseif p == R_HOR or p == B_HOR then if not ((dx == 1 and dy == 2) or (dx == 2 and dy == 1)) then return false end local lx, ly if dx == 2 then lx, ly = (fx + tx) / 2, fy else lx, ly = fx, (fy + ty) / 2 end if board[ly][lx] ~= EMPTY then return false end return true elseif p == R_CHA or p == B_CHA then if fx ~= tx and fy ~= ty then return false end return countBetween(fx, fy, tx, ty) == 0 elseif p == R_CAN or p == B_CAN then if fx ~= tx and fy ~= ty then return false end local c = countBetween(fx, fy, tx, ty) if t == EMPTY then return c == 0 else return c == 1 end elseif p == R_PAWN or p == B_PAWN then if isRed(p) then if ty > fy then return false end if ty == fy - 1 and tx == fx then return true end if fy <= 5 and ty == fy and math.abs(tx - fx) == 1 then return true end else if ty < fy then return false end if ty == fy + 1 and tx == fx then return true end if fy >= 6 and ty == fy and math.abs(tx - fx) == 1 then return true end end return false end return false end local function checkWin(color) local kp = isRed(color) and B_KING or R_KING for y = 1, ROWS do for x = 1, COLS do if board[y][x] == kp then return false end end end return true end local pieceVal = { [1] = 10000, [2] = 200, [3] = 200, [4] = 400, [5] = 900, [6] = 450, [7] = 100, [8] = 10000, [9] = 200, [10] = 200, [11] = 400, [12] = 900, [13] = 450, [14] = 100 } local function evaluateBoard(aiColor) local score = 0 for y = 1, ROWS do for x = 1, COLS do local p = board[y][x] if p ~= EMPTY then local base = pieceVal[p] or 0 if p == R_PAWN then if y <= 4 then base = base + 50 end if x >= 4 and x <= 6 then base = base + 20 end elseif p == B_PAWN then if y >= 7 then base = base + 50 end if x >= 4 and x <= 6 then base = base + 20 end elseif p == R_HOR or p == B_HOR then if x >= 4 and x <= 6 then base = base + 30 end elseif p == R_CHA or p == B_CHA then if x >= 4 and x <= 6 then base = base + 20 end elseif p == R_CAN or p == B_CAN then if x >= 4 and x <= 6 then base = base + 15 end end if isRed(p) then if aiColor == R_KING then score = score + base else score = score - base end else if aiColor == B_KING then score = score + base else score = score - base end end end end end return score end local function makeMove(fx, fy, tx, ty) local cap = board[ty][tx] board[ty][tx] = board[fy][fx] board[fy][fx] = EMPTY return cap end local function undoMove(fx, fy, tx, ty, cap) board[fy][fx] = board[ty][tx] board[ty][tx] = cap end local function getValidMoves(color) local moves = {} for y = 1, ROWS do for x = 1, COLS do local p = board[y][x] if p ~= EMPTY and ((color == R_KING and isRed(p)) or (color == B_KING and isBlack(p))) then for ty = 1, ROWS do for tx = 1, COLS do if isValidMove(x, y, tx, ty) then table.insert(moves, {fx = x, fy = y, tx = tx, ty = ty}) end end end end end end return moves end local function minimax(depth, alpha, beta, isMax, aiColor) if depth == 0 then return evaluateBoard(aiColor) end local moves = getValidMoves(isMax and aiColor or (3 - aiColor)) if #moves == 0 then return evaluateBoard(aiColor) end local best = isMax and -999999 or 999999 for _, m in ipairs(moves) do local cap = makeMove(m.fx, m.fy, m.tx, m.ty) local score = minimax(depth - 1, alpha, beta, not isMax, aiColor) undoMove(m.fx, m.fy, m.tx, m.ty, cap) if isMax then if score > best then best = score end if best > alpha then alpha = best end else if score < best then best = score end if best < beta then beta = best end end if beta <= alpha then break end end return best end local function aiChoose(aiColor) local moves = getValidMoves(aiColor) if #moves == 0 then return nil, nil, nil, nil end local isOpening = true for y = 1, ROWS do for x = 1, COLS do if board[y][x] ~= EMPTY and (y > 4 and y < 7) then isOpening = false end end end local scored = {} local depth = 3 for _, m in ipairs(moves) do local cap = makeMove(m.fx, m.fy, m.tx, m.ty) local score = minimax(depth - 1, -999999, 999999, false, aiColor) undoMove(m.fx, m.fy, m.tx, m.ty, cap) if isOpening then score = score + math.random(-15, 15) end table.insert(scored, {fx = m.fx, fy = m.fy, tx = m.tx, ty = m.ty, score = score}) end table.sort(scored, function(a, b) return a.score > b.score end) if #scored >= 2 and (scored[1].score - scored[2].score < 20) then if math.random() < 0.3 then return scored[2].fx, scored[2].fy, scored[2].tx, scored[2].ty end end return scored[1].fx, scored[1].fy, scored[1].tx, scored[1].ty end local function initDraw() if resourcesReady then return end boardBmp = Bitmap:createBitmap(boardWidth, boardHeight, BitmapConfig.ARGB_8888) boardCvs = Canvas(boardBmp) paintBg = Paint() paintBg:setShader(LinearGradient(0, 0, boardWidth, boardHeight, si(0xFFF7E4BC), si(0xFFD9AE76), TileModeClass.CLAMP)) paintBg:setAntiAlias(true) paintLine = Paint() spc(paintLine, 0xFF4E342E) paintLine:setStrokeWidth(2) paintLine:setAntiAlias(true) paintBoardFrame = Paint() spc(paintBoardFrame, 0xFF5D4037) paintBoardFrame:setStyle(PaintStyle.STROKE) paintBoardFrame:setStrokeWidth(dpToPx(5)) paintBoardFrame:setAntiAlias(true) paintBoardInnerShadow = Paint() spc(paintBoardInnerShadow, 0x44000000) paintBoardInnerShadow:setStyle(PaintStyle.STROKE) paintBoardInnerShadow:setStrokeWidth(dpToPx(6)) paintBoardInnerShadow:setAntiAlias(true) paintPieceShadow = Paint() spc(paintPieceShadow, 0x66000000) paintPieceShadow:setStyle(PaintStyle.FILL) paintPieceShadow:setAntiAlias(true) paintPieceSurface = Paint() paintPieceSurface:setStyle(PaintStyle.FILL) paintPieceSurface:setAntiAlias(true) paintPieceBase = Paint() paintPieceBase:setStyle(PaintStyle.FILL) paintPieceBase:setAntiAlias(true) paintRedEdge = Paint() spc(paintRedEdge, 0xFF7A0000) paintRedEdge:setStyle(PaintStyle.STROKE) paintRedEdge:setStrokeWidth(dpToPx(2.5)) paintRedEdge:setAntiAlias(true) paintBlackEdge = Paint() spc(paintBlackEdge, 0xFF000000) paintBlackEdge:setStyle(PaintStyle.STROKE) paintBlackEdge:setStrokeWidth(dpToPx(2.5)) paintBlackEdge:setAntiAlias(true) paintRedThin = Paint() spc(paintRedThin, 0xFFC62828) paintRedThin:setStyle(PaintStyle.STROKE) paintRedThin:setStrokeWidth(1.5) paintRedThin:setAntiAlias(true) paintBlackThin = Paint() spc(paintBlackThin, 0xFF424242) paintBlackThin:setStyle(PaintStyle.STROKE) paintBlackThin:setStrokeWidth(1.5) paintBlackThin:setAntiAlias(true) paintSel = Paint() spc(paintSel, 0xCC00E676) paintSel:setStyle(PaintStyle.STROKE) paintSel:setStrokeWidth(dpToPx(3)) paintSel:setAntiAlias(true) paintHintDot = Paint() spc(paintHintDot, 0x9900C853) paintHintDot:setStyle(PaintStyle.FILL) paintHintDot:setAntiAlias(true) paintHintCapture = Paint() spc(paintHintCapture, 0xCCFF1744) paintHintCapture:setStyle(PaintStyle.STROKE) paintHintCapture:setStrokeWidth(dpToPx(3)) paintHintCapture:setAntiAlias(true) paintText = Paint() paintText:setAntiAlias(true) paintText:setTextAlign(Paint.Align.CENTER) resourcesReady = true end local function drawPiece(cvs, cx, cy, p) local r = cellSize * 0.42 cvs:drawCircle(cx + r * 0.12, cy + r * 0.18, r, paintPieceShadow) if isRed(p) then paintPieceBase:setColor(si(0xFF7A0000)) else paintPieceBase:setColor(si(0xFF0A0A0A)) end cvs:drawCircle(cx, cy + r * 0.08, r, paintPieceBase) paintPieceSurface:setShader(RadialGradient(cx - r * 0.35, cy - r * 0.40, r * 1.4, si(0xFFFFFDF5), si(0xFFE8CDA0), TileModeClass.CLAMP)) cvs:drawCircle(cx, cy, r * 0.95, paintPieceSurface) if isRed(p) then cvs:drawCircle(cx, cy, r, paintRedEdge) else cvs:drawCircle(cx, cy, r, paintBlackEdge) end if isRed(p) then cvs:drawCircle(cx, cy, r * 0.82, paintRedThin) else cvs:drawCircle(cx, cy, r * 0.82, paintBlackThin) end paintText:setTextSize(cellSize * 0.5) paintText:setFakeBoldText(true) if isRed(p) then paintText:setColor(si(0xFFB71C1C)) else paintText:setColor(si(0xFF212121)) end local fm = paintText:getFontMetrics() cvs:drawText(PT[p] or "", cx, cy - (fm.ascent + fm.descent) / 2 + r * 0.04, paintText) paintText:setFakeBoldText(false) end local function renderBoard() if not boardIv then return end initDraw() local cvs = boardCvs cvs:drawRect(0, 0, boardWidth, boardHeight, paintBg) cvs:drawRect(padding - dpToPx(2), padding - dpToPx(2), padding + (COLS - 1) * cellSize + dpToPx(2), padding + (ROWS - 1) * cellSize + dpToPx(2), paintBoardInnerShadow) for y = 1, ROWS do local py = padding + (y - 1) * cellSize cvs:drawLine(padding, py, padding + (COLS - 1) * cellSize, py, paintLine) end for x = 1, COLS do local px = padding + (x - 1) * cellSize if x == 1 or x == COLS then cvs:drawLine(px, padding, px, padding + (ROWS - 1) * cellSize, paintLine) else cvs:drawLine(px, padding, px, padding + 4 * cellSize, paintLine) cvs:drawLine(px, padding + 5 * cellSize, px, padding + 9 * cellSize, paintLine) end end cvs:drawLine(padding + 3 * cellSize, padding, padding + 5 * cellSize, padding + 2 * cellSize, paintLine) cvs:drawLine(padding + 5 * cellSize, padding, padding + 3 * cellSize, padding + 2 * cellSize, paintLine) cvs:drawLine(padding + 3 * cellSize, padding + 7 * cellSize, padding + 5 * cellSize, padding + 9 * cellSize, paintLine) cvs:drawLine(padding + 5 * cellSize, padding + 7 * cellSize, padding + 3 * cellSize, padding + 9 * cellSize, paintLine) paintText:setColor(si(0xFF4E342E)) paintText:setTextSize(cellSize * 0.55) local midY = padding + 4.5 * cellSize local fm = paintText:getFontMetrics() cvs:drawText("楚 河", padding + 2 * cellSize, midY - (fm.ascent + fm.descent) / 2, paintText) cvs:drawText("汉 界", padding + 6 * cellSize, midY - (fm.ascent + fm.descent) / 2, paintText) cvs:drawRect(padding, padding, padding + (COLS - 1) * cellSize, padding + (ROWS - 1) * cellSize, paintBoardFrame) for y = 1, ROWS do for x = 1, COLS do if board[y][x] ~= EMPTY then drawPiece(cvs, padding + (x - 1) * cellSize, padding + (y - 1) * cellSize, board[y][x]) end end end if selected then local scx = padding + (selected.x - 1) * cellSize local scy = padding + (selected.y - 1) * cellSize cvs:drawCircle(scx, scy, cellSize * 0.46, paintSel) for ty = 1, ROWS do for tx = 1, COLS do if isValidMove(selected.x, selected.y, tx, ty) then local hx = padding + (tx - 1) * cellSize local hy = padding + (ty - 1) * cellSize if board[ty][tx] == EMPTY then cvs:drawCircle(hx, hy, cellSize * 0.13, paintHintDot) else cvs:drawCircle(hx, hy, cellSize * 0.46, paintHintCapture) end end end end end boardIv:setImageBitmap(boardBmp) boardIv:invalidate() end local function doMove(fx, fy, tx, ty) if over or aiThinking or not isValidMove(fx, fy, tx, ty) then return false end local cap = board[ty][tx] board[ty][tx] = board[fy][fx] board[fy][fx] = EMPTY table.insert(history, {fx = fx, fy = fy, tx = tx, ty = ty, cap = cap, turn = current}) ps(cap ~= EMPTY and '吃子' or '走棋') if checkWin(current) then over = true if statusTv then statusTv:setText(isRed(current) and '🔴 红方 获胜!' or '⚫ 黑方 获胜!') end else current = isRed(current) and B_KING or R_KING if statusTv then statusTv:setText(isRed(current) and '🔴 红方 回合' or '⚫ 黑方 回合') end end selected = nil renderBoard() return true end local function shouldAIMove() if over then return false end return (gameMode == 'pve_r' and isBlack(current)) or (gameMode == 'pve_b' and isRed(current)) end local function maybeAIMove() if not shouldAIMove() or aiThinking then return end aiThinking = true if statusTv then statusTv:setText('🤖 AI 思考中...') end luajava.startThread(function() gg.sleep(300) local fx, fy, tx, ty = aiChoose(current) luajava.postMain(function() aiThinking = false if not over and fx then doMove(fx, fy, tx, ty) end end) end) end local function doUndo() if aiThinking then return end local u = false for _ = 1, (gameMode == 'pvp') and 1 or 2 do local last = table.remove(history) if last then board[last.fy][last.fx] = board[last.ty][last.tx] board[last.ty][last.tx] = last.cap current = last.turn u = true end end if not u then return end over = false selected = nil if statusTv then statusTv:setText(isRed(current) and '🔴 红方 回合' or '⚫ 黑方 回合') end renderBoard() maybeAIMove() end local function makeBtn(text, bg, fn) local b = Button(context) b:setText(text) b:setTextSize(12) b:setTextColor(C_WHITE_TEXT) b:setAllCaps(false) local gd = GradientDrawable() gd:setColor(bg) gd:setCornerRadius(50) b:setBackground(gd) b:setPadding(dpToPx(6), dpToPx(4), dpToPx(6), dpToPx(4)) b:setMinimumWidth(0) b:setMinimumHeight(0) b:setOnClickListener(luajava.createProxy('android.view.View$OnClickListener', { onClick = function(v) fn() end })) return b end local function wrapParam(b, weight) local p = luajava.newInstance('android.widget.LinearLayout$LayoutParams', 0, -2, weight or 1.0) p:setMargins(dpToPx(3), 0, dpToPx(3), 0) b:setLayoutParams(p) return b end local function handleTouch(px, py) if over or aiThinking then return end if gameMode == 'pve_b' and isRed(current) then return end if gameMode == 'pve_r' and isBlack(current) then return end local tx = math.floor((px - padding) / cellSize + 0.5) + 1 local ty = math.floor((py - padding) / cellSize + 0.5) + 1 if not inBoard(tx, ty) then return end if selected then if selected.x == tx and selected.y == ty then selected = nil renderBoard() return end if doMove(selected.x, selected.y, tx, ty) then maybeAIMove() else local p = board[ty][tx] if p ~= EMPTY and ((isRed(p) and isRed(current)) or (isBlack(p) and isBlack(current))) then selected = {x = tx, y = ty} renderBoard() else 日志("不能走到那里!") end end else local p = board[ty][tx] if p ~= EMPTY and ((isRed(p) and isRed(current)) or (isBlack(p) and isBlack(current))) then selected = {x = tx, y = ty} renderBoard() else 日志("请选择自己的棋子") end end end local function build() boardWidth = math.floor(math.min(dpToPx(270), screenW - dpToPx(90))) padding = boardWidth * 0.06 cellSize = (boardWidth - 2 * padding) / (COLS - 1) boardHeight = 9 * cellSize + 2 * padding resourcesReady = false local root = LinearLayout(context) root:setOrientation(1) root:setGravity(17) root:setPadding(0, dpToPx(10), 0, dpToPx(10)) statusTv = TextView(context) statusTv:setText('🔴 红方 回合') statusTv:setTextSize(14) statusTv:setTextColor(C_STATUS) statusTv:setGravity(17) statusTv:setPadding(0, 0, 0, dpToPx(6)) root:addView(statusTv) boardIv = ImageView(context) boardIv:setLayoutParams(luajava.newInstance('android.widget.LinearLayout$LayoutParams', boardWidth, boardHeight)) boardIv:setScaleType(ScaleType.FIT_XY) boardIv:setOnTouchListener(luajava.createProxy('android.view.View$OnTouchListener', { onTouch = function(v, event) if event:getAction() == 0 then handleTouch(event:getX(), event:getY()) end return true end })) root:addView(boardIv) local r1 = LinearLayout(context) r1:setOrientation(0) r1:setGravity(17) r1:setLayoutParams(luajava.newInstance('android.widget.LinearLayout$LayoutParams', -1, -2)) modeBtn = makeBtn(MODE_NAMES[gameMode], C_PURPLE, function() modeIdx = (modeIdx % #MODES) + 1 gameMode = MODES[modeIdx] modeBtn:setText(MODE_NAMES[gameMode]) resetState() if statusTv then statusTv:setText('🔴 红方 回合') end renderBoard() maybeAIMove() end) wrapParam(modeBtn) r1:addView(modeBtn) soundBtn = makeBtn(soundOn and '🔊 音效' or '🔇 静音', C_GREY, function() soundOn = not soundOn soundBtn:setText(soundOn and '🔊 音效' or '🔇 静音') end) wrapParam(soundBtn) r1:addView(soundBtn) root:addView(r1) local r2 = LinearLayout(context) r2:setOrientation(0) r2:setGravity(17) r2:setLayoutParams(luajava.newInstance('android.widget.LinearLayout$LayoutParams', -1, -2)) local bR = makeBtn('重开', C_BLUE, function() resetState() if statusTv then statusTv:setText('🔴 红方 回合') end renderBoard() maybeAIMove() end) wrapParam(bR) r2:addView(bR) local bU = makeBtn('悔棋', C_ORANGE, doUndo) wrapParam(bU) r2:addView(bU) root:addView(r2) resetState() renderBoard() maybeAIMove() return root end return build() end)() function MXT.menu(pages) local layout = { 'ui.ViewPager', layout_height = 'fill_parent', layout_width = 'fill_parent', focusable = false, focusableInTouchMode = false, } for i = 1, #pages do local tmp = { LinearLayout, layout_height = "wrap_content", layout_width = "match_parent", orientation = "vertical", } local content = pages[i]["页面内容"] if content then for k = 1, #content do tmp[#tmp + 1] = content[k] end end local left = pages[i]["页面左侧"] local right = pages[i]["页面右侧"] if left or right then tmp.orientation = "horizontal" local lc = { LinearLayout, layout_height = "wrap_content", layout_width = "0dp", layout_weight = 1, orientation = "vertical", } if left then for k = 1, #left do lc[#lc + 1] = left[k] end end local rc = { LinearLayout, layout_height = "wrap_content", layout_width = "0dp", layout_weight = 1, orientation = "vertical", } if right then for k = 1, #right do rc[#rc + 1] = right[k] end end tmp[#tmp + 1] = lc tmp[#tmp + 1] = rc end _ENV["layout" .. i] = { ScrollView, id = luajava.newId("pageScroll" .. i), layout_height = "match_parent", layout_width = "match_parent", tmp, padding = {"8dp", "3dp", "8dp", "3dp"}, } layout[#layout + 1] = _ENV["layout" .. i] end ViewPager = ui.ViewPager(layout) tabTapSwitch = false luajava.setInterface(ViewPager, 'addOnPageChangeListener', { onPageSelected = function(position) if tabTapSwitch then tabTapSwitch = false return end if BottomTabs ~= nil then BottomTabs:setSelectedLuaIndex(position + 1, true) end end }) local function 配置页签(v) table.insert(MXT, v) pcall(function() v:setElevation(dpToPx(10)) end) pcall(function() v:setMinimumHeight(0) end) pcall(function() v:setAutoBackdropEnabled(配置.液态玻璃 ~= false) end) pcall(function() v:setAccentColor(liquidGlassInt(0xff2196F3)) end) pcall(function() local ih = v:getInteractiveHighlight() if ih ~= nil then ih:setBaseAlpha(0.35) ih:setSpotAlpha(0.9) ih:setFallbackAlpha(0.9) ih:setIntensityScale(1.2) end end) for i = 1, #pages do pcall(function() v:addTabPng(pages[i]["页面图片"], pages[i]["页面名称"]) end) pcall(function() v:setLuaTabConfig(i, {textSizeSp = 9}) end) end pcall(function() v:setSelectedIndex(0, false) end) luajava.setInterface(v, 'setOnTabSelectedListener', { onTabSelected = function(tabs, index) if ViewPager:getCurrentItem() == index then tabTapSwitch = false return end tabTapSwitch = true ViewPager:setCurrentItem(index, true) end, }) end 页面滚动 = {} function 页面滚动点击(dir) local idx = 1 pcall(function() idx = ViewPager:getCurrentItem() + 1 end) local sv = 页面滚动[idx] if sv then luajava.runUiThread(function() pcall(function() sv:scrollBy(0, dir * dpToPx(120)) end) end) end end ckou = luajava.loadlayout({ FrameLayout, layout_width = 'match_parent', layout_height = 'match_parent', id = luajava.newId("chuangk"), visibility = "visible", background = getVerticalBG({0xffffffff}, 配置.面板圆角 or 20), ClipToOutline = true, 背景 ~= nil and 背景 ~= "" and { ImageView, id = luajava.newId("bgImage"), layout_width = 'match_parent', layout_height = 'match_parent', src = 背景, scaleType = 'centerCrop', } or nil, { LinearLayout, layout_width = 'match_parent', layout_height = 'match_parent', orientation = "vertical", { FrameLayout, layout_width = 'fill_parent', layout_height = 'fill_parent', layout_weight = 1, { LinearLayout, layout_width = 'fill_parent', layout_height = 'fill_parent', orientation = "vertical", { LinearLayout, layout_width = 'fill_parent', layout_height = '38dp', gravity = 'right|center', paddingRight = '4dp', onClick = function() end, onTouch = hanshu, { FrameLayout, layout_width = '36dp', layout_height = '36dp', layout_marginRight = '4dp', elevation = '2dp', onClick = 隐藏, onTouch = hanshu, { View, layout_width = '16dp', layout_height = '2.5dp', layout_gravity = 'center', background = getVerticalBG({0xff2196F3}, 999), }, }, }, { LinearLayout, layout_width = 'fill_parent', layout_height = 'fill_parent', layout_weight = 1, gravity = 'center', ViewPager, }, { LinearLayout, layout_width = 'fill_parent', layout_height = '10dp', gravity = 'center', onTouch = yinc, }, }, }, { LiquidBottomTabsClass, id = luajava.newId("bottomTabs"), layout_width = 'match_parent', layout_height = '50dp', layout_marginLeft = '20dp', layout_marginRight = '20dp', layout_marginBottom = '20dp', }, { View, layout_width = 'match_parent', layout_height = '4dp', layout_marginTop = "5dp", layout_marginRight = "-2dp", }, }, }) floatWindow = luajava.loadlayout({ FrameLayout, layout_width = "wrap_content", layout_height = "wrap_content", orientation = "vertical", gravity = "center_vertical", onClick = function() end, { FrameLayout, layout_width = "wrap_content", layout_height = "wrap_content", ckou, }, { FrameLayout, id = luajava.newId("control"), background = getVerticalBG({0xff2196F3, 0xff42A5F5}, 999), layout_width = 宽度, layout_height = 高度, onTouch = hanshu, visibility = "gone", onClick = 悬浮球点击, { ImageView, layout_width = 'match_parent', layout_height = 'match_parent', background = 悬浮窗, }, }, }) 加入初始化(function() chuangk = luajava.getIdView("chuangk") or ckou 背景视图 = luajava.getIdView("bgImage") control = luajava.getIdView("control") BottomTabs = luajava.getIdView("bottomTabs") if BottomTabs then 配置页签(BottomTabs) end for i = 1, #pages do local sv = luajava.getIdView("pageScroll" .. i) if sv then 页面滚动[i] = sv pcall(function() sv:setOnGenericMotionListener(luajava.createProxy('android.view.View$OnGenericMotionListener', { onGenericMotion = function(view, event) if event:getAction() == 8 then local d = event:getAxisValue(21) if d ~= 0 then view:scrollBy(0, math.floor(-d * dpToPx(80))) return true end end return false end, })) end) end end pcall(function() ckou:setOnGenericMotionListener(luajava.createProxy('android.view.View$OnGenericMotionListener', { onGenericMotion = function(view, event) if event:getAction() == 8 then local d = event:getAxisValue(21) if d ~= 0 then 页面滚动点击(d > 0 and 1 or -1) return true end end return false end, })) end) end) local function invoke() mainLayoutParams = getLayoutParams() mainLayoutParams.x = (配置.窗口X and 配置.窗口X >= 0) and 配置.窗口X or 10 mainLayoutParams.y = (配置.窗口Y and 配置.窗口Y >= 0) and 配置.窗口Y or math.floor(screenH / 4) mainLayoutParams.width = 窗宽 mainLayoutParams.height = 窗高 mainLayoutParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL local function invoke2() window:addView(floatWindow, mainLayoutParams) end local runnable = luajava.getRunnable(invoke2) local handler = luajava.getHandler() handler:post(runnable) end invoke() luajava.runUiThread(function() 执行初始化() 应用全部() end) gg.setVisible(false) local function 退出回调() tuichu = 1 luajava.setFloatingWindowHide(false) end if type(setOnExitListener) == "function" then pcall(setOnExitListener, 退出回调) elseif type(setExitEvent) == "function" then pcall(setExitEvent, 退出回调) end luajava.setFloatingWindowHide(true) while true do if tuichu == 1 then break end gg.sleep(300) end luajava.post(function() pcall(function() window:removeView(floatWindow) end) end) luajava.setFloatingWindowHide(false) gg.setVisible(true) end function MXT.button(name, fn) if not name then name = "未设置" end local bid = "but" .. string.randomUUID(true) 加入初始化(function() local v = luajava.getIdView(bid) if not v then return end pcall(function() v:setAutoBackdropEnabled(配置.液态玻璃 ~= false) end) table.insert(MXT, v) pcall(function() v:setText(name) end) pcall(function() v:setTextColor(liquidGlassInt(0xff161616)) end) pcall(function() v:setTextSizeSp(13) end) end) return { LinearLayout, layout_width = "match_parent", layout_height = "wrap_content", layout_margin = "4dp", gravity = "center", { LiquidButtonClass, id = luajava.newId(bid), layout_width = "match_parent", layout_height = "48dp", onClick = function(v) luajava.newThread(fn):start() end, }, } end swfuncs = {} function MXT.seek(name, bian, smin, smax, nows, onchange) smin = tonumber(smin) or 0 smax = tonumber(smax) or 100 _ENV[bian] = tonumber(nows) or smin if not name then name = "未设置" end local sid = "seek" .. newUid() 加入初始化(function() local v = luajava.getIdView(sid) if not v then return end pcall(function() v:setAutoBackdropEnabled(配置.液态玻璃 ~= false) end) pcall(function() v:setLabel(name) end) pcall(function() v:setValueRange(smin, smax) end) pcall(function() v:setAccentColor(liquidGlassInt(0xff2196F3)) end) pcall(function() v:setTrackColor(liquidGlassInt(0x502196F3)) end) pcall(function() v:setValue(_ENV[bian], false) end) table.insert(MXT, v) 控件表[name] = v luajava.setInterface(v, 'setOnValueChangeListener', { onValueChange = function(slider, value) _ENV[bian] = math.floor(value + 0.5) if onchange then pcall(onchange, value) end end, }) end) return { LiquidSliderClass, id = luajava.newId(sid), layout_width = "match_parent", layout_height = "wrap_content", layout_marginTop = "5dp", layout_marginBottom = "5dp", } end function MXT.switch(name, shape, fn1, fn2, init) if not name then name = "未设置" end local nid = "sw" .. newUid() swfuncs[nid] = {fn1, fn2} 加入初始化(function() local v = luajava.getIdView(nid) if not v then return end pcall(function() v:setAutoBackdropEnabled(配置.液态玻璃 ~= false) end) pcall(function() v:setLabel(name) end) if shape == "Toggle" then pcall(function() v:setSquare(true) end) end pcall(function() v:setAccentColor(liquidGlassInt(0xff4CAF50)) end) pcall(function() v:setTrackColor(liquidGlassInt(0xFFD8D8D8)) end) pcall(function() v:setSelected(init == true, false) end) table.insert(MXT, v) 控件表[name] = v luajava.setInterface(v, 'setOnSelectListener', { onSelect = function(view, isc) local f = swfuncs[nid][isc and 1 or 2] or function() end luajava.startThread(f) end, }) end) return { LiquidToggleClass, id = luajava.newId(nid), layout_width = "match_parent", layout_height = "wrap_content", layout_marginTop = "4dp", layout_marginBottom = "4dp", } end MXT.editRefs = {} MXT.editValues = {} function MXT.edit(name, key, def, onok) def = tostring(def or "") key = key or ("edit" .. newUid()) local eid = "mxEdit" .. newUid() MXT.editValues[key] = def local function 取值() local v = luajava.getIdView(eid) if v then local t = tostring(v:getText()) MXT.editValues[key] = t return t end return MXT.editValues[key] or def end local function 赋值(txt) MXT.editValues[key] = tostring(txt) luajava.runUiThread(function() local v = luajava.getIdView(eid) if v then pcall(function() v:setText(tostring(txt)) end) end end) end MXT.editRefs[key] = {get = 取值, set = 赋值} 加入初始化(function() local v = luajava.getIdView(eid) if v then pcall(function() v:setText(MXT.editValues[key] or def) end) end end) return { LinearLayout, layout_width = "match_parent", layout_height = "wrap_content", orientation = "horizontal", gravity = "center_vertical", layout_marginTop = "3dp", layout_marginBottom = "3dp", { TextView, text = name, textSize = "12sp", textColor = 0xff161616, layout_width = "86dp", layout_height = "38dp", gravity = "center_vertical", }, { EditText, id = luajava.newId(eid), text = def, textSize = "13sp", textColor = 0xff161616, hintTextColor = 0x88000000, background = getVerticalBG({0x66FFFFFF}, 14, 1, 0x332196F3), layout_width = "0dp", layout_height = "38dp", layout_weight = 1, padding = "8dp", gravity = "center_vertical", singleLine = true, onTextChanged = function(t) MXT.editValues[key] = tostring(t) end, }, onok and { TextView, text = "确认", textSize = "12sp", textColor = 0xffffffff, gravity = "center", layout_width = "52dp", layout_height = "34dp", layout_marginLeft = "6dp", background = getVerticalBG({0xff2196F3}, dpToPx(12)), onClick = function() local v = luajava.getIdView(eid) local txt = v and tostring(v:getText()) or def MXT.editValues[key] = txt pcall(function() onok(txt) end) end, } or nil, } end 窗宽 = dpToPx(320) 窗高 = dpToPx(340) 悬浮窗 = "https://xuanmo.xyz/f/nX2dSA/mmexport1773782377335.png" 默认背景 = "https://image.rlyun.fun/view.php/43b2dc06c3d151c18155f06d92d3532b.png" 背景 = 默认背景 -- 配置里记的图片如果被删了,回退默认背景,避免面板变空白 if 配置.背景图 and 配置.背景图 ~= "" then local 记的背景 = tostring(配置.背景图) if 记的背景:lower():find("^http") or 文件存在(记的背景) then 背景 = 记的背景 end end ---------------------------------------------------------------- -- 首页状态 ---------------------------------------------------------------- 首页状态View = TextView(context) 首页状态View:setText("先点「自动打开回森」,再点「自动选择进程」") 首页状态View:setTextSize(13) 首页状态View:setTextColor(0xff666666) 首页状态View:setGravity(17) 首页状态View:setPadding(dpToPx(6), dpToPx(10), dpToPx(6), dpToPx(10)) function 设置状态(t) luajava.runUiThread(function() if 首页状态View then pcall(function() 首页状态View:setText(tostring(t)) end) end end) end ---------------------------------------------------------------- -- 娱乐:五子棋 / 围棋 / 象棋 合成一个页面,按钮切换 ---------------------------------------------------------------- local 棋类页 = (function() local 根 = LinearLayout(context) 根:setOrientation(1) 根:setGravity(17) local 提示 = TextView(context) 提示:setText("选择要玩的棋类") 提示:setTextSize(13) 提示:setTextColor(0xff666666) 提示:setGravity(17) 提示:setPadding(0, dpToPx(4), 0, dpToPx(6)) 根:addView(提示) local 按钮行 = LinearLayout(context) 按钮行:setOrientation(0) 按钮行:setGravity(17) 根:addView(按钮行) local 容器 = FrameLayout(context) 容器:setLayoutParams(luajava.newInstance('android.widget.LinearLayout$LayoutParams', -1, -2)) 容器:setPadding(0, dpToPx(6), 0, 0) 根:addView(容器) local 游戏表 = { {名称 = "五子棋", 视图 = gomokuView}, {名称 = "围棋", 视图 = weiqiView}, {名称 = "象棋", 视图 = xiangqiView}, } local 按钮表 = {} local function 选择(i) 容器:removeAllViews() 容器:addView(游戏表[i].视图) for k = 1, #按钮表 do 按钮表[k]:setBackground(getVerticalBG({k == i and 0xff2196F3 or 0xff607D8B}, dpToPx(20))) end 日志("切换到" .. 游戏表[i].名称) end for i = 1, #游戏表 do local b = Button(context) b:setText(游戏表[i].名称) b:setTextSize(12) b:setTextColor(0xffffffff) b:setAllCaps(false) b:setPadding(dpToPx(10), dpToPx(4), dpToPx(10), dpToPx(4)) b:setMinimumWidth(0) b:setMinimumHeight(0) local lp = luajava.newInstance('android.widget.LinearLayout$LayoutParams', -2, -2) lp:setMargins(dpToPx(3), 0, dpToPx(3), 0) b:setLayoutParams(lp) b:setOnClickListener(luajava.createProxy('android.view.View$OnClickListener', { onClick = function(v) 选择(i) end })) 按钮行:addView(b) 按钮表[#按钮表 + 1] = b end 选择(1) return 根 end)() ---------------------------------------------------------------- -- 炸房歌曲(内嵌 base64 字节码,点按钮时才解码执行;找不到再用文件) ---------------------------------------------------------------- local 求解密B64分片 = { "G0x1YVIAAQQEBAgAGZMNChoK7t/O8uzj8dP6+voFAAAAJQAAAEEAAAAeAAABHwAAAB8AgAABAAAABAYAAAAtLVtbCgABAAAA79/33NTt2OT6+voEAAAAJQAAAB4AgAAfAAAAHwCAAAAAAAABAAAA7s7p+vPT4fT6+voEAAAAJQAAAB4AgAAfAAAAHwCAAAAAAAABAAAA/dT0+8rN2836+vqBFwAABAAAABsAAAAXQACAJQAAAB1AgAALAAAARQAAAFtAAAAXgNyFRwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBA", "AApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAA", "gEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBA", "AApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAA", "gEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBA", "AApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAA", "gEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBA", "AApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAA", "gEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBA", "AApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAA", "gEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBA", "AApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAA", "gEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBA", "AApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAA", "gEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBA", "AApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAA", "gEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIBHAEAACkAAgEcAQAAKQACARwBAAApAAIAXQCJ6ZUAAAKWAAADFAAAAnYAAAR8AgAABAAAABBEnAABxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFx", "cXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFx", "cXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFx", "cXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFx", "cXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFx", "cXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFx", "cXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxAAMAAAD1zPrK+uXJ+Pr6+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADayv/+DK9j/7vbk8Nzzy+b6+voCAAAARgBAAB8AgAABAAAABA4AAABRUTE4NzMyNzY0NDUgAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAA0dPz/Nnh+v/6+vrDAgAASwAAAApAAIBHQEAAhwBAAF0AAQEXwAKAFwADgB8AgAAfAIAAG3qz+h8AgAAfAIAAG3qz+h8AgAAfAIAAG3qz+h8AgAAfAIAAYoAAAONA/H9EAAAAWwAAABcADYBHgEAAXUCAAEsAAABKQACBh4DAAEqAAIGLAAAASoAA", "gYAAgADEAIAAFwAAgEpAgACiQAAAIwH/f4AAgACdQIAAh0BAAMfAQACdAAEBF0AAgMfBQADKgYECooAAACPB/n+LAAAAywAAAIrAAILHQEEABwFBAd0AAQEXgACAB4JBAQeCAQSKwAEE4oAAAGOB/n/HAEAABAGAABfAAoDLAQAEAcIBAEECAgCBAgIAwQICAAEDAgBBAwIAgUMCAOuDAAHrg4AH5EEABIrBAYXiQAAAY0H8f0HAAgCBAAMAwcACAGGABIBLAQAAhwHBAlhAQwMXgACAhwHBAp2BgABKgQGCRAEAAIsBgADHgUMAB4JDAOsBggMHgkMA6wGCA6RBgABKgQGChwFAAJ4BgACfAQAAYMD6f0HAAgCBAAMAwcACAGFADYBAAQACh8FDAI2BAQLHAUQAjcEBA8dBRACNwQEDx8FDAM3BAQKNwQEDxwFEAI3BAQPHwUMAzcEBAgcCRADNAYIDB0JEAM0BggMHQkQAzQGCAwfCQwDNAYIDB8JDAM0BggPNAYEDBwJEAM0BggMHAkQAzQGCAwcCRADNAYIDBwJEAM0BggPNAYEDB0JEAM0BggMHAkQAzQGCA80BgQPNAYEDzQGBA80BgQOrwQEDx8FDAM0BgQPNAYEDB8JDAM0BggMHwkMAzQGCAwcCRADNAYIDq8EBA11BAAFgAPJ/QcACAIEAAwDBwAIAYcAEgEABAAKrwUSJjoFEA11BAAFHgUAAXUGAAEsBAABKQQGBh4HAAkqBAYGLAQAASoEBgYABgALEAYAAFwAAgEpBgQKiQQAAIwL/f4ABgAKdQYAAYID6fxeABIAAABwJ+YAWAAAAFgn6mtID8aOcCAMKAhkAgBkE8oAYAACAGgQLAPIL+e+3AwMKAhn8gA0BCwC/JBUA7iQUAJMHDQATFAkKBBoBCgIZSwAAAKUAAADHAEUAnYAAAcsAAAALAQAASwEAAIsBAADLAQAACwIAAEsCAACEAoAAAAMAAEdDQACHQ0UA5UMAAArAA4vlgwAAB8RFAAcERggKAISMJcQAAEcERQAdhAABZQQBAIcERQBdhAABpUQBAMcERQCdhAAB5YQBACXFAQBHBUUAHYUAAWUFAgCHBUUAXYUAAYeFxgCbRQAAFwD/fxfAAYAJALIkFgBwCwn8AAoAAhAF/o3tA/uNpggAgB4e9oANAIfFxgCbBQAAF4AB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AAMEAoAAFwAAgIqBAQPiQQAAYwL/f8ABAAPdQYAAywGAAAYCQQBGAkEAK0ICBORBgAAHQsEDR0LBAxhAAgQXgACAB0LBAx2CgADKAYKCoID4f4aAwQCbAAAAF8ABgIaAwQCbAAAAFwABgBfAAID4gAkBABQbHAkKABrpgBQBXwAAAR8AgAAHAAAABAEAAAAAAwAAAAAAAPA/AwAAAAAAAAAABAIAAABfAAQHAAAAT3JhbmdlAAQCAAAAaQAECAAAAOfn5+fn5+cAAAAAAAMAAAABAAEBAQ0AAAAAAAAAAAAAAAAAAAAA8tX078rZ2OT6+vqGAQAARgBAAFsAAAAXQAiARkDAAEeAwABdQIAASwAAAIZAwADAAIAAnUAAAYdAgADGQMAASsAAAYAAgACbAAAAF0ACgMsAAAAGQcAAHUGAAAZBwABAAYABHUEAAQfBgAFGQcAAykABAhdAAoDGwMAA3UCAAMsAAAAAAYABQAGAAR1BAAEXwACAHwCAAB8AgAAfAIAARkDAAEYAQABbAAAAF8ACgEZAwABHgMAAXUCAAEsAAACLAAAAxgDBAAdBQQHdQAABx4AAAQZBwACKAIEBwAAAAUYAQABbAAAAF0ABgEaAQQBbAAAAF4AAgEZAwACGAEAAXUAAAUYAQABbAAAAF0ABgEaAQQBbAAAAF4AAgEZAwACGAEAAXUAAAUYAQABbAAAAF0ABgEaAQQBbAAAAF4AAgEZAwACGAEAAXUAAAUYAQABbAAAAF0ABgEaAQQBbAAAAF4AAgEZAwACGAEAAXUAAAUYA", "QABbAAAAF0ABgEaAQQBbAAAAF4AAgEZAwACGAEAAXUAAAUYAQABbAAAAF0ABgEaAQQBbAAAAF4AAgEZAwACGAEAAXUAAAUYAQABbAAAAF8AZgEsAgACLAAACxgBAANMAgAELAYABRgFAAIYBQACTAQADUYGBAosBAALGAUAA0wGAAwsCgAFGAkAAUwKABIYCQABRgoIEiwIAAcYCQAAGA0AA0QKDBQYDQAATAwAG0QKDBQsDAACkQgABywIAACRCgAFLAoAAhgJAAJMCAAVkQoAAiwIAAKRBAALLAQAAJEGAAUsBgACGAUAAxgFAAJHBAQPGAUAA0wGAA5HBAQNkQYAAhgFAAMYBQADTAYADkcEBA6RAAAJkQIAAhgBAAJMAAAHGAEAAkcAAAcYAQADTAIABkcAAAYeAgACVAAABxgBAAFjAAAEXwAWAhgBAAJMAAAHGAEAAkcAAAcYAQADTAIABkcAAAcYAQADTAIABBgFAANEAgQEGAUAA0QCBAcfAgADdgIAASsAAAYbAwQDGAEAA0wCAAQYBQAATAQAC0QCBAYfAAAGdQIAAhgBAAJMAAAHGAEAAkcAAAcYAQADTAIABkcAAAcYAQADTAIABBgFAANEAgQEGAUAA0QCBAcfAgADdgIAASsAAAReA+38fAIAAQQACAIFAAgDBAAIAYcAZgEsBgACLAQACxgFAANMBgAMLAoABRgJAAIYCQACTAgAFUYKCBIsCAALGAkAA0wKABQsDgAFGA0AAUwOABoYDQABRg4MGiwMAAcYDQAAGBEAA0QOEBwYEQAATBAAI0QOEBwsEAACkQwABywMAACRDgAFLA4AAhgNAAJMDAAdkQ4AAiwMAAKRCAALLAgAAJEKAAUsCgACGAkAAxgJAAJHCAgXGAkAA0wKABZHCAgVkQoAAhgJAAMYCQADTAoAFkcICBaRBAAJkQYAAhgFAAJMBAAPGAUAAkcEBA8YBQADTAYADkcEBA4eBgQKVAQADxgFAAFjAAQMXwAWAhgFAAJMBAAPGAUAAkcEBA8YBQADTAYADkcEBA8YBQADTAYADBgJAANEBggMGAkAA0QGCA8fBgQLdgYAASsEBA4bBwQDGAUAA0wGAAwYCQAATAgAE0QGCA4fBAQOdQYAAhgFAAJMBAAPGAUAAkcEBA8YBQADTAYADkcEBA8YBQADTAYADBgJAANEBggMGAkAA0QGCA8fBgQLdgYAASsEBAxeA+38fAIAAYIDlf0YAQABbAAAAF0AIgEZAwABHgMAAXUCAAEsAAACGQMAAwACAAJ1AAAGHQIAAxkDAAErAAAGAAIAAmwAAABdAAoDLAAAABkHAAB1BgAAGQcAAQAGAAR1BAAEHwYABRkHAAMpAAQIXQAKAxsDAAN1AgADLAAAAAAGAAUABgAEdQQABF8AAgB8AgAAfAIAAHwCAAEZAwABGAEAAWwAAABfAAoBGQMAAR4DAAF1AgABLAAAAiwAAAMYAwQAHQUEB3UAAAceAAAEGQcAAigCBAcAAAAFIwEKFRgBDAIAAAABdAAEBF0ABgEaBwgCGQUMAxwEBAJ2BAAFWgYECSEABhWJAAADjwP1/RoDCAF8AAAEfAIAADgAAAAQIAAAA6Ojo6Ojo6AAEAwAAAGdnAAQKAAAAc2V0VmFsdWVzAAQHAAAAcHJvbXB0AAQHAAAAY2hvaWNlAAQDAAAAczIABAgAAADn5+fn5+fnAAQGAAAAc2RmbnoAAwAAAAAAAPA/AwAAAAAAAAAABAQAAAByZXMABAEAAAAABAgAAADr6+vr6+vrAAQIAAAA7Ozs7Ozs7AAAAAAAAgAAAAEBAQAAAAAAAAAAAAAAAAAAAAAA+ejP883P1vf6+vp6AwAASwAAEYEAAADBQAAAAYEAAEHBAACBAQEAwUEBAAGCAQBBwgEAgQICAMFCAgABgwIAQcMCAIEDAwDBQwMAAYQDAEHEAwCBBAQAwUQEAAGFBABBxQQAgQUFAMFFBQABhgUA", "QcYFAIEGBgDBRgYAAYcGAEHHBgCBBwcAwUcHAAGIBwBByAcAgQgIAMFICAABiQgAQckIAIEJCQDBSQkAAYoJAEHKCQCBCgoAwUoKAAGLCgBBywoAgQsLAMFLCwABjAsAQcwLAIEMDADBTAwAZEAAGYGADADBwAwAAQENAEFBDQCBgQ0AwcENAAECDgBBQg4AgYIOAMHCDgABAw8AQUMPAIGDDwDBww8AAQQQAEFEEACBhBAAwcQQAAEFEQBBRREAgYURAMHFEQABBhIAQUYSAIGGEgBkgIAMCECApWUAAABdgIAASEAApmVAAABdgIAASECApmWAAABdgIAASEAAp2XAAABdgIAASECAp2UAAQBdgIAASEAAqGVAAQBdgIAASECAqGWAAQBdgIAASEAAqWXAAQBdgIAASECAqWUAAgBdgIAASEAAqmVAAgBdgIAASECAqmWAAgBdgIAASEAAq2XAAgBdgIAASECAq2UAAwBdgIAASEAArGVAAwBdgIAASECArGWAAwBdgIAASEAArWXAAwBdgIAASECArWUABABdgIAASEAArmVABABdgIAASECArmWABABdgIAASEAAr2XABABdgIAASECAr2UABQBdgIAASEAAsGVABQBdgIAASECAsGWABQBdgIAASEAAsWXABQBdgIAASECAsWUABgBdgIAASEAAsmVABgBdgIAASECAsmWABgBdgIAASEAAs2XABgBdgIAASECAs2UABwBdgIAASEAAtGVABwBdgIAASECAtGWABwBdgIAASEAAtWXABwBdgIAASECAtWUACABdgIAASEAAtmVACABdgIAASECAtmWACABdgIAASEAAt2XACABdgIAASECAt2UACQBdgIAASEAAuGVACQBdgIAASECAuGWACQBdgIAASEAAuWXACQBdgIAASECAuWUACgBdgIAASEAAumVACgBdgIAASECAumWACgBdgIAASEAAu2XACgBdgIAASECAu2UACwBdgIAASEAAvGVACwBdgIAASECAvGWACwBdgIAASEAAvWXACwBdgIAASECAvWUADABdgIAASEAAvmVADABdgIAASECAvmWADABdgIAASEAAv2XADABdgIAASECAv2UADQBdgIAASEAAwGVADQBdgIAASECAwGWADQBdgIAASEAAwWXADQBdgIAASECAwWUADgBdgIAASEAAwmVADgBdgIAASECAwmWADgBdgIAASEAAw2XADgBdgIAASECAw2UADwBdgIAASEAAxGVADwBdgIAASECAxGWADwBdgIAASEAAxWXADwBdgIAASECAxWUAEABdgIAASEAAxmVAEABdgIAASECAxmWAEABdgIAASEAAx2XAEABdgIAASECAx2UAEQBdgIAASEAAyGVAEQBdgIAASECAyGWAEQBdgIAASEAAyWXAEQBdgIAASECAyWUAEgBdgIAASEAAymVAEgBdgIAASECAymWAEgBdgIAASEAAy2XAEgBdgIAASECAy2UAEwBdgIAASEAAzGVAEwBdgIAASECAzGWAEwBdgIAASEAAzWXAEwBdgIAASECAzWUAFABdgIAASEAAzmVAFABdgIAASECAzmWAFABdgIAASEAAz2XAFABdgIAASECAz2UAFQBdgIAASEAA0GVAFQBdgIAASECA0GWAFQBdgIAASEAA0WXAFQBdgIAASECA0WUAFgBdgIAASEAA0mVAFgBdgIAASECA0mWAFgBdgIAASEAA02XAFgBdgIAASECA02UAFwBdgIAASEAA1GVAFwBdgIAASECA1GWAFwBdgIAASEAA1WXAFwBdgIAASECA1WUAGABdgIAASEAA1mVAGABdgIAASECA1mWAGABdgIAASEAA12XAGABdgIAASECA12UAGQBdgIAASEAA2GVAGQBdgIAASECA2GWAGQBdgIAASEAA2WXAGQBdgIAASECA2WUAGgBdgIAASEAA2mVAGgBdgIAASECA2mWAGgBdgIAA", "SEAA22XAGgBdgIAASECA22UAGwBdgIAASEAA3GVAGwBdgIAASECA3GWAGwBdgIAASEAA3WXAGwBdgIAASECA3WUAHABdgIAASEAA3mVAHABdgIAASECA3mWAHABdgIAASEAA32XAHABdgIAASECA32UAHQBdgIAASEAA4GVAHQBdgIAASECA4GWAHQBdgIAASEAA4WXAHQBdgIAASECA4WUAHgBdgIAASEAA4mVAHgBdgIAASECA4mWAHgBdgIAASEAA42XAHgBdgIAASECA42UAHwBdgIAASEAA5GVAHwBdgIAASECA5GWAHwBdgIAASEAA5WXAHwBdgIAASECA5WUAIABdgIAASEAA5mVAIABdgIAASECA5mWAIABdgIAASEAA52XAIABdgIAASECA52UAIQBdgIAASEAA6GVAIQBdgIAASECA6GWAIQBdgIAASEAA6WXAIQBdgIAASECA6WUAIgBdgIAASEAA6mVAIgBdgIAASECA6mWAIgBdgIAASEAA62XAIgBdgIAASECA62UAIwBdgIAASEAA7GVAIwBdgIAASECA7GWAIwBdgIAASEAA7WXAIwBdgIAASECA7WUAJABdgIAASEAA7mVAJABdgIAASECA7mWAJABdgIAASEAA72XAJABdgIAASECA72UAJQBdgIAASEAA8GVAJQBdgIAASECA8GWAJQBdgIAASEAA8WXAJQBdgIAASECA8WUAJgBdgIAASEAA8mVAJgBdgIAASECA8mWAJgBdgIAASEAA82XAJgBdgIAASECA82UAJwBdgIAASEAA9GVAJwBdgIAASECA9GWAJwBdgIAASEAA9WXAJwBdgIAASECA9WUAKABdgIAASEAA9mVAKABdgIAASECA9mWAKABdgIAASEAA92XAKABdgIAASECA92UAKQBdgIAASEAA+GVAKQBdgIAASECA+GWAKQBdgIAASEAA+WXAKQBdgIAASECA+WUAKgBdgIAASEAA+mVAKgBdgIAASECA+mWAKgBdgIAASEAA+2XAKgBdgIAASECA+2UAKwBdgIAASEAA/GVAKwBdgIAASECA/GWAKwBdgIAASEAA/WXAKwBdgIAASECA/WUALABdgIAASEAA/mVALABdgIAASECA/mWALABdgIAASEAA/2XALABdgIAASECA/0EAQAClAC0AnYCAAEiAgABBQEAApUAtAJ2AgABIgIAAQYBAAKWALQCdgIAASICAAEHAQAClwC0AnYCAAEiAgABBAEEApQAuAJ2AgABIgIAAQUBBAKVALgCdgIAASICAAEGAQQClgC4AnYCAAEiAgABBwEEApcAuAJ2AgABIgIAAQQBCAKUALwCdgIAASICAAEFAQgClQC8AnYCAAEiAgABBgEIApYAvAJ2AgABIgIAAQcBCAKXALwCdgIAASICAAEEAQwClADAAnYCAAEiAgABBQEMApUAwAJ2AgABIgIAAQYBDAKWAMACdgIAASICAAEHAQwClwDAAnYCAAEiAgABBAEQApQAxAJ2AgABIgIAAQUBEAKVAMQCdgIAASICAAEGARAClgDEAnYCAAEiAgABBwEQApcAxAJ2AgABIgIAAQQBFAKUAMgCdgIAASICAAEFARQClQDIAnYCAAEiAgABBgEUApYAyAJ2AgABIgIAAQcBFAKXAMgCdgIAASICAAEEARgClADMAnYCAAEiAgABBQEYApUAzAJ2AgABIgIAAQYBGAKWAMwCdgIAASICAAEHARgClwDMAnYCAAEiAgABBAEcApQA0AJ2AgABIgIAAQUBHAKVANACdgIAASICAAEGARwClgDQAnYCAAEiAgABBwEcApcA0AJ2AgABIgIAAQQBIAKUANQCdgIAASICAAEFASAClQDUAnYCAAEiAgABBgEgApYA1AJ2AgABIgIAAQcBIAKXANQCdgIAASICAAEEASQClADYAnYCAAEiAgABBQEkApUA2AJ2AgABIgIAAQYBJAKWANgCdgIAA", "SICAAEHASQClwDYAnYCAAEiAgABBAEoApQA3AJ2AgABIgIAAQUBKAKVANwCdgIAASICAAEGASgClgDcAnYCAAEiAgABBwEoApcA3AJ2AgABIgIAAQQBLAKUAOACdgIAASICAAEFASwClQDgAnYCAAEiAgABBgEsApYA4AJ2AgABIgIAAQcBLAKXAOACdgIAASICAAEEATAClADkAnYCAAEiAgABBQEwApUA5AJ2AgABIgIAAQYBMAKWAOQCdgIAASICAAEHATAClwDkAnYCAAEiAgABBAE0ApQA6AJ2AgABIgIAAQUBNAKVAOgCdgIAASICAAEGATQClgDoAnYCAAEiAgABBwE0ApcA6AJ2AgABIgIAAQQBOAKUAOwCdgIAASICAAEFATgClQDsAnYCAAEiAgABBgE4ApYA7AJ2AgABIgIAAQcBOAKXAOwCdgIAASICAAEEATwClADwAnYCAAEiAgABBQE8ApUA8AJ2AgABIgIAAQYBPAKWAPACdgIAASICAAEHATwClwDwAnYCAAEiAgABBAFAApQA9AJ2AgABIgIAAQUBQAKVAPQCdgIAASICAAGWAPQCAAAAAXYAAAaXAPQDAAAAAnYAAAR8AgABCAQAAAwAAAACgJ+JAAwAAAACgIeJAAwAAAABgIeJAAwAAAABgH+JAAwAAAACgHOJAAwAAAABgHeJAAwAAAACgIOJAAwAAAAAAEOJAAwAAAAAgEOJAAwAAAADAD+JAAwAAAADAH+JAAwAAAADgHeJAAwAAAACgHeJAAwAAAAAAHuJAAwAAAADgD+JAAwAAAACgEOJAAwAAAAAgIeJAAwAAAADgH+JAAwAAAABgIOJAAwAAAACAEOJAAwAAAABAHeJAAwAAAADgHuJAAwAAAAAgHeJAAwAAAAAgIOJAAwAAAADAHeJAAwAAAAAAIeJAAwAAAADgEOJAAwAAAACAIOJAAwAAAAAAH+JAAwAAAABAEOJAAwAAAACAHOJAAwAAAAAAHeJAAwAAAABAH+JAAwAAAADAEOJAAwAAAADAIOJAAwAAAABAIeJAAwAAAACAHeJAAwAAAACAHuJAAwAAAAAgHuJAAwAAAADAHuJAAwAAAAAAIOJAAwAAAACgH+JAAwAAAACgHuJAAwAAAAAgH+JAAwAAAABgEOJAAwAAAACAH+JAAwAAAABAIOJAAwAAAADgIOJAAwAAAACAIeJAAwAAAADAHOJAAwAAAABAHuJAAwAAAADgHOJAAwAAAABgHuJAAwAAAACgFuJAAwAAAADgFeJAAwAAAABAF+JAAwAAAABgFuJAAwAAAAAAGOJAAwAAAABAGOJAAwAAAACgF+JAAwAAAAAgGOJAAwAAAABgF+JAAwAAAAAgF+JAAwAAAAAAFOJAAwAAAADgF+JAAwAAAABgGOJAAwAAAADAF+JAAwAAAADgGOJAAwAAAABgE+JAAwAAAADgFuJAAwAAAAAgFuJAAwAAAADAFuJAAwAAAACAFOJAAwAAAAAAFuJAAwAAAADAGOJABA4AAADvv72ZqJrvv72i77+9AAQOAAAA77+9rqWm77+9pO+/vQAEDgAAAO+/vbuot++/vaTvv70ABA4AAADvv72epKjvv72977+9AAQOAAAA77+9nqeW77+9tu+/vQAEDgAAAO+/vayWl++/vbXvv70ABA4AAADvv72upqrvv72u77+9AAQOAAAA77+9sJ6r77+9pe+/vQAEDgAAAO+/vayoqO+/vbHvv70ABA4AAADvv72dl53vv72y77+9AAQOAAAA77+9qaG777+9u++/vQAEDgAAAO+/vZione+/vZfvv70ABA4AAADvv720p7bvv72o77+9AAQOAAAA77+9r6Oa77+9oO+/vQAEDgAAAO+/vae8ue+/vanvv70ABA4AAADvv72prLTvv72x77+9AAQOAAAA77+9r7C577+9tu+/vQAEDgAAAO+/vbOsn++/vaTvv70ABA4AAADvv72pmqXvv72b", "77+9AAQOAAAA77+9qryz77+9ou+/vQAEDgAAAO+/vby7mu+/vaHvv70ABA4AAADvv729pLbvv72m77+9AAQOAAAA77+9rKuo77+9vu+/vQAEDgAAAO+/vai8qu+/va/vv70ABA4AAADvv723pqTvv72277+9AAQOAAAA77+9uqm177+9pO+/vQAEDgAAAO+/vZ2XnO+/vaTvv70ABA4AAADvv722r6jvv72t77+9AAQOAAAA77+9q6mi77+9uu+/vQAEDgAAAO+/vZyzn++/vazvv70ABA4AAADvv72uvZ/vv72a77+9AAQOAAAA77+9qqe077+9uu+/vQAEDgAAAO+/vauqo++/vbzvv70ABA4AAADvv727sp/vv72l77+9AAQOAAAA77+9s76b77+9sO+/vQAEDgAAAO+/vaemrO+/vbHvv70ABA4AAADvv72jspzvv72z77+9AAQOAAAA77+9raeb77+9u++/vQAEDgAAAO+/vZi9ne+/va/vv70ABA4AAADvv72Xlp/vv72i77+9AAQOAAAA77+9m5ey77+9mu+/vQAEDgAAAO+/vbCbue+/vajvv70ABA4AAADvv72jqLLvv72c77+9AAQOAAAA77+9mb6177+9me+/vQAEDgAAAO+/vZ6vt++/vazvv70ABA4AAADvv72lu73vv72u77+9AAQOAAAA77+9qLuY77+9rO+/vQAEDgAAAO+/vaG3rO+/vafvv70ABA4AAADvv72Xuqbvv72177+9AAQOAAAA77+9mKyy77+9oO+/vQAEDgAAAO+/vbWqm++/vZrvv70ABA4AAADvv72msrTvv72w77+9AAQOAAAA77+9p7m+77+9pu+/vQAEDgAAAO+/vaWxu++/vajvv70ABA4AAADvv722rqDvv72u77+9AAQOAAAA77+9qL2l77+9tO+/vQAEDgAAAO+/vautqu+/vaXvv70ABA4AAADvv72rqpvvv72m77+9AAQOAAAA77+9vKie77+9te+/vQAEDgAAAO+/vbCZoO+/vaXvv70ABA4AAADvv72ulqfvv72177+9AAQOAAAA77+9pby277+9vu+/vQAEDgAAAO+/vayXqe+/vb7vv70ABA4AAADvv72ZqKTvv72677+9AAQOAAAA77+9tp+k77+9q++/vQAEDgAAAO+/vb6auO+/va/vv70ABA4AAADvv72+nZ/vv72W77+9AAQOAAAA77+9pbGx77+9oe+/vQAEDgAAAO+/vZqon++/vaXvv70ABA4AAADvv72dtZjvv72k77+9AAQOAAAA77+9rLeZ77+9re+/vQAEDgAAAO+/vbyese+/vbXvv70ABA4AAADvv72ml7Pvv72m77+9AAQOAAAA77+9spm077+9qO+/vQAEDgAAAO+/vb6pru+/vZzvv70ABA4AAADvv72ZtLPvv72t77+9AAQOAAAA77+9lrix77+9vO+/vQAEDgAAAO+/vaGcoO+/vZfvv70ABA4AAADvv72prZrvv72y77+9AAQOAAAA77+9sp2+77+9sO+/vQAEDgAAAO+/vZetue+/vZvvv70ABA4AAADvv723mbbvv72277+9AAQOAAAA77+9rpy677+9pu+/vQAEDgAAAO+/vbC6q++/vbLvv70ABA4AAADvv72zuKLvv72Z77+9AAQOAAAA77+9tJei77+9o++/vQAEDgAAAO+/vZ+tme+/vaXvv70ABA4AAADvv72grp/vv72a77+9AAQOAAAA77+9p7W377+9pO+/vQAEDgAAAO+/vbqkp++/vbfvv70ABA4AAADvv72osJnvv72W77+9AAQOAAAA77+9qrSs77+9pO+/vQAEDgAAAO+/vbGvmO+/vbDvv70ABA4AAADvv72uoLPvv72o77+9AAQOAAAA77+9q7qk77+9vu+/vQAEDgAAAO+/vZ26u++/vZjvv70ABA4AAADvv72utK/vv72k77+9AAQOAAAA77+9rbGq77+9", "qO+/vQAEDgAAAO+/vbe3te+/vbLvv70ABA4AAADvv72WqK3vv72a77+9AAQOAAAA77+9mKe877+9qO+/vQAEDgAAAO+/vZymte+/vZ7vv70ABA4AAADvv72vmrnvv72f77+9AAQOAAAA77+9raSi77+9ue+/vQAEDgAAAO+/vby2sO+/vbfvv70ABA4AAADvv72Xmqvvv72m77+9AAQOAAAA77+9mbOt77+9sO+/vQAEDgAAAO+/vba8nu+/vbzvv70ABA4AAADvv72joLHvv72n77+9AAQOAAAA77+9vq6w77+9uu+/vQAEDgAAAO+/vaiwuO+/vabvv70ABA4AAADvv722m7rvv72f77+9AAQOAAAA77+9mKmp77+9ne+/vQAEDgAAAO+/vbS5vu+/vaPvv70ABA4AAADvv72frJvvv72k77+9AAQOAAAA77+9q6me77+9ou+/vQAEDgAAAO+/va62se+/vZ/vv70ABA4AAADvv72qnbfvv72h77+9AAQOAAAA77+9tKat77+9se+/vQAEDgAAAO+/va6wm++/vZnvv70ABA4AAADvv72Wpavvv72a77+9AAQOAAAA77+9vaeW77+9se+/vQAEDgAAAO+/vZ6itu+/vZfvv70ABA4AAADvv725oLnvv72f77+9AAQOAAAA77+9q5et77+9p++/vQAEDgAAAO+/vaOnpu+/vbvvv70ABA4AAADvv721oajvv72877+9AAQOAAAA77+9vKik77+9r++/vQAEDgAAAO+/vbWxte+/varvv70ABA4AAADvv72Wqqvvv72q77+9AAQOAAAA77+9t5ar77+9pe+/vQAEDgAAAO+/vb29mu+/vaTvv70ABA4AAADvv72cuJ3vv72e77+9AAQOAAAA77+9s7q177+9ru+/vQAEDgAAAO+/vZuruu+/vaDvv70ABA4AAADvv72ymrjvv72877+9AAQOAAAA77+9rKSf77+9ou+/vQAEDgAAAO+/vbGcmO+/vajvv70ABA4AAADvv72upLDvv72p77+9AAQOAAAA77+9uqOY77+9ue+/vQAEDgAAAO+/vbmdr++/vanvv70ABA4AAADvv72ttJvvv72c77+9AAQOAAAA77+9qbK577+9l++/vQAEDgAAAO+/vbmxtO+/vajvv70ABA4AAADvv72lmZnvv72u77+9AAQOAAAA77+9nJq377+9ue+/vQAEDgAAAO+/vbOavO+/vavvv70ABA4AAADvv720oZ3vv72q77+9AAQOAAAA77+9ubS177+9su+/vQAEDgAAAO+/vbW2mu+/vZnvv70ABA4AAADvv72qnJrvv72d77+9AAQOAAAA77+9mq+477+9nu+/vQAEDgAAAO+/vZ+Wou+/va7vv70ABA4AAADvv728n6zvv72W77+9AAQOAAAA77+9u6Wk77+9ou+/vQAEDgAAAO+/vaWvqO+/vbDvv70ABA4AAADvv72zqLbvv72f77+9AAQOAAAA77+9lpqr77+9re+/vQAEDgAAAO+/vaW1uO+/vZbvv70ABA4AAADvv72frrPvv72+77+9AAQOAAAA77+9m7Gf77+9tu+/vQAEDgAAAO+/vaC2t++/vZzvv70ABA4AAADvv72em6jvv72Y77+9AAQOAAAA77+9lp+q77+9qO+/vQAEDgAAAO+/vae9vu+/vavvv70ABA4AAADvv726mq/vv72477+9AAQOAAAA77+9op+d77+9uu+/vQAEDgAAAO+/vaKfuO+/vZvvv70ABA4AAADvv72cprbvv72z77+9AAQOAAAA77+9qaCi77+9re+/vQAEDgAAAO+/vaicmu+/vanvv70ABA4AAADvv72nr53vv72177+9AAQOAAAA77+9oLaf77+9vO+/vQAEDgAAAO+/va+itu+/vZ7vv70ABA4AAADvv72jlrvvv72077+9AAQOAAAA77+9nbCl77+9rO+/vQAEDgAAAO+/vbugnO+/", "vaHvv70ABA4AAADvv72Xra3vv72r77+9AAQOAAAA77+9u7a677+9oe+/vQAEDgAAAO+/vb2lvu+/vavvv70ABA4AAADvv72ksZfvv72e77+9AAQOAAAA77+9nKau77+9oe+/vQAEDgAAAO+/vaKdtO+/vbLvv70ABA4AAADvv72espzvv72j77+9AAQOAAAA77+9saat77+9sO+/vQAEDgAAAO+/vbCguO+/vb3vv70ABA4AAADvv72kpLPvv72677+9AAQOAAAA77+9oLK377+9ne+/vQAEDgAAAO+/vaujnO+/va7vv70ABA4AAADvv72kr6Lvv72o77+9AAQOAAAA77+9upqd77+9nu+/vQAEDgAAAO+/vaulse+/vbjvv70ABA4AAADvv72ioJ7vv72w77+9AAQOAAAA77+9saOk77+9su+/vQAEDgAAAO+/vZ2nue+/vbLvv70ABA4AAADvv72voJfvv72577+9AAQOAAAA77+9oKq677+9ve+/vQAEDgAAAO+/vZyws++/vZ3vv70ABA4AAADvv725oJbvv72677+9AAQOAAAA77+9t7S977+9oe+/vQAEDgAAAO+/vb6+pu+/vZjvv70ABA4AAADvv72WpLrvv72i77+9AAQOAAAA77+9t7yd77+9o++/vQAEDgAAAO+/vaWto++/vZfvv70ABA4AAADvv72puJ3vv72377+9AAQOAAAA77+9rZyg77+9ru+/vQAEDgAAAO+/vZm0pO+/vaTvv70ABA4AAADvv72eqb3vv72Z77+9AAQOAAAA77+9nZ6e77+9qu+/vQAEDgAAAO+/vbK7p++/vZ7vv70ABA4AAADvv72+mKXvv72b77+9AAQOAAAA77+9qLqy77+9m++/vQAEDgAAAO+/vaG3me+/vZvvv70ABA4AAADvv726p5fvv72577+9AAQOAAAA77+9nbmn77+9ru+/vQAEDgAAAO+/vbWZne+/vZrvv70ABA4AAADvv72svKPvv72w77+9AAQOAAAA77+9pKav77+9q++/vQAEDgAAAO+/vbWZoe+/vavvv70ABA4AAADvv72Wnrbvv72y77+9AAQOAAAA77+9mZ+h77+9qe+/vQAEDgAAAO+/vbyuo++/vabvv70ABA4AAADvv72avKDvv72g77+9AAQOAAAA77+9vbSv77+9n++/vQAE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HwCAAAYAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAABCx8UADAAAAAECx8UADAAAAAGCy8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gcAAAALAIABQQAAAIEAAADBQAAAJECAAR8AAAEfAIAAAgAAAAMAAAAAILHxQAMAAAAAELLxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6EQAAAAsAgAZBAAAAgUAAAMGAAAABwQAAQQEBAIFBAQDBAQAAAUIAAEGCAACBggEAwQIAAAFDAABBgwAAJECABh8AAAEfAIAABwAAAAMAAAAAQLDxQAMAAAAAULDxQAMAAAAAYLDxQAMAAAAAILLxQAMAAAAAYLPxQAMAAAAAQLPxQAMAAAAAcLPxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6BwAAAAsAgAFBAAAAgQAAAMFAAAAkQIABHwAAAR8AgAACAAAAAwAAAAAgsfFAAwAAAADgsfFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voRAAAACwCABkEAAACBQAAAwYAAAAHBAABBAQEAgUEBAMEBAAABQgAAQYIAAIGCAQDBAgAAAUMAAEGDAAAkQIAGHwAAAR8AgAAHAAAAAwAAAABAsPFAAwAAAABQsPFAAwAAAABgsPFAAwAAAABQs/FAAwAAAACgsfFAAwAAAADQsvFAAwAAAADwsvFAAAAAAAAAAAAAAAAA", "AAAAAAAAAAAAAAAAAAAAAAAAAAAA+voHAAAACwCAAUEAAACBQAAAwYAAACRAgAEfAAABHwCAAAMAAAADAAAAACCx8UADAAAAADCx8UADAAAAAMCw8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBgQAAwQEAAAFCAABBggAAgcIAAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAUAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAAGCx8UADAAAAAICy8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gcAAAALAIABQQAAAIFAAADBgAAAJECAAR8AAAEfAIAAAwAAAAMAAAAAILHxQAMAAAAAELLxQAMAAAAA0LDxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6EQAAAAsAgAZBAAAAgUAAAMGAAAABwQAAQQEBAIFBAQDBAQAAAUIAAEGCAACBggEAwQIAAAFDAABBgwAAJECABh8AAAEfAIAABwAAAAMAAAAAQLDxQAMAAAAAULDxQAMAAAAAYLDxQAMAAAAAILLxQAMAAAAAoLHxQAMAAAAA8LLxQAMAAAAAsLHxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6BwAAAAsAgAFBAAAAgUAAAMFAAAAkQIABHwAAAR8AgAACAAAAAwAAAAAgsfFAAwAAAAAAs/FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voRAAAACwCABkEAAACBQAAAwYAAAAHBAABBAQEAgQEBAMEBAAABQgAAQYIAAIECAQDBAgAAAUMAAEGDAAAkQIAGHwAAAR8AgAAFAAAAAwAAAABAsPFAAwAAAABQsPFAAwAAAABgsPFAAwAAAACwsfFAAwAAAABgs/FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voHAAAACwCAAUEAAACBQAAAwYAAACRAgAEfAAABHwCAAAMAAAADAAAAACCx8UADAAAAADCx8UADAAAAAFCy8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBQQEAwQEAAAFCAABBggAAgYIBAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAcAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAAECz8UADAAAAAJCw8UADAAAAAPCx8UADAAAAAGCy8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gcAAAALAIABQQAAAIEAAADBQAAAJECAAR8AAAEfAIAAAgAAAAMAAAAAsLDxQAMAAAAAcLHxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6EQAAAAsAgAZBAAAAgUAAAMGAAAABwQAAQQEBAIEBAQDBAQAAAUIAAEGCAACBQgEAwQIAAAFDAABBgwAAJECABh8AAAEfAIAABgAAAAMAAAAAQLDxQAMAAAAAULDxQAMAAAAAYLDxQAMAAAAA0LHxQAMAAAAAELPxQAMAAAAAMLPxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6BwAAAAsAgAFBAAAAgUAAAMGAAAAkQIABHwAAAR8AgAADAAAAAwAAAAAgsfFAAwAAAACwsPFAAwAAAABQsvFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voRAAAACwCABkEAAACBQAAAwYAAAAHBAABBAQEAgUEBAMEBAAABQgAAQYIAAIGCAQDBAgAAAUMAAEGDAAAkQIAGHwAAAR8AgAAHAAAAAwAAAABA", "sPFAAwAAAABQsPFAAwAAAABgsPFAAwAAAAAQs/FAAwAAAACgsfFAAwAAAAAgsvFAAwAAAADQsfFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voHAAAACwCAAUEAAACBQAAAwYAAACRAgAEfAAABHwCAAAMAAAADAAAAACCx8UADAAAAAMCw8UADAAAAADCx8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBQQEAwQEAAAFCAABBggAAgYIBAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAcAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAAGCz8UADAAAAAJCx8UADAAAAAICy8UADAAAAAICz8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gcAAAALAIABQQAAAIFAAADBgAAAJECAAR8AAAEfAIAAAwAAAAMAAAAAILHxQAMAAAAAwLDxQAMAAAAA4LHxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6EQAAAAsAgAZBAAAAgUAAAMGAAAABwQAAQQEBAIFBAQDBAQAAAUIAAEGCAACBggEAwQIAAAFDAABBgwAAJECABh8AAAEfAIAABwAAAAMAAAAAQLDxQAMAAAAAULDxQAMAAAAAYLDxQAMAAAAAYLLxQAMAAAAAkLHxQAMAAAAAkLLxQAMAAAAAoLLxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6BwAAAAsAgAFBAAAAgQAAAMFAAAAkQIABHwAAAR8AgAACAAAAAwAAAACwsPFAAwAAAADgsfFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voRAAAACwCABkEAAACBQAAAwYAAAAHBAABBAQEAgUEBAMEBAAABQgAAQYIAAIGCAQDBAgAAAUMAAEGDAAAkQIAGHwAAAR8AgAAHAAAAAwAAAABAsPFAAwAAAABQsPFAAwAAAABgsPFAAwAAAADAsfFAAwAAAAAwsvFAAwAAAACwsfFAAwAAAABwsvFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voHAAAACwCAAUEAAACBQAAAwQAAACRAgAEfAAABHwCAAAIAAAADAAAAACCx8UADAAAAAACz8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBQQEAwQEAAAFCAABBggAAgYIBAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAcAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAABCz8UADAAAAACCz8UADAAAAAHCy8UADAAAAAECy8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gcAAAALAIABQQAAAIFAAADBgAAAJECAAR8AAAEfAIAAAwAAAAMAAAAAILHxQAMAAAAAELLxQAMAAAAA4LHxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6EQAAAAsAgAZBAAAAgUAAAMGAAAABwQAAQQEBAIFBAQDBAQAAAUIAAEGCAACBggAAwQIAAAFDAABBgwAAJECABh8AAAEfAIAABgAAAAMAAAAAQLDxQAMAAAAAULDxQAMAAAAAYLDxQAMAAAAAQLPxQAMAAAAAMLPxQAMAAAAAkLLxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6BwAAAAsAgAFBAAAAgUAAAMGAAAAkQIABHwAAAR8AgAADAAAAAwAAAAAgsfFAAwAAAAAwsfFAAwAAAABwsfFAAAAAAAAAAAAAAAAA", "AAAAAAAAAAAAAAAAAAAAAAAAAAAA+voRAAAACwCABkEAAACBQAAAwYAAAAHBAABBAQEAgUEBAMEBAAABQgAAQYIAAIGCAQDBAgAAAUMAAEGDAAAkQIAGHwAAAR8AgAAHAAAAAwAAAABAsPFAAwAAAABQsPFAAwAAAABgsPFAAwAAAACwsfFAAwAAAADgsvFAAwAAAAAQs/FAAwAAAADwsPFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voHAAAACwCAAUEAAACBQAAAwUAAACRAgAEfAAABHwCAAAIAAAADAAAAALCw8UADAAAAAMCw8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBQQEAwQEAAAFCAABBggAAgYIBAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAcAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAAHCw8UADAAAAAJCw8UADAAAAAOCy8UADAAAAAJCx8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gcAAAALAIABQQAAAIFAAADBgAAAJECAAR8AAAEfAIAAAwAAAAMAAAAAILHxQAMAAAAAALPxQAMAAAAAwLDxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6EQAAAAsAgAZBAAAAgUAAAMGAAAABwQAAQQEBAIFBAQDBAQAAAUIAAEGCAACBggEAwQIAAAFDAABBgwAAJECABh8AAAEfAIAABwAAAAMAAAAAQLDxQAMAAAAAULDxQAMAAAAAYLDxQAMAAAAAcLLxQAMAAAAAMLLxQAMAAAAAwLLxQAMAAAAAoLDxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6BwAAAAsAgAFBAAAAgUAAAMFAAAAkQIABHwAAAR8AgAACAAAAAwAAAAAgsfFAAwAAAAAQsvFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voRAAAACwCABkEAAACBQAAAwYAAAAHBAABBAQEAgUEBAMEBAAABQgAAQYIAAIGCAQDBAgAAAUMAAEGDAAAkQIAGHwAAAR8AgAAHAAAAAwAAAABAsPFAAwAAAABQsPFAAwAAAABgsPFAAwAAAAAQsfFAAwAAAABgsvFAAwAAAAAgs/FAAwAAAACgsPFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voHAAAACwCAAUEAAACBQAAAwYAAACRAgAEfAAABHwCAAAMAAAADAAAAACCx8UADAAAAAMCw8UADAAAAAHCx8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBQQEAwQEAAAFCAABBggAAgYIAAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAYAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAAJCx8UADAAAAAICw8UADAAAAAACx8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gcAAAALAIABQQAAAIFAAADBgAAAJECAAR8AAAEfAIAAAwAAAAMAAAAAILHxQAMAAAAAULLxQAMAAAAAsLDxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6EQAAAAsAgAZBAAAAgUAAAMGAAAABwQAAQQEBAIFBAQDBAQAAAUIAAEGCAACBggEAwQIAAAFDAABBgwAAJECABh8AAAEfAIAABwAAAAMAAAAAQLDxQAMAAAAAULDxQAMAAAAAYLDxQAMAAAAAkLDxQAMAAAAAkLHxQAMAAAAA0LHxQAMAAAAAcLLxQAAAAAAA", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6BgAAAAsAAAFBAAAAgUAAACRAAAEfAAABHwCAAAIAAAADAAAAABCy8UADAAAAAOCx8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBQQEAwQEAAAFCAABBggAAgYIBAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAcAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAAGCz8UADAAAAAJCw8UADAAAAABCx8UADAAAAANCy8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gYAAAALAAABQQAAAIFAAAAkQAABHwAAAR8AgAACAAAAAwAAAAAQsvFAAwAAAABQsvFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voRAAAACwCABkEAAACBQAAAwYAAAAHBAABBAQEAgUEBAMEBAAABQgAAQYIAAIGCAQDBAgAAAUMAAEGDAAAkQIAGHwAAAR8AgAAHAAAAAwAAAABAsPFAAwAAAABQsPFAAwAAAABgsPFAAwAAAABAsfFAAwAAAACQsPFAAwAAAACQsvFAAwAAAACAsvFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voHAAAACwCAAUEAAACBQAAAwYAAACRAgAEfAAABHwCAAAMAAAADAAAAACCx8UADAAAAADCx8UADAAAAAACz8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBQQEAwQEAAAFCAABBggAAgYIBAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAcAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAANCx8UADAAAAAJCx8UADAAAAAHCy8UADAAAAAFCz8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gcAAAALAIABQQAAAIFAAADBgAAAJECAAR8AAAEfAIAAAwAAAAMAAAAAILHxQAMAAAAAULLxQAMAAAAAwLDxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6EQAAAAsAgAZBAAAAgUAAAMGAAAABwQAAQQEBAIFBAQDBAQAAAUIAAEGCAACBggEAwQIAAAFDAABBgwAAJECABh8AAAEfAIAABwAAAAMAAAAAQLDxQAMAAAAAULDxQAMAAAAAYLDxQAMAAAAAQLLxQAMAAAAAYLLxQAMAAAAAMLLxQAMAAAAAILLxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6BwAAAAsAgAFBAAAAgUAAAMGAAAAkQIABHwAAAR8AgAADAAAAAwAAAAAgsfFAAwAAAADgsfFAAwAAAADQsPFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voRAAAACwCABkEAAACBQAAAwYAAAAHBAABBAQEAgUEBAMEBAAABQgAAQYIAAIGCAQDBAgAAAUMAAEGDAAAkQIAGHwAAAR8AgAAHAAAAAwAAAABAsPFAAwAAAABQsPFAAwAAAABgsPFAAwAAAADgsPFAAwAAAAAgsvFAAwAAAABAsfFAAwAAAADQsfFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voHAAAACwCAAUEAAACBQAAAwYAAACRAgAEfAAABHwCAAAMAAAADAAAAACCx8UADAAAAABCy8UADAAAAADCx8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBQQEAwQEAAAFC", "AABBggAAgYIBAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAcAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAAKCw8UADAAAAAGCz8UADAAAAAPCw8UADAAAAAECx8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gcAAAALAIABQQAAAIFAAADBQAAAJECAAR8AAAEfAIAAAgAAAAMAAAAAILHxQAMAAAAAwLDxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6EQAAAAsAgAZBAAAAgUAAAMGAAAABwQAAQQEBAIFBAQDBAQAAAUIAAEGCAACBggEAwQIAAAFDAABBgwAAJECABh8AAAEfAIAABwAAAAMAAAAAQLDxQAMAAAAAULDxQAMAAAAAYLDxQAMAAAAAwLHxQAMAAAAAILPxQAMAAAAA4LLxQAMAAAAAsLHxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6BwAAAAsAgAFBAAAAgUAAAMGAAAAkQIABHwAAAR8AgAADAAAAAwAAAAAgsfFAAwAAAABwsfFAAwAAAAAAs/FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voRAAAACwCABkEAAACBQAAAwYAAAAHBAABBAQEAgUEBAMEBAAABQgAAQYIAAIGCAQDBAgAAAUMAAEGDAAAkQIAGHwAAAR8AgAAHAAAAAwAAAABAsPFAAwAAAABQsPFAAwAAAABgsPFAAwAAAABAsvFAAwAAAABgs/FAAwAAAADgsPFAAwAAAACAsfFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voHAAAACwCAAUEAAACBQAAAwYAAACRAgAEfAAABHwCAAAMAAAADAAAAALCw8UADAAAAAMCw8UADAAAAAOCx8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBQQEAwQEAAAFCAABBggAAgYIBAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAcAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAAICz8UADAAAAAHCy8UADAAAAAKCw8UADAAAAAICw8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gcAAAALAIABQQAAAIFAAADBQAAAJECAAR8AAAEfAIAAAgAAAAMAAAAAILHxQAMAAAAAULLxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6EQAAAAsAgAZBAAAAgUAAAMGAAAABwQAAQQEBAIFBAQDBAQAAAUIAAEGCAACBggAAwQIAAAFDAABBgwAAJECABh8AAAEfAIAABgAAAAMAAAAAQLDxQAMAAAAAULDxQAMAAAAAYLDxQAMAAAAA8LLxQAMAAAAAcLDxQAMAAAAAALHxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6BwAAAAsAgAFBAAAAgUAAAMGAAAAkQIABHwAAAR8AgAADAAAAAwAAAAAgsfFAAwAAAACwsPFAAwAAAADgsfFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voRAAAACwCABkEAAACBQAAAwYAAAAHBAABBAQEAgUEBAMEBAAABQgAAQYIAAIGCAQDBAgAAAUMAAEGDAAAkQIAGHwAAAR8AgAAHAAAAAwAAAABAsPFAAwAAAABQsPFAAwAAAABgsPFAAwAAAADwsvFAAwAAAACwsfFAAwAAAAAAsvFAAwAAAAAwsvFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voGAAAACwAAAUEAAACBQAAAJEAAAR8AAAEfAIAAAgAA", "AAMAAAAAALPxQAMAAAAAELLxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6EQAAAAsAgAZBAAAAgUAAAMGAAAABwQAAQQEBAIFBAQDBAQAAAUIAAEGCAACBggEAwQIAAAFDAABBgwAAJECABh8AAAEfAIAABwAAAAMAAAAAQLDxQAMAAAAAULDxQAMAAAAAYLDxQAMAAAAAYLLxQAMAAAAAULPxQAMAAAAAoLLxQAMAAAAAkLDxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6BgAAAAsAAAFBAAAAgUAAACRAAAEfAAABHwCAAAIAAAADAAAAAACz8UADAAAAACCx8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBQQEAwQEAAAFCAABBggAAgYIBAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAcAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAAGCx8UADAAAAAJCx8UADAAAAAPCy8UADAAAAANCx8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gYAAAALAAABQQAAAIFAAAAkQAABHwAAAR8AgAACAAAAAwAAAADAsPFAAwAAAAAQsvFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voRAAAACwCABkEAAACBQAAAwYAAAAHBAABBAQEAgUEBAMEBAAABQgAAQYIAAIGCAQDBAgAAAUMAAEGDAAAkQIAGHwAAAR8AgAAHAAAAAwAAAABAsPFAAwAAAABQsPFAAwAAAABgsPFAAwAAAACAsfFAAwAAAABgsvFAAwAAAACAsPFAAwAAAACwsfFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voGAAAACwAAAUEAAACBQAAAJEAAAR8AAAEfAIAAAgAAAAMAAAAAELLxQAMAAAAA0LDxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6EQAAAAsAgAZBAAAAgUAAAMGAAAABwQAAQQEBAIFBAQDBAQAAAUIAAEGCAACBggEAwQIAAAFDAABBgwAAJECABh8AAAEfAIAABwAAAAMAAAAAQLDxQAMAAAAAULDxQAMAAAAAYLDxQAMAAAAA0LHxQAMAAAAAkLDxQAMAAAAAcLPxQAMAAAAAELPxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6BgAAAAsAAAFBAAAAgUAAACRAAAEfAAABHwCAAAIAAAADAAAAABCy8UADAAAAAACz8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBQQEAwQEAAAFCAABBggAAgYIBAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAcAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAAECx8UADAAAAAMCx8UADAAAAAHCz8UADAAAAACCy8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gYAAAALAAABQQAAAIFAAAAkQAABHwAAAR8AgAACAAAAAwAAAAAQsvFAAwAAAAAgsfFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voRAAAACwCABkEAAACBQAAAwYAAAAHBAABBAQEAgUEBAMEBAAABQgAAQYIAAIGCAQDBAgAAAUMAAEGDAAAkQIAGHwAAAR8AgAAHAAAAAwAAAABAsPFAAwAAAABQsPFAAwAAAABgsPFAAwAAAACAsvFAAwAAAABAsvFAAwAAAADwsfFAAwAAAABgs/FAAAAAAAAAAAAAAAAA", "AAAAAAAAAAAAAAAAAAAAAAAAAAAA+voGAAAACwAAAUEAAACBAAAAJEAAAR8AAAEfAIAAAQAAAAMAAAAAELLxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6EQAAAAsAgAZBAAAAgUAAAMGAAAABwQAAQQEBAIFBAQDBAQAAAUIAAEGCAACBggEAwQIAAAFDAABBgwAAJECABh8AAAEfAIAABwAAAAMAAAAAQLDxQAMAAAAAULDxQAMAAAAAYLDxQAMAAAAAkLHxQAMAAAAAsLHxQAMAAAAAQLHxQAMAAAAA0LHxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6BgAAAAsAAAFBAAAAgUAAACRAAAEfAAABHwCAAAIAAAADAAAAAACz8UADAAAAAOCx8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBQQEAwQEAAAFCAABBggAAgYIBAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAcAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAAHCy8UADAAAAAJCx8UADAAAAAPCw8UADAAAAAKCy8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gcAAAALAIABQQAAAIFAAADBQAAAJECAAR8AAAEfAIAAAgAAAAMAAAAAILHxQAMAAAAAMLHxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6EQAAAAsAgAZBAAAAgUAAAMGAAAABwQAAQQEBAIFBAQDBAQAAAUIAAEGCAACBggEAwQIAAAFDAABBgwAAJECABh8AAAEfAIAABwAAAAMAAAAAQLDxQAMAAAAAULDxQAMAAAAAYLDxQAMAAAAAwLHxQAMAAAAAsLLxQAMAAAAAILPxQAMAAAAAoLHxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6BwAAAAsAgAFBAAAAgUAAAMGAAAAkQIABHwAAAR8AgAADAAAAAwAAAAAgsfFAAwAAAADAsPFAAwAAAADQsPFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voRAAAACwCABkEAAACBQAAAwYAAAAHBAABBAQEAgUEBAMEBAAABQgAAQYIAAIGCAQDBAgAAAUMAAEGDAAAkQIAGHwAAAR8AgAAHAAAAAwAAAABAsPFAAwAAAABQsPFAAwAAAABgsPFAAwAAAACwsfFAAwAAAACAs/FAAwAAAABwsvFAAwAAAABAsvFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voHAAAACwCAAUEAAACBQAAAwYAAACRAgAEfAAABHwCAAAMAAAADAAAAACCx8UADAAAAAFCy8UADAAAAABCy8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBQQEAwQEAAAFCAABBggAAgYIBAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAcAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAAPCx8UADAAAAAJCy8UADAAAAAACy8UADAAAAACCz8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gcAAAALAIABQQAAAIFAAADBgAAAJECAAR8AAAEfAIAAAwAAAAMAAAAAILHxQAMAAAAAcLHxQAMAAAAAwLDxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6EQAAAAsAgAZBAAAAgUAAAMGAAAABwQAAQQEBAIFBAQDBAQAAAUIAAEGCAACBggEAwQIAAAFDAABBgwAAJECA", "Bh8AAAEfAIAABwAAAAMAAAAAQLDxQAMAAAAAULDxQAMAAAAAYLDxQAMAAAAAgLPxQAMAAAAAcLDxQAMAAAAAkLLxQAMAAAAAoLDxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6BwAAAAsAgAFBAAAAgUAAAMGAAAAkQIABHwAAAR8AgAADAAAAAwAAAAAgsfFAAwAAAAAAs/FAAwAAAADgsfFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voRAAAACwCABkEAAACBQAAAwYAAAAHBAABBAQEAgUEBAMEBAAABQgAAQYIAAIGCAQDBAgAAAUMAAEGDAAAkQIAGHwAAAR8AgAAHAAAAAwAAAABAsPFAAwAAAABQsPFAAwAAAABgsPFAAwAAAABgsvFAAwAAAADwsPFAAwAAAACwsvFAAwAAAABAsvFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voHAAAACwCAAUEAAACBQAAAwYAAACRAgAEfAAABHwCAAAMAAAADAAAAACCx8UADAAAAABCy8UADAAAAAACz8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBQQEAwQEAAAFCAABBggAAgYIBAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAcAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAAECy8UADAAAAAECz8UADAAAAANCy8UADAAAAAACy8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gcAAAALAIABQQAAAIFAAADBgAAAJECAAR8AAAEfAIAAAwAAAAMAAAAAILHxQAMAAAAAULLxQAMAAAAAMLHxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6EQAAAAsAgAZBAAAAgUAAAMGAAAABwQAAQQEBAIFBAQDBAQAAAUIAAEGCAACBAgEAwQIAAAFDAABBgwAAJECABh8AAAEfAIAABgAAAAMAAAAAQLDxQAMAAAAAULDxQAMAAAAAYLDxQAMAAAAA8LHxQAMAAAAAELPxQAMAAAAAALHxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6BwAAAAsAgAFBAAAAgUAAAMGAAAAkQIABHwAAAR8AgAADAAAAAwAAAAAgsfFAAwAAAAAAs/FAAwAAAABwsfFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voRAAAACwCABkEAAACBQAAAwYAAAAHBAABBAQEAgQEBAMEBAAABQgAAQYIAAIFCAQDBAgAAAUMAAEGDAAAkQIAGHwAAAR8AgAAGAAAAAwAAAABAsPFAAwAAAABQsPFAAwAAAABgsPFAAwAAAADwsvFAAwAAAABgsvFAAwAAAACQsPFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voHAAAACwCAAUEAAACBQAAAwUAAACRAgAEfAAABHwCAAAIAAAADAAAAACCx8UADAAAAAHCx8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBQQEAwQEAAAFCAABBggAAgYIBAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAcAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAAOCy8UADAAAAAICy8UADAAAAALCx8UADAAAAABCz8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gcAAAALAIABQQAAAIFAAADBgAAAJECAAR8AAAEfAIAAAwAAAAMAAAAAILHxQAMAAAAAALPxQAMA", "AAAAULLxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6EQAAAAsAgAZBAAAAgUAAAMGAAAABwQAAQQEBAIFBAQDBAQAAAUIAAEGCAACBggEAwQIAAAFDAABBgwAAJECABh8AAAEfAIAABwAAAAMAAAAAQLDxQAMAAAAAULDxQAMAAAAAYLDxQAMAAAAAYLLxQAMAAAAAULPxQAMAAAAAELHxQAMAAAAAQLLxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6BwAAAAsAgAFBAAAAgUAAAMGAAAAkQIABHwAAAR8AgAADAAAAAwAAAAAgsfFAAwAAAADAsPFAAwAAAAAAs/FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voRAAAACwCABkEAAACBQAAAwYAAAAHBAABBAQEAgYEAAMEBAAABQgAAQYIAAIECAQDBAgAAAUMAAEGDAAAkQIAGHwAAAR8AgAAFAAAAAwAAAABAsPFAAwAAAABQsPFAAwAAAABgsPFAAwAAAAAgs/FAAwAAAACgsPFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voHAAAACwCAAUEAAACBQAAAwYAAACRAgAEfAAABHwCAAAMAAAADAAAAACCx8UADAAAAAFCy8UADAAAAAHCx8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBQQEAwQEAAAFCAABBggAAgYIBAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAcAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAAICy8UADAAAAAHCy8UADAAAAAICx8UADAAAAAFCx8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gcAAAALAIABQQAAAIFAAADBAAAAJECAAR8AAAEfAIAAAgAAAAMAAAAAILHxQAMAAAAAcLHxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6EQAAAAsAgAZBAAAAgUAAAMGAAAABwQAAQQEBAIFBAQDBAQAAAUIAAEGCAACBggEAwQIAAAFDAABBgwAAJECABh8AAAEfAIAABwAAAAMAAAAAQLDxQAMAAAAAULDxQAMAAAAAYLDxQAMAAAAA8LDxQAMAAAAAYLLxQAMAAAAAsLHxQAMAAAAA0LLxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6BwAAAAsAgAFBAAAAgUAAAMGAAAAkQIABHwAAAR8AgAADAAAAAwAAAAAgsfFAAwAAAABQsvFAAwAAAADQsPFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voRAAAACwCABkEAAACBQAAAwYAAAAHBAABBAQEAgUEBAMEBAAABQgAAQYIAAIGCAQDBAgAAAUMAAEGDAAAkQIAGHwAAAR8AgAAHAAAAAwAAAABAsPFAAwAAAABQsPFAAwAAAABgsPFAAwAAAADAsvFAAwAAAADAsfFAAwAAAAAQsfFAAwAAAAAwsvFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voHAAAACwCAAUEAAACBQAAAwYAAACRAgAEfAAABHwCAAAMAAAADAAAAACCx8UADAAAAADCx8UADAAAAABCy8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBQQEAwQEAAAFCAABBggAAgYIBAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAcAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAAHCz8UADAAAAAICx8UADAAAA", "AKCx8UADAAAAAJCw8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gYAAAALAAABQQAAAIFAAAAkQAABHwAAAR8AgAACAAAAAwAAAADgsfFAAwAAAAAgsfFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voRAAAACwCABkEAAACBQAAAwYAAAAHBAABBAQEAgUEBAMEBAAABQgAAQYIAAIGCAQDBAgAAAUMAAEGDAAAkQIAGHwAAAR8AgAAHAAAAAwAAAABAsPFAAwAAAABQsPFAAwAAAABgsPFAAwAAAABwsPFAAwAAAABgsvFAAwAAAACQsfFAAwAAAAAgs/FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voGAAAACwAAAUEAAACBQAAAJEAAAR8AAAEfAIAAAgAAAAMAAAAAALPxQAMAAAAAMLHxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6EQAAAAsAgAZBAAAAgUAAAMGAAAABwQAAQQEBAIFBAQDBAQAAAUIAAEGCAACBggEAwQIAAAFDAABBgwAAJECABh8AAAEfAIAABwAAAAMAAAAAQLDxQAMAAAAAULDxQAMAAAAAYLDxQAMAAAAA8LDxQAMAAAAAELHxQAMAAAAAwLLxQAMAAAAAsLLxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6BgAAAAsAAAFBAAAAgUAAACRAAAEfAAABHwCAAAIAAAADAAAAAOCx8UADAAAAAMCw8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBQQEAwQEAAAFCAABBggAAgYIBAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAcAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAAGCx8UADAAAAAGCz8UADAAAAAACx8UADAAAAAHCz8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gYAAAALAAABQQAAAIFAAAAkQAABHwAAAR8AgAACAAAAAwAAAAAQsvFAAwAAAADAsPFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voRAAAACwCABkEAAACBQAAAwYAAAAHBAABBAQEAgUEBAMEBAAABQgAAQYIAAIGCAQDBAgAAAUMAAEGDAAAkQIAGHwAAAR8AgAAHAAAAAwAAAABAsPFAAwAAAABQsPFAAwAAAABgsPFAAwAAAAAQs/FAAwAAAADwsfFAAwAAAACAsfFAAwAAAAAAsfFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voGAAAACwAAAUEAAACBQAAAJEAAAR8AAAEfAIAAAgAAAAMAAAAAILHxQAMAAAAA0LDxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6EQAAAAsAgAZBAAAAgUAAAMGAAAABgQAAQcEAAIEBAQDBAQAAAUIAAEGCAACBQgEAwQIAAAFDAABBgwAAJECABh8AAAEfAIAABgAAAAMAAAAAQLDxQAMAAAAAULDxQAMAAAAAYLDxQAMAAAAAoLDxQAMAAAAAsLHxQAMAAAAAcLLxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6BwAAAAsAgAFBAAAAgUAAAMGAAAAkQIABHwAAAR8AgAADAAAAAwAAAAAgsfFAAwAAAAAAs/FAAwAAAAAQsvFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voRAAAACwCABkEAAACBQAAAwYAAAAHBAABBAQEAgUEBAMEBAAABQgAAQYIAAIGCAQDBAgAAAUMAAEGDAAAkQIAGHwAA", "AR8AgAAHAAAAAwAAAABAsPFAAwAAAABQsPFAAwAAAABgsPFAAwAAAAAAsvFAAwAAAABwsPFAAwAAAACQsvFAAwAAAAAgsvFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voHAAAACwCAAUEAAACBQAAAwQAAACRAgAEfAAABHwCAAAIAAAADAAAAACCx8UADAAAAABCy8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBQQEAwQEAAAFCAABBggAAgYIBAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAcAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAAICz8UADAAAAAICy8UADAAAAAPCw8UADAAAAANCy8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gcAAAALAIABQQAAAIFAAADBgAAAJECAAR8AAAEfAIAAAwAAAAMAAAAAILHxQAMAAAAAELLxQAMAAAAAcLHxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6EQAAAAsAgAZBAAAAgUAAAMGAAAABwQAAQcEAAIEBAQDBAQAAAUIAAEGCAACBQgEAwQIAAAFDAABBgwAAJECABh8AAAEfAIAABgAAAAMAAAAAQLDxQAMAAAAAULDxQAMAAAAAYLDxQAMAAAAAQLHxQAMAAAAAcLDxQAMAAAAAMLPxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6BwAAAAsAgAFBAAAAgUAAAMGAAAAkQIABHwAAAR8AgAADAAAAAwAAAAAgsfFAAwAAAAAwsfFAAwAAAADgsfFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voRAAAACwCABkEAAACBQAAAwYAAAAHBAABBAQEAgUEBAMEBAAABQgAAQYIAAIGCAQDBAgAAAUMAAEGDAAAkQIAGHwAAAR8AgAAHAAAAAwAAAABAsPFAAwAAAABQsPFAAwAAAABgsPFAAwAAAABQs/FAAwAAAACgsfFAAwAAAADwsfFAAwAAAABAs/FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voHAAAACwCAAUEAAACBQAAAwYAAACRAgAEfAAABHwCAAAMAAAADAAAAACCx8UADAAAAAFCy8UADAAAAAACz8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBQQEAwQEAAAFCAABBggAAgYIBAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAcAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAAKCw8UADAAAAAECz8UADAAAAAGCx8UADAAAAANCy8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gcAAAALAIABQQAAAIFAAADBgAAAJECAAR8AAAEfAIAAAwAAAAMAAAAAILHxQAMAAAAAMLHxQAMAAAAA0LDxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6EQAAAAsAgAZBAAAAgUAAAMGAAAABwQAAQYEAAIEBAQDBAQAAAUIAAEGCAACBggAAwQIAAAFDAABBgwAAJECABh8AAAEfAIAABQAAAAMAAAAAQLDxQAMAAAAAULDxQAMAAAAAYLDxQAMAAAAAYLHxQAMAAAAAcLPxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6BgAAAAsAAAFBAAAAgUAAACRAAAEfAAABHwCAAAIAAAADAAAAAOCx8UADAAAAALCw8UAAAAAAAAAAAAAAAAAAAAAAAAAA", "AAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBgQAAwQEAAAFCAABBggAAgUIBAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAYAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAABCz8UADAAAAAMCx8UADAAAAAPCx8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gYAAAALAAABQQAAAIEAAAAkQAABHwAAAR8AgAABAAAAAwAAAADAsPFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voRAAAACwCABkEAAACBQAAAwYAAAAHBAABBAQEAgUEBAMEBAAABQgAAQYIAAIGCAQDBAgAAAUMAAEGDAAAkQIAGHwAAAR8AgAAHAAAAAwAAAABAsPFAAwAAAABQsPFAAwAAAABgsPFAAwAAAABgs/FAAwAAAABQsfFAAwAAAACgsvFAAwAAAABws/FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voHAAAACwCAAUEAAACBAAAAwUAAACRAgAEfAAABHwCAAAIAAAADAAAAALCw8UADAAAAADCx8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBQQEAwQEAAAFCAABBggAAgYIBAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAcAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAAGCy8UADAAAAAICx8UADAAAAAFCx8UADAAAAAICz8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gcAAAALAIABQQAAAIFAAADBgAAAJECAAR8AAAEfAIAAAwAAAAMAAAAAILHxQAMAAAAAwLDxQAMAAAAAULLxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6EQAAAAsAgAZBAAAAgUAAAMGAAAABwQAAQQEBAIFBAQDBAQAAAUIAAEGCAACBggEAwQIAAAFDAABBgwAAJECABh8AAAEfAIAABwAAAAMAAAAAQLDxQAMAAAAAULDxQAMAAAAAYLDxQAMAAAAAcLPxQAMAAAAAgLPxQAMAAAAAcLDxQAMAAAAA4LDxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6BwAAAAsAgAFBAAAAgUAAAMGAAAAkQIABHwAAAR8AgAADAAAAAwAAAAAgsfFAAwAAAABwsfFAAwAAAADQsPFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voRAAAACwCABkEAAACBQAAAwYAAAAHBAABBAQEAgUEBAMEBAAABQgAAQYIAAIGCAQDBAgAAAUMAAEGDAAAkQIAGHwAAAR8AgAAHAAAAAwAAAABAsPFAAwAAAABQsPFAAwAAAABgsPFAAwAAAACQsPFAAwAAAABgsvFAAwAAAACwsvFAAwAAAACAsPFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voHAAAACwCAAUEAAACBQAAAwYAAACRAgAEfAAABHwCAAAMAAAADAAAAACCx8UADAAAAAMCw8UADAAAAALCw8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBQQEAwQEAAAFCAABBggAAgYIBAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAcAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAAOCw8UADAAAAAMCy8UADAAAAAACy8UADAAAAAOCy8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "AAAAAAAAAAD6+gcAAAALAIABQQAAAIFAAADBgAAAJECAAR8AAAEfAIAAAwAAAAMAAAAAsLDxQAMAAAAAELLxQAMAAAAA0LDxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6EQAAAAsAgAZBAAAAgUAAAMGAAAABwQAAQQEBAIFBAQDBAQAAAUIAAEGCAACBggEAwQIAAAFDAABBgwAAJECABh8AAAEfAIAABwAAAAMAAAAAQLDxQAMAAAAAULDxQAMAAAAAYLDxQAMAAAAAYLLxQAMAAAAAcLPxQAMAAAAAYLHxQAMAAAAA0LHxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6BwAAAAsAgAFBAAAAgUAAAMGAAAAkQIABHwAAAR8AgAADAAAAAwAAAAAgsfFAAwAAAAAAs/FAAwAAAACwsPFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voRAAAACwCABkEAAACBQAAAwYAAAAHBAABBAQEAgUEBAMEBAAABQgAAQYIAAIGCAQDBAgAAAUMAAEGDAAAkQIAGHwAAAR8AgAAHAAAAAwAAAABAsPFAAwAAAABQsPFAAwAAAABgsPFAAwAAAABQsfFAAwAAAABgs/FAAwAAAAAQsfFAAwAAAABwsvFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+voHAAAACwCAAUEAAACBQAAAwYAAACRAgAEfAAABHwCAAAMAAAADAAAAACCx8UADAAAAAHCx8UADAAAAABCy8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+hEAAAALAIAGQQAAAIFAAADBgAAAAcEAAEEBAQCBgQAAwQEAAAFCAABBggAAgUIBAMECAAABQwAAQYMAACRAgAYfAAABHwCAAAYAAAADAAAAAECw8UADAAAAAFCw8UADAAAAAGCw8UADAAAAAMCy8UADAAAAAACx8UADAAAAAOCy8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+gcAAAALAIABQQAAAIFAAADBAAAAJECAAR8AAAEfAIAAAgAAAAMAAAAAILHxQAMAAAAAMLHxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAfr67QEAAGUAAAAIQACAZUAAAAhAgIBlgAAACEAAgWXAAAAIQICBZQABAAhAAIJlQAEACECAgmWAAQAIQACDZcABAAhAgINlAAIACEAAhGVAAgAIQICEZYACAAhAAIVlwAIACECAhWUAAwAIQACGZUADAAhAgIZlgAMACEAAh2XAAwAIQICHZQAEAAhAAIhlQAQACECAiGWABAAIQACJZcAEAAhAgIllAAUACEAAimVABQAIQICKZYAFAAhAAItlwAUACECAi2UABgAIQACMZUAGAAhAgIxlgAYACEAAjWXABgAIQICNZQAHAAhAAI5lQAcACECAjmWABwAIQACPZcAHAAhAgI9lAAgACEAAkGVACAAIQICQZYAIAAhAAJFlwAgACECAkWUACQAIQACSZUAJAAhAgJJlgAkACEAAk2XACQAIQICTZQAKAAhAAJRlQAoACECAlGWACgAIQACVZcAKAAhAgJVlAAsACEAAlmVACwAIQICWZYALAAhAAJdlwAsACECAl2UADAAIQACYZUAMAAhAgJhlgAwACEAAmWXADAAIQICZZQANAAhAAJplQA0ACECAmmWADQAIQACbZcANAAhAgJtlAA4ACEAAnGVADgAIQICcZYAOAAhAAJ1lwA4ACECAnWUADwAIQACeZUAPAAhAgJ5lgA8ACEAAn2XADwAIQICfZQAQAAhAAKBlQBAACECAoGWAEAAIQAChZcAQAAhAgKFlABEACEAAomVAEQAIQICiZYARAAhAAKNlwBEACECAo2UAEgAIQACkZUAS", "AAhAgKRlgBIACEAApWXAEgAIQIClZQATAAhAAKZlQBMACECApmWAEwAIQACnZcATAAhAgKdlABQACEAAqGVAFAAIQICoZYAUAAhAAKllwBQACECAqWUAFQAIQACqZUAVAAhAgKplgBUACEAAq2XAFQAIQICrZQAWAAhAAKxlQBYACECArGWAFgAIQACtZcAWAAhAgK1lABcACEAArmVAFwAIQICuZYAXAAhAAK9lwBcACECAr2UAGAAIQACwZUAYAAhAgLBlgBgACEAAsWXAGAAIQICxZQAZAAhAALJlQBkACECAsmWAGQAIQACzZcAZAAhAgLNlABoACEAAtGVAGgAIQIC0ZYAaAAhAALVlwBoACECAtWUAGwAIQAC2ZUAbAAhAgLZlgBsACEAAt2XAGwAIQIC3ZQAcAAhAALhlQBwACECAuGWAHAAIQAC5ZcAcAAhAgLllAB0ACEAAumVAHQAIQIC6ZYAdAAhAALtlwB0ACECAu2UAHgAIQAC8ZUAeAAhAgLxlgB4ACEAAvWXAHgAIQIC9ZQAfAAhAAL5lQB8ACECAvmWAHwAIQAC/ZcAfAAhAgL9lACAACEAAwGVAIAAIQIDAZYAgAAhAAMFlwCAACECAwWUAIQAIQADCZUAhAAhAgMJlgCEACEAAw2XAIQAIQIDDZQAiAAhAAMRlQCIACECAxGWAIgAIQADFZcAiAAhAgMVlACMACEAAxmVAIwAIQIDGZYAjAAhAAMdlwCMACECAx2UAJAAIQADIZUAkAAhAgMhlgCQACEAAyWXAJAAIQIDJZQAlAAhAAMplQCUACECAymWAJQAIQADLZcAlAAhAgMtlACYACEAAzGVAJgAIQIDMZYAmAAhAAM1lwCYACECAzWUAJwAIQADOZUAnAAhAgM5lgCcACEAAz2XAJwAIQIDPZQAoAAhAANBlQCgACECA0GWAKAAIQADRZcAoAAhAgNFlACkACEAA0mVAKQAIQIDSZYApAAhAANNlwCkACECA02UAKgAIQADUZUAqAAhAgNRlgCoACEAA1WXAKgAIQIDVZQArAAhAANZlQCsACECA1mWAKwAIQADXZcArAAhAgNdlACwACEAA2GVALAAIQIDYZYAsAAhAANllwCwACECA2WUALQAIQADaZUAtAAhAgNplgC0ACEAA22XALQAIQIDbZQAuAAhAANxlQC4ACECA3GWALgAIQADdZcAuAAhAgN1lAC8ACEAA3mVALwAIQIDeZYAvAAhAAN9lwC8ACECA32UAMAAIQADgZUAwAAhAgOBlgDAACEAA4WXAMAAIQIDhZQAxAAhAAOJlQDEACECA4mWAMQAIQADjZcAxAAhAgONlADIACEAA5GVAMgAIQIDkZYAyAAhAAOVlwDIACECA5WUAMwAIQADmZUAzAAhAgOZlgDMACEAA52XAMwAIQIDnZQA0AAhAAOhlQDQACECA6GWANAAIQADpZcA0AAhAgOllADUACEAA6mVANQAIQIDqZYA1AAhAAOtlwDUACECA62UANgAIQADsZUA2AAhAgOxlgDYACEAA7WXANgAIQIDtZQA3AAhAAO5lQDcACECA7mWANwAIQADvZcA3AAhAgO9lADgACEAA8GVAOAAIQIDwZYA4AAhAAPFlwDgACECA8WUAOQAIQADyZUA5AAhAgPJlgDkACEAA82XAOQAIQIDzZQA6AAhAAPRlQDoACECA9GWAOgAIQAD1ZcA6AAhAgPVlADsACEAA9mVAOwAIQID2ZYA7AAhAAPdlwDsACECA92UAPAAIQAD4ZUA8AAhAgPhlgDwACEAA+WXAPAAIQID5ZQA9AAhAAPplQD0ACECA+h8AgAD2AAAABA4AAADvv728nqDvv72W77+9AAQOAAAA77+9tJu677+9nu+/vQAEDgAAAO+/va6osO+/vaPvv70ABA4AAADvv72enrbvv72k77+9AAQOAAAA77+9vKOv77+9n++/vQAEDgAAAO+/vbKdpe+/va7v", "v70ABA4AAADvv72Ynazvv72677+9AAQOAAAA77+9tqyi77+9ou+/vQAEDgAAAO+/vaCbtO+/vbbvv70ABA4AAADvv72Xspzvv72577+9AAQOAAAA77+9mrGy77+9se+/vQAEDgAAAO+/vbKbsu+/vanvv70ABA4AAADvv725pLXvv72777+9AAQOAAAA77+9sLyo77+9uu+/vQAEDgAAAO+/vamctu+/vZfvv70ABA4AAADvv72klqDvv72a77+9AAQOAAAA77+9pL6v77+9pu+/vQAEDgAAAO+/vaG9qu+/vbLvv70ABA4AAADvv72wqLbvv72y77+9AAQOAAAA77+9o52y77+9oO+/vQAEDgAAAO+/vaC5pO+/vZrvv70ABA4AAADvv72Xvrnvv72677+9AAQOAAAA77+9mbyi77+9n++/vQAEDgAAAO+/vaWco++/vZ7vv70ABA4AAADvv72huZ3vv72t77+9AAQOAAAA77+9lrO177+9vO+/vQAEDgAAAO+/vaqpou+/va3vv70ABA4AAADvv72nrrvvv72m77+9AAQOAAAA77+9raal77+9pu+/vQAEDgAAAO+/vaKbqu+/vb3vv70ABA4AAADvv72fopfvv72x77+9AAQOAAAA77+9oZ2077+9mO+/vQAEDgAAAO+/vb66o++/vaPvv70ABA4AAADvv72wtp7vv72j77+9AAQOAAAA77+9oaq777+9t++/vQAEDgAAAO+/vbqquu+/vbXvv70ABA4AAADvv72ntLPvv72X77+9AAQOAAAA77+9maCr77+9u++/vQAEDgAAAO+/va62vO+/vbXvv70ABA4AAADvv72mmKjvv72a77+9AAQOAAAA77+9mra977+9ue+/vQAEDgAAAO+/vbW6s++/vbPvv70ABA4AAADvv72doq/vv72177+9AAQOAAAA77+9s5q277+9ne+/vQAEDgAAAO+/vZ60su+/vZbvv70ABA4AAADvv72yqZnvv72577+9AAQOAAAA77+9q6y877+9tu+/vQAEDgAAAO+/vaG8o++/vb7vv70ABA4AAADvv72tpZfvv72e77+9AAQOAAAA77+9q56277+9re+/vQAEDgAAAO+/va6kre+/vanvv70ABA4AAADvv72koq/vv72Y77+9AAQOAAAA77+9r7Gi77+9pu+/vQAEDgAAAO+/vbK7vu+/va3vv70ABA4AAADvv72krrLvv72v77+9AAQOAAAA77+9qbqW77+9nO+/vQAEDgAAAO+/vbumou+/va7vv70ABA4AAADvv72lqqzvv72d77+9AAQOAAAA77+9sLWY77+9r++/vQAEDgAAAO+/va6wte+/vazvv70ABA4AAADvv72nq5nvv72077+9AAQOAAAA77+9pKSr77+9qe+/vQAEDgAAAO+/vaWtsO+/va3vv70ABA4AAADvv72qmrzvv72r77+9AAQOAAAA77+9tpa777+9l++/vQAEDgAAAO+/vZeap++/vbXvv70ABA4AAADvv72btLrvv72o77+9AAQOAAAA77+9uZ+277+9vO+/vQAEDgAAAO+/vZqkre+/vbXvv70ABA4AAADvv72tqqvvv72477+9AAQOAAAA77+9vL2o77+9sO+/vQAEDgAAAO+/vbO7mu+/vbXvv70ABA4AAADvv72itKrvv72Z77+9AAQOAAAA77+9tJi477+9me+/vQAEDgAAAO+/vZ+nse+/vbfvv70ABA4AAADvv72Zt7nvv72p77+9AAQOAAAA77+9s66977+9u++/vQAEDgAAAO+/vbifru+/vbzvv70ABA4AAADvv72Wta7vv72177+9AAQOAAAA77+9trql77+9l++/vQAEDgAAAO+/vbS5te+/vbbvv70ABA4AAADvv725vbvvv72e77+9AAQOAAAA77+9oaqu77+9m++/vQAEDgAAAO+/vZu6qu+/vafvv70ABA4AAADvv72lmLXvv72X", "77+9AAQOAAAA77+9p6qt77+9mO+/vQAEDgAAAO+/vaaXoe+/vazvv70ABA4AAADvv72pp77vv72f77+9AAQOAAAA77+9qK2k77+9nO+/vQAEDgAAAO+/vbKfvO+/vZ3vv70ABA4AAADvv72+uqTvv72277+9AAQOAAAA77+9nLuj77+9ru+/vQAEDgAAAO+/vbKpmO+/va/vv70ABA4AAADvv72wl5fvv72s77+9AAQOAAAA77+9qq+d77+9ve+/vQAEDgAAAO+/va2gqO+/vaTvv70ABA4AAADvv72Wm7Dvv72y77+9AAQOAAAA77+9vLG177+9ne+/vQAEDgAAAO+/vaGrve+/vaPvv70ABA4AAADvv72mqL3vv72Y77+9AAQOAAAA77+9tqyx77+9r++/vQAEDgAAAO+/vbebtu+/vb7vv70ABA4AAADvv72et7nvv72k77+9AAQOAAAA77+9pquf77+9u++/vQAEDgAAAO+/vbW4se+/vbXvv70ABA4AAADvv72pm7jvv72w77+9AAQOAAAA77+9tLG777+9n++/vQAEDgAAAO+/vaO3qu+/varvv70ABA4AAADvv72vnLvvv72k77+9AAQOAAAA77+9oq6Z77+9uO+/vQAEDgAAAO+/va2jmO+/vbbvv70ABA4AAADvv721obnvv72y77+9AAQOAAAA77+9mraj77+9pO+/vQAEDgAAAO+/vaetsO+/vajvv70ABA4AAADvv721qLnvv72i77+9AAQOAAAA77+9mqy577+9rO+/vQAEDgAAAO+/vb2ql++/vaPvv70ABA4AAADvv72pvrnvv72W77+9AAQOAAAA77+9uL6u77+9lu+/vQAEDgAAAO+/vaShue+/vbjvv70ABA4AAADvv722qZzvv72077+9AAQOAAAA77+9qa6077+9uO+/vQAEDgAAAO+/vbKzn++/vbbvv70ABA4AAADvv72avLrvv72y77+9AAQOAAAA77+9raGv77+9tu+/vQAEDgAAAO+/vai2nu+/vbnvv70ABA4AAADvv721p7Dvv72577+9AAQOAAAA77+9uZyi77+9l++/vQAEDgAAAO+/vZukp++/vaXvv70ABA4AAADvv72hnbjvv72y77+9AAQOAAAA77+9pK2477+9l++/vQAEDgAAAO+/vaicve+/vZzvv70ABA4AAADvv720sZ7vv72j77+9AAQOAAAA77+9pLit77+9nu+/vQAEDgAAAO+/va2usO+/vbDvv70ABA4AAADvv728vK/vv72277+9AAQOAAAA77+9s7qb77+9o++/vQAEDgAAAO+/vZmpqu+/vazvv70ABA4AAADvv72WsJfvv72d77+9AAQOAAAA77+9rqGX77+9nO+/vQAEDgAAAO+/vbStte+/vZ3vv70ABA4AAADvv72goqjvv72677+9AAQOAAAA77+9uZim77+9oO+/vQAEDgAAAO+/vaKqqO+/vbjvv70ABA4AAADvv72mua/vv72s77+9AAQOAAAA77+9lqai77+9oe+/vQAEDgAAAO+/vb62pO+/va3vv70ABA4AAADvv728sbzvv72i77+9AAQOAAAA77+9vp+j77+9mO+/vQAEDgAAAO+/vZ+Wme+/vZbvv70ABA4AAADvv72dobHvv72377+9AAQOAAAA77+9mL2k77+9tu+/vQAEDgAAAO+/vby6mu+/vazvv70ABA4AAADvv72lpaHvv72j77+9AAQOAAAA77+9vpyh77+9s++/vQAEDgAAAO+/vbCsme+/vaDvv70ABA4AAADvv72oqanvv72877+9AAQOAAAA77+9n5y077+9p++/vQAEDgAAAO+/vayvlu+/vanvv70ABA4AAADvv72rtprvv72777+9AAQOAAAA77+9qpu477+9oO+/vQAEDgAAAO+/vby6tO+/vZ7vv70ABA4AAADvv72Wmrjvv72e77+9AAQOAAAA77+9mbuh77+9", "su+/vQAEDgAAAO+/vZ6WuO+/vaHvv70ABA4AAADvv726nrTvv72b77+9AAQOAAAA77+9obmy77+9ou+/vQAEDgAAAO+/vZ+8r++/varvv70ABA4AAADvv72hp57vv72q77+9AAQOAAAA77+9o56s77+9qe+/vQAEDgAAAO+/vZ6Wpe+/vZrvv70ABA4AAADvv720mq3vv72r77+9AAQOAAAA77+9uZaz77+9pO+/vQAEDgAAAO+/vZq7me+/vaHvv70ABA4AAADvv72WuZjvv72577+9AAQOAAAA77+9trG077+9sO+/vQAEDgAAAO+/vZeYqO+/vbHvv70ABA4AAADvv728u7jvv72c77+9AAQOAAAA77+9u7Sr77+9m++/vQAEDgAAAO+/vbmzt++/vaLvv70ABA4AAADvv72hpaHvv72877+9AAQOAAAA77+9pqyb77+9ru+/vQAEDgAAAO+/vay6ru+/vafvv70ABA4AAADvv720urvvv72z77+9AAQOAAAA77+9naS177+9oe+/vQAEDgAAAO+/vau2uu+/vbTvv70ABA4AAADvv72mnq7vv72d77+9AAQOAAAA77+9tby177+9nO+/vQAEDgAAAO+/vaqfqe+/vaDvv70ABA4AAADvv724mZbvv72c77+9AAQOAAAA77+9srqf77+9u++/vQAEDgAAAO+/vayupO+/vZvvv70ABA4AAADvv72Wl57vv72h77+9AAQOAAAA77+9sqic77+9qO+/vQAEDgAAAO+/vbusmu+/vZnvv70ABA4AAADvv72Zm6vvv72777+9AAQOAAAA77+9mqC077+9l++/vQAEDgAAAO+/vaKjtu+/vbzvv70ABA4AAADvv72uorfvv72m77+9AAQOAAAA77+9rZ2177+9nO+/vQAEDgAAAO+/vbe6n++/vbXvv70ABA4AAADvv72tqa7vv72o77+9AAQOAAAA77+9n52a77+9l++/vQAEDgAAAO+/vbWcpu+/vaTvv70ABA4AAADvv72srZ/vv72e77+9AAQOAAAA77+9vJaq77+9qu+/vQAEDgAAAO+/vaWYuu+/vabvv70ABA4AAADvv725upnvv72s77+9AAQOAAAA77+9ubmu77+9su+/vQAEDgAAAO+/vbqYtO+/vbTvv70ABA4AAADvv72+mLPvv72n77+9AAQO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CICAAEYA0ABdgIAAhkDQAJ2AgAAIgIAARoDQAF2AgACGwNAAnYCAAAiAgABGANEAXYCAAIZA0QCdgIAACICAAEaA0QBdgIAAhsDRAJ2AgAAIgIAARgDSAF2AgACGQNIAnYCAAAiAgABGgNIAXYCAAIbA0gCdgIAACICAAEYA0wBdgIAAhkDTAJ2AgAAIgIAARoDTAF2AgACGwNMAnYCAAAiAgABGANQAXYCAAIZA1ACdgIAACICAAEaA1ABdgIAAhsDUAJ2AgAAIgIAARgDVAF2AgACGQNUAnYCAAAiAgABGgNUAXYCAAIbA1QCdgIAACICAAEYA1gBdgIAAhkDWAJ2AgAAIgIAARoDWAF2AgACGwNYAnYCAAAiAgABGANcAXYCAAIZA1wCdgIAACICAAEaA1wBdgIAAhsDXAJ2AgAAIgIAARgDYAF2AgACGQNgAnYCAAAiAgABGgNgAXYCAAIbA2ACdgIAACICAAEYA2QBdgIAAhkDZAJ2AgAAIgIAARoDZAF2AgACGwNkAnYCAAAiAgABGANoAXYCAAIZA2gCdgIAACICAAEaA2gBdgIAAhsDaAJ2AgAAIgIAARgDbAF2AgACGQNsAnYCAAAiAgABGgNsAXYCAAIbA2wCdgIAACICAAEYA3ABdgIAAhkDcAJ2AgAAIgIAARoDcAF2AgACGwNwAnYCAAAiAgABGAN0AXYCAAIZA3QCdgIAACICAAEaA3QBdgIAAhsDdAJ2AgAAIgIAARgDeAF2AgACGQN4AnYCAAAiAgABGgN4AXYCAAIbA3gCdgIAA", "CICAAEYA3wBdgIAAhkDfAJ2AgAAIgIAARoDfAF2AgACGwN8AnYCAAAiAgABGAOAAXYCAAIZA4ACdgIAACICAAEaA4ABdgIAAhsDgAJ2AgAAIgIAARgDhAF2AgACGQOEAnYCAAAiAgABGgOEAXYCAAIbA4QCdgIAACICAAEYA4gBdgIAAhkDiAJ2AgAAIgIAARoDiAF2AgACGwOIAnYCAAAiAgABGAOMAXYCAAIZA4wCdgIAACICAAEaA4wBdgIAAhsDjAJ2AgAAIgIAARgDkAF2AgACGQOQAnYCAAAiAgABGgOQAXYCAAIbA5ACdgIAACICAAEYA5QBdgIAAhkDlAJ2AgAAIgIAARoDlAF2AgACGwOUAnYCAAAiAgABGAOYAXYCAAIZA5gCdgIAACICAAEaA5gBdgIAAhsDmAJ2AgAAIgIAARgDnAF2AgACGQOcAnYCAAAiAgABGgOcAXYCAAIbA5wCdgIAACICAAEYA6ABdgIAAhkDoAJ2AgAAIgIAARoDoAF2AgACGwOgAnYCAAAiAgABGAOkAXYCAAIZA6QCdgIAACICAAEaA6QBdgIAAhsDpAJ2AgAAIgIAARgDqAF2AgACGQOoAnYCAAAiAgABGgOoAXYCAAIbA6gCdgIAACICAAEYA6wBdgIAAhkDrAJ2AgAAIgIAARoDrAF2AgACGwOsAnYCAAAiAgABGAOwAXYCAAIZA7ACdgIAACICAAEaA7ABdgIAAhsDsAJ2AgAAIgIAARgDtAF2AgACGQO0AnYCAAAiAgABGgO0AXYCAAIbA7QCdgIAACICAAEYA7gBdgIAAhkDuAJ2AgAAIgIAARoDuAF2AgACGwO4AnYCAAAiAgABGAO8AXYCAAIZA7wCdgIAACICAAEaA7wBdgIAAhsDvAJ2AgAAIgIAARgDwAF2AgACGQPAAnYCAAAiAgABGgPAAXYCAAIbA8ACdgIAACICAAEYA8QBdgIAAhkDxAJ2AgAAIgIAARoDxAF2AgACGwPEAnYCAAAiAgABGAPIAXYCAAIZA8gCdgIAACICAAEaA8gBdgIAAhsDyAJ2AgAAIgIAARgDzAF2AgACGQPMAnYCAAAiAgABGgPMAXYCAAIbA8wCdgIAACICAAEYA9ABdgIAAhkD0AJ2AgAAIgIAARoD0AF2AgACGwPQAnYCAAAiAgABGAPUAXYCAAIZA9QCdgIAACICAAEaA9QBdgIAAhsD1AJ2AgAAIgIAARgD2AF2AgACGQPYAnYCAAAiAgABGgPYAXYCAAIbA9gCdgIAACICAAEYA9wBdgIAAhkD3AJ2AgAAIgIAARoD3AF2AgACGwPcAnYCAAAiAgABGAPgAXYCAAIZA+ACdgIAACICAAEaA+ABdgIAAhsD4AJ2AgAAIgIAAHwCAAOQAAAAEDgAAAO+/vbyeoO+/vZbvv70ABA4AAADvv720m7rvv72e77+9AAQOAAAA77+9rqiw77+9o++/vQAEDgAAAO+/vZ6etu+/vaTvv70ABA4AAADvv728o6/vv72f77+9AAQOAAAA77+9sp2l77+9ru+/vQAEDgAAAO+/vZidrO+/vbrvv70ABA4AAADvv722rKLvv72i77+9AAQOAAAA77+9oJu077+9tu+/vQAEDgAAAO+/vZeynO+/vbnvv70ABA4AAADvv72asbLvv72x77+9AAQOAAAA77+9spuy77+9qe+/vQAEDgAAAO+/vbmkte+/vbvvv70ABA4AAADvv72wvKjvv72677+9AAQOAAAA77+9qZy277+9l++/vQAEDgAAAO+/vaSWoO+/vZrvv70ABA4AAADvv72kvq/vv72m77+9AAQOAAAA77+9ob2q77+9su+/vQAEDgAAAO+/vbCotu+/vbLvv70ABA4AAADvv72jnbLvv72g77+9AAQOAAAA77+9oLmk77+9mu+/vQAEDgAAAO+/vZe+ue+/vbrvv70ABA4AAADvv72ZvKLvv72f77+9AAQOAAAA77+9pZyj", "77+9nu+/vQAEDgAAAO+/vaG5ne+/va3vv70ABA4AAADvv72Ws7Xvv72877+9AAQOAAAA77+9qqmi77+9re+/vQAEDgAAAO+/vaeuu++/vabvv70ABA4AAADvv72tpqXvv72m77+9AAQOAAAA77+9opuq77+9ve+/vQAEDgAAAO+/vZ+il++/vbHvv70ABA4AAADvv72hnbTvv72Y77+9AAQOAAAA77+9vrqj77+9o++/vQAEDgAAAO+/vbC2nu+/vaPvv70ABA4AAADvv72hqrvvv72377+9AAQOAAAA77+9uqq677+9te+/vQAEDgAAAO+/vae0s++/vZfvv70ABA4AAADvv72ZoKvvv72777+9AAQOAAAA77+9rra877+9te+/vQAEDgAAAO+/vaaYqO+/vZrvv70ABA4AAADvv72atr3vv72577+9AAQOAAAA77+9tbqz77+9s++/vQAEDgAAAO+/vZ2ir++/vbXvv70ABA4AAADvv72zmrbvv72d77+9AAQOAAAA77+9nrSy77+9lu+/vQAEDgAAAO+/vbKpme+/vbnvv70ABA4AAADvv72rrLzvv72277+9AAQOAAAA77+9obyj77+9vu+/vQAEDgAAAO+/va2ll++/vZ7vv70ABA4AAADvv72rnrbvv72t77+9AAQOAAAA77+9rqSt77+9qe+/vQAEDgAAAO+/vaSir++/vZjvv70ABA4AAADvv72vsaLvv72m77+9AAQOAAAA77+9sru+77+9re+/vQAEDgAAAO+/vaSusu+/va/vv70ABA4AAADvv72pupbvv72c77+9AAQOAAAA77+9u6ai77+9ru+/vQAEDgAAAO+/vaWqrO+/vZ3vv70ABA4AAADvv72wtZjvv72v77+9AAQOAAAA77+9rrC177+9rO+/vQAEDgAAAO+/vaerme+/vbTvv70ABA4AAADvv72kpKvvv72p77+9AAQOAAAA77+9pa2w77+9re+/vQAEDgAAAO+/vaqavO+/vavvv70ABA4AAADvv722lrvvv72X77+9AAQOAAAA77+9l5qn77+9te+/vQAEDgAAAO+/vZu0uu+/vajvv70ABA4AAADvv725n7bvv72877+9AAQOAAAA77+9mqSt77+9te+/vQAEDgAAAO+/va2qq++/vbjvv70ABA4AAADvv728vajvv72w77+9AAQOAAAA77+9s7ua77+9te+/vQAEDgAAAO+/vaK0qu+/vZnvv70ABA4AAADvv720mLjvv72Z77+9AAQOAAAA77+9n6ex77+9t++/vQAEDgAAAO+/vZm3ue+/vanvv70ABA4AAADvv72zrr3vv72777+9AAQOAAAA77+9uJ+u77+9vO+/vQAEDgAAAO+/vZa1ru+/vbXvv70ABA4AAADvv722uqXvv72X77+9AAQOAAAA77+9tLm177+9tu+/vQAEDgAAAO+/vbm9u++/vZ7vv70ABA4AAADvv72hqq7vv72b77+9AAQOAAAA77+9m7qq77+9p++/vQAEDgAAAO+/vaWYte+/vZfvv70ABA4AAADvv72nqq3vv72Y77+9AAQOAAAA77+9ppeh77+9rO+/vQAEDgAAAO+/vamnvu+/vZ/vv70ABA4AAADvv72oraTvv72c77+9AAQOAAAA77+9sp+877+9ne+/vQAEDgAAAO+/vb66pO+/vbbvv70ABA4AAADvv72cu6Pvv72u77+9AAQOAAAA77+9sqmY77+9r++/vQAEDgAAAO+/vbCXl++/vazvv70ABA4AAADvv72qr53vv72977+9AAQOAAAA77+9raCo77+9pO+/vQAEDgAAAO+/vZabsO+/vbLvv70ABA4AAADvv728sbXvv72d77+9AAQOAAAA77+9oau977+9o++/vQAEDgAAAO+/vaaove+/vZjvv70ABA4AAADvv722rLHvv72v77+9AAQOAAAA77+9t5u277+9vu+/vQAEDgAAAO+/vZ63", "ue+/vaTvv70ABA4AAADvv72mq5/vv72777+9AAQOAAAA77+9tbix77+9te+/vQAEDgAAAO+/vambuO+/vbDvv70ABA4AAADvv720sbvvv72f77+9AAQOAAAA77+9o7eq77+9qu+/vQAEDgAAAO+/va+cu++/vaTvv70ABA4AAADvv72irpnvv72477+9AAQOAAAA77+9raOY77+9tu+/vQAEDgAAAO+/vbWhue+/vbLvv70ABA4AAADvv72atqPvv72k77+9AAQOAAAA77+9p62w77+9qO+/vQAEDgAAAO+/vbWoue+/vaLvv70ABA4AAADvv72arLnvv72s77+9AAQOAAAA77+9vaqX77+9o++/vQAEDgAAAO+/vam+ue+/vZbvv70ABA4AAADvv724vq7vv72W77+9AAQOAAAA77+9pKG577+9uO+/vQAEDgAAAO+/vbapnO+/vbTvv70ABA4AAADvv72prrTvv72477+9AAQOAAAA77+9srOf77+9tu+/vQAEDgAAAO+/vZq8uu+/vbLvv70ABA4AAADvv72toa/vv72277+9AAQOAAAA77+9qLae77+9ue+/vQAEDgAAAO+/vbWnsO+/vbnvv70ABA4AAADvv725nKLvv72X77+9AAQOAAAA77+9m6Sn77+9pe+/vQAEDgAAAO+/vaGduO+/vbLvv70ABA4AAADvv72krbjvv72X77+9AAQOAAAA77+9qJy977+9nO+/vQAEDgAAAO+/vbSxnu+/vaPvv70ABA4AAADvv72kuK3vv72e77+9AAQOAAAA77+9ra6w77+9sO+/vQAEDgAAAO+/vby8r++/vbbvv70ABA4AAADvv72zupvvv72j77+9AAQOAAAA77+9mamq77+9rO+/vQAEDgAAAO+/vZawl++/vZ3vv70ABA4AAADvv72uoZfvv72c77+9AAQOAAAA77+9tK2177+9ne+/vQAEDgAAAO+/vaCiqO+/vbrvv70ABA4AAADvv725mKbvv72g77+9AAQOAAAA77+9oqqo77+9uO+/vQAEDgAAAO+/vaa5r++/vazvv70ABA4AAADvv72WpqLvv72h77+9AAQOAAAA77+9vrak77+9re+/vQAEDgAAAO+/vbyxvO+/vaLvv70ABA4AAADvv72+n6Pvv72Y77+9AAQOAAAA77+9n5aZ77+9lu+/vQAEDgAAAO+/vZ2hse+/vbfvv70ABA4AAADvv72YvaTvv72277+9AAQOAAAA77+9vLqa77+9rO+/vQAEDgAAAO+/vaWloe+/vaPvv70ABA4AAADvv72+nKHvv72z77+9AAQOAAAA77+9sKyZ77+9oO+/vQAEDgAAAO+/vaipqe+/vbzvv70ABA4AAADvv72fnLTvv72n77+9AAQOAAAA77+9rK+W77+9qe+/vQAEDgAAAO+/vau2mu+/vbvvv70ABA4AAADvv72qm7jvv72g77+9AAQOAAAA77+9vLq077+9nu+/vQAEDgAAAO+/vZaauO+/vZ7vv70ABA4AAADvv72Zu6Hvv72y77+9AAQOAAAA77+9npa477+9oe+/vQAEDgAAAO+/vbqetO+/vZvvv70ABA4AAADvv72hubLvv72i77+9AAQOAAAA77+9n7yv77+9qu+/vQAEDgAAAO+/vaGnnu+/varvv70ABA4AAADvv72jnqzvv72p77+9AAQOAAAA77+9npal77+9mu+/vQAEDgAAAO+/vbSare+/vavvv70ABA4AAADvv725lrPvv72k77+9AAQOAAAA77+9mruZ77+9oe+/vQAEDgAAAO+/vZa5mO+/vbnvv70ABA4AAADvv722sbTvv72w77+9AAQOAAAA77+9l5io77+9se+/vQAEDgAAAO+/vby7uO+/vZzvv70ABA4AAADvv727tKvvv72b77+9AAQOAAAA77+9ubO377+9ou+/vQAEDgAAAO+/vaGloe+/vbzvv70ABA4AAADvv72m", "rJvvv72u77+9AAQOAAAA77+9rLqu77+9p++/vQAEDgAAAO+/vbS6u++/vbPvv70ABA4AAADvv72dpLXvv72h77+9AAQOAAAA77+9q7a677+9tO+/vQAEDgAAAO+/vaaeru+/vZ3vv70ABA4AAADvv721vLXvv72c77+9AAQOAAAA77+9qp+p77+9oO+/vQAEDgAAAO+/vbiZlu+/vZzvv70ABA4AAADvv72yup/vv72777+9AAQOAAAA77+9rK6k77+9m++/vQAEDgAAAO+/vZaXnu+/vaHvv70ABA4AAADvv72yqJzvv72o77+9AAQOAAAA77+9u6ya77+9me+/vQAEDgAAAO+/vZmbq++/vbvvv70ABA4AAADvv72aoLTvv72X77+9AAQOAAAA77+9oqO277+9vO+/vQAEDgAAAO+/va6it++/vabvv70ABA4AAADvv72tnbXvv72c77+9AAQOAAAA77+9t7qf77+9te+/vQAEDgAAAO+/va2pru+/vajvv70ABA4AAADvv72fnZrvv72X77+9AAQOAAAA77+9tZym77+9pO+/vQAEDgAAAO+/vaytn++/vZ7vv70ABA4AAADvv728lqrvv72q77+9AAQOAAAA77+9pZi677+9pu+/vQAEDgAAAO+/vbm6me+/vazvv70ABA4AAADvv725ua7vv72y77+9AAQOAAAA77+9upi077+9tO+/vQAEDgAAAO+/vb6Ys++/vafvv70ABA4AAADvv72ppZfvv72277+9AAQOAAAA77+9rraZ77+9u++/vQAEDgAAAO+/vZ6eoe+/vZnvv70ABA4AAADvv72xpaLvv72o77+9AAQOAAAA77+9taeX77+9ue+/vQAEDgAAAO+/vbW6ru+/vbvvv70ABA4AAADvv72qnrfvv72u77+9AAQOAAAA77+9t76k77+9ru+/vQAEDgAAAO+/vauksu+/vanvv70ABA4AAADvv72Wsr3vv72v77+9AAQOAAAA77+9n6Kf77+9m++/vQAEDgAAAO+/vbC4rO+/vavvv70ABA4AAADvv721lqrvv72077+9AAQOAAAA77+9t5a377+9nO+/vQAEDgAAAO+/vamopO+/vabvv70ABA4AAADvv72tnKvvv72x77+9AAQOAAAA77+9nqSy77+9uO+/vQAAAAAAAgAAAAEHAQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+vr6AgAARgBAAFsAAAAXQAiARkDAAEeAwABdQIAASwAAAIZAwADAAIAAnUAAAYdAgADGQMAASsAAAYAAgACbAAAAF0ACgMsAAAAGQcAAHUGAAAZBwABAAYABHUEAAQfBgAFGQcAAykABAhdAAoDGwMAA3UCAAMsAAAAAAYABQAGAAR1BAAEXwACAHwCAAB8AgAAfAIAARkDAAEYAQABbAAAAF8ACgEZAwABHgMAAXUCAAEsAAACLAAAAxgDBAAdBQQHdQAABx4AAAQZBwACKAIEBwAAAAUYAQABbAAAAF0ABgEaAQQBbAAAAF4AAgEZAwACGAEAAXUAAAUYAQABbAAAAF0ABgEaAQQBbAAAAF4AAgEZAwACGAEAAXUAAAUYAQABbAAAAF0ABgEaAQQBbAAAAF4AAgEZAwACGAEAAXUAAAUYAQABbAAAAF0ABgEaAQQBbAAAAF4AAgEZAwACGAEAAXUAAAUYAQABbAAAAF0ABgEaAQQBbAAAAF4AAgEZAwACGAEAAXUAAAUYAQABbAAAAF0ABgEaAQQBbAAAAF4AAgEZAwACGAEAAXUAAAUYAQABbAAAAF8AZgEsAgACLAAACxgBAANMAgAELAYABRgFAAIYBQACTAQADUYGBAosBAALGAUAA0wGAAwsCgAFGAkAAUwKABIYCQABRgoIEiwIAAcYCQAAGA0AA0QKDBQYDQAATAwAG0QKDBQsDAACkQgABywIAACRCgAFLAoAAhgJAAJMCAAVkQoAAiwIAAKRBAALL", "AQAAJEGAAUsBgACGAUAAxgFAAJHBAQPGAUAA0wGAA5HBAQNkQYAAhgFAAMYBQADTAYADkcEBA6RAAAJkQIAAhgBAAJMAAAHGAEAAkcAAAcYAQADTAIABkcAAAYeAgACVAAABxgBAAFjAAAEXwAWAhgBAAJMAAAHGAEAAkcAAAcYAQADTAIABkcAAAcYAQADTAIABBgFAANEAgQEGAUAA0QCBAcfAgADdgIAASsAAAYbAwQDGAEAA0wCAAQYBQAATAQAC0QCBAYfAAAGdQIAAhgBAAJMAAAHGAEAAkcAAAcYAQADTAIABkcAAAcYAQADTAIABBgFAANEAgQEGAUAA0QCBAcfAgADdgIAASsAAAReA+38fAIAAQQACAIFAAgDBAAIAYcAZgEsBgACLAQACxgFAANMBgAMLAoABRgJAAIYCQACTAgAFUYKCBIsCAALGAkAA0wKABQsDgAFGA0AAUwOABoYDQABRg4MGiwMAAcYDQAAGBEAA0QOEBwYEQAATBAAI0QOEBwsEAACkQwABywMAACRDgAFLA4AAhgNAAJMDAAdkQ4AAiwMAAKRCAALLAgAAJEKAAUsCgACGAkAAxgJAAJHCAgXGAkAA0wKABZHCAgVkQoAAhgJAAMYCQADTAoAFkcICBaRBAAJkQYAAhgFAAJMBAAPGAUAAkcEBA8YBQADTAYADkcEBA4eBgQKVAQADxgFAAFjAAQMXwAWAhgFAAJMBAAPGAUAAkcEBA8YBQADTAYADkcEBA8YBQADTAYADBgJAANEBggMGAkAA0QGCA8fBgQLdgYAASsEBA4bBwQDGAUAA0wGAAwYCQAATAgAE0QGCA4fBAQOdQYAAhgFAAJMBAAPGAUAAkcEBA8YBQADTAYADkcEBA8YBQADTAYADBgJAANEBggMGAkAA0QGCA8fBgQLdgYAASsEBAxeA+38fAIAAYIDlf0YAQABbAAAAF0AIgEZAwABHgMAAXUCAAEsAAACGQMAAwACAAJ1AAAGHQIAAxkDAAErAAAGAAIAAmwAAABdAAoDLAAAABkHAAB1BgAAGQcAAQAGAAR1BAAEHwYABRkHAAMpAAQIXQAKAxsDAAN1AgADLAAAAAAGAAUABgAEdQQABF8AAgB8AgAAfAIAAHwCAAEZAwABGAEAAWwAAABfAAoBGQMAAR4DAAF1AgABLAAAAiwAAAMYAwQAHQUEB3UAAAceAAAEGQcAAigCBAcAAAAFBgAIAhQAAAcAAAACdAAEBF4BegMABgAAGwkIARoKBAR2CAAFWAIIDxgFAANsBAAAXQAiAxkHAAMeBwAPdQYAAywEAAAZCwABAAoADHUIAAQfCgQNGQsAAykECBAACgAMbAgAAF0ACgEsCAACGQsAAnUKAAIZCwADAAoAEnUIAAYdCggTGQsAASsICBRdAAoBGwsAAXUKAAEsCAACAAoAEwAKABJ1CAAEXwACAHwCAAB8AgAAfAIAAxkHAAMYBQADbAQAAF8ACgMZBwADHgcAD3UGAAMsBAAALAgAARgLBAIdCQQRdQgABRwICBIZCwAAKgoIEQAIABMYBQADbAQAAF0ABgMaBQQDbAQAAF4AAgMZBwAAGAkAA3UEAAcYBQADbAQAAF0ABgMaBQQDbAQAAF4AAgMZBwAAGAkAA3UEAAcYBQADbAQAAF0ABgMaBQQDbAQAAF4AAgMZBwAAGAkAA3UEAAcYBQADbAQAAF0ABgMaBQQDbAQAAF4AAgMZBwAAGAkAA3UEAAcYBQADbAQAAF0ABgMaBQQDbAQAAF4AAgMZBwAAGAkAA3UEAAcYBQADbAQAAF0ABgMaBQQDbAQAAF4AAgMZBwAAGAkAA3UEAAcYBQADbAQAAF8AZgMsBgAALAgACRgJAAFMCgASLAoABxgJAAAYDQAATAwAG0QKDBQsDAAJGA0AAUwOABosDgAHGA0AA0wOABwYEQADRA4QHCwQAAUYEQACGBEAAUYSECIYEQACTBAAJUYSECIsEAAAk", "RAABSwQAAKRDgAHLA4AABgRAABMEAAjkQ4AACwQAACRDAAJLAwAApEKAAcsCgAAGA0AARgNAABFDAwZGA0AAUwOABhFDAwbkQoAABgNAAEYDQABTA4AGEUMDBiRCAALkQYAABgJAABMCAARGAkAAEUICBEYCQABTAoAEEUICBAcCggMVAgAERgJAAFhAAgQXwAWABgJAABMCAARGAkAAEUICBEYCQABTAoAEEUICBEYCQABTAoAEhgJAAFGCggSGAkAAUYKCBEdCggNdgoAAykECBAbCwQBGAkAAUwKABIYCQACTAgAFUYKCBAdCAgQdQoAABgJAABMCAARGAkAAEUICBEYCQABTAoAEEUICBEYCQABTAoAEhgJAAFGCggSGAkAAUYKCBEdCggNdgoAAykECBBeA+38fAIAAwQECAAFCAgBBAgIA4cEZgMsCgAALAwACRgNAAFMDgAaLA4ABxgNAAAYEQAATBAAI0QOEBwsEAAJGBEAAUwSACIsEgAHGBEAA0wSACQYFQADRBIUJCwUAAUYFQACGBUAAUYWFCoYFQACTBQALUYWFCosFAAAkRQABSwUAAKREgAHLBIAABgVAABMFAArkRIAACwUAACREAAJLBAAApEOAAcsDgAAGBEAARgRAABFEBAhGBEAAUwSACBFEBAjkQ4AABgRAAEYEQABTBIAIEUQECCRDAALkQoAABgNAABMDAAZGA0AAEUMDBkYDQABTA4AGEUMDBgcDgwUVAwAGRgNAAFhAAwYXwAWABgNAABMDAAZGA0AAEUMDBkYDQABTA4AGEUMDBkYDQABTA4AGhgNAAFGDgwaGA0AAUYODBkdDgwVdg4AAykIDBgbDwQBGA0AAUwOABoYDQACTAwAHUYODBgdDAwYdQ4AABgNAABMDAAZGA0AAEUMDBkYDQABTA4AGEUMDBkYDQABTA4AGhgNAAFGDgwaGA0AAUYODBkdDgwVdg4AAykIDBheA+38fAIAA4IHlf8YBQADbAQAAF0AIgMZBwADHgcAD3UGAAMsBAAAGQsAAQAKAAx1CAAEHwoEDRkLAAMpBAgQAAoADGwIAABdAAoBLAgAAhkLAAJ1CgACGQsAAwAKABJ1CAAGHQoIExkLAAErCAgUXQAKARsLAAF1CgABLAgAAgAKABMACgASdQgABF8AAgB8AgAAfAIAAHwCAAMZBwADGAUAA2wEAABfAAoDGQcAAx4HAA91BgADLAQAACwIAAEYCwQCHQkEEXUIAAUcCAgSGQsAACoKCBEACAASigAAAI4Ggf18AAAEfAIAADAAAAAQIAAAA6Ojo6Ojo6AAEAwAAAGdnAAQKAAAAc2V0VmFsdWVzAAQHAAAAcHJvbXB0AAQHAAAAY2hvaWNlAAQDAAAAczIABAgAAADn5+fn5+fnAAQGAAAAc2RmbnoAAwAAAAAAAPA/AwAAAAAAAAAABAEAAAAABAgAAADs7Ozs7OzsAAAAAAAEAAAAAQEBAAENAQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+vp+AwAARQCAAIsAAAbBAAAAAUEAAEGBAACBwQAAwQEBAAFCAQBBggEAgcIBAMECAQABAwIAQUMCAIGDAgCkQAAGXYAAAQhAgIVFAIAAiwCADcEAAwABQQMAQUEDAIGBAwDBwQMAAQIEAEFCBACBQgQAwYIEAAHDBABBAwUAgUMFAMGDBQABxAUAQQQGAIHEBADBhAUAAUUGAEGFBgCBxQUAwcUGAAEGBwBBRgcAgUYEAMGGBwABxwcAQUcDAIFHAwDBRwMAAcgDAEEICACBSAgAwcgEAAEJBQBBiQgAgckIAMEJAwABCgkAQUoDAIHKBwDBSgkAAUsDAEGLCACkQIAVXYAAAQhAAJNFAIAAiwCACMEACQABwQMAQYEDAIFBBgDBgQgAAcIJAEECCQCBwgMAwQIHAAGDBgBBAwoAgcMGAMHDBwABhAgAQUQKAIGEBQDBxAMAAcUHAKRAAAld", "gAABCEAAlUUAgACLAIAHwQAAAAHBCgBBAQsAgQEAAMFBCwABggsAQcILAIECDADBggAAAQMAAEHDCgCBAwsAwQMAAAFEDABBhAwApECAB12AAAEIQICZRQCAAIsAgAfBAA0AAcEKAEFBDQCBAQAAwYENAAHCDQBBwgsAgQIMAMGCAAABAw4AQUMOAIGDDgDBAw0AAcQOAEEEDwCkQIAHXYAAAQhAgJ5FAIAAiwAAAcGADwABwQ8ApEAAAV2AAAEIQACgRQCAAIsAAALBQAMAAcEHAEFBCQCBQQMApEAAAl2AAAEIQICgRQCAAIsAgArBwAAAAYEQAEHBEACBwQAAwQERAAFCEQBBAg0AgYIRAMHCEQABAwAAQcMKAIEDCwDBAwAAAUQLAEGECwCBRAQAwQQAAAHFCgBBBQsAgQUAAMFFDAABhgwAQQYSAIFGEgDBhhIApECADF2AAAEIQIClRQCAAIsAAA3BAAMAAUEDAEFBAwCBgQMAwQEEAAFCBABBQgQAgUIHAMGCBgABwwMAQYMFAIHDBgDBwwUAAYQPAEEEEwCBRBMAwcQFAAHFBgBBBQcAgUUHAMFFBAABxgQAQYYDAIGGBQDBRgQAAccDAEHHBwCBxwQAwQcKAAHIBgBBCAMAgUgEAMGIBwAByQcAQUkDAIEJCADByQMAAYoIAKRAABNdgAABCEAAp0UAgACLAIAMwQAJAAFBAwBBQQUAgYEDAMHBBwABgggAQYIPAIECCQDBAgcAAYMEAEGDBACBwwMAwcMHAAFEAwBBhAgAgcQPAMEECQABRQMAQQUHAIFFAwDBxQQAAUYIAEGGCACBRgMAwQYKAAGHBgBBxwcAgQcJAMFHCAABiAUAQUgHAIGIBQDBSAMAAYkIAKRAABFdgAABCECAp0UAgACLAAAKwQAUAAGBBQBBQQYAgQEUAMEBBAABQhQAQcIFAIGCFADBwhQAAQMVAEEDFACBAwUAwcMEAAFEBwBBxAcAgQQUAMEEBAABBRQAQUUUAIHFBQDBhRQAAcYUAEEGFACkQIALXYAAAQhAgKpFAIAAiwCAAMGAFQCkQIAAXYAAAQhAgKtFAIAAiwCADMHAAAABgRAAQcEQAIEBAADBARYAAUIWAEECDQCBQhIAwUIWAAEDDQBBgxYAgYMWAMEDEgABRBIAQQQLAIHEAADBhBAAAcUQAEEFAACBxRYAwQUMAAEGAABBBhcAgcYRAMEGAgABxwEAQUcXAIEHAgDBhxcAAcgXAEHICwCBCAwAwQgYAAHJCwBBCQwAgQkYAKRAABJdgAABCECAsEUAgACLAAADwcAAAAEBAQBBQQIAgQENAMFBCwABghgApEAAA12AAAEIQICxRQCAAIsAAAPBAA4AAQEMAEEBDACBAQ0AwQEZAAFCGQCkQAADXYAAAQhAALNFAIAAiwCACMEAAAABgQsAQcEZAIEBAADBwRcAAUIMAEECAACBgg4AwcIXAAEDAgBBAxoAgYMAAMHDAAABRBoAQcQNAIEEDQDBxAEAAYUNAKRAAAldgAABCEAAtUUAgACLAIADwcAaAAHBDwBBgRQAgQEbAMFBGwABghsAQYIVAKRAgANdgAABCECAt0UAgACLAAAFwQAcAAEBAABBwQoAgQELAMEBAAABQgwAQYIMAIECEgDBQhIAAUMcAKRAAAVdgAABCEAAuUUAgACLAAADwQAAAAHBCgBBAQsAgQENAMHBHAABgg0ApEAAA12AAAEIQAC6RQCAAIsAAAPBAAAAAUEdAEHBCgCBAQAAwUECAAECEQCkQAADXYAAAQhAALtFAIAAiwAABsEAAAABARcAQcERAIEBAgDBwRcAAYIMAEECAACBwgoAwQILAAHDAABBgxAAgcMcAKRAAAZdgAABCECAu0UAgACLAIAEwQAAAAHBCgBBAQsAgQEAAMFBCwABggsAQQISAIFCEgDBQhwApECABF2AAAEIQAC8RQCAAIsAgALBQBQAAcEFAEGBFACB", "wRQAwYEVAKRAgAJdgAABCECAvEUAgACLAIAJwQAAAAHBCgBBwRYAgQENAMHBFwABggIAQQIAAIFCHQDBwgoAAQMAAEFDAgCBAxEAwQMOAAEEFwBBhB4AgYQBAMHEHgABhQ4AQQUSAIFFEgDBRRwApECACl2AAAEIQAC+RQCAAIsAAA7BAAMAAUEDAEFBAwCBgQMAwQEEAAFCBABBQgQAgUIHAMGCBgABwwMAQYMFAIHDBgDBwwUAAYQPAEEEEwCBRBMAwcQFAAHFBgBBBQcAgUUHAMFFBAABxgMAQQYHAIEGBQDBhgcAAUcEAEFHBwCBxwcAwUcGAAGIBQBByAQAgUgEAMEIBwABiQYAQUkDAIHJBwDBCQoAAUoEAEGKBgCBCgoAwUoIAAELCABBiwUAgUsGAMGLCACkQIAWXYAAAQhAgL5FAIAAiwAAAsHABQABQQcAQYEDAIFBEwCkQAACXYAAAQhAAL9FAIAAiwCACMEAAAABwRcAQcEfAIEBAADBwRcAAUIMAEECAACBQh0AwcIKAAEDAABBQwIAgQMRAMHDAAABRBoAQcQNAIEEDQDBxAEAAYUNAKRAAAldgAABCEAAwEUAgACLAAANwQADAAFBAwBBQQMAgYEDAMEBBAABQgQAQUIEAIFCBwDBggYAAcMDAEGDBQCBwwYAwcMFAAGEDwBBBBMAgUQTAMHEBQABxQYAQQUHAIFFBwDBRQQAAcYEAEGGAwCBhgUAwUYEAAHHAwBBBwcAgQcFAMGHBwABSAQAQUgHAIHIBwDBSAYAAYkFAEHJBACBCQgAwYkFAAFKBgBBiggApECAE12AAAEIQIDARQCAAIsAAAnBABQAAUEIAEFBBQCBAQoAwYEFAAHCBgBBAhQAgQIEAMECFAABQxQAQcMFAIGDFADBwxQAAQQUAEEEFQCBBBQAwcQGAAEFBwBBRQYAgcUHAKRAAApdgAABCEAAwUUAgACLAAABwcAgAAEBBQCkQAABXYAAAQhAAMJFAIAAiwCAAMEAHACkQIAAXYAAAQhAgMJFAIAAiwAABMHAGgABwRoAQYEhAIGBFADBwQgAAUIbAEGCGwCBQhsApEAABF2AAAEIQIDDRQCAAIsAAALBABwAAQEiAEEBDACBQSIApEAAAl2AAAEIQADFRQCAAIsAAALBACIAAQEMAEGBDACBARwApEAAAl2AAAEIQIDFRQCAAIsAAAHBABwAAQEcAKRAAAFdgAABCEAAxkUAgACLAIAJwQAAAAHBCgBBwRYAgQENAMHBFwABggIAQQINAIGCEgDBwhcAAQMAAEHDCgCBgwAAwQMAAAFEHQBBxAoAgQQAAMFEAgABBREAQcUFAIHFBQDBxQUApECACl2AAAEIQIDGRQCAAIsAAALBwAMAAUEDAEEBBwCBgQMApEAAAl2AAAEIQADHRQCAAIsAgAfBAAAAAUEdAEHBCgCBAQAAwUECAAECEQBBAg0AgcIQAMGCCwABAw0AQYMSAIHDFwDBAwAAAcQKAEGEAACkQIAHXYAAAQhAgMdFAIAAiwAACsEAAAABQQ0AQQEkAIEBAADBwQoAAcIWAEECDQCBwhcAwYICAAEDAABBQx0AgcMKAMEDAAABRAIAQQQRAIEEAgDBRBwAAUUkAEEFDgCBBRcAwYUeAAGGAQBBxh4AgYYOAKRAAAxdgAABCEAAyUUAgACLAAAIwcAkAAEBFwBBQQIAgcEcAMEBAAABgg4AQcIXAIECAgDBAhoAAYMAAEEDAACBwwoAwQMLAAEEAABBRAsAgYQLAKRAAAhdgAABCEAAykUAgACLAAAIwcAkAAEBFwBBQREAgUEWAMEBAAABgg4AQcIXAIECAgDBAhoAAYMAAEEDDQCBww4AwUMNAAHEAABBxBkAgYQCAKRAAAhdgAABCECAykUAgACLAAAIwcAkAAEBFwBBQREAgcEXAMEBAAABgiUAQQIRAIECAgDBwiUAAUMZAEEDAACBwwoAwQMLAAHEAABB", "hBAAgcQcAKRAAAhdgAABCEAAzEUAgACLAAAIwcAkAAEBFwBBQRwAgUEmAMEBAAABQhwAQUIWAIECDQDBghIAAcMXAEEDAACBQx0AwcMKAAEEAABBRAIAgQQRAKRAAAhdgAABCEAAzUUAgACLAIAHwcALAAHBJgBBAQsAgQEOAMEBDAABAgwAQQINAIECGQDBQhkAAQMNAEHDEACBwxEAwQMNAAGEEQBBxBAApECAB12AAAEIQADORQCAAIsAAAPBgAEAAYEWAEGBFwCBAQ4AwcEZAAFCJwCkQAADXYAAAQhAAM8fAIAAnwAAAAQOAAAA77+9rZed77+9t++/vQAEDgAAAO+/vbChn++/vaLvv70ABA4AAADvv727sbXvv72977+9AAQOAAAA77+9nKmb77+9s++/vQAEDgAAAO+/vaC6sO+/vbvvv70ABA4AAADvv726tqrvv72277+9AAQOAAAA77+9lpqs77+9re+/vQAEDgAAAO+/vbihvO+/vZ7vv70ABA4AAADvv72grKbvv72j77+9AAQOAAAA77+9uJ+a77+9qe+/vQAEDgAAAO+/vai8sO+/vaHvv70ABA4AAADvv72XtZ/vv72z77+9AAQOAAAA77+9sp2v77+9ou+/vQAEDgAAAO+/vZ2tsO+/vafvv70ABA4AAADvv72dq5rvv72r77+9AAQOAAAA77+9m5y277+9o++/vQAEDgAAAO+/vaG7u++/vbLvv70ABA4AAADvv72es67vv72a77+9AAQOAAAA77+9tKui77+9m++/vQAEDgAAAO+/vbmvp++/vajvv70ABA4AAADvv72pvavvv72+77+9AAQOAAAA77+9r62e77+9qO+/vQAEDgAAAO+/vbCYoO+/vbbvv70ABA4AAADvv72nvajvv72r77+9AAQOAAAA77+9t6K877+9oe+/vQAEDgAAAO+/vamzpO+/vZrvv70ABA4AAADvv720q67vv72i77+9AAQOAAAA77+9ra+a77+9ue+/vQAEDgAAAO+/vbeZuO+/vZbvv70ABA4AAADvv726vbfvv72i77+9AAQOAAAA77+9m7C877+9rO+/vQAEDgAAAO+/vb2ene+/vZ3vv70ABA4AAADvv72apLjvv72+77+9AAQOAAAA77+9q5yo77+9u++/vQAEDgAAAO+/vbS2ue+/vZzvv70ABA4AAADvv72cpbfvv72z77+9AAQOAAAA77+9m62p77+9su+/vQAEDgAAAO+/vaaaqu+/vZ7vv70ABA4AAADvv72rp6/vv72677+9AAQOAAAA77+9qreq77+9oe+/vQAEDgAAAO+/vaK7uO+/vb3vv70ABA4AAADvv72WpL7vv72Z77+9AAQOAAAA77+9urea77+9ne+/vQAEDgAAAO+/vZibr++/vavvv70ABA4AAADvv721nr3vv72177+9AAQOAAAA77+9lpur77+9s++/vQAEDgAAAO+/vbOkpO+/vaTvv70ABA4AAADvv72+nbbvv72477+9AAQOAAAA77+9uq6u77+9ue+/vQAEDgAAAO+/va6blu+/vbrvv70ABA4AAADvv72kqZ7vv72l77+9AAQOAAAA77+9sqqy77+9t++/vQAEDgAAAO+/vbippu+/vaPvv70ABA4AAADvv72gmrPvv72877+9AAQOAAAA77+9rrS877+9rO+/vQAEDgAAAO+/vb65pu+/vb3vv70ABA4AAADvv72zp67vv72h77+9AAQOAAAA77+9rZ2n77+9qe+/vQAEDgAAAO+/vbyasu+/vbfvv70ABA4AAADvv72iuLTvv72377+9AAQOAAAA77+9qZef77+9ve+/vQAEDgAAAO+/vZ+boe+/vbjvv70ABA4AAADvv72dqbrvv72877+9AAQOAAAA77+9pJ2i77+9r++/vQAEDgAAAO+/vbWZqe+/vZ3vv70ABA4AAADvv72ynJrvv72z77+9AAQOAAAA77+9u52m", "77+9nu+/vQAEDgAAAO+/vbqpvO+/vZjvv70ABA4AAADvv72suJrvv72W77+9AAQOAAAA77+9sJa777+9uu+/vQAEDgAAAO+/vbekoe+/vbvvv70ABA4AAADvv72gtKfvv72z77+9AAQOAAAA77+9rKSw77+9nO+/vQAEDgAAAO+/vaW8t++/vZfvv70ABA4AAADvv72rrZ/vv72977+9AAQOAAAA77+9rbKy77+9tO+/vQAEDgAAAO+/vauzqu+/vZrvv70ABA4AAADvv724mKPvv72d77+9AAQOAAAA77+9q66m77+9m++/vQAEDgAAAO+/vaC8lu+/vajvv70ABA4AAADvv721qavvv72677+9AAQOAAAA77+9nLiX77+9s++/vQAEDgAAAO+/vbqdme+/va7vv70ABA4AAADvv727oJnvv72W77+9AAQOAAAA77+9nqy277+9pO+/vQAEDgAAAO+/vbqxou+/vZfvv70ABA4AAADvv72ps7vvv72677+9AAQOAAAA77+9tKGk77+9tO+/vQAEDgAAAO+/vbypoe+/vaPvv70ABA4AAADvv72gqLTvv72b77+9AAQOAAAA77+9s6W877+9rO+/vQAEDgAAAO+/vbamqu+/vbTvv70ABA4AAADvv72lrabvv72377+9AAQOAAAA77+9uKGo77+9rO+/vQAEDgAAAO+/vay+r++/varvv70ABA4AAADvv722rp/vv72u77+9AAQOAAAA77+9q7i477+9ne+/vQAEDgAAAO+/vbmlnu+/vZ3vv70ABA4AAADvv72nnrPvv72u77+9AAQOAAAA77+9nbGu77+9re+/vQAEDgAAAO+/vbiYou+/vazvv70ABA4AAADvv720t73vv72377+9AAQOAAAA77+9sqqg77+9ru+/vQAEDgAAAO+/vZ68nO+/vbHvv70ABA4AAADvv72huLPvv72v77+9AAQOAAAA77+9sqCi77+9mu+/vQAEDgAAAO+/vbOuu++/vZbvv70ABA4AAADvv72ZnJvvv72d77+9AAQOAAAA77+9rbip77+9tO+/vQAEDgAAAO+/vaGisu+/vajvv70ABA4AAADvv721pJ/vv72Z77+9AAQOAAAA77+9vreg77+9ne+/vQAEDgAAAO+/va62nO+/vZ/vv70ABA4AAADvv729t7Pvv72877+9AAQOAAAA77+9spea77+9ru+/vQAEDgAAAO+/vaqtpu+/vZbvv70ABA4AAADvv72rlrfvv72s77+9AAQOAAAA77+9pZ6h77+9r++/vQAEDgAAAO+/vaa5p++/vbfvv70ABA4AAADvv720oavvv72477+9AAQOAAAA77+9qrKs77+9qO+/vQAEDgAAAO+/vZymou+/vbbvv70ABA4AAADvv727u63vv72577+9AAQOAAAA77+9mJu277+9vu+/vQAEDgAAAO+/vZy3te+/vbTvv70ABA4AAADvv72snbXvv72y77+9AAQOAAAA77+9n7K277+9uO+/vQAEDgAAAO+/vbe+te+/va/vv70ABA4AAADvv72Xmajvv72W77+9AAQOAAAA77+9n7es77+9mO+/vQAEDgAAAO+/vbeil++/vbnvv70ABA4AAADvv721vZnvv72977+9AAQOAAAA77+9tp2577+9l++/vQAEDgAAAO+/vbi1ou+/vZvvv70ABA4AAADvv72uoL3vv72277+9AAQOAAAA77+9n5et77+9tu+/vQAEDgAAAO+/vaSxo++/vZnvv70ABA4AAADvv724nLHvv72l77+9AAQOAAAA77+9l5yz77+9nO+/vQAEDgAAAO+/vZ+4ve+/vabvv70ABA4AAADvv72iobnvv72o77+9AAQOAAAA77+9sJya77+9oO+/vQAEDgAAAO+/vbywqe+/vbzvv70ABA4AAADvv729pJ7vv72w77+9AAQOAAAA77+9maWt77+9sO+/vQAEDgAAAO+/vZ24", "qO+/vZfvv70ABA4AAADvv72rs7vvv72x77+9AAQOAAAA77+9sLKq77+9p++/vQAEDgAAAO+/vamaqe+/vabvv70ABA4AAADvv72kvpfvv72W77+9AAQOAAAA77+9uJm177+9uu+/vQAEDgAAAO+/vbGkou+/vbzvv70ABA4AAADvv72YmqTvv72x77+9AAQOAAAA77+9sp+977+9p++/vQAEDgAAAO+/vaOitu+/vaXvv70ABA4AAADvv72ZvKTvv72977+9AAQOAAAA77+9mbem77+9mu+/vQAEDgAAAO+/vaSzse+/vbjvv70ABA4AAADvv72nu7bvv72W77+9AAAAAAACAAAAAQgBEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH6+kAAAABGAEABXYCAAEZAgACGQEABnYCAAEeAgAAIQACBRsBAAV2AgABGQIAAhgBBAZ2AgABHgIAACECAgkaAQQFdgIAARkCAAIbAQQGdgIAAR4CAAAhAAIRGQEIBXYCAAEZAgACGgEIBnYCAAEeAgAAIQICFRgBDAV2AgABGQIAAhkBDAZ2AgABHgIAACEAAh0bAQwFdgIAARkCAAIYARAGdgIAAR4CAAAhAgIhGgEQBXYCAAEZAgACGwEQBnYCAAEeAgAAIQACKRkBFAV2AgABGQIAAhoBFAZ2AgABHgIAACECAi0YARgFdgIAARkCAAIZARgGdgIAAR4CAAAhAAI0fAIAAGwAAAAQOAAAA77+9r7Wx77+9qu+/vQAEDgAAAO+/vbiuqO+/vbTvv70ABA4AAADvv72orrDvv72k77+9AAQOAAAA77+9oau+77+9rO+/vQAEDgAAAO+/vaqisu+/vaXvv70ABA4AAADvv72Xtq7vv72u77+9AAQOAAAA77+9qK6l77+9pe+/vQAEDgAAAO+/vZ2fmu+/vajvv70ABA4AAADvv72rnZvvv72e77+9AAQOAAAA77+9uaSm77+9mu+/vQAEDgAAAO+/vbOptO+/vaHvv70ABA4AAADvv72avL3vv72c77+9AAQOAAAA77+9l6er77+9t++/vQAEDgAAAO+/vaC6vu+/va7vv70ABA4AAADvv72rsJrvv72v77+9AAQOAAAA77+9sL2l77+9uO+/vQAEDgAAAO+/vZqelu+/vabvv70ABA4AAADvv729rL7vv72u77+9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", } local B64字符 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" local B64表 = {} for i = 1, #B64字符 do B64表[B64字符:byte(i)] = i - 1 end local function base64解码(s) local out = {} local n = #s local i = 1 while i + 3 <= n do local a = B64表[s:byte(i)] local b = B64表[s:byte(i + 1)] local c = B64表[s:byte(i + 2)] local d = B64表[s:byte(i + 3)] i = i + 4 if a and b then out[#out + 1] = string.char(a * 4 + math.floor(b / 16)) if c then out[#out + 1] = string.char((b % 16) * 16 + math.floor(c / 4)) end if d then out[#out + 1] = string.char((c % 4) * 64 + d) end end end return table.concat(out) end local function 取内嵌求解密() local ok, data = pcall(function() return base64解码(table.concat(求解密B64分片)) end) if ok and type(data) == "string" and #data > 0 then return data end return nil end 求解密候选路径 = { "/storage/emulated/0/123/求解密(2).lua", "/sdcard/123/求解密(2).lua", "/sdcard/求解密(2).lua", "/sdcard/Download/求解密(2).lua", gg.FILES_DIR .. "/求解密(2).lua", } local function 读取脚本文件(path) local f = io.open(path, "rb") if not f then return nil end local data = f:read("*a") f:close() return data end function 运行求解密() local data = 取内嵌求解密() local path = "内嵌数据" if not data then for _, p in ipairs(求解密候选路径) do data = 读取脚本文件(p) if data then path = p break end end end if not data then gg.alert("没找到炸房歌曲数据,请把 求解密(2).lua 放到 /sdcard/123/ 下") return end 日志("正在运行炸房歌曲(" .. path .. ")") luajava.startThread(function() local ok, err = pcall(function() local chunk, e = load(data, "炸房歌曲") if not chunk then error(e or "load 返回 nil") end chunk() end) if ok then 日志("炸房歌曲 已运行") else 日志("炸房歌曲 运行失败:" .. tostring(err)) luajava.runUiThread(function() gg.alert("炸房歌曲 运行失败:\n" .. tostring(err)) end) end end) end ---------------------------------------------------------------- -- 二创版音效功能(开关 / 音乐参数 / 调试 / 叠加滑条) ---------------------------------------------------------------- local function Aex_找模块(_so, _state, _index) local range = gg.getRangesList(_so .. '*$') local tab, tab2 = {}, {} for i = 1, #range do if string.find(_state, range[i].state) then tab[#tab + 1] = range[i] end end if _state == "Cb" then tab2 = tab else local perm = ({Cd = "rw-p", Cdro = "r--p", Cdx = "rwxp", Xa = "r-xp"})[_state] for i = 1, #tab do if tab[i].type == perm then tab2[#tab2 + 1] = tab[i] end end end if #tab2 == 0 or not tab2[_index] then print(string.format("error:module %s[%s][%d] is not found", _so, _state, _index)) return nil end return tab2[_index] end function Aex_GetPointer(_so, _state, _index, _list, _val, _type) local r = Aex_找模块(_so, _state, _index) if not r then return nil end local addr = r.start + _list[1] for i = 2, #_list do local array = gg.getValues({{address = addr, flags = 32}}) if not array or not array[1] then return nil end addr = array[1].value + _list[i] end return addr end -- 同一地址重复冻结会叠加(旧值还在被写回去),所以每次写之前先删掉该地址的旧冻结项 配置冻结 = {} 音量冻结 = {} local function 提交冻结(登记表, 项) local 删, 加 = {}, {} for i = 1, #项 do local it = 项[i] if it.address then local old = 登记表[it.address] if old then 删[#删 + 1] = old end 登记表[it.address] = it 加[#加 + 1] = it end end if #删 > 0 then pcall(function() gg.removeListItems(删) end) end if #加 > 0 then pcall(function() gg.setValues(加) end) gg.addListItems(加) end end -- 地址可能取不到(没进房间/库没加载),nil 地址直接跳过,别让 addListItems 崩 function Aex_SetValues(_list) local 有效 = {} for i = 1, #_list do if _list[i].address then 有效[#有效 + 1] = _list[i] end end if #有效 == 0 then gg.toast("没找到音频地址,请先进入回森房间再试") return false end pcall(function() gg.setValues(有效) end) for i = 1, #有效 do if 有效[i].freeze then gg.addListItems(有效) break end end return true end function applyConfig(configTable) if not 是回森(当前进程包名()) then local ok = 自动选择进程() if not ok then gg.alert("还没连上回森进程。\n\n请先到首页:\n1. 点「自动打开回森」\n2. 点「自动选择进程」\n然后再开效果。") return end end local libs = gg.getRangesList("libffmpeg.so") if #libs == 0 then libs = gg.getRangesList("libffmpeg.so*") end if #libs == 0 then libs = gg.getRangesList("*ffmpeg*") end local lib = libs[1] if not lib then gg.alert("回森进程里没找到 libffmpeg.so。\n\n先进入回森的房间/语音界面再试(有些界面还没加载音频库)。") return end local list_items = {} for offset, config in pairs(configTable) do table.insert(list_items, { address = lib.start + offset, flags = config.flags or 4, value = config.value, freeze = true }) end if #list_items > 0 then 提交冻结(配置冻结, list_items) end return true end function 检查环境() local cur = 当前进程包名() local fg = 前台包名() local function 统计(key) local r = gg.getRangesList("*" .. key .. "*") return r and #r or 0 end local msg = "目标进程:" .. (cur ~= "" and cur or "未选择") .. "\n前台应用:" .. (fg ~= "" and fg or "未知") .. "\nffmpeg 段:" .. 统计("ffmpeg") .. "\nkwaiaudio 段:" .. 统计("kwaiaudio") .. "\nkrtcengine 段:" .. 统计("krtcengine") 日志(msg) gg.alert(msg) end v9_1 = "resetSoundConfig" function v10_1() function v1_2() applyConfig({ [5517220] = {flags = 4, value = 46000}, [5126684] = {flags = 16, value = 1.9303}, [5517236] = {flags = 16, value = 0.85}, [5517244] = {flags = 16, value = 1}, [5517248] = {flags = 16, value = 1}, [5517332] = {flags = 16, value = 0.00208333298}, [5517388] = {flags = 16, value = 0.00416666688}, [5517444] = {flags = 16, value = 0.00833333284}, [5517500] = {flags = 16, value = 0.01666666754}, [1279532] = {flags = 16, value = 6.4375}, [1279536] = {flags = 16, value = 6.25}, [1279540] = {flags = 16, value = 5.75}, [1279544] = {flags = 16, value = 5.3125}, [1279548] = {flags = 16, value = 5.0625}, [1279552] = {flags = 16, value = 4.8125}, [1279556] = {flags = 16, value = 4.5}, [1279560] = {flags = 16, value = 4.375}, [1279564] = {flags = 16, value = 4.875}, [1279568] = {flags = 16, value = 4.6875}, [1279572] = {flags = 16, value = 4.5625}, [1279576] = {flags = 16, value = 4.4375}, [1279580] = {flags = 16, value = 4.875}, [1279584] = {flags = 16, value = 4.625}, [1279588] = {flags = 16, value = 4.3125}, [1279592] = {flags = 16, value = 4.5}, [1279596] = {flags = 16, value = 4.375}, [1279600] = {flags = 16, value = 4.625}, [1279604] = {flags = 16, value = 4.75}, [1279608] = {flags = 16, value = 4.4375}, [1279612] = {flags = 16, value = 3.75}, [1279616] = {flags = 16, value = 3.75}, [1279620] = {flags = 16, value = 3.75}, [1279624] = {flags = 16, value = 3.75}, [1279628] = {flags = 16, value = 3.75} }) gg.toast("关闭完毕") return end return v1_2 end _ENV[v9_1] = v10_1() 功能内容 = {} 效果开 = {} 效果关 = {} -- 效果回调统一包一层 pcall:某个地址取不到时给出提示,而不是让线程静默死掉 local function 包装效果(fn, 名称) if type(fn) ~= "function" then return function() end end return function() local ok, err = pcall(fn) if not ok then 日志(名称 .. " 执行出错:" .. tostring(err)) pcall(function() gg.toast(名称 .. " 出错:" .. tostring(err)) end) end end end changan = { check = function(list) for _, item in ipairs(list) do 效果开[item[1]] = 包装效果(item[2], item[1]) 效果关[item[1]] = 包装效果(item[3], item[1]) table.insert(功能内容, MXT.switch(item[1], "Toggle", 效果开[item[1]], 效果关[item[1]])) end end, } 音乐内容 = {} changan.check2 = function(list) for _, item in ipairs(list) do 效果开[item[1]] = 包装效果(item[2], item[1]) 效果关[item[1]] = 包装效果(item[3], item[1]) table.insert(音乐内容, MXT.switch(item[1], "Toggle", 效果开[item[1]], 效果关[item[1]])) end end -- 统一写入一组 kwaiaudio 地址:地址取不到就跳过;同地址先清旧冻结项,避免“关了还生效” local function 写音量地址(路径表, flags, val) local 项 = {} for i = 1, #路径表 do local addr = Aex_GetPointer("libkwaiaudio.so", "Cd", 1, 路径表[i]) if addr then 项[#项 + 1] = {address = addr, flags = flags, value = val, freeze = true} end end if #项 > 0 then 提交冻结(音量冻结, 项) end return #项 > 0 end function applyMusicFrequencySettings(val) val = tonumber(val) or 1.0 写音量地址({ {2732, 8, 52, 228, 140, 4, 12}, {2732, 8, 52, 228, 136, 4, 12}, }, 16, val) end function applyMusicVolumeSettings(val) val = tonumber(val) or 300 写音量地址({ {2732, 8, 52, 228, 88}, {2732, 8, 52, 228, 92}, }, 4, val) end -- 说话/发送那 6 个通道的地址(无声功能也共用这份) 说话音量路径 = { {2732, 8, 52, 136, 68, 28, 24}, {2732, 8, 52, 136, 68, 28, 28}, {2732, 8, 52, 136, 68, 28, 32}, {2732, 8, 52, 136, 68, 28, 36}, {612, 2116, 8, 52, 136, 68, 20}, {612, 2116, 8, 52, 136, 68, 24}, } function applyVolumeSettings(val) val = tonumber(val) or 300 写音量地址(说话音量路径, 16, val) end -- 取一组路径对应的真实地址(取不到的直接跳过) local function 取音量地址表(路径表) local out = {} for i = 1, #路径表 do local a = Aex_GetPointer("libkwaiaudio.so", "Cd", 1, 路径表[i]) if a then out[#out + 1] = a end end return out end -- 无声:把发送/麦增益写 0(别人听不到你),但麦克风会话和麦位不动, -- 所以房间通道还占着,可以再用别的号/设备上另一个麦位 → 一人占多个通道 无声前值 = nil function 开_无声() if not 是回森(当前进程包名()) then local ok = 自动选择进程() if not ok then gg.alert("还没连上回森进程。\n请先到首页:自动打开回森 → 自动选择进程") return end end local 地址 = 取音量地址表(说话音量路径) if #地址 == 0 then gg.toast("没找到麦地址,请先进入回森房间/语音界面") return end if not 无声前值 then 无声前值 = {} for i = 1, #地址 do local v = gg.getValues({{address = 地址[i], flags = 16}}) local cur = 1 if v and v[1] and type(v[1].value) == "number" then cur = v[1].value end 无声前值[#无声前值 + 1] = {address = 地址[i], flags = 16, value = cur} end end local 项 = {} for i = 1, #地址 do 项[#项 + 1] = {address = 地址[i], flags = 16, value = 0, freeze = true} end 提交冻结(音量冻结, 项) 日志("无声已开启:麦克风静音,麦位/通道仍然占着") gg.toast("无声已开启\n别人听不到你,麦位还占着\n(可以再上另一个麦位 → 一人占多通道)") end function 关_无声() -- 先删掉这些地址上的冻结项,再把开启前的原值写回去 local 删 = {} if 无声前值 then for i = 1, #无声前值 do local it = 音量冻结[无声前值[i].address] if it then 删[#删 + 1] = it end end end if #删 > 0 then pcall(function() gg.removeListItems(删) end) end if 无声前值 then local 写 = {} for i = 1, #无声前值 do 写[#写 + 1] = {address = 无声前值[i].address, flags = 16, value = 无声前值[i].value} end if #写 > 0 then pcall(function() gg.setValues(写) end) end 无声前值 = nil end 日志("无声已关闭") gg.toast("无声已关闭,麦克风音量已还原") end -- ================================================================ -- 人声增强器 -- 1) 人声:只动 libkwaiaudio 的人声/发送通道(6 个),不碰 ffmpeg -- 2) 底噪:顺手把 libffmpeg 的 25 个底噪通道压到「人声增强底噪」, -- 因为人声一放大底噪会更明显,这样三个效果一起开也干净 -- 关掉时人声和底噪都原样还原 -- ================================================================ 人声增强倍数 = 1.08 人声增强底噪 = -13.0 人声增强前 = nil 底噪增强前 = nil local function 取底噪配置(value) local lib = nil pcall(function() local l = gg.getRangesList("libffmpeg.so") if #l == 0 then l = gg.getRangesList("libffmpeg.so*") end lib = l[1] end) if not lib then return nil end local cfg, 原值 = {}, {} for i = 0, 24 do local off = 1279532 + i * 4 local addr = lib.start + off local cur = -11.24 local v = gg.getValues({{address = addr, flags = 16}}) if v and v[1] and type(v[1].value) == "number" then cur = v[1].value end 原值[off] = cur cfg[off] = {flags = 16, value = value} end return cfg, 原值 end function 开_人声增强() if not 是回森(当前进程包名()) then local ok = 自动选择进程() if not ok then gg.alert("还没连上回森进程。\n请先到首页打开回森并选择进程") return end end local 地址 = 取音量地址表(说话音量路径) if #地址 == 0 then gg.toast("没找到人声地址,请先进入回森房间/语音界面") return end if not 人声增强前 then 人声增强前 = {} for i = 1, #地址 do local v = gg.getValues({{address = 地址[i], flags = 16}}) local cur = 300 if v and v[1] and type(v[1].value) == "number" and v[1].value > 0 then cur = v[1].value end 人声增强前[#人声增强前 + 1] = {address = 地址[i], flags = 16, value = cur} end end local 项 = {} for i = 1, #人声增强前 do local 原值 = 人声增强前[i].value local 目标 = math.floor(原值 * (人声增强倍数 or 1.08) + 0.5) if 目标 > 原值 + 30 then 目标 = 原值 + 30 end if 目标 > 500 then 目标 = 500 end if 目标 < 0 then 目标 = 0 end 项[#项 + 1] = {address = 人声增强前[i].address, flags = 16, value = 目标, freeze = true} end 提交冻结(音量冻结, 项) -- 底噪也压一档 local cfg, 原值 = 取底噪配置(人声增强底噪) if cfg then if not 底噪增强前 then 底噪增强前 = 原值 end pcall(function() applyConfig(cfg) end) end 日志("人声增强器:已开启 ×" .. tostring(人声增强倍数) .. ",底噪 " .. tostring(人声增强底噪)) gg.toast("人声增强器已开启\n人声 ×" .. tostring(人声增强倍数) .. ",底噪已压低") end function 关_人声增强() local 删 = {} if 人声增强前 then for i = 1, #人声增强前 do local it = 音量冻结[人声增强前[i].address] if it then 删[#删 + 1] = it end end end if #删 > 0 then pcall(function() gg.removeListItems(删) end) end if 人声增强前 then local 写 = {} for i = 1, #人声增强前 do 写[#写 + 1] = {address = 人声增强前[i].address, flags = 16, value = 人声增强前[i].value} end if #写 > 0 then pcall(function() gg.setValues(写) end) end 人声增强前 = nil end -- 底噪还原 if 底噪增强前 then local cfg = {} for off, cur in pairs(底噪增强前) do cfg[off] = {flags = 16, value = cur} end pcall(function() applyConfig(cfg) end) 底噪增强前 = nil end 日志("人声增强器:已关闭") gg.toast("人声增强器已关闭,人声和底噪已还原") end -- ================================================================ -- 音频放大(整体响度 ×1.25) -- 直接放大 libffmpeg 的总增益 5126684(就是各效果里那个“增益”), -- 所以不管当前开的是清晰、融合清晰还是叠加,开了都会更响; -- 关闭时把增益还原成开启前的值。 -- 嫌不够/太大只改 音频放大倍数(建议 1.05~1.20,最高 2.6 封顶) -- ================================================================ 音频放大倍数 = 1.10 音频放大前增益 = nil local function 取音频库() local libs = {} pcall(function() libs = gg.getRangesList("libffmpeg.so") if #libs == 0 then libs = gg.getRangesList("libffmpeg.so*") end if #libs == 0 then libs = gg.getRangesList("*ffmpeg*") end end) return libs[1] end function 开_音频放大() if not 是回森(当前进程包名()) then local ok = 自动选择进程() if not ok then gg.alert("还没连上回森进程。\n请先到首页打开回森并选择进程") return end end local lib = 取音频库() if not lib then gg.alert("没找到 libffmpeg.so,请先进入回森房间/语音界面") return end local addr = lib.start + 5126684 local cur = 1.968 local v = gg.getValues({{address = addr, flags = 16}}) if v and v[1] and type(v[1].value) == "number" and v[1].value > 0 and v[1].value < 100 then cur = v[1].value end if not 音频放大前增益 then 音频放大前增益 = cur end local 目标 = cur * (音频放大倍数 or 1.25) local 上限 = 音频放大前增益 + 0.25 if 目标 > 上限 then 目标 = 上限 end if 目标 > 2.6 then 目标 = 2.6 end 提交冻结(配置冻结, {{address = addr, flags = 16, value = 目标, freeze = true}}) 日志("幅度增强叠加:增益 " .. string.format("%.2f", cur) .. " → " .. string.format("%.2f", 目标)) gg.toast("幅度增强叠加已开启(增益 " .. string.format("%.2f", 目标) .. ")") end function 关_音频放大() local lib = 取音频库() if lib and 音频放大前增益 then local addr = lib.start + 5126684 local it = 配置冻结[addr] if it then pcall(function() gg.removeListItems({it}) end) 配置冻结[addr] = nil end pcall(function() gg.setValues({{address = addr, flags = 16, value = 音频放大前增益}}) end) end 音频放大前增益 = nil 日志("幅度增强叠加:已关闭") gg.toast("幅度增强叠加已关闭,增益已还原") end function 应用音乐参数() if not 是回森(当前进程包名()) then local ok = 自动选择进程() if not ok then gg.alert("还没连上回森进程,请先到首页打开回森并选择进程。") return end end local t = MXT.editRefs["volTalk"] and tonumber(MXT.editRefs["volTalk"].get()) or 300 local m = MXT.editRefs["volMusic"] and tonumber(MXT.editRefs["volMusic"].get()) or 300 local f = MXT.editRefs["freqMusic"] and tonumber(MXT.editRefs["freqMusic"].get()) or 1.0 applyVolumeSettings(t) applyMusicVolumeSettings(m) applyMusicFrequencySettings(f) gg.toast("音乐参数已应用") end table.insert(音乐内容, MXT.edit("说话音量", "volTalk", "300", function(txt) applyVolumeSettings(tonumber(txt)) gg.toast("说话音量已修改") end)) table.insert(音乐内容, MXT.edit("音乐音量", "volMusic", "300", function(txt) applyMusicVolumeSettings(tonumber(txt)) gg.toast("音乐音量已修改") end)) table.insert(音乐内容, MXT.edit("音乐频率", "freqMusic", "1.0", function(txt) applyMusicFrequencySettings(tonumber(txt)) gg.toast("音乐频率已修改") end)) table.insert(音乐内容, MXT.button("应用音乐参数", 应用音乐参数)) changan.check({{"超级战斗效果", function() applyConfig({ [5517220] = {flags = 4, value = 48000}, [5126684] = {flags = 16, value = 2.15}, [5517236] = {flags = 16, value = 1.3}, [1279532] = {flags = 16, value = -8.5}, [1279536] = {flags = 16, value = -8.5}, [1279540] = {flags = 16, value = -8.5}, [1279544] = {flags = 16, value = -8.5}, [1279548] = {flags = 16, value = -8.5}, [1279552] = {flags = 16, value = -8.5}, [1279556] = {flags = 16, value = -8.5}, [1279560] = {flags = 16, value = -8.5}, [1279564] = {flags = 16, value = -8.5}, [1279568] = {flags = 16, value = -8.5}, [1279572] = {flags = 16, value = -8.5}, [1279576] = {flags = 16, value = -8.5}, [1279580] = {flags = 16, value = -8.5}, [1279584] = {flags = 16, value = -8.5}, [1279588] = {flags = 16, value = -8.5}, [1279592] = {flags = 16, value = -8.5}, [1279596] = {flags = 16, value = -8.5}, [1279600] = {flags = 16, value = -8.5}, [1279604] = {flags = 16, value = -8.5}, [1279608] = {flags = 16, value = -8.5}, [1279612] = {flags = 16, value = -8.5}, [1279616] = {flags = 16, value = -8.5}, [1279620] = {flags = 16, value = -8.5}, [1279624] = {flags = 16, value = -8.5}, [1279628] = {flags = 16, value = -8.5} }) gg.toast("开启完毕") end, function() _ENV["resetSoundConfig"]() end }}) changan.check({{"绝境的清晰战斗效果", function() applyConfig({ [5517220] = {flags = 4, value = -9999999999}, [5126684] = {flags = 16, value = 1.968}, [5517236] = {flags = 16, value = 0.945}, [1279532] = {flags = 16, value = -11.24}, [1279536] = {flags = 16, value = -11.24}, [1279540] = {flags = 16, value = -11.24}, [1279544] = {flags = 16, value = -11.24}, [1279548] = {flags = 16, value = -11.24}, [1279552] = {flags = 16, value = -11.24}, [1279556] = {flags = 16, value = -11.24}, [1279560] = {flags = 16, value = -11.24}, [1279564] = {flags = 16, value = -11.24}, [1279568] = {flags = 16, value = -11.24}, [1279572] = {flags = 16, value = -11.24}, [1279576] = {flags = 16, value = -11.24}, [1279580] = {flags = 16, value = -11.24}, [1279584] = {flags = 16, value = -11.24}, [1279588] = {flags = 16, value = -11.24}, [1279592] = {flags = 16, value = -11.24}, [1279596] = {flags = 16, value = -11.24}, [1279600] = {flags = 16, value = -11.24}, [1279604] = {flags = 16, value = -11.24}, [1279608] = {flags = 16, value = -11.24}, [1279612] = {flags = 16, value = -11.24}, [1279616] = {flags = 16, value = -11.24}, [1279620] = {flags = 16, value = -11.24}, [1279624] = {flags = 16, value = -11.24}, [1279628] = {flags = 16, value = -11.24} }) gg.toast("开启完毕") end, function() _ENV["resetSoundConfig"]() end }}) -- ================================================================ -- 融合清晰(绝境的清晰 + 旧清晰) -- 取绝境清晰的干净底噪、旧清晰的厚度,把响度拉到最大; -- 两个原效果都保留,这是独立的新效果,不替换任何东西。 -- 想微调只改 融合清晰参数 里这 5 个数 -- ================================================================ 融合清晰参数 = { 采样 = -9999999999, -- 绝境清晰的采样 增益 = 2.05, -- 只比原版 1.968 高一点:响度够,且不削波发糊 人声 = 0.90, -- 略低于原版 0.945 → 更干净、不糊 底噪 = -14.0, -- 比原版清晰 -11.24 更干净 厚度通道 = -14.0, -- 1279532 也是 -14,不再单独留厚 } function 融合清晰() local p = 融合清晰参数 local cfg = { [5517220] = {flags = 4, value = p.采样}, [5126684] = {flags = 16, value = p.增益}, [5517236] = {flags = 16, value = p.人声}, } for i = 0, 24 do cfg[1279532 + i * 4] = {flags = 16, value = p.底噪} end cfg[1279532] = {flags = 16, value = p.厚度通道} -- 旧清晰那一档的厚度 applyConfig(cfg) gg.toast("绝境的大幅度声音增强 已开启") end changan.check({{"绝境的大幅度声音增强", function() 融合清晰() end, function() _ENV["resetSoundConfig"]() end }}) changan.check({{"正常说话效果", function() _ENV["applyConfig"]({ [5517220] = { ["flags"] = 4, ["value"] = 48000 }, [5126684] = { ["flags"] = 16, ["value"] = 1.9303 }, [5517236] = { ["flags"] = 16, ["value"] = 1.5 }, [1279532] = { ["flags"] = 4, ["value"] = 6.4375 }, [1279536] = { ["flags"] = 4, ["value"] = 6.25 }, [1279540] = { ["flags"] = 4, ["value"] = 5.75 }, [1279544] = { ["flags"] = 4, ["value"] = 5.3125 }, [1279548] = { ["flags"] = 4, ["value"] = 5.0625 }, [1279552] = { ["flags"] = 4, ["value"] = 4.8125 }, [1279556] = { ["flags"] = 4, ["value"] = 4.5 }, [1279560] = { ["flags"] = 4, ["value"] = 4.375 }, [1279564] = { ["flags"] = 4, ["value"] = 4.875 }, [1279568] = { ["flags"] = 4, ["value"] = 4.6875 }, [1279572] = { ["flags"] = 4, ["value"] = 4.5625 }, [1279576] = { ["flags"] = 4, ["value"] = 4.4375 }, [1279580] = { ["flags"] = 4, ["value"] = 4.875 }, [1279584] = { ["flags"] = 4, ["value"] = 4.625 }, [1279588] = { ["flags"] = 4, ["value"] = 4.3125 }, [1279592] = { ["flags"] = 4, ["value"] = 4.5 }, [1279596] = { ["flags"] = 4, ["value"] = 4.375 }, [1279600] = { ["flags"] = 4, ["value"] = 4.625 }, [1279604] = { ["flags"] = 4, ["value"] = 4.75 }, [1279608] = { ["flags"] = 4, ["value"] = 4.4375 }, [1279612] = { ["flags"] = 4, ["value"] = 3.75 }, [1279616] = { ["flags"] = 4, ["value"] = 3.75 }, [1279620] = { ["flags"] = 4, ["value"] = 3.75 }, [1279624] = { ["flags"] = 4, ["value"] = 3.75 }, [1279628] = { ["flags"] = 4, ["value"] = 3.75 } }) gg.toast("开启完毕") end, function() _ENV["resetSoundConfig"]() end }}) changan.check({{"绝境卡黑麦", function() gg.setConfig("冻结间隔", 0) gg.setConfig("快速冻结", 1) v0 = { "libkwaiaudio.so", "Cd", 1 } Aex_SetValues({ { address = Aex_GetPointer(v0[1], v0[2], v0[3], { 2732, 8, 52, 304 }), flags = 4, value = 100, freeze = true } }) v3 = { "libkrtcengine.so", "Cd", 1 } Aex_SetValues({ { address = Aex_GetPointer(v3[1], v3[2], v3[3], { -7204, 3124, 176, 168, 60, 1612 }), flags = 4, value = 0, freeze = true } }) v6 = { "libkrtcengine.so", "Cd", 1 } Aex_SetValues({ { address = Aex_GetPointer(v6[1], v6[2], v6[3], { -7208, 5300, 172, 108, 12, 20, 88 }), flags = 4, value = 0, freeze = true } }) end, function() v0_3 = { "libkwaiaudio.so", "Cd", 1 } gg.addListItems({ { ["address"] = _ENV["Aex_GetPointer"](v0_3[1], v0_3[2], v0_3[3], { 2732, 8, 52, 304 }), ["flags"] = 4, ["value"] = 0, ["freeze"] = true } }) gg.toast("关闭完毕") end }}) changan.check({{"底噪开关测试", function() if gg.getRangesList("libffmpeg.so")[1] then gg.addListItems({ [1] = { ["address"] = ({ [1] = gg.getRangesList("libffmpeg.so")[1]["start"] + 1296228 })[1], ["flags"] = 16, ["freeze"] = true, ["value"] = -5.0 } }) if gg.getRangesList("libffmpeg.so")[1] then gg.addListItems({ [1] = { ["address"] = ({ [1] = gg.getRangesList("libffmpeg.so")[1]["start"] + 1297184 })[1], ["flags"] = 16, ["freeze"] = true, ["value"] = -5.0 } }) end end end, function() if gg.getRangesList("libffmpeg.so")[1] then gg.addListItems({ [1] = { ["address"] = ({ [1] = gg.getRangesList("libffmpeg.so")[1]["start"] + 1296228 })[1], ["flags"] = 16, ["freeze"] = true, ["value"] = -1 } }) if gg.getRangesList("libffmpeg.so")[1] then gg.addListItems({ [1] = { ["address"] = ({ [1] = gg.getRangesList("libffmpeg.so")[1]["start"] + 1297184 })[1], ["flags"] = 16, ["freeze"] = true, ["value"] = -1 } }) gg.toast("关闭完毕") end end end }}) changan.check({{"旧清晰战斗效果", function() _ENV["applyConfig"]({ [5517236] = { ["flags"] = 16, ["value"] = 1.8 }, [1279532] = { ["flags"] = 16, ["value"] = 6.4375 } }) gg.toast("开启完毕") if gg.alert("是否加载至最强状态,最强状态声音更大 不过换房需要执行一下恢复\n\n目前开启此功能超频的或者闪避吱呲呲呲\n点个歌\n开启声卡优化\n如果已经开启就关闭再打开,然后切掉就可以了", "取消", "确定") == 2 then v1_3 = { "libkwaiaudio.so", "Cd", 1 } gg.addListItems({ { ["address"] = _ENV["Aex_GetPointer"](v1_3[1], v1_3[2], v1_3[3], { 2732, 8, 52, 136, 68, 28, 24 }), ["flags"] = 16, ["value"] = 3.0, ["freeze"] = true } }) v4_3 = { "libkwaiaudio.so", "Cd", 1 } gg.addListItems({ { ["address"] = _ENV["Aex_GetPointer"](v4_3[1], v4_3[2], v4_3[3], { 2732, 8, 52, 136, 68, 28, 28 }), ["flags"] = 16, ["value"] = 3.0, ["freeze"] = true } }) v7_3 = { "libkwaiaudio.so", "Cd", 1 } gg.addListItems({ { ["address"] = _ENV["Aex_GetPointer"](v7_3[1], v7_3[2], v7_3[3], { 2732, 8, 52, 136, 68, 28, 32 }), ["flags"] = 16, ["value"] = 3.0, ["freeze"] = true } }) v10_3 = { "libkwaiaudio.so", "Cd", 1 } gg.addListItems({ { ["address"] = _ENV["Aex_GetPointer"](v10_3[1], v10_3[2], v10_3[3], { 2732, 8, 52, 136, 68, 28, 36 }), ["flags"] = 16, ["value"] = 3.0, ["freeze"] = true } }) v13_3 = { "libkwaiaudio.so", "Cd", 1 } gg.addListItems({ { ["address"] = _ENV["Aex_GetPointer"](v13_3[1], v13_3[2], v13_3[3], { 556, 2108, 8, 52, 136, 68, 20 }), ["flags"] = 16, ["value"] = 3.0, ["freeze"] = true } }) v16_3 = { "libkwaiaudio.so", "Cd", 1 } gg.addListItems({ { ["address"] = _ENV["Aex_GetPointer"](v16_3[1], v16_3[2], v16_3[3], { 556, 2108, 8, 52, 136, 68, 24 }), ["flags"] = 16, ["value"] = 3.0, ["freeze"] = true } }) v19_3 = { "libkwaiaudio.so", "Cd", 1 } gg.addListItems({ { ["address"] = _ENV["Aex_GetPointer"](v19_3[1], v19_3[2], v19_3[3], { 2732, 8, 52, 304 }), ["flags"] = 4, ["value"] = 1000000, ["freeze"] = true } }) else gg.toast("取消") end end, function() _ENV["resetSoundConfig"]() end }}) changan.check({{"声音限制开关", function() gg.clearResults() gg.setRanges(-2080896) gg.searchNumber("-1.75", 16) gg.getResults("100000") gg.editAll("123123.123", 16) gg.alert("修改成功") end, function() gg.clearResults() gg.setRanges(-2080896) gg.searchNumber("123123.123", 16) gg.searchNumber("123123.123", 16) gg.getResults("100000") gg.editAll("-1.75", 16) gg.alert("关闭成功") end }}) changan.check2({{"音乐播放开关", function() v0_3 = { "libkwaiaudio.so", "Cd", 1 } gg.addListItems({ { ["address"] = _ENV["Aex_GetPointer"](v0_3[1], v0_3[2], v0_3[3], { 2732, 8, 52, 188, 16, 112, 60 }), ["flags"] = 4, ["value"] = 1, ["freeze"] = true } }) gg.toast("开启成功") end, function() v0_3 = { "libkwaiaudio.so", "Cd", 1 } gg.addListItems({ { ["address"] = _ENV["Aex_GetPointer"](v0_3[1], v0_3[2], v0_3[3], { 2732, 8, 52, 188, 16, 112, 60 }), ["flags"] = 4, ["value"] = 0, ["freeze"] = true } }) gg.toast("关闭成功") end }}) -- 所有效果叠加:不再逐个调用各效果(那样会互相覆盖、底噪越堆越大), -- 改成一次性写一份"叠加参数":底噪统一压低,人声略提升,整体音量比单开更小 叠加参数 = { 采样 = 46000, -- 采样/引擎参数,保持正常值,避免 -999999 那种爆音 增益 = 2.00, -- 总增益(原来是 1000000000,直接炸) 人声 = 0.92, -- 人声/清晰度(原来是 1000000000) 底噪 = -13.0, -- 25 个底噪通道(原来是 -100000000) } function 应用所有叠加() if resetSoundConfig then pcall(resetSoundConfig) end local cfg = { [5517220] = {flags = 4, value = 叠加参数.采样}, [5126684] = {flags = 16, value = 叠加参数.增益}, [5517236] = {flags = 16, value = 叠加参数.人声}, } for i = 0, 24 do cfg[1279532 + i * 4] = {flags = 16, value = 叠加参数.底噪} end pcall(function() applyConfig(cfg) end) luajava.runUiThread(function() for _, n in ipairs({"超级战斗效果", "绝境的清晰战斗效果", "旧清晰战斗效果", "正常说话效果", "底噪开关测试", "声音限制开关", "通用强制开麦"}) do local v = 控件表[n] if v then pcall(function() v:setSelected(false, false) end) end end end) gg.toast("已开启清晰叠加(低底噪版)") end function 取消所有叠加() if resetSoundConfig then pcall(resetSoundConfig) end gg.toast("已关闭清晰叠加") end table.insert(功能内容, 1, MXT.switch("清晰叠加", "Toggle", function() 应用所有叠加() end, function() 取消所有叠加() end, false)) -- 无声按钮:麦克风静音但麦位不掉,用来一人多个通道 table.insert(功能内容, 2, MXT.switch("无声(占麦/多通道)", "Toggle", 包装效果(开_无声, "无声"), 包装效果(关_无声, "无声"), false)) -- 人声增强器:只改 kwaiaudio 的人声/发送通道,不碰 ffmpeg, -- 所以能和「绝境的清晰战斗效果」同时开、互不覆盖 table.insert(功能内容, 3, MXT.switch("人声增强器(可与清晰叠加)", "Toggle", 包装效果(开_人声增强, "人声增强器"), 包装效果(关_人声增强, "人声增强器"), false)) -- 幅度增强叠加:在当前增益上 ×1.10(不碰底噪) table.insert(功能内容, 4, MXT.switch("幅度增强叠加", "Toggle", 包装效果(开_音频放大, "幅度增强叠加"), 包装效果(关_音频放大, "幅度增强叠加"), false)) -- 调试 调试内容 = {} 调试组 = { {5126684}, {}, {1279532, 1279536, 1279540, 1279544, 1279548, 1279552, 1279556, 1279560, 1279564, 1279568, 1279572, 1279576, 1279580, 1279584, 1279588, 1279592, 1279596, 1279600, 1279604, 1279608, 1279612, 1279616, 1279620, 1279624, 1279628}, {5517332}, {}, {5517444}, {}, {5517244, 5517248}, {5517220}, } function 应用调试() if not 是回森(当前进程包名()) then local ok = 自动选择进程() if not ok then gg.alert("还没连上回森进程,请先到首页打开回森并选择进程。") return end end local libs = gg.getRangesList("libffmpeg.so") if #libs == 0 then libs = gg.getRangesList("libffmpeg.so*") end if #libs == 0 then libs = gg.getRangesList("*ffmpeg*") end local lib = libs[1] if not lib then gg.alert("回森进程里没找到 libffmpeg.so,先进入房间/语音界面再试。") return end local items = {} for i = 1, 9 do local v = 0 if MXT.editRefs["dbg" .. i] then v = tonumber(MXT.editRefs["dbg" .. i].get()) or 0 end local flags = (i == 9) and 4 or 16 for _, off in ipairs(调试组[i]) do items[#items + 1] = {address = lib.start + off, flags = flags, value = v, freeze = true} end end if #items > 0 then gg.addListItems(items) end gg.toast("调试值已应用") end -- 关闭调试:把 9 个输入框还原成默认值,并把音效恢复默认 function 关闭调试() local 默认值 = { "100", "100", "-100", "100", "100", "100", "100", "100", "-100" } for i = 1, 9 do local r = MXT.editRefs["dbg" .. i] if r then pcall(function() r.set(默认值[i]) end) end end if resetSoundConfig then pcall(resetSoundConfig) end 日志("调试已关闭,音效恢复默认") gg.toast("调试已关闭,音效已恢复默认") end function 保存调试() 确保配置目录() local vals = {} for i = 1, 9 do local r = MXT.editRefs["dbg" .. i] vals[i] = r and r.get() or "" end local f = io.open("/sdcard/绝境UI/debug.txt", "w") if f then f:write(table.concat(vals, "\n")) f:close() gg.toast("调试配置已保存") else gg.toast("调试配置保存失败:无法写入 /sdcard/绝境UI/") end end function 加载调试() 确保配置目录() local f = io.open("/sdcard/绝境UI/debug.txt", "r") if not f then gg.toast("还没有保存过调试配置") return end local i = 1 for line in f:lines() do if i > 9 then break end local r = MXT.editRefs["dbg" .. i] if r then r.set(line) end i = i + 1 end f:close() gg.toast("调试配置已加载") end table.insert(调试内容, MXT.edit("大底噪1", "dbg1", "100")) table.insert(调试内容, MXT.edit("大底噪2", "dbg2", "100")) table.insert(调试内容, MXT.edit("大底噪3", "dbg3", "-100")) table.insert(调试内容, MXT.edit("大底噪4", "dbg4", "100")) table.insert(调试内容, MXT.edit("大底噪5", "dbg5", "100")) table.insert(调试内容, MXT.edit("大底噪6", "dbg6", "100")) table.insert(调试内容, MXT.edit("大底噪7", "dbg7", "100")) table.insert(调试内容, MXT.edit("副属", "dbg8", "100")) table.insert(调试内容, MXT.edit("采样率", "dbg9", "-100")) table.insert(调试内容, MXT.button("应用调试", 应用调试)) table.insert(调试内容, MXT.button("关闭调试(恢复默认)", 关闭调试)) table.insert(调试内容, MXT.button("保存调试配置", 保存调试)) table.insert(调试内容, MXT.button("加载调试配置", 加载调试)) ---------------------------------------------------------------- -- 音频 / 工具页 ---------------------------------------------------------------- local 加速页 = (function() local 根 = LinearLayout(context) 根:setOrientation(1) 根:setGravity(17) local 状态 = TextView(context) 状态:setText("正在读取内存…") 状态:setTextSize(13) 状态:setTextColor(0xff666666) 状态:setGravity(17) 状态:setPadding(0, dpToPx(6), 0, dpToPx(10)) 根:addView(状态) local function 刷新内存() local txt = "无法读取内存信息" pcall(function() local am = context:getSystemService("activity") local mi = luajava.newInstance("android.app.ActivityManager$MemoryInfo") am:getMemoryInfo(mi) local total = tonumber(mi.totalMem) / 1048576 local avail = tonumber(mi.availMem) / 1048576 txt = string.format("可用 %.0f MB / 共 %.0f MB", avail, total) end) 状态:setText(txt) end 刷新内存() local function 加按钮(text, fn) local b = Button(context) b:setText(text) b:setTextSize(12) b:setTextColor(0xffffffff) b:setAllCaps(false) b:setBackground(getVerticalBG({0xff2196F3}, dpToPx(18))) b:setPadding(dpToPx(12), dpToPx(6), dpToPx(12), dpToPx(6)) b:setMinimumWidth(0) b:setMinimumHeight(0) local lp = luajava.newInstance('android.widget.LinearLayout$LayoutParams', -1, -2) lp:setMargins(dpToPx(6), dpToPx(4), dpToPx(6), dpToPx(4)) b:setLayoutParams(lp) b:setOnClickListener(luajava.createProxy('android.view.View$OnClickListener', { onClick = function(v) fn() end })) 根:addView(b) end 加按钮("刷新内存", 刷新内存) 加按钮("一键清理后台", function() pcall(function() local sh = newShell(true) if sh then sh.cmd("am kill-all") sh.cmd("pm trim-caches 999G") sh.destroy() end end) 日志("已清理后台进程") 刷新内存() end) 加按钮("重启回森(强制)", function() local pkg = 查找回森包名() or 回森包名 pcall(function() local sh = newShell(true) if sh then sh.cmd("am force-stop " .. pkg) sh.destroy() end end) gg.sleep(1200) 日志("已强制结束回森,正在重新打开…") 自动打开回森() end) 加按钮("查看当前进程", 查看当前进程) 加按钮("检查环境", 检查环境) 加按钮("炸房歌曲", 运行求解密) return 根 end)() MXT.menu({ { ["页面名称"] = "首页", ["页面图片"] = 资源目录 .. "home", ["页面内容"] = { 首页状态View, MXT.button("自动打开回森", 自动打开回森), MXT.button("自动选择进程", 自动选择进程), MXT.button("手动选择进程", 手动选择进程), }, }, { ["页面名称"] = "功能", ["页面图片"] = 资源目录 .. "function", ["页面内容"] = 功能内容, }, { ["页面名称"] = "音乐参数", ["页面图片"] = 资源目录 .. "function", ["页面内容"] = 音乐内容, }, { ["页面名称"] = "调试", ["页面图片"] = 资源目录 .. "function", ["页面内容"] = 调试内容, }, { ["页面名称"] = "娱乐", ["页面图片"] = 资源目录 .. "function", ["页面内容"] = {棋类页}, }, { ["页面名称"] = "音频", ["页面图片"] = 资源目录 .. "jiasu", ["页面内容"] = {加速页}, }, { ["页面名称"] = "设置", ["页面图片"] = 资源目录 .. "shezhi", ["页面内容"] = { MXT.seek("面板透明度 (%)", "cfgPanelAlpha", 30, 100, 配置.面板透明度, function(v) 配置.面板透明度 = math.floor(v + 0.5) 应用面板() 保存配置() end), MXT.seek("动画速度 (%)", "cfgAnimSpeed", 50, 200, 配置.动画速度, function(v) 配置.动画速度 = math.floor(v + 0.5) 保存配置() end), MXT.seek("悬浮球透明度 (%)", "cfgBallAlpha", 30, 100, 配置.悬浮球透明度, function(v) 配置.悬浮球透明度 = math.floor(v + 0.5) 应用球() 保存配置() end), MXT.seek("面板圆角", "cfgCorner", 0, 40, 配置.面板圆角, function(v) 配置.面板圆角 = math.floor(v + 0.5) 应用面板() 保存配置() end), MXT.seek("悬浮球大小 (dp)", "cfgBallSize", 30, 70, 配置.悬浮球大小, function(v) 配置.悬浮球大小 = math.floor(v + 0.5) 应用球() 保存配置() end), MXT.switch("深色主题", "Toggle", function() 配置.深色主题 = true 应用主题() 保存配置() 日志("已切换到深色主题") end, function() 配置.深色主题 = false 应用主题() 保存配置() 日志("已切换到浅色主题") end, 配置.深色主题), MXT.switch("锁定窗口", "Toggle", function() 配置.窗口锁定 = true 保存配置() 日志("窗口已锁定:不能拖动/缩放") end, function() 配置.窗口锁定 = false 保存配置() 日志("窗口已解锁") end, 配置.窗口锁定), MXT.switch("液态玻璃效果", "Toggle", function() 配置.液态玻璃 = true 应用玻璃() 保存配置() 日志("液态玻璃已开启") end, function() 配置.液态玻璃 = false 应用玻璃() 保存配置() 日志("液态玻璃已关闭") end, 配置.液态玻璃), MXT.button("自定义背景图", 背景菜单), MXT.button("重置窗口位置", 重置窗口位置), MXT.button("查看日志", 查看日志), MXT.button("清空日志", 清空日志), MXT.button("导出日志", 导出日志), MXT.button("一键重置全部配置", 重置配置), MXT.button("关于", 关于), MXT.button("退出UI", 退出确认), }, }, })