From b0da9ec10b057b71527df7abaf342bc4ee0978f1 Mon Sep 17 00:00:00 2001 From: sindoring Date: Sat, 13 Jun 2026 11:46:39 +0400 Subject: [PATCH] =?UTF-8?q?=D0=B1=D0=B0=D0=B7=D0=BE=D0=B2=D1=8B=D0=B9=20en?= =?UTF-8?q?counter=20journal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client-export/C_PlayerGuide.lua | 276 ++++++ client-export/MoonWellPlayerGuide.lua | 78 ++ client-export/PlayerGuide.lua | 402 +++++++++ client-export/PlayerGuide.xml | 498 +++++++++++ client-export/README.md | 64 ++ .../Custom_EncounterJournal.lua.patch.lua | 120 +++ .../Custom_EncounterJournal.xml.patch.lua | 57 ++ .../patches/Localization-ruRU.lua.patch.lua | 43 + .../patches/MoonWellClient.toc.patch | 28 + client-export/textures/Biome-Arcane.png | Bin 0 -> 38939 bytes client-export/textures/Biome-Fire.png | Bin 0 -> 37755 bytes client-export/textures/Biome-Holy.png | Bin 0 -> 39208 bytes client-export/textures/Biome-Nature.png | Bin 0 -> 37260 bytes client-export/textures/Biome-Shadow.png | Bin 0 -> 36705 bytes client-export/textures/Biome-Storm.png | Bin 0 -> 38723 bytes client-export/textures/Button-Down.png | Bin 0 -> 1047 bytes client-export/textures/Button-Highlight.png | Bin 0 -> 1015 bytes client-export/textures/Button-Up.png | Bin 0 -> 1015 bytes client-export/textures/Card-Background.png | Bin 0 -> 64265 bytes client-export/textures/Card-Border.png | Bin 0 -> 2307 bytes client-export/textures/Corner-Ornament.png | Bin 0 -> 1267 bytes client-export/textures/ProgressBar-BG.png | Bin 0 -> 394 bytes client-export/textures/ProgressBar-Fill.png | Bin 0 -> 307 bytes client-export/textures/README.md | 125 +++ client-export/textures/Section-Divider.png | Bin 0 -> 578 bytes client-export/textures/StageBadge-Active.png | Bin 0 -> 8103 bytes client-export/textures/StageBadge-Done.png | Bin 0 -> 6633 bytes client-export/textures/StageBadge-Locked.png | Bin 0 -> 5722 bytes client-export/textures/Top-Wave-Glow.png | Bin 0 -> 32373 bytes .../textures/TypeIcon-Achievement.png | Bin 0 -> 5405 bytes client-export/textures/TypeIcon-Boss.png | Bin 0 -> 6296 bytes client-export/textures/TypeIcon-Currency.png | Bin 0 -> 5335 bytes client-export/textures/TypeIcon-Custom.png | Bin 0 -> 5446 bytes client-export/textures/TypeIcon-Done.png | Bin 0 -> 4571 bytes client-export/textures/TypeIcon-Dungeon.png | Bin 0 -> 5203 bytes client-export/textures/TypeIcon-Item.png | Bin 0 -> 5099 bytes client-export/textures/TypeIcon-Level.png | Bin 0 -> 5841 bytes client-export/textures/TypeIcon-Locked.png | Bin 0 -> 2910 bytes .../textures/TypeIcon-Profession.png | Bin 0 -> 5706 bytes client-export/textures/TypeIcon-Quest.png | Bin 0 -> 5298 bytes .../textures/TypeIcon-QuestChain.png | Bin 0 -> 5298 bytes client-export/textures/TypeIcon-Raid.png | Bin 0 -> 6296 bytes .../textures/TypeIcon-Reputation.png | Bin 0 -> 5782 bytes client-export/textures/sheet.html | 263 ++++++ docs/player-guide-requirements.md | 448 ++++++++++ .../AddOns/DragonUI/modules/micromenu.lua | 201 ++++- .../Custom_EncounterJournal.lua | 788 ++++++++++-------- .../Custom_EncounterJournal.xml | 10 +- .../Custom_EncounterJournal/PlayerGuide.lua | 484 +++++++++++ .../Custom_EncounterJournal/PlayerGuide.xml | 486 +++++++++++ .../EncounterJournalCompat.lua | 1 + .../EncounterJournalDungeonMode.lua | 10 +- .../EncounterJournal/EncounterJournalOpen.lua | 47 +- .../EncounterJournal/GlobalStrings.lua | 37 + .../Textures/PlayerGuide/Background-Page.blp | Bin 0 -> 2797396 bytes .../Textures/PlayerGuide/Biome-Arcane.blp | Bin 0 -> 44884 bytes .../Textures/PlayerGuide/Biome-Fire.blp | Bin 0 -> 44884 bytes .../Textures/PlayerGuide/Biome-Holy.blp | Bin 0 -> 44884 bytes .../Textures/PlayerGuide/Biome-Nature.blp | Bin 0 -> 44884 bytes .../Textures/PlayerGuide/Biome-Shadow.blp | Bin 0 -> 44884 bytes .../Textures/PlayerGuide/Biome-Storm.blp | Bin 0 -> 44884 bytes .../Textures/PlayerGuide/Button-Down.blp | Bin 0 -> 6660 bytes .../Textures/PlayerGuide/Button-Highlight.blp | Bin 0 -> 6660 bytes .../Textures/PlayerGuide/Button-Up.blp | Bin 0 -> 6660 bytes .../Textures/PlayerGuide/Card-Background.blp | Bin 0 -> 88580 bytes .../Textures/PlayerGuide/Card-Border.blp | Bin 0 -> 12148 bytes .../Textures/PlayerGuide/Corner-Ornament.blp | Bin 0 -> 6660 bytes .../Textures/PlayerGuide/ProgressBar-BG.blp | Bin 0 -> 3956 bytes .../Textures/PlayerGuide/ProgressBar-Fill.blp | Bin 0 -> 3956 bytes .../Textures/PlayerGuide/Section-Divider.blp | Bin 0 -> 6740 bytes .../PlayerGuide/StageBadge-Active.blp | Bin 0 -> 6660 bytes .../Textures/PlayerGuide/StageBadge-Done.blp | Bin 0 -> 6660 bytes .../PlayerGuide/StageBadge-Locked.blp | Bin 0 -> 6660 bytes .../Textures/PlayerGuide/Top-Wave-Glow.blp | Bin 0 -> 44916 bytes .../PlayerGuide/TypeIcon-Achievement.blp | Bin 0 -> 6660 bytes .../Textures/PlayerGuide/TypeIcon-Boss.blp | Bin 0 -> 6660 bytes .../PlayerGuide/TypeIcon-Currency.blp | Bin 0 -> 6660 bytes .../Textures/PlayerGuide/TypeIcon-Custom.blp | Bin 0 -> 6660 bytes .../Textures/PlayerGuide/TypeIcon-Done.blp | Bin 0 -> 6660 bytes .../Textures/PlayerGuide/TypeIcon-Dungeon.blp | Bin 0 -> 6660 bytes .../Textures/PlayerGuide/TypeIcon-Item.blp | Bin 0 -> 6660 bytes .../Textures/PlayerGuide/TypeIcon-Level.blp | Bin 0 -> 6660 bytes .../Textures/PlayerGuide/TypeIcon-Locked.blp | Bin 0 -> 6660 bytes .../PlayerGuide/TypeIcon-Profession.blp | Bin 0 -> 6660 bytes .../Textures/PlayerGuide/TypeIcon-Quest.blp | Bin 0 -> 6660 bytes .../PlayerGuide/TypeIcon-QuestChain.blp | Bin 0 -> 6660 bytes .../Textures/PlayerGuide/TypeIcon-Raid.blp | Bin 0 -> 6660 bytes .../PlayerGuide/TypeIcon-Reputation.blp | Bin 0 -> 6660 bytes .../EncounterJournal/Utils/C_PlayerGuide.lua | 419 ++++++++++ .../AddOns/MoonWellClient/MoonWellClient.toc | 2 + 90 files changed, 4521 insertions(+), 366 deletions(-) create mode 100644 client-export/C_PlayerGuide.lua create mode 100644 client-export/MoonWellPlayerGuide.lua create mode 100644 client-export/PlayerGuide.lua create mode 100644 client-export/PlayerGuide.xml create mode 100644 client-export/README.md create mode 100644 client-export/patches/Custom_EncounterJournal.lua.patch.lua create mode 100644 client-export/patches/Custom_EncounterJournal.xml.patch.lua create mode 100644 client-export/patches/Localization-ruRU.lua.patch.lua create mode 100644 client-export/patches/MoonWellClient.toc.patch create mode 100644 client-export/textures/Biome-Arcane.png create mode 100644 client-export/textures/Biome-Fire.png create mode 100644 client-export/textures/Biome-Holy.png create mode 100644 client-export/textures/Biome-Nature.png create mode 100644 client-export/textures/Biome-Shadow.png create mode 100644 client-export/textures/Biome-Storm.png create mode 100644 client-export/textures/Button-Down.png create mode 100644 client-export/textures/Button-Highlight.png create mode 100644 client-export/textures/Button-Up.png create mode 100644 client-export/textures/Card-Background.png create mode 100644 client-export/textures/Card-Border.png create mode 100644 client-export/textures/Corner-Ornament.png create mode 100644 client-export/textures/ProgressBar-BG.png create mode 100644 client-export/textures/ProgressBar-Fill.png create mode 100644 client-export/textures/README.md create mode 100644 client-export/textures/Section-Divider.png create mode 100644 client-export/textures/StageBadge-Active.png create mode 100644 client-export/textures/StageBadge-Done.png create mode 100644 client-export/textures/StageBadge-Locked.png create mode 100644 client-export/textures/Top-Wave-Glow.png create mode 100644 client-export/textures/TypeIcon-Achievement.png create mode 100644 client-export/textures/TypeIcon-Boss.png create mode 100644 client-export/textures/TypeIcon-Currency.png create mode 100644 client-export/textures/TypeIcon-Custom.png create mode 100644 client-export/textures/TypeIcon-Done.png create mode 100644 client-export/textures/TypeIcon-Dungeon.png create mode 100644 client-export/textures/TypeIcon-Item.png create mode 100644 client-export/textures/TypeIcon-Level.png create mode 100644 client-export/textures/TypeIcon-Locked.png create mode 100644 client-export/textures/TypeIcon-Profession.png create mode 100644 client-export/textures/TypeIcon-Quest.png create mode 100644 client-export/textures/TypeIcon-QuestChain.png create mode 100644 client-export/textures/TypeIcon-Raid.png create mode 100644 client-export/textures/TypeIcon-Reputation.png create mode 100644 client-export/textures/sheet.html create mode 100644 docs/player-guide-requirements.md create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Custom_EncounterJournal/PlayerGuide.lua create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Custom_EncounterJournal/PlayerGuide.xml create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/Background-Page.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/Biome-Arcane.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/Biome-Fire.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/Biome-Holy.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/Biome-Nature.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/Biome-Shadow.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/Biome-Storm.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/Button-Down.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/Button-Highlight.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/Button-Up.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/Card-Background.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/Card-Border.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/Corner-Ornament.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/ProgressBar-BG.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/ProgressBar-Fill.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/Section-Divider.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/StageBadge-Active.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/StageBadge-Done.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/StageBadge-Locked.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/Top-Wave-Glow.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/TypeIcon-Achievement.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/TypeIcon-Boss.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/TypeIcon-Currency.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/TypeIcon-Custom.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/TypeIcon-Done.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/TypeIcon-Dungeon.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/TypeIcon-Item.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/TypeIcon-Level.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/TypeIcon-Locked.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/TypeIcon-Profession.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/TypeIcon-Quest.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/TypeIcon-QuestChain.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/TypeIcon-Raid.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Textures/PlayerGuide/TypeIcon-Reputation.blp create mode 100644 src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Utils/C_PlayerGuide.lua diff --git a/client-export/C_PlayerGuide.lua b/client-export/C_PlayerGuide.lua new file mode 100644 index 0000000..dcb875a --- /dev/null +++ b/client-export/C_PlayerGuide.lua @@ -0,0 +1,276 @@ +--[[---------------------------------------------------------------------------- + C_PlayerGuide.lua + ───────────────────────────────────────────────────────────────────────────── + Клиентское хранилище данных Путеводителя + UI-facing API. + Соответствует контракту из player-guide-requirements.md → "Client API". + + Подключается до PlayerGuide.xml/.lua в .toc. +------------------------------------------------------------------------------]] + +C_PlayerGuide = C_PlayerGuide or {} +local L = C_PlayerGuide + +-- ────────────────────────────────────────────────────────────────────────── +-- Состояние + +local currentData = nil -- последний валидный payload от сервера +local lastError = nil -- строка с описанием последней проблемы валидации + +-- Состояние UI: "data" | "empty" | "loading" +local uiState = "loading" + +-- Подписчики на обновления (PlayerGuide.lua вешает сюда свой Refresh) +local listeners = {} + +-- ────────────────────────────────────────────────────────────────────────── +-- Утилиты + +local function notify() + for _, fn in ipairs(listeners) do + -- pcall чтобы один сломанный listener не уронил остальные + pcall(fn, uiState, currentData) + end +end + +local function isTable(v) return type(v) == "table" end + +-- Валидация payload'а. Возвращает true либо false + строка ошибки. +local function validate(data) + if not isTable(data) then return false, "payload is not a table" end + if data.stageID and type(data.stageID) ~= "number" then + return false, "stageID is not a number" + end + if data.progress and type(data.progress) ~= "number" then + return false, "progress is not a number" + end + if data.objectives and not isTable(data.objectives) then + return false, "objectives is not a table" + end + -- Уникальность id целей + if isTable(data.objectives) then + local seen = {} + for i, o in ipairs(data.objectives) do + if not isTable(o) then + return false, "objective #" .. i .. " is not a table" + end + if o.id and seen[o.id] then + return false, "duplicate objective id: " .. tostring(o.id) + end + if o.id then seen[o.id] = true end + end + end + return true +end + +-- ────────────────────────────────────────────────────────────────────────── +-- Подписки (для PlayerGuide.lua) + +function L.RegisterListener(fn) + table.insert(listeners, fn) +end + +-- ────────────────────────────────────────────────────────────────────────── +-- Публичный API (см. требования → Client API) + +function L.SetData(data) + local ok, err = validate(data) + if not ok then + lastError = err + uiState = "empty" + notify() + return false, err + end + currentData = data + lastError = nil + uiState = "data" + notify() + return true +end + +function L.Clear() + currentData = nil + lastError = nil + uiState = "empty" + notify() +end + +function L.SetLoading() + if uiState ~= "data" then + uiState = "loading" + notify() + end +end + +function L.GetState() + return uiState +end + +function L.GetLastError() + return lastError +end + +function L.HasData() + return uiState == "data" and currentData ~= nil +end + +function L.GetStageInfo() + if not L.HasData() then return nil end + return currentData.stageID, + currentData.stageName, + currentData.stageDescription, + currentData.progress or 0 +end + +-- Доп. метод: список всех этапов (для цепочки сверху) +function L.GetStages() + if not L.HasData() then return nil end + return currentData.stages or {} -- сервер опционально шлёт массив этапов +end + +function L.GetNumObjectives() + if not L.HasData() or not currentData.objectives then return 0 end + return #currentData.objectives +end + +function L.GetObjectiveInfo(index) + if not L.HasData() or not currentData.objectives then return nil end + local o = currentData.objectives[index] + if not o then return nil end + return { + id = o.id, + type = o.type or "custom", + title = o.title or "", + description = o.description or o.subtitle or "", + subtitle = o.subtitle, -- наше расширение поля для UI + completed = o.completed and true or false, + progress = o.progress or 0, + required = o.required or 1, + targetID = o.targetID, + questID = o.questID, + instanceID = o.instanceID, + encounterID = o.encounterID, + achievementID = o.achievementID, + factionID = o.factionID, + itemID = o.itemID, + currencyID = o.currencyID, + order = o.order or index, + } +end + +function L.GetNumRecommendations() + if not L.HasData() or not currentData.recommendations then return 0 end + return #currentData.recommendations +end + +function L.GetRecommendationInfo(index) + if not L.HasData() or not currentData.recommendations then return nil end + local r = currentData.recommendations[index] + if not r then return nil end + return { + id = r.id, + type = r.type or "dungeon", + title = r.title or r.name or "", + name = r.name or r.title or "", + description = r.description or r.loc or "", + loc = r.loc, -- локация/подзаголовок + level = r.level, + biome = r.biome, -- ключ биом-обложки + instanceID = r.instanceID, + encounterID = r.encounterID, + priority = r.priority or 0, + } +end + +function L.GetNumRewards() + if not L.HasData() or not currentData.rewards then return 0 end + return #currentData.rewards +end + +function L.GetRewardInfo(index) + if not L.HasData() or not currentData.rewards then return nil end + local r = currentData.rewards[index] + if not r then return nil end + return r +end + +-- ────────────────────────────────────────────────────────────────────────── +-- Сетевой слой (AIO) +-- MoonWellPlayerGuide.lua перехватывает SetData() из serverToClient и вызывает +-- L.SetData(payload). RequestRefresh шлёт обратно в обратную сторону. + +function L.RequestRefresh() + L.SetLoading() + if AIO and AIO.Handle then + -- name берётся из serverToClient на сервере. Тут — лёгкая обёртка. + AIO.Handle("MoonWellPlayerGuide", "RequestRefresh") + else + -- Без AIO (например, в режиме разработки) — отдаём заглушку через + -- 0.5 секунды, чтобы UI не висел в Loading навечно. + if C_Timer and C_Timer.After then + C_Timer.After(0.5, function() L.Clear() end) + end + end +end + +function L.RequestTrackObjective(objectiveID) + if AIO and AIO.Handle then + AIO.Handle("MoonWellPlayerGuide", "RequestTrackObjective", objectiveID) + end +end + +function L.RequestOpenTarget(objectiveID) + if AIO and AIO.Handle then + AIO.Handle("MoonWellPlayerGuide", "RequestOpenTarget", objectiveID) + end +end + +-- ────────────────────────────────────────────────────────────────────────── +-- Статика для разработки (видна, пока сервер не прислал реальный payload). +-- Можно убрать перед релизом. + +function L._InjectDevPayload() + L.SetData({ + version = 1, + stageID = 5, + stageName = "Подготовка к Нордсколу", + stageDescription = + "Завершите ключевые цепочки заданий в Запределье и докажите готовность к походу на север. ".. + "По прибытии в Нордскол вам понадобится снаряжение героического уровня.", + progress = 62, + stages = { + { id = 1, name = "Начало пути", short = "Начало пути", era = "1—58", status = "done" }, + { id = 2, name = "Огненные Недра", short = "Огненные Недра", era = "60", status = "done" }, + { id = 3, name = "Сквозь Тёмный портал", short = "Тёмный портал", era = "58—60", status = "done" }, + { id = 4, name = "Покорение Запределья", short = "Запределье", era = "60—68", status = "done" }, + { id = 5, name = "Подготовка к Нордсколу", short = "К Нордсколу", era = "68—70", status = "active" }, + { id = 6, name = "Заря Нордскола", short = "Нордскол", era = "70—78", status = "locked" }, + { id = 7, name = "Цитадель Ледяной Короны",short = "Ледяная Корона", era = "78—80", status = "locked" }, + }, + objectives = { + { id = 1, type = "level", title = "Достигнуть 68 уровня", + subtitle = "Текущий уровень: 68. Можно отправляться в Нордскол.", + completed = true, progress = 68, required = 68, order = 1 }, + { id = 2, type = "quest_chain", title = "Цепочка «Поиск виверны» в Награнде", + subtitle = "Кисть Шамана • Награнд • награда: «Привязка к виверне»", + completed = false, progress = 5, required = 8, order = 2 }, + { id = 3, type = "dungeon", title = "Пройти Кузню Крови", + subtitle = "Цитадель Адского Пламени • рек. уровень 61—64", + completed = false, progress = 0, required = 1, order = 3, instanceID = 256 }, + { id = 4, type = "dungeon", title = "Пройти Аукиндон: Подземелья Аукенай", + subtitle = "Награнд • рек. уровень 64—66", + completed = false, progress = 0, required = 1, order = 4, instanceID = 257 }, + { id = 5, type = "reputation", title = "Получить «Дружелюбие» с Кенарийской экспедицией", + subtitle = "Текущее положение: Нейтрально • Долина Призрачной Луны", + completed = false, progress = 1200, required = 3000, order = 5, factionID = 942 }, + }, + recommendations = { + { id = 1, type = "dungeon", name = "Кузня Крови", loc = "Цитадель Адского Пламени", level = "61—64", biome = "fire" }, + { id = 2, type = "dungeon", name = "Подземелья Аукенай", loc = "Аукиндон", level = "64—66", biome = "arcane" }, + { id = 3, type = "dungeon", name = "Сетеккские залы", loc = "Награнд", level = "67—69", biome = "storm" }, + { id = 4, type = "dungeon", name = "Темный Лабиринт", loc = "Аукиндон", level = "68—70", biome = "shadow" }, + { id = 5, type = "dungeon", name = "Ботаника", loc = "Долина Призрачной Луны", level = "69—70", biome = "nature" }, + { id = 6, type = "dungeon", name = "Расколотые Залы", loc = "Цитадель Адского Пламени", level = "70 H", biome = "fire" }, + }, + rewards = {}, -- блок наград временно скрыт (см. SHOW_REWARDS в PlayerGuide.lua) + }) +end diff --git a/client-export/MoonWellPlayerGuide.lua b/client-export/MoonWellPlayerGuide.lua new file mode 100644 index 0000000..2794751 --- /dev/null +++ b/client-export/MoonWellPlayerGuide.lua @@ -0,0 +1,78 @@ +--[[---------------------------------------------------------------------------- + AIO/MoonWellPlayerGuide.lua + ───────────────────────────────────────────────────────────────────────────── + AIO-handler (клиентская часть) для namespace "MoonWellPlayerGuide". + Сервер отправляет SetData(payload), клиент кладёт его в C_PlayerGuide. + Клиент шлёт RequestRefresh обратно при нажатии «Обновить». + + Контракт описан в player-guide-requirements.md → "AIO Contract". +------------------------------------------------------------------------------]] + +local AIO = AIO or require("AIO") +if not AIO then return end -- безопасный no-op без AIO + +local handlers = AIO.AddHandlers("MoonWellPlayerGuide", {}) + +-- ────────────────────────────────────────────────────────────────────────── +-- Server → Client + +-- Полная замена payload +function handlers.SetData(player, payload) + if C_PlayerGuide and C_PlayerGuide.SetData then + local ok, err = C_PlayerGuide.SetData(payload) + if not ok and DEFAULT_CHAT_FRAME then + DEFAULT_CHAT_FRAME:AddMessage( + "|cffff8080[Путеводитель]|r Ошибка payload: "..tostring(err)) + end + end +end + +-- Обновление одной цели (для частичных update'ов) +function handlers.UpdateObjective(player, objective) + if not (C_PlayerGuide and C_PlayerGuide.HasData()) then return end + -- Простая стратегия: пересобрать payload локально с заменой цели по id. + -- C_PlayerGuide хранит данные internally — даём прямой доступ через _patch: + local n = C_PlayerGuide.GetNumObjectives() + for i = 1, n do + local o = C_PlayerGuide.GetObjectiveInfo(i) + if o and o.id == objective.id then + -- Грязный, но рабочий способ для MVP — отдать обратно весь массив. + -- Для прод-уровня лучше выставить C_PlayerGuide.PatchObjective(o). + o.progress = objective.progress or o.progress + o.required = objective.required or o.required + o.completed = objective.completed + if MW_PlayerGuide and MW_PlayerGuide.Refresh then + MW_PlayerGuide.Refresh() + end + break + end + end +end + +-- Замена только инфы об этапе (без массива objectives) +function handlers.SetStage(player, stagePayload) + if not stagePayload then return end + -- Объединяем с текущим payload'ом + local _, name, desc, progress = C_PlayerGuide.GetStageInfo() + C_PlayerGuide.SetData({ + stageID = stagePayload.stageID, + stageName = stagePayload.stageName or name, + stageDescription = stagePayload.stageDescription or desc, + progress = stagePayload.progress or progress, + stages = stagePayload.stages, + objectives = stagePayload.objectives or {}, + recommendations = stagePayload.recommendations or {}, + rewards = stagePayload.rewards or {}, + }) +end + +-- Сообщения от сервера (баблы / chat-фрейм) +function handlers.Notify(player, message) + if DEFAULT_CHAT_FRAME and message then + DEFAULT_CHAT_FRAME:AddMessage("|cffffd76a[Путеводитель]|r "..tostring(message)) + end +end + +-- ────────────────────────────────────────────────────────────────────────── +-- Client → Server: ничего регистрировать не нужно — это просто AIO.Handle +-- внутри C_PlayerGuide.RequestRefresh / RequestTrackObjective / RequestOpenTarget. diff --git a/client-export/PlayerGuide.lua b/client-export/PlayerGuide.lua new file mode 100644 index 0000000..94dca75 --- /dev/null +++ b/client-export/PlayerGuide.lua @@ -0,0 +1,402 @@ +--[[---------------------------------------------------------------------------- + PlayerGuide.lua + ───────────────────────────────────────────────────────────────────────────── + UI-логика вкладки «Путеводитель». Парный файл PlayerGuide.xml. + + Зависимости: + * C_PlayerGuide (Utils/C_PlayerGuide.lua) — данные и API + * MW_PLAYER_GUIDE* (Localization/ruRU.lua) — строки + * EncounterJournal (Custom_EncounterJournal) — родительский фрейм +------------------------------------------------------------------------------]] + +-- ────────────────────────────────────────────────────────────────────────── +-- Конфигурация фичи + +local SHOW_REWARDS = false -- блок наград временно отключён +local SHOW_RECOMMENDATIONS = true +local DENSITY = "compact" -- compact | regular | cozy +local ACCENT = { r = 1.0, g = 0.84, b = 0.42 } -- золото + +local ROMAN = { "I","II","III","IV","V","VI","VII","VIII","IX","X" } + +-- Биом → цвет «обложки» рекомендации (rgb 0..1). +-- В будущем заменить на текстуры Interface\AddOns\MoonWellClient\EncounterJournal\Textures\Biome-*. +local BIOME_COLOR = { + fire = { 0.83, 0.29, 0.10 }, + arcane = { 0.48, 0.31, 0.83 }, + storm = { 0.24, 0.56, 0.77 }, + shadow = { 0.35, 0.16, 0.54 }, + nature = { 0.31, 0.63, 0.29 }, + holy = { 0.83, 0.69, 0.24 }, +} + +-- Тип цели → глиф (заменить на иконки из BLP, когда будет атлас). +local TYPE_GLYPH = { + level = "⚔", + quest = "!", + quest_chain = "!", + dungeon = "⛨", + raid = "☠", + boss = "☠", + achievement = "★", + reputation = "◈", + profession = "⚒", + item = "◆", + currency = "✦", + custom = "∗", +} + +-- Тип цели → плейсхолдер-иконка из встроенных текстур 3.3.5a. +local TYPE_ICON = { + level = "Interface\\Icons\\Ability_Warrior_Challange", + quest = "Interface\\Icons\\INV_Misc_Note_01", + quest_chain = "Interface\\Icons\\INV_Misc_Note_05", + dungeon = "Interface\\Icons\\INV_Misc_Key_06", + raid = "Interface\\Icons\\INV_Misc_Head_Dragon_01", + boss = "Interface\\Icons\\Ability_Warrior_DecisiveStrike", + achievement = "Interface\\Icons\\Achievement_GuildPerk_HonorableMention", + reputation = "Interface\\Icons\\INV_Scroll_03", + profession = "Interface\\Icons\\Trade_Engineering", + item = "Interface\\Icons\\INV_Misc_Gem_Diamond_02", + currency = "Interface\\Icons\\INV_Misc_Coin_17", + custom = "Interface\\Icons\\INV_Misc_QuestionMark", +} + +-- ────────────────────────────────────────────────────────────────────────── +-- Хелперы + +local function pct(cur, req) + if not req or req <= 0 then return 0 end + return math.floor((cur / req) * 100 + 0.5) +end + +local function setRGB(fs, c) fs:SetTextColor(c.r or c[1], c.g or c[2], c.b or c[3]) end + +local function showOrHide(frame, show) + if not frame then return end + if show then frame:Show() else frame:Hide() end +end + +-- ────────────────────────────────────────────────────────────────────────── +-- Цепочка этапов + +local stageBadges = {} -- кэш созданных бейджей по индексу + +local function buildStageChain(stages) + if not PlayerGuideFrame then return end + local container = PlayerGuideFrame.StageChain + + -- Прячем лишние бейджи, если этапов стало меньше + for i = (#stages + 1), #stageBadges do + stageBadges[i]:Hide() + end + + if #stages == 0 then return end + + local width = container:GetWidth() + if width == 0 then width = 600 end + local slot = width / #stages + + for i, s in ipairs(stages) do + local badge = stageBadges[i] + if not badge then + badge = CreateFrame("Frame", "PlayerGuideStageBadge"..i, container, "MW_PG_StageBadgeTemplate") + stageBadges[i] = badge + end + badge:ClearAllPoints() + badge:SetPoint("LEFT", container, "LEFT", (i - 0.5) * slot - 19, 0) + badge:Show() + + -- Текст + badge.Roman:SetText(ROMAN[s.id] or tostring(s.id)) + badge.Label:SetText(s.short or s.name or "") + + -- Цветовая схема по статусу + local status = s.status or "locked" + if status == "active" then + badge.Roman:SetTextColor(1.0, 0.91, 0.63) + badge.Label:SetTextColor(1.0, 0.84, 0.42) + badge.BadgeBG:SetVertexColor(1.0, 0.84, 0.42, 1) + elseif status == "done" then + badge.Roman:SetTextColor(0.79, 0.65, 0.38) + badge.Label:SetTextColor(0.79, 0.65, 0.38) + badge.BadgeBG:SetVertexColor(0.55, 0.40, 0.18, 1) + -- Можно заменить римскую цифру на «✓» для завершённых: + badge.Roman:SetText("✓") + else + badge.Roman:SetTextColor(0.40, 0.34, 0.22) + badge.Label:SetTextColor(0.40, 0.34, 0.22) + badge.BadgeBG:SetVertexColor(0.20, 0.15, 0.08, 1) + end + end +end + +-- ────────────────────────────────────────────────────────────────────────── +-- Карточки целей + +local objectiveCards = {} + +local CARD_HEIGHT = { compact = 44, regular = 56, cozy = 72 } +local CARD_GAP = { compact = 4, regular = 6, cozy = 8 } + +local function renderObjectives() + local section = PlayerGuideFrame.ObjectivesSection + local parent = section.ScrollFrame.ScrollChild + local n = C_PlayerGuide.GetNumObjectives() + + -- Скрыть лишние + for i = (n + 1), #objectiveCards do objectiveCards[i]:Hide() end + + local h = CARD_HEIGHT[DENSITY] or 44 + local gap = CARD_GAP[DENSITY] or 4 + local done = 0 + + for i = 1, n do + local o = C_PlayerGuide.GetObjectiveInfo(i) + if not o then break end + + local card = objectiveCards[i] + if not card then + card = CreateFrame("Frame", "PlayerGuideObjective"..i, parent, "MW_PG_ObjectiveCardTemplate") + objectiveCards[i] = card + end + card:ClearAllPoints() + card:SetPoint("TOPLEFT", parent, "TOPLEFT", 0, -(i - 1) * (h + gap)) + card:SetPoint("TOPRIGHT", parent, "TOPRIGHT", 0, -(i - 1) * (h + gap)) + card:SetHeight(h) + card.objectiveData = o + card:Show() + + -- Иконка типа + card.Icon:SetTexture(TYPE_ICON[o.type] or TYPE_ICON.custom) + card.Icon:SetTexCoord(0.08, 0.92, 0.08, 0.92) -- crop borders Blizz-стиль + + -- Тип-плашка caps + card.TypeLabel:SetText(_G["MW_PG_TYPE_"..string.upper(o.type)] or string.upper(o.type)) + + -- Заголовок и подзаголовок + card.Title:SetText(o.title or "") + card.Subtitle:SetText(o.subtitle or o.description or "") + + -- Прогресс + card.ProgressBar:SetMinMaxValues(0, o.required or 1) + card.ProgressBar:SetValue(o.progress or 0) + card.Count:SetText(string.format("%d / %d", o.progress or 0, o.required or 1)) + + -- Цвет по статусу + if o.completed then + done = done + 1 + card.Title:SetTextColor(0.62, 0.84, 0.47) + card.TypeLabel:SetTextColor(0.49, 0.65, 0.35) + card.Count:SetTextColor(0.62, 0.84, 0.47) + card.ProgressBar:SetStatusBarColor(0.55, 0.85, 0.40) + card.IconBorder:SetVertexColor(0.40, 0.65, 0.30, 0.7) + else + card.Title:SetTextColor(1.0, 0.91, 0.63) + card.TypeLabel:SetTextColor(0.63, 0.46, 0.19) + card.Count:SetTextColor(0.79, 0.65, 0.38) + card.ProgressBar:SetStatusBarColor(ACCENT.r, ACCENT.g, ACCENT.b) + card.IconBorder:SetVertexColor(ACCENT.r, ACCENT.g, ACCENT.b, 0.55) + end + end + + parent:SetHeight(math.max(1, n * (h + gap))) + section.Count:SetText(string.format("· %d / %d", done, n)) +end + +-- ────────────────────────────────────────────────────────────────────────── +-- Карточки рекомендаций + +local recCards = {} + +local function renderRecommendations() + local section = PlayerGuideFrame.RecommendationsSection + if not SHOW_RECOMMENDATIONS then section:Hide(); return end + + local parent = section.ScrollFrame.ScrollChild + local n = C_PlayerGuide.GetNumRecommendations() + if n == 0 then section:Hide(); return end + section:Show() + + for i = (n + 1), #recCards do recCards[i]:Hide() end + + local cardW = 148 + local gap = 8 + + for i = 1, n do + local r = C_PlayerGuide.GetRecommendationInfo(i) + if not r then break end + + local card = recCards[i] + if not card then + card = CreateFrame("Button", "PlayerGuideRec"..i, parent, "MW_PG_RecCardTemplate") + recCards[i] = card + end + card:ClearAllPoints() + card:SetPoint("TOPLEFT", parent, "TOPLEFT", (i - 1) * (cardW + gap), 0) + card.recData = r + card:Show() + + local biome = BIOME_COLOR[r.biome] or BIOME_COLOR.fire + card.Artwork:SetVertexColor(biome[1], biome[2], biome[3], 1) + card.Name:SetText(r.name or "") + card.Loc:SetText(r.loc or "") + card.Level:SetText(r.level or "") + end + + parent:SetWidth(math.max(1, n * (cardW + gap))) + section.Count:SetText("· "..n) +end + +-- ────────────────────────────────────────────────────────────────────────── +-- Главный Refresh + +local function showState(state) + local F = PlayerGuideFrame + local hasData = (state == "data") + + showOrHide(F.StageChain, hasData) + showOrHide(F.Header, hasData) + showOrHide(F.ObjectivesSection, hasData) + showOrHide(F.RecommendationsSection, hasData and SHOW_RECOMMENDATIONS) + showOrHide(F.EmptyState, state == "empty") + showOrHide(F.LoadingState, state == "loading") +end + +local function refresh() + if not PlayerGuideFrame then return end + + local state = C_PlayerGuide.GetState() + showState(state) + + if state ~= "data" then return end + + -- Заголовок этапа + local id, name, desc, progress = C_PlayerGuide.GetStageInfo() + local stages = C_PlayerGuide.GetStages() or {} + + PlayerGuideFrame.Header.Pretitle:SetText( + string.format(MW_PLAYER_GUIDE_STAGE_OF or "Этап %d из %d", id or 0, #stages)) + PlayerGuideFrame.Header.Title:SetText(name or "") + PlayerGuideFrame.Header.Description:SetText(desc or "") + PlayerGuideFrame.Header.ProgressLabel:SetText(MW_PLAYER_GUIDE_STAGE_PROGRESS or "ПРОГРЕСС ЭТАПА") + PlayerGuideFrame.Header.ProgressPercent:SetText((progress or 0) .. "%") + PlayerGuideFrame.Header.ProgressBar:SetMinMaxValues(0, 100) + PlayerGuideFrame.Header.ProgressBar:SetValue(progress or 0) + + buildStageChain(stages) + renderObjectives() + renderRecommendations() +end + +-- ────────────────────────────────────────────────────────────────────────── +-- XML script handlers + +function MW_PlayerGuide_OnLoad(self) + -- Подписываемся на изменения C_PlayerGuide + C_PlayerGuide.RegisterListener(function() refresh() end) +end + +function MW_PlayerGuide_OnShow(self) + -- Если данных ещё нет — попросим сервер + if not C_PlayerGuide.HasData() then + C_PlayerGuide.SetLoading() + C_PlayerGuide.RequestRefresh() + end + refresh() +end + +function MW_PlayerGuide_RefreshButton_OnClick(self) + C_PlayerGuide.SetLoading() + C_PlayerGuide.RequestRefresh() +end + +-- Клик по карточке цели — открывает связанный таргет (см. требования) +function MW_PlayerGuide_Objective_OnClick(self) + local o = self.objectiveData + if not o then return end + + if o.type == "dungeon" or o.type == "raid" then + if o.instanceID and EncounterJournal_OpenJournal then + EncounterJournal_OpenJournal(o.instanceID) + end + elseif o.type == "boss" then + if o.encounterID and EncounterJournal_OpenJournal then + EncounterJournal_OpenJournal(o.instanceID, o.encounterID) + end + elseif o.type == "achievement" and o.achievementID then + if AchievementFrame_LoadUI then AchievementFrame_LoadUI() end + if AchievementFrame_SelectAchievement then + AchievementFrame_SelectAchievement(o.achievementID) + end + elseif o.type == "item" and o.itemID then + -- Запрос подсказки предмета + if GameTooltip then + GameTooltip:SetOwner(self, "ANCHOR_RIGHT") + GameTooltip:SetItemByID(o.itemID) + GameTooltip:Show() + end + else + -- Любой нестандартный тип — пытаемся попросить сервер открыть таргет + C_PlayerGuide.RequestOpenTarget(o.id) + end +end + +function MW_PlayerGuide_Objective_OnEnter(self) + local o = self.objectiveData + if not o then return end + GameTooltip:SetOwner(self, "ANCHOR_RIGHT") + GameTooltip:AddLine(o.title or "", 1, 0.91, 0.63) + if o.subtitle and o.subtitle ~= "" then + GameTooltip:AddLine(o.subtitle, 0.66, 0.59, 0.47, true) + end + if not o.completed then + GameTooltip:AddLine(string.format("Прогресс: %d / %d", o.progress, o.required), + 0.79, 0.65, 0.38) + end + GameTooltip:Show() +end + +function MW_PlayerGuide_Objective_OnLeave(self) GameTooltip:Hide() end + +function MW_PlayerGuide_Rec_OnClick(self) + local r = self.recData + if r and r.instanceID and EncounterJournal_OpenJournal then + EncounterJournal_OpenJournal(r.instanceID) + end +end + +function MW_PlayerGuide_Rec_OnEnter(self) + local r = self.recData + if not r then return end + GameTooltip:SetOwner(self, "ANCHOR_RIGHT") + GameTooltip:AddLine(r.name or "", 1, 0.91, 0.63) + if r.loc then GameTooltip:AddLine(r.loc, 0.66, 0.59, 0.47) end + if r.level then GameTooltip:AddLine("Уровень: "..r.level, 0.79, 0.65, 0.38) end + GameTooltip:Show() +end + +function MW_PlayerGuide_Rec_OnLeave(self) GameTooltip:Hide() end + +-- ────────────────────────────────────────────────────────────────────────── +-- Публичные хелперы для Custom_EncounterJournal.lua (routing вкладки) + +function PlayerGuide_Show() + if PlayerGuideFrame then + PlayerGuideFrame:Show() + end +end + +function PlayerGuide_Hide() + if PlayerGuideFrame then + PlayerGuideFrame:Hide() + end +end + +-- Глобальный экспорт для отладки +MW_PlayerGuide = { + Refresh = refresh, + Show = PlayerGuide_Show, + Hide = PlayerGuide_Hide, + InjectDevData = function() C_PlayerGuide._InjectDevPayload() end, +} diff --git a/client-export/PlayerGuide.xml b/client-export/PlayerGuide.xml new file mode 100644 index 0000000..0a3aaf4 --- /dev/null +++ b/client-export/PlayerGuide.xml @@ -0,0 +1,498 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/client-export/README.md b/client-export/README.md new file mode 100644 index 0000000..b4b4a38 --- /dev/null +++ b/client-export/README.md @@ -0,0 +1,64 @@ +# PlayerGuide — клиентский пакет (3.3.5a / MoonWellClient) + +Это материалы для интеграции вкладки **«Путеводитель»** в существующий +ретропортированный Encounter Journal. Реализация соответствует требованиям +из `uploads/player-guide-requirements.md` и опирается на канон-визуал +WotLK (Friz Quadrata, тёмно-синий фон EJ, золотые акценты). + +## Структура + +``` +MoonWellClient/ +├── EncounterJournal/ +│ ├── Utils/ +│ │ └── C_PlayerGuide.lua ← хранилище + API +│ ├── Custom_EncounterJournal/ +│ │ ├── Custom_EncounterJournal.xml ← патч: новая вкладка +│ │ ├── Custom_EncounterJournal.lua ← патч: routing вкладки +│ │ ├── PlayerGuide.xml ← фреймы и шаблоны (НОВОЕ) +│ │ └── PlayerGuide.lua ← рендер и логика (НОВОЕ) +│ └── Localization/ +│ └── ruRU.lua ← патч: MW_PLAYER_GUIDE и др. +├── AIO/ +│ └── MoonWellPlayerGuide.lua ← AIO-handler (клиентская часть) +└── MoonWellClient.toc ← патч: подключение файлов +``` + +## Порядок интеграции + +1. **Скопируйте новые файлы** в проект: + * `client-export/PlayerGuide.xml` → `EncounterJournal/Custom_EncounterJournal/PlayerGuide.xml` + * `client-export/PlayerGuide.lua` → `EncounterJournal/Custom_EncounterJournal/PlayerGuide.lua` + * `client-export/C_PlayerGuide.lua` → `EncounterJournal/Utils/C_PlayerGuide.lua` + * `client-export/MoonWellPlayerGuide.lua` → `AIO/MoonWellPlayerGuide.lua` +2. **Примените патчи** из `client-export/patches/` к существующим файлам + (см. ниже — `Custom_EncounterJournal.xml`, `Custom_EncounterJournal.lua`, + `MoonWellClient.toc`, `Localization/ruRU.lua`). +3. **Перезагрузите интерфейс** (`/reload`). Если AIO ещё не передал + payload — увидите «пустое» состояние с кнопкой «Обновить». + +## Что вошло в MVP (по требованиям) + +| MVP-пункт | Где | +| ----------------------------- | ------------------------------------------- | +| вкладка `Путеводитель` | `Custom_EncounterJournal.xml` патч | +| пустой `PlayerGuideFrame` | `PlayerGuide.xml` | +| `C_PlayerGuide.lua` + статика | `C_PlayerGuide.lua` | +| заголовок этапа + цели | `PlayerGuide.lua → PlayerGuide_Refresh` | +| tab switching / hide-show | `Custom_EncounterJournal.lua → EJ_ContentTab_OnClick` хук | +| AIO `SetData` | `MoonWellPlayerGuide.lua → handlers.SetData` | +| Обновить (RequestRefresh) | `PlayerGuide.lua → PlayerGuide_RefreshButton_OnClick` | + +## Что отложено (см. «Later UI» в требованиях) + +* Фильтры (все / активные / завершённые) +* Pinning отслеживаемой цели +* **Награды** — блок временно отключён (`SHOW_REWARDS = false`) +* Серверные уведомления (`Notify`) + +## Сноска по визуалу + +Текстуры в XML — это встроенные ресурсы 3.3.5a-клиента. Если у вас +есть атлас MoonWell — замените пути в блоке `-- TEXTURE_ATLAS` на свои. +Биом-обложки рекомендаций (`Interface\AddOns\MoonWellClient\EncounterJournal\Textures\Biome-*`) +надо создать отдельно — это плейсхолдеры (см. таблицу в `PlayerGuide.lua`). diff --git a/client-export/patches/Custom_EncounterJournal.lua.patch.lua b/client-export/patches/Custom_EncounterJournal.lua.patch.lua new file mode 100644 index 0000000..923925f --- /dev/null +++ b/client-export/patches/Custom_EncounterJournal.lua.patch.lua @@ -0,0 +1,120 @@ +--[[---------------------------------------------------------------------------- + patches/Custom_EncounterJournal.lua.patch + ───────────────────────────────────────────────────────────────────────────── + Патч-сниппеты для существующего Custom_EncounterJournal.lua. Эти куски + добавляют routing новой вкладки и hide-show поведение по требованиям: + + «при выборе guide tab: + - hide instance cards + - hide Encounter Journal detail panel + - hide suggested content panel + - hide loot journal panel + - hide or disable the expansion/tier dropdown unless explicitly needed + - show PlayerGuideFrame» +------------------------------------------------------------------------------]] + +-- ─── ПАТЧ #1 ─────────────────────────────────────────────────────────────── +-- НАЙТИ функцию EJ_ContentTab_Select (или ту, что переключает вкладки в +-- Encounter Journal). Обычно она выглядит как switch по id вкладки. +-- ДОБАВИТЬ ветку для нашей вкладки. Пример полностью переписанной функции: + +local PLAYERGUIDE_TAB_ID = 1 -- должен совпадать с id="1" в XML патче + +function EJ_ContentTab_Select(id) + EncounterJournal.suggestTab:UnlockHighlight() + EncounterJournal.dungeonsTab:UnlockHighlight() + EncounterJournal.raidsTab:UnlockHighlight() + if EncounterJournal.lootJournalTab then + EncounterJournal.lootJournalTab:UnlockHighlight() + end + if EncounterJournal.guideTab then + EncounterJournal.guideTab:UnlockHighlight() + end + + -- Прячем «обычные» панели EJ. Этот хелпер уже есть в Custom_EncounterJournal: + -- EncounterJournal_HideAllPanels() + -- Если его нет — выньте тело сюда (Hide instance list, encounter, loot). + EncounterJournal_HideAllPanels() + + -- Прячем PlayerGuideFrame — он показывается только на guide-вкладке. + if PlayerGuideFrame then PlayerGuideFrame:Hide() end + + if id == PLAYERGUIDE_TAB_ID then + -- НАША ВКЛАДКА ----------------------------------------------------- + EncounterJournal.guideTab:LockHighlight() + EncounterJournal.instanceSelect:Hide() + EncounterJournal.encounter:Hide() + if EncounterJournalSuggestFrame then EncounterJournalSuggestFrame:Hide() end + if LootJournal then LootJournal:Hide() end + -- Скрыть/задисейблить дропдаун расширений, как просят требования: + if EJTierDropDown then EJTierDropDown:Hide() end + + if PlayerGuideFrame then PlayerGuideFrame:Show() end + return + end + + -- ── Остальные вкладки — оригинальная логика ── + if EJTierDropDown then EJTierDropDown:Show() end + + if id == 2 then -- SuggestTab (было 1) + EncounterJournal.suggestTab:LockHighlight() + EncounterJournal_ListInstances() -- или ваш Suggest-Show + elseif id == 3 then -- DungeonTab + EncounterJournal.dungeonsTab:LockHighlight() + EJ_HideNonInstancePanels() + EncounterJournal_ListInstances() + elseif id == 4 then -- RaidTab + EncounterJournal.raidsTab:LockHighlight() + EJ_HideNonInstancePanels() + EncounterJournal_ListInstances() + elseif id == 5 then -- LootJournalTab + if EncounterJournal.lootJournalTab then + EncounterJournal.lootJournalTab:LockHighlight() + end + if LootJournal_Show then LootJournal_Show() end + end +end + + +-- ─── ПАТЧ #2 ─────────────────────────────────────────────────────────────── +-- В EJ_ContentTab_OnClick добавить вызов нашего Select для tab id=1 +-- (если у вас один централизованный _OnClick — он уже передаёт id и +-- ничего дополнительно делать не нужно): + +function EJ_ContentTab_OnClick(self) + EJ_ContentTab_Select(self:GetID()) + PlaySound("igCharacterInfoTab") +end + + +-- ─── ПАТЧ #3 ─────────────────────────────────────────────────────────────── +-- Защита: при открытии EJ через EncounterJournal_OpenJournal — переключиться +-- НА dungeon/raid таб, а не оставлять guide-таб выбранным. +-- Найдите вашу EncounterJournal_OpenJournal и убедитесь, что в начале: + +local _orig_EncounterJournal_OpenJournal = EncounterJournal_OpenJournal +function EncounterJournal_OpenJournal(instanceID, encounterID, ...) + -- При прямом открытии конкретного instance — переключиться на Dungeon/Raid + if instanceID then + EJ_ContentTab_Select(3) -- Dungeon по умолчанию; ваша логика может выбрать Raid + end + return _orig_EncounterJournal_OpenJournal(instanceID, encounterID, ...) +end + + +-- ─── ПАТЧ #4 ─────────────────────────────────────────────────────────────── +-- Init: статика для разработки (можно убрать перед релизом). Если AIO +-- ещё не успел прислать payload — покажем dev-payload через 1с после +-- первого открытия EJ. + +local _devInjected = false +EncounterJournal:HookScript("OnShow", function() + if not _devInjected and not C_PlayerGuide.HasData() then + _devInjected = true + C_Timer.After(1.0, function() + if not C_PlayerGuide.HasData() then + C_PlayerGuide._InjectDevPayload() + end + end) + end +end) diff --git a/client-export/patches/Custom_EncounterJournal.xml.patch.lua b/client-export/patches/Custom_EncounterJournal.xml.patch.lua new file mode 100644 index 0000000..21e41a3 --- /dev/null +++ b/client-export/patches/Custom_EncounterJournal.xml.patch.lua @@ -0,0 +1,57 @@ +--[[---------------------------------------------------------------------------- + patches/Custom_EncounterJournal.xml.patch + ───────────────────────────────────────────────────────────────────────────── + Это НЕ замена файла — это патч-сниппеты для существующего + Custom_EncounterJournal.xml. Вставьте обозначенные блоки. + + В оригинальном Custom_EncounterJournal.xml внутри EncounterJournal.bg или + аналогичного контейнера уже есть вкладки SuggestTab / DungeonTab / RaidTab / + LootJournalTab. Нужно вставить GuideTab ПЕРЕД ними (id=1) и сдвинуть + анкоры остальных. +------------------------------------------------------------------------------]] + +-- ─── ПАТЧ #1 ─────────────────────────────────────────────────────────────── +-- НАЙТИ блок вкладки SuggestTab (или то, что у вас сейчас называется +-- «$parentSuggestTab» / «$parentDungeonTab») и ДОБАВИТЬ перед ним +-- следующую кнопку. id=1, чтобы EJ_ContentTab_OnClick знал об этой вкладке. + + + + +-- ─── ПАТЧ #2 ─────────────────────────────────────────────────────────────── +-- ИЗМЕНИТЬ id существующих вкладок (теперь Путеводитель = 1): +-- +-- SuggestTab id="2" (было 1) +-- DungeonTab id="3" (было 2) +-- RaidTab id="4" (было 3) +-- LootJournalTab id="5" (было 4) +-- +-- И СДВИНУТЬ анкор первой следующей вкладки (SuggestTab), чтобы она +-- цеплялась за GuideTab: + + + + + + + + +-- ─── ПАТЧ #3 ─────────────────────────────────────────────────────────────── +-- В конце ... , ПЕРЕД закрывающим тегом, добавить include +-- для нашего PlayerGuide.xml, чтобы PlayerGuideFrame создавался ВНУТРИ +-- родителя EncounterJournal: + + diff --git a/client-export/patches/Localization-ruRU.lua.patch.lua b/client-export/patches/Localization-ruRU.lua.patch.lua new file mode 100644 index 0000000..17058d3 --- /dev/null +++ b/client-export/patches/Localization-ruRU.lua.patch.lua @@ -0,0 +1,43 @@ +--[[---------------------------------------------------------------------------- + patches/Localization-ruRU.lua.patch + ───────────────────────────────────────────────────────────────────────────── + Строки локализации для вкладки «Путеводитель». + Вставьте этот блок в ваш существующий Localization/ruRU.lua (или + ruRU.lua в корне), либо подключите как отдельный файл и добавьте в .toc. +------------------------------------------------------------------------------]] + +-- Имя вкладки +MW_PLAYER_GUIDE = "Путеводитель" + +-- Заголовки секций +MW_PLAYER_GUIDE_OBJECTIVES = "Задачи этапа" +MW_PLAYER_GUIDE_RECS = "Подходящие подземелья" +MW_PLAYER_GUIDE_REWARDS = "Награды за этап" + +-- Шапка +MW_PLAYER_GUIDE_STAGE_OF = "ЭТАП %d ИЗ %d" +MW_PLAYER_GUIDE_STAGE_PROGRESS = "ПРОГРЕСС ЭТАПА" +MW_PLAYER_GUIDE_REFRESH = "Обновить" + +-- Пустое состояние +MW_PLAYER_GUIDE_EMPTY_TITLE = "Путеводитель ещё не открыт" +MW_PLAYER_GUIDE_EMPTY_BODY = "Данные о вашем прогрессе ещё не получены с сервера. ".. + "Это может занять несколько секунд после входа в игру." + +-- Загрузка +MW_PLAYER_GUIDE_LOADING_TITLE = "ЗАПРАШИВАЕМ ХРОНИКИ" +MW_PLAYER_GUIDE_LOADING_BODY = "Ожидание данных от Путеводителя" + +-- Caps-плашки типов целей (используются в карточке цели) +MW_PG_TYPE_LEVEL = "УРОВЕНЬ" +MW_PG_TYPE_QUEST = "ЗАДАНИЕ" +MW_PG_TYPE_QUEST_CHAIN = "ЦЕПОЧКА" +MW_PG_TYPE_DUNGEON = "ПОДЗЕМЕЛЬЕ" +MW_PG_TYPE_RAID = "РЕЙД" +MW_PG_TYPE_BOSS = "БОСС" +MW_PG_TYPE_ACHIEVEMENT = "ДОСТИЖЕНИЕ" +MW_PG_TYPE_REPUTATION = "РЕПУТАЦИЯ" +MW_PG_TYPE_PROFESSION = "ПРОФЕССИЯ" +MW_PG_TYPE_ITEM = "ПРЕДМЕТ" +MW_PG_TYPE_CURRENCY = "ВАЛЮТА" +MW_PG_TYPE_CUSTOM = "ЗАДАЧА" diff --git a/client-export/patches/MoonWellClient.toc.patch b/client-export/patches/MoonWellClient.toc.patch new file mode 100644 index 0000000..ff3da41 --- /dev/null +++ b/client-export/patches/MoonWellClient.toc.patch @@ -0,0 +1,28 @@ +# patches/MoonWellClient.toc.patch +# +# Сниппет для добавления в существующий MoonWellClient.toc. ВАЖНО: порядок +# подключения файлов критичен — C_PlayerGuide.lua должен идти ДО PlayerGuide.lua, +# а PlayerGuide.xml — ПОСЛЕ Custom_EncounterJournal.xml (PlayerGuideFrame +# анкорится к EncounterJournal как parent). +# +# Вставьте строки ниже в соответствующие места вашего .toc. + +# ─── Локализация ──────────────────────────────────────────────────────────── +# В блок Localization, рядом с остальными ruRU.lua: +Localization\ruRU.lua + +# ─── Хранилище и API ──────────────────────────────────────────────────────── +# В блок EncounterJournal\Utils\, до подключения чего-либо из +# Custom_EncounterJournal\: +EncounterJournal\Utils\C_PlayerGuide.lua + +# ─── Сам Encounter Journal (ОБНОВЛЁННЫЙ ПОРЯДОК) ──────────────────────────── +# Эти строки заменяют ваш существующий блок Custom_EncounterJournal: +EncounterJournal\Custom_EncounterJournal\Custom_EncounterJournal.xml +EncounterJournal\Custom_EncounterJournal\PlayerGuide.xml +EncounterJournal\Custom_EncounterJournal\PlayerGuide.lua +EncounterJournal\Custom_EncounterJournal\Custom_EncounterJournal.lua + +# ─── AIO-handler ──────────────────────────────────────────────────────────── +# Должен подключаться ПОСЛЕ C_PlayerGuide.lua и AIO/AIO_Client.lua: +AIO\MoonWellPlayerGuide.lua diff --git a/client-export/textures/Biome-Arcane.png b/client-export/textures/Biome-Arcane.png new file mode 100644 index 0000000000000000000000000000000000000000..580312885ab701eb21fc5eb4cc2e31de89a39284 GIT binary patch literal 38939 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

#cvLCpQoGCErG~ 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%0A{evl2J;;q}}xt1J7^W9qUVz@)PsD$duB$IiqL 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�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 M07*qoM6N<$g8SSERsaA1 literal 0 HcmV?d00001 diff --git a/client-export/textures/Biome-Holy.png b/client-export/textures/Biome-Holy.png new file mode 100644 index 0000000000000000000000000000000000000000..6949b8c8078316dd0d76ef937f53f137822bd09f GIT binary patch literal 39208 zcmV*MKx4m&P)6dNWcGZdXK6k`9w|GxavXl}CNeEsF1Oj110y0X0l1f4%DUu|OArUx{TeIE#ANaq> z*8I_*Y&YkJY|hp)0XLi&EF>YJI;B_Fb#=>ki&I6!p8oYQ=UjX3IC1W~0&>Odv-i=* zm~+)@?HzI6eeFm8==1&0{@@FRANyl3^x!}FU%uG?{2w3q3-Dk3p%?pK{1Y$szclfe z|DzZCkAt81lP~t4_){j&^~3M!fAxpo+yB%5)qB8u`(K0q+MjuE z|LZ^U-u^d&|MVNkyys!VgzxclXUxL3M{H6ExzyFut*MA!R=^uYz{|6KQ@F(8a|F=K! z%{}~I{gwCifAm+rx&Nb|{1))d{b%5x`N?nY|GS_17Vz(vf99t$-#7R0&oF=1^D}s7 z%)0*(h!;LXwiEnU&p`I+F8o9G`yXb1!$1Db^Ekj9n|}a)`WF5^$7_!q&pmRC3mo&m z$1(rAaABT{oR1*qXODI6{tM1w;m^Id{}(y0@ZSdiIp=(jzxAW<`k#4E5B?fl*Ho@6@Sk$M1%LI2U*x*u`uo!__MZy=)Qen`C;Szz z)!-*`-GW@d!C(FpFK}IhA9|tx#Xmmq=ixuky%78u_eSvNe(?Do{OBKft_T0|4?Nd@ z1pJxc4?oxc%pZEL|8VgA&-FhY{K5PEPyNB?`k(v*_Y42g_ucP*0{qZ_c)$P9`|tNZ zKJmwX|Goale*gXcgTL=y|H1FQ*Z;`x9ryt__`~0GuLs}%-S_(Uf7iYK2Y=6H;Sa#y z7kuYs{||%TebL_^{H}}s`@du0_rc%$?HB#`2LHiD|DNF64*k0)z6)-)MJtHK9x)Qn zQrh%vizWua(F4tt6|DMkVk@;a+!CLol}FC_Oh6g+W^NVRR{ewnYTBNswyl=RMm3sV zhovpG(o_@^r^cGTWE=eZ=FDlaO6DHgh6Tc)0s9o&PwP=5*~#rW`ZlPM?x@AD@#mbm z15$U4VIB!T$hgJPx3O}2j$TN8bodsOc;&)->~ql*lI-X`Pc6+{@+aWp({JOV7tDFG zQeYc$#crB99FP;3HMU2c6gM3)y|6a^i+BWjic>tXd{1ei{EWblW=an!A$hSLIGz_St@Q z)qb6M85CdS^bMEH8LYz0H{w36#R+@OnVLj}QC#x88@22Bk6a(LZLexR-MQ>*_xjFa zOloLrePgrA7&-d8+o|TXU(0)XL|s=kIW@hH?awtxY1wev>DuWD2WH&}c6|+`j+X7O z?bvyd!S1jzIK_ZQP%Sm5^(Mk59~BUt+Rlg!&gU;@tItb74KFJ=hh?8YKr^)`&l0il zfppFmIhWUJ9&NGh@@=?z`a|2h*pkUROlO;Mfi&Lir#xlkh&|AF8rY4wXI#EDe2b~T zIX6riV}`$Cd&Ks$Sj-iyeDn#;CvE#y?Ok!acZ zbU9C9n+zz;fv_zoAwXNj*lKjPN38HEhaE@7qeD9d#kOTh&<;lLAQ3+sVmXax+%A?0 zXj^{MRy^Cveu)R3B9=vC5Qj8v)Jc`^lVyGgBv`f7r;1X;uXX)jS@^UmppIf9Iw6dVb>t0Tay%QzxD8eU2>-#93Jt7nTSn5}19qa*rOGo6)8h|Y{dZmN%1jMQ#10jo=a-@mM~}rNanLWayXV`n^ zRy?A2*N-td9%KHD8eZ0!=$)~z-Rq}Ejrs4Y8D6&G=~2Vka=g_yontZ5cl2Y<>_gtr zqhNU>+7Ca?sk7rcwpq30S}Rc7rRc}48P82_}kt!7a(L4ZZcy^ObjBa7D*v3DDZq1=FcB{D^d#m5ix!1OD%|R@1mtUS_ zC;v{I9FVr!vCbJQoiNin>OlG6Ka^b+j278XS zBOq`7Egi41DZMtGQc5yrzthKBs&fq*J zRwfU&JWaM*N@!!^BtgE{j3;a|1EW5gnV=DCj?>tH_?eur)=3eT*hYSpfTAI)Hu)gI zdXg4XQ$F*oZAhGLN-a~;v@&Q`sHOnd>D$$C8)aQGAH%%MrzF# zhmsVMr)ht^MRO@;w6dgZj7Y>xNmdq38`mtk6jn|(UyUJOrMi2m@?A}2ja%iz7#5mV zy4AYq>PBOAwngJ<1~b@(Ej1n$NXaw=O(z%)n5|*j=rf$gjC|sWIq#UCagyB3`c<%1 zb2o%-JS%y7$I;IBe!OT6Zf$bBf@H`0cjva7XK0UYD?jT10{i$``m9c}Gj7k(=V%t| zi)ZR@vEn@ow`!eu4~x}5NnvAn@dM2iLjPOVXs9S*G1dZP!(;76k9CU|XITPP>e7V^!jm}0mO0qAhqja$iwd+Y+Yzu>3=beA( z)dclu>NptDBxn`42<+OKauR5%;*k%iZ@x2AAr|V*C)QE+;T330* zvk{hBT){W!-c9YQS)3_1U4m_ond1Vl?XG<#4sUOnT}`EC%+6I<)0O%LT@{|Mx7M@f zdy1c)FH;0#T=J*+vJY`ixe?vf-(7o}D`UobqV^ayWBkzXw7yZ7@u>}#4o@t*!hJCG zX^twGT_2}s9<#Bny>dgBRIa(9y2|G|%=ShHl|$_7%46RB=Lt%Ny@@_z>N4L9-X)E( z+f;XqYT2L-6l|JNwnYQsfegqKaQI^YneFLVd5bac1d|61Fp)jDJ%h*k%sQkdi!u#Q zT4Q3mjksBAXqz#UZ8Wf93fkf}<2%@Qcx{cFY@1b|u-1#swrS?R0c$s&f%Yl3(d4sU z8|`)#^Hn`34CN#O~qW87Y3%7HL-wA8n;?$yReekxv_<^MILd23R$u^ME+0hHJ z&=M)wVTmA3=11?M-lo#hzLp>%)HBuZ?DWLtDJgOYUBB%QpJ5vF0|iv`nA8d6Cv=Jvp@Y;^?tHl85k$&=^QKs}67 z#w@3&=B(XM6OBz7)d>cTF`ez`7+v-Ky(UE$V^1EnQgKbu6A)`GWAcg{`Gi4|gdrua zbznpfQzBHByEtC(RQ{Hkc{69WFP!=uuccGI^vKPg-56?#cj9^6=P}9rCG(}TCRt-E zIPadSN$o`CmS$MRFfB4bjyB6`-Eoo(#)e>1P;rugFsTp`Z7I0wU%%5{FVB8C1+>#0%bKeMSUh?i^<(Vk~`T2^DYO&xvxbGp0To?AA@H>PJUnehR4C zn9Pg2U3bHZll8(|9-Sme24V`l%7@FTj%aYi4m}qhnOF=)jm8uemQUAmai+EyG1v+x z8MYIfHyYf4C7Q5-0WkqhmZ+14_8B)!ns8;)?=W(%fwp;?ni|RN#7H%|=6J4u^B`y`Y`orDuJE3vJY_{9PO`$og(`yq38d^MpZaY~pyq)VFvuhBZO z_OWZ4l_!LqE^%Ou(2~469~xScZPj^|h9@m}47@-uyP# zhu6U7qem>oiw;UR#&`g^9S5wb8ACujiyMYL#@V;|t}*czQXd_@3oEzh=!J}l-gEST zSnO!+w)vznY2-CgwP>Gekg^Si7hxyfLBdWPmSkGNviFFec(No*vJDoaHDNq-HFOvR_7{>)hGlf<{CvQTjd^h8JXsdM9$tw2F!?3OG$K)hoO?a?$VrgiKXj9`!vRE*U z3XmwN*b1aw_c#o_j zarl()k%j6gpq0E`S0+i?klD@z$};AO+K}Vb6IF-Ew?uULL#OA+&Ri6Eq9_i3QHAMh zT#0n#sKv`1!KlZpEDn-%Mb#z1V_=o?M|)(9g;YgjkBS%scr*lY1al`}^CiZvI6SJN zQdJRk>w9~}Nv`@e9B=eE=l29eOy)Y5 z(OGAZ+SHI_wq%APV0(rhZmOatpzT8iy5?bh8BuT?6uGkD%!#8KM?QK~ksPhU)HmCr z4amZf9dBU7nqD|C9gR9g!fj*A-h(<3gH=OX_Vh3t`p}4B8%DPsY}a`eBgLf0#jA;Wk25mDZ z$o$Yae%55a1FxDrM=xY-^q!+{V_y@!kUEJCNCS!YNQzie`myb31Wh(BK+yJjUxSup zNw&`+O8{H80g)#pVxK`QcDxeg!h(lq!vf*L%t;~yECpum>b~Kt6G_Sg`0dLI&G7X&`38ru~wHctq^IsVjv( z=bm|RyM}-npNaE`8B8jJ0H@-$Do=1?@4TU9sq$h$(1bOBpsBowQKBjJ z_(?B(?e%MY{%cqI!q=YYlV5zIPkiyQKKSX!`p{>BNBSWA>mPrp-}v~W!Y_X4p@Lt6 zf8!H)6Tb<6=(CUY;mTQnP>T5e!L}J(C20Lp=#@zPvLQyuqtk5yLjzh$kGj)bN`%7%_a;cm2`_&z#C@)U+Cd z->j17W4G?zW|VQSiKZq(vsT!RaZF~Azv1S-))!v7t{eN;xRL+$2OsL!;ouY8^q+s}N}nhHH68}3f8)W8-rz=E z$PK$-i8CRkTi)U~8T00Yt~cS_?0bCr%U23M^0_DatxrDIZ++@f;iI2_tj~PqN?&^A zMz6eaqqi7e>tOqB%QovW9NMu|Ub<1@GHk1UoX{c!lckd;VaH#%m6K#iw!vaca{bWB zMq3iF(;;D$Y~Mn16ViE(^JlMma*Bqnx@O&?J@mfL5@DesX!86K!O*EeIUG1CSsFml zWE)5_Z4XHzr+9QF(QK0D(g*XDAV2k>Q$K1lczB5?)}s$*-b$~!?0AgC(a8_)idQ*0 zH!^8JAi3H=bj7JbR9U>laOwg=vh;Wn`8~v$PbyE?cvV7IdNKKmZ}ZCUm=dKn97K~Y zFFIZj9jKCm*k`d+Jai;ZwMSP+z5e!%KKIotZm>uC`QLh5zxt5}`q&p9>$AMwc@BOoMB>WqKc}+qYW=&qG($y^Hnir z)7$1voMKWbL5|~%pp8#32xcf9NnO>Ht_~**n0L-pzZN1fLvmZt$#tRtV(#>VmWNX- zfzx7xvfyQfvjT2UhLcDGtu7p@BZjt2^`;4Iiv|YElI;y+Y+`(wC!9nYwil0(SPN`5A@rge5lWU^@+aD zgFu#oNn%(*7^M*gqX>m*Tep{33spV~Qn^Rvo-%~(g3cz1H*&JHP$iO{@D*Wwiul+U zp6J&;_DCP#tH@`*dObcRJnX7k#?n;4pvfiz7C&K2wm}$3vLxFDIvQFNUb!%czr50x z9gqu4vLs|7UG!i>K*0N&=om1$>RV##G**(+EG|Rk{L5%yI}*SW9H70}cuoLAGCxu} z+sa})VIdu%RGlPOQ^J85CUzxk*EUJQ&~BMwo@9~XWTOX1^++%{4uP0cBFJ$FJ6-l% zEFM_7*rtmeFJl{VhGfe&NkMY)O=r_vs@jSrELmeIod7|@Pau`1qm>qR^kPC)EEWRV zh!N#aj^2<`e2C_%-*VQ|v8=~Wj{59Zp6K6v=xzO*4?fUm`JSElVczPD5fcd#Wg^S%JLz22BM)+>}buHv=a;hKKz$t#V$|r_b-niCh_=NLOKGl4H-&1_) zmFs#~+&wCD2gxpuzKxX&2gxsvzKwluucJkY^e>*RVl>%UA?a}NuDiZTgjTj9*smYlki+p=*_fmPa;J%Es# zr8MqJhv{+y+E%6T8p0-qHMvpWmJS1(nxI(+ICD3&ZH5i6$%+@)=mVI1XsVoz$GFr4 zUOIj-17fj6Q~5*c)>3J_d;L*-~>^QJAv?T=11p-(~M`=iwG_-ddJt5&ohl8cVK%gcVIYK2&S1j_JZyQFBhIZ-! zhPi%itDyy(dXZN&3`MFI0*jx?NC_+u&Dx{Og4~eKImhrtnBvea1 z<#~$n1%!u2hdK|gzU471PO;O0ji+FK+}W1bx|mFro1R#ftm7~P*OrOe4q!>HAJvjM z3biq1kyW8Oi=_h*b|9szeM>G73p>9_!nAjcsZUMzW6URL%)iYoskV)YKK-S~`tWBS z=@&onwm!p~{Z1o$V%wUENYE%D8luM0(c%rFpxWs0YZjPRzsrC*EvoB5;v8U5lTQqFJtWi^ z4bg^?e7RY7Kqm8zYz65kiF4YYnECex;eq7EdNr1WL7X*jGV{6^L;*QwRkN|ufY3Az zw(1ANMir8Z*7)9z#{{x1H)pca%|j1Xz2%3Ve)I6)yj9K3UcAQP+g7|nbdXO0u%)HlSQp+I{4hr+L_11;Q%cW!^yYFjwkL7 zSgJgid$H{ukDMhHDu*sM<1IVTU`du_Th>^R3WPzEZ8<4AT9nF&Kap)2o&@t`kS3#R z)M9N5V@nrPV`hQGKsHngpK@f@oW0fC*CMKUJat#Yr<1|X5v(GuDCwRSe#(# z#qs{_kcYweitwm@amXu?iPpS}vG%R(>ZXgP&EOWz1aHJKchb{~T-dCLAc@5q9{}pu z^`ZF`AeORV)fv!f6*Ezv61Lh-!R@xZaFBdov(YxX(xVftD3T3^G94x-P{ zSRZKA)R-_xZBSlgUEp?{TyWb@T$uATILL48bL0QoM;~Z>w`bkt*kJ`kD!4+el!yx& zi*4B_NS46pQBzQ&0Sts~VjvcuP_nw=S>s2m-uSzgkW|uA0*xgyC@*564AC1%IvYH^ z>MaS-LIv%X!C|`hJnwUT}j-XaTE;kDU)Uu}d zVXC|sug2h|F4W?IJRKp~^fZBtgCbQO0j=cdurV@3EJ)RMA>tJzO4%=I#}YxBwk2a` zfGl;|re3uV`HlXse&j9X&v$v_SJAG^xB^|)y-StEu6e3UQ0}R#f6H(ROWiK}MsWtE zCWyX`ySA&}F1j73AlUpBg!f26;_wMiJEz=yA?}PR8T91psL$~y(hu@`mB;ARj_=d6 zW>Mbg)Yr8Yox(y2NYF+YF+GfYFV2`TWJK6$DS}gvPeIn33-?(?000mGNklr?!K?*pHD ztk?3JYfD(qgyv$KniB{VSd#N&7$6a1AxK-}W&&%dDM)Jo17Vxk5^WD`ZIEPss>igg zwL}%@cJ{26$|I+R68Nx#6a?tu&fZe2NxHq1UmY2kmU04G1$4}tPXwR%(v`mQ+WP$f zc`8W>l5G$f-UDytjF$O<%R}F0Nmx7Fs*%XWgC%+18<=UpT)*T690&!xVA(*R7{4@Z z>HXjPUj5+rf3v>pcfDAK?PLKVJs~|BL7O`9fU;QSi{(@k(_(Wqmpl=soRs2{)P_Uc z12viL$;n8BbTmr>iG!+7%$gF{0g}`bhfPPT9C~r)XmnVz4J0>7t`?G`14)p!m>^oP zSfcm9B4x#s23u0%jS-2(vS-Wn-TqfT{I*_wtLy*tU%p@8@omp3H38*!w&VhtbO5DA z21>F-Tq!a*35^9arCWf&qCd5L937mpd4CXbx@mbil@X1r)7**P8Mo&>uU<2TgJc&+ z|2v?j>Gf|1@(b3FfAO)N@F&&Uk*B7uVqBPpplt%ZYh_o584i%EorU`VO-orFlc^Ke zr_U0@tbE1NUY~FKsQupG^P>L#U;keHXFvX3djIczan_ULleJj#$$^(RYPB&V6=f{0 zV0D{`ptYQE+p+`6l5BclyL5`&&;UcFEj8k17uztfPi$LN58GC1ZOhFnAC5k>R$jB! z8VCnXr%wX-_ROJEXPas8o)I_lch$uU>@n76o(A@eZb2LVs?RU^e(pEl)a$(UU;p|O z{a^pv&+4UD9!s(WY|DNJNU|hK&LL^|mOX%wC17C{WYuC@G!O=wur&O^^t5UAR@aN= z^6YS=$92kQ(q6fiUi+m=jkADE+rmx64P0~BmIA?G>q{7iv{bC!Vsuam1g#{tN@Pw< z6TJPf>*IVHc>7UTmUu~%l5MG)Rgw;crjIu1K*9?wOR{|qX~wX0(s$Lh!^|` zvZQ8HE4hV%tmp4vXf4k_H~x-m8_TjSx-__&vf!#fmlE5=7M<+Df?_0O^{R(YzF(je zGsgPvSuszX8bblwr|5w2)TUAOxT|h){FDst>~KGur#6IwJk?UOPbNO|nLn+zkulLh z)!mLsJmuq!eH5!?XZhX0S6=0}g=}Qf5H0!4 zpDh6-=$VHeji4rdYG6Dv1oUVG`O_Q(Y1nu)1cxkw`jHtu7L7DM^VD&NSp%&ygYhZ~ zBdD%1bbPgZqW|$1zM`N1wU_jnFT71Xjk@Gk9YYed}3^^cya#s{n3@DHoph3t@1qP zX{}`{nYo+sf(8SdTF}s~iMo9}^fp)3NsU^AV!YC4Oig0Yz{>yfhu_jCzQCK_5-S4I zi6xZ}!3-N=v@|q5p={p`NtQ%6C=tj;aW=f>8tcwdQpcG(2N<5gJmI1ampR#IL8yi)1@X5DKy!R`{ zOHFhNY>QSPRjpy*mWM3Q^tQ|UzTfvg{pb(>9{s={{9jb;aKJ0zhuc9q1jMOf0`WXhvBtY3s|W~x2Q6Ef z@^G+p_+4NPd8%|J7E7Qh#|he=`aZAyRX zM}N0|9Q^KYe}0(sX&lj)JjKk6k&tK}hzVkiG#r*Bx_PoCBTb@^PK{N9P4F>Uow!H8jjk?4;&PV>&-r$WQ z$&zf#Vwr3c0o$_gfbc+?$jcckl|<7N;7BOjvUiY(PY{cP)F>Y;O>Z^MLBnf^1AMqR z=x}fymkZwR7wF3i;(OL5xOdrfd3iuL-An$`x=22H;m{a=(4`M>V;#T})2j(lkQRw$ zb2oum%~fVw3Iv0#9|DK8&X-D6haa9)GII@qE5^I<>YK+~p9GQv)YD{Bw}&JgVabwg zgTsIG? z1)Vbk;=LQxxVly{D9EVA(RX93*aYi6D_x1KA-dPO%Re4EFC#}Aqazklg{DPSzI3`h zk|n0qZlsG2?~v2}n;&{r|NQ5_TvO$`s`TiXB!hyHE;}J7HWW8|LLqHAxJa7viG$K& zx*ATQWYv|S zVdHH+7o*L5c(&P|p;On0H%4b%5I=kV+aG;Jpa0^U`rt=j)x!t8tsCP(qc%uwkU5H{ zpIl(GF0gXp-}=M@y~@pRiEROrN=t(YXfuEam_koM=10;@*u*=?l89A&CWl4Nw(J3| zg)7W9hq9>&ZXP%Lq3M!4H*fe0-tzY@4!U>mp!>J*-2H>@J=gRc{&V*(be}l-{v|%+ z7T@E+a7mm8!zJ@xTpV-(=UBGZ#A&PbD~r<&L&)SPZH~0Gd{A z`O7PxAPh;>K`>41e_3{-;ftk#wBf4iDz=nTuB+nc4PqfLK-1@EkYx{rioZ-#iH5%IBfb##aO4 zb@N}ao{NLTy|1jN5oZ&Eys5HXc_ZmvFBy^IaIkdv-v#@*(6q0-dZn+_UkC1(w>Fxh zN(~-;8FVXxtCqu`w+@-r$i$p3(KG5sJ$VGDoiRgaV18$Sox>SYePR$xm2{1I;-^~2 z3833;*~RNDofkFRbpu*qdhX6T!PfA}+anj>w%mXRTCo(bbenz{)R;BrjN=`+fWqz2 zSdVo`&Ms}6H%n9I3{qEYS3Yq=#|xr^=pZ_Xwi(kVrna+RaIcBYK%z&i>$1-pHdzS~@<7U6djeU{9F4qfY)k1O+oC0eho&b^KVgX^prKPA5Md9aDO^rEaoS+ZRxP%bpH{5WbRyL7 z@d#{7ap0&X38`qC9@ydGCqYD@u_PexN~8ytY;!+pE_|d^%o!?yBx*Kr1!{edrF7^B zotE)WO-}I`a~`i~%*Ep=dxSX-keF9W7dz80#M_>X(g?*;+ulzxR)QLrE-}cz8-Ntf zehr;I=;`zuADw@1&11Qo;b%W8toiW5S#O!AuIy7NJ!R;rB_+4b?byr&-}L#aM?c># z*@wmf%FTbl1EBaq+?0*Czw1G8p9ewS{K0d)>0jU@|MU0F1EDEgalFEK06fPH{~Wc? z%})yV;CuB@am{;~8=v*@9N;0{xqz&7EOU(VZw3N=!-Zo=P2Nixw-9%Dm82V)67QzV z@yR50{vsxz&wcI5m<&y;*~Yrk$AOFBWYMJ-GiSwNJWj}Nz8G^5`O1Z3!F8!nQs)&e z8-JUi3=(M|es*PWjI23`1F-U`A-@aAzu^gII&7J_!ceuu$uWvJ89>W6=HVmT<3!4` z11T4mn<|#YV%ea1)P@0;8r%?V*0;9mBuCqdhn!3tFTiZt#dwal7;UflW*uJUOI^^& z7aI8{CD*2B#~ZLuY@c-1H|rOF`_1}izLwY`gQt1#M2mUug3b6qk|iPEJ;cHQ+l;a3 z>bd9E)VKi;+<=GH_%7ab;7+^*_bv~*5Ar?!Id0;-!JmJ==>^{CFFt>v7oNY=i@g0` zeBnX^#OU|Fc&Yci5FGTL=fMjHy$HWZ{R{XnWG?2o&qLupp8)Rjwcs8YUk#crSog)@ zpbNIAvAxY=bLqq~38l#3T!_#GF*dLy*N+4hES1!5*}N$xNi~mHhGUH%NcrCnXkS;n*fn^C66mYvp5t>Wok|YidSbJYqnzA5=UIMOK zlD3r|@v3vn>v`lxKdM(B z4^Us*h+LV$%UC>IaVE;CPTO+&3^A-`TXb^sfMLM>Cp%io2}V|YKs4ayirZqmra2ed zPF`bfbOSc|Weo8jVZ@b74S8DC*yQjs-ex`!9oV;G>S~V7m#Pkb z@xT79H`#iN64A@99u`3RE|!EJP_BZcX-#%ANbz)>W}_`_v!uL z^Iparl(+fi<$-xx#rJq%eZv!iWU0_i1$))FTuZxbRkki^)65}Q~;7Kln}x5O*6gi0z);-DPU4Ti> z)A3jpzJ+Z7$3)r01&J_ivLzyWu_QDNrbUploPgd1I@y+5+0`YqU49c>ASDTV0-wNM zoE%yjc`fZSC=-^#c05UtSVFFVo*aEPhs!}EUT@@zDTtRb#Z?={OyovQOk!x%C0`kwXuv}}xqMd-7e;rg zshHa7B+M!@W^L143#l&8y3I>5pl!K)$EU2mK87p7=xkkb8Qby(Y&JKkWy5WNXvBDy zWc-4yjDh5MHg!_tq_-I_wyjFS@md(z#Cgsjv;9^R3p+z7S+#@~%1cl}vR$B)gqB8c36WONT&Aru31}s?7UokR*N>vXt8d)s zwKtC=Of4Rbn7RlJHo1g_(w4o4Ml8WVCF7GnZ~_TAeOAu9vgGX-ekbsNIHhNhSJ`GxZ;OA2 zqJ~$;z;GbG3S7+~~&|R$okA<>+XV zwOhKlEN0vXPug$hNQ^#j_@PdHT~`${nDsT=H8DMGQmzw7Cv(vm%QiX5l3KHDlOAlt zl8jF)w(%yKT(ylju&rDusV@*WOAv6O5!hC(s|}7u)?79oFhBaGbdzXj#37}DX;H^J!$&G%Gv6nnZ zE?LjT;h;;_dBNOy^FM$8qJA-W|K3Gy!zB-dd*m*t$tM)b)!5#4U>{_OedSsc3M~zx zTF$&JkZc37xL}PRNP(r0*0RM@Od9D5(upxHi23tZflq$A})sQLGC3AdMyVP+giqy|I|D$|V)AH$ep*uUEpg1xS3FI3CKf`OK5J zkODvx6QmWY!_4n6pph$4a&*Kr%}vyYKm9;2z5YbCWZOtqZsR^`EACZx`Z6`+;hy!B zE2yr-Sz0GQbM#Y~+CVJ%LwdHU_MIAhw_eA_93bvV_=sbbK3?B1Pg!kmC*Z(zJQaHSb zlSPpmZ%bnI$fFTt`3gNXxzueS&nnWQ;I3Sk$uoJi>N@EFqKH1hK+TK{=Q2Ptgg)z{ zc+HhOE@MgKM^K_1`wEi;`8`5%0~jfyAmekslq)O3wsL{lu%#x;2C}x3nmE8%V_Hsp zJd3*2S~U+fgH^xzPkr;qFSd!BWrNA7v!{>OrY=Tj&SohbG<&SK!2z*7^^6;FYHjP4 zuV2@Hw%g)|m_ABbqMv5mRTq8-h+JSMvG}nxt-+G8WV=9zf!2UnY&2+=4z1O`9S%(g z?!?WIX5kf^B)8T-JM^PXU$ZK~S|be_-PW8r$F4J1$bLJ$6fhECrKF zCmup9CbX2|K&~HUF&&^G&f6^A%&jJg3S9G~S3D|TYyD*u6!{@xJe2Vsz67>q#=?M9a054 z!kL_eS4m096(l`)bfcgB^{=D;=V@!Twrjn&*MfcKn}R^;Ks}t-W1pC`cm{A28SeE! zxZq~vUetYV^n6rzZaNNlehZ(Q?t=KhK|Hjk)Q&#|9!e)p{*pQF@P%q1c&F3Gkm$+pZ%ZZ^J!k*3yMj19YTSTYxdJz^@# zw=IfjR>onLK5&uPc#B&r-%Mm%dv2a_J8_E#!iC0Mz#cV7RyDjv(D1`HdGPS@QNQ+) zw^*kNf8qzeMgRN1^ZS&44M!R;b;*4rPR%*=jK$7eC$JJK6RRZY!5WL3h?}zAtu<~q zDaS3iI5b^y>@ISn@&?Y$pZF60kQ))cD2SWADRmdzq#yazoBG6O-zGljlK6hc7Y@3A ziI=%94yqd(zviXxg4_iUip+7rya#d@)RksCQkPF4W86WNV_X9VcB~y#`*BcHGhlx- z7sHfD5mHgfbb-cVGJ#SIq63+H#VV=Yl2n-pTFEWVm}uh$N(`>}D)7lKUny(~Y|m79 z4-H?EB{2J{w;;^Lk)}%v1G#?aXlMq|WJgoi!ayLNB&g6N*pe*UkYTAhOR)&F79%W= z9-^sg5VlJb)7-L;%QLm00$R&&XBoi#r5RSmfYZnxy)g$r~vWlS;2%y-fn zxiUJsYc1OtaOd=+$phXSfo4w%vQSP7IR2Q760yk&8thdn>_+7!Fc|0_D>!hw#EM4-D zs2lna?HNaln-?7L4&kQE!M$F5Xky*WX%TmBW))Z^b9jD2(3WEwIb$T*s-->!bbc3b zwsWLz$5`iW7UWGD)SGL1rO&IsVN`RZDsxOs@5$9spZL-fJ>g-%m;Ahz0q^U|FUHDn zFh>nHg78As3S=RO)DJ^s7Q;Kd2;Qa#^O>#W3#Fs%*qlGFz0IJtN>07 zMkA(0XDr-oD<{h)L9@+CJAne_0JhgGPL4XqYC?Ia@q*V{D5Ct+bS} z&6bJX!d9E?u!m>EpaFZ-R9!T%$+vSq;~(<r0VGs+LpZs`NR@F5IIS97=#NFW*VI4bdoIF zkd+_0G))V}C9o$;<%z`w6RV&srlVGHh)6?QiJMpqln&4mjgU7;ieiL==!L4Kiw`Nh z1`Sr>Uwkh|m|a(NIB0xLDkFMZJVU};Uv+2=2E zRcz*oAI_ZP_Ya}~pg>>0j`dP6z~;!(0B@UUNb&U!OKP4@FE<>dVsZ2{uq)ZgU2$AM z<2_q1;d}zfCxN#f9;vIuN1dFFGGG<1O1h#S0WT4R1tahO~@n=wH=5U+sOf<_*^{Q9+i_E%pY+iE?uj;D)*8pSQPa558nJX>Ukt*zk;jdCD8DTq z{zLqx|M&dv7xA0&fVgPzMdRiUtOGi4>wIUwf7!V40pI^Gc?w(-uQz@8aA=HU-8?7` zjd>0SwW*71Tg|pw7Z(R=8~Mh1n@s%$W zP#so1A3JFS6;w;Su9ML>nH5=cSpue&8E)x_CT(M}s_|}wnR6C|*1RJ}I;|37eAfp* z`Ii3WufCQ*&stKRT=?B0^><=UFzM+M64~ZFuLnj6c8R|AydkDuDm59K|tC+XYMJhmhV$%C@rD-ePkx*&aEV zMCleCh#WPog#%Gy*<+3dyG1vJZ8Wic&h1uglLr}-TsVl%y2AOs|BrwERekVN4`gWo z!7$y1rXLQHKj#!M2NXX@&7F{v9v$^h)ku}ME&Bul8nLA6D~E=&KiMz0rloUp9=KUK zax(tdfAY+Kum|1i^*8gX!FV|K;u|YomU$pTl0DXZzJp@|4(Q7?!3Li2b z6Sr_{YT?9|%=R4G^zgkyvlZB33DQ`M_K@^Zr<_!=Sk8p-E!zkn^Mg!pX-8Viw3S?N zicz$caFT&l%cOb;eD$>(efaZFlurXm+9R9Zc1FpD&!Fjrfs!9QdP{h-4Oy0DTasl1 z>BN%aSd#4x2n=2R`+-{)eA?MGqd{;7Zkz)2$`eT@WjX ze`2X(`mi@1zO`Et0H#oZ6e0a=2>@*xgI4W`_QxJQi}Mz(w`yWQV;x=L#?!s#=u$Ce zu~?Q4Cxmk|9-4H~TsMDi`UCoKkQ!{8c{)%b>#diSRI!zXd}st3G`#2qUOB0P`eZ1{ z5fc2{v^kjl<{dXDnBI(@NwaLyEL%|+(2|%GS;+4N@*flV>TCIn(Js4_>?pMuwQa~@ z%zkYx`J~E4(<*$b+b8z=G*4F3Gf%`*Lzo2do1YnyMP25=peg^`fqJebppH9$zJu8|pLnP9rvKn4 zdF%hHm-RMpeX{2*wOP-(`^+fiNj{5{`-aG1)>*VKo<`^nyR3Se&w}wilVd>R3meb* z5=fYqB^^xtn4&@$1i7aCR$)z=FeEFAR@#{BWu19CmQqA z+{0u{yz#|1aTcB#*LJ2V6?-f%3`o%ss(&Z& zg_o|BUlKmP#vQG4V@v2W@3tYc0ICBLPHuwgIku?W)TL}4%Q0OXYKp3>V2mIA7+iLy z0Ms$Kvc<{aL1`^d0dpE{`k)PN=w?b_tvuX_8w@F^Tr+y2;RGaY^8y&iOTb1`+klM* z_852Ac?~Z$#nHErf6@0VAAD2)_~%|8Z+(q9?7@Ny%7O=Z4}w*)XHEaaR`RkGK7%Ce zr?9!R*tTq-0Z4=!WGRSupi8J6zh>DBF;Zqp3$0Y*<-}l!>^NeXHJtB`)#>uTGs;DU zrRy6NZhF_=@3JW6;>n=#TrgfuYo-O!f#Qp01hPr80|o?Xinh~Bkg^n0YMIcg7?tML zm5_?k1tXGR17#qvB=eINSPE$^TRg=iiLpvho#`#nrxj~1*eRV+{chm3w{G-NJ`H^F zOG#<3(|TQt#2^kOM(jcBrM(SS)94#8rvWPVgjlqHJkVM!4HOST8J zSW-NVrLGWSnK%s5x`wflDwiV7Wv{U+td4*d87Li~;htLNi&tDiiq_I%K`$@-wb!2L zU;N5z`tNz;fBK6LM*)3}3GcwrvcsF5AectvIXuTK)>E-q3}!+bYb?nHBii*b0j-9t z%s%eoxRc-mMBR1Vmy_{n^7!X4`-gIvAt{eD<8~^J1 zsH-c$Q{ejMSbo)$FJ@5I(=$IW@HKDNE1nLOV||scb@ZA){~v{{ow6hW`!j00MugG8 zzqiJ$tba_09^#$*cPvX1(6S%zJkiL$%7frjU%IM?!E0}FaLZGxJgj z(X^=3K_V(IU2r~TIMl2Gb6pj#Z(IGur0qS;)6L9^_E7G_Yfg)bHtlhW`LyL7Y2 zc|)Vf%@QZND6uTtsy92PO-vq>hELoUl-%$hJUZ$_pL|fi-20cm^1AX*d2LGtDNLj@ z%)qwn9fS_1CpfS@<|%S4Fc^_G^YMJ9t@*;8ea%gt|2wt8(lx)=%7YWr7YlwIOBMg)|fyo9?H7uRQ<FEL@&M0gCNCJ z+a#-5kyOJ&+ZF-M6OvqQ*Tpcl%X5^GmW-~(JTwLAEEYN%f=0r!v@uf76(p8*O2dIj z>9jCz1tqJS&eZ1APf4QJ_){#gUeLv*3r;OHfvUrY-+pwX5Afao-+b^5Zv2<^+x$&G z-}kGgUXRq>)fk(aNwXsBoN^{6rL>T2yzp%-f6q%-ZGxZz)qFV?y0xSvxMf!uKghAk z+oE$9(i9Hz_6<5WS>EK=+?BbJkKEDY<9n|g`$)l&>n_ZTU7ZW^hVQ61sVmJJAHE_U zp8#(7D0`zTit}k8wby(ysClWoVIvBe6Mba89faeDkJGPp@PxQw+!2o7^IrrcPpH~2 zPDOO>G`je#yTjaBCDR4lxXzUqV_@rtAh#8kh+X1#mkq0Ax`}wyC4xpHpbbsG*JEX! zb$-29G#0$wY8v=h(b-Wm`^Bv1MCy1>0&{XzYQeyM3EH10dN}2D@TcY!7aDG`Xq# zyy-vqnTPuS{p#!bC-XP@pZVe=S&~g3D2rvNKo{G#Y@h+5gF$#!LP3S<2$GKuzgwg} z*y^Q(+Ttl}V9uMkm*#a~KGI`mGAQ>M=aZa)bUebG z>~SNGI5#Z!JskWAJ5L-vy_=zR6hOq&e zH+~@8u`OarO_8!Y?261uw;4whplM@7Qra&m2=I#11;nE{qofQ3mSld?0!tySWs9c> zRgSTvFpiOy;z>ejTL`9I7U3zMU`B@XUmSYCvED4h92Mt#rGulL;BK%iG&N4#~(30ZSRrVS|>4Xna+*e zMJQhCe01+R9*;T_-B`0I{X z*f;vsa!8_YbG&biH5bhGje7JD@7&*6Hq6d3&BN@@2}a4CsgpU2YMVNrw7T-i_N6z* z!{C!&dZL%#xX}YX?Vi>%#*BWsBg%1HPHkFNRH^ES7N=_H(UYQ$@e#o()9Qxc$lK2K z#tR#cZZNe-iH-*0A!xUBN_-kifxT*7JNXJb`_a!nQ2rC#|F3`Xvi?86_?rIJufMJj zefohOjkE*@lY}#X7@k!u7^nhoa5NrE_jlFBn=&Ll_!Bn+q07*na zRDd;KXU>Is2qee2s$>1RKr7ESNv-j_`kx}gwMZpt&e`; zN}uM_!B<{8>Q#P;_$dE#WJ?UIE^M0^NX3$brQt}nwHC{&hL_VpB-=nrXQMTcPi1;~ z>7@J9cFwG^fzc5Ch#x-YY4-S9ufB1mkAME5KK8i>`o-V+y8efM^@{%aFTc)>|GGZH zNBoyxzhdq&hJLh6gqnmpwar7&#@M6@Xs393=f>QJrwUW7t#qYtvsmu(uup9jj3cr6 zo4q+Zk>tL<;$5CC%gvUzP~M((LvlymaL4E7&D;CBZs41`$@6wjO>Wq0?%3qQH`H9` zZNBl5w|(dD*f4&+`#<3c5FR+{nv3sA)!*F(*F%sNwOGqoUv7yUQDF zP&Vr8Z(ZvvuUzRX{6gc?UwWiZ^WFSIpMI!c{qS4d*l*~c@izb2UwcD8`|EG$-+bUr zeeAP506_lRdlHk^I$%jix@x5pCu7qGGC!w$0y~~D2MA*mOA!?(MPQ)KFnP<;oe)cM zP_+z;C?-*iu^4&hJe0~dpaL#2*^VD**pe*CHkhpFfu^w->O8(Xbt2E5u4BI2_g-HK zu5-gpqR>x+ZbMxGON;@?E)c>k|Ms@XF`rrgYBHMLDqI zW&YgUsmZ5^nuoFRvmHI#%XV~SF_F2@*t6`5B@7xOu~;HQi<2cs!yTBI^~j5*sDN8nA87^?~lnOIUhNkm#pth1Oz#p!~rnjpo*29#Bc>ABuMPSCIC%BVBVRG{H3K}Bco*vtf8EJF zod^2kE3O01$vA(iEirxj#ovBQ|N6Jys{d5huW>{F3i#y@y{X^)*jxIIkG(zc(YNcP z`iDOAK%e5~|Kt}R>kBVE(JOCW>%n8LJh50jQBGj)ipf;V#n5L>jEWJ((=WZe$xzLc zvC%=*F(x{w7_spthRJ@9harA6?wzgAl@wR)SV>3U9uO~fF=Fx9SdPQ;7>Hc9>bNlN z-pgteD+`~M^Iy-Ym`U^Itnb;}fj6AJdfRfdJ>hPC%-i4z5A3=LiEpU6;z6F9xZcdv z73U32-4ovSPskTCmUH*Gd>;BwZt5-cgxZ0wZ7dg3^fl`U^6%X4J zHrJbm%j3x2XP3b8R+@QxfsR!(&m1sG+1EM_n?X$u?2PkQPILUS+03NQNzR}1 zQo{YGy2*26=SJn#yKX`xPyM5~kLyOx4V#C=6K?p&)IKimdQ8D%zOEH>^XCEZI5#r+ zM~UIbtZ0pU!n&R?et?^tIA0SUWghT^`m8GthHG-!KAuxLa{h1F5B84ZkYmGj!fP$N zIra^YWam25tgBq?o^D)Q@fL(nQ{w2L;*=wX&w7}%XHHNxFzLt|+X;dg$WZwa@rRf7 zXJY27@x;t~Uc;_YTw~xZho;RrGoCueb}(u(S3J;9U~M%f^QA6`UPyj<42#_AJKLCi zxYv5JUe?pc{3-6}Q8T>6JOH@NQ1nbjAI(*Ys;b;bSQ($O)Wl{c%wBc%d?%j~3-N*# z!&MKba?_bB$b8`i>Z*oSCN;s(ZT)@bAqLTAP2zx&)MlQQJL%+t)G>^@Rr8HG;|eu! zU!VD7R`#hmw{0h#s#-UqINnpb^Km;k*2nPNT-UiVxyhbzw?F2l%#HhyoB1JcfJg8Z z-V^@z^d!tp{RBKFew-USH!C%d@gDI>;1S+Kyhj1?JtEb!&9KMz4;|!KE-gUaIk1=KR50it6=2vpvy5?9DRn}ga521 z#}FJj&;c`|`gqnxt@TlZ#9@6)W6*ASz2eLjjO(q>`Q}&#(W>q##-LH3F@5f1C(hVD z#-xC4cvgGIbdtd~n1Ghq7sgt)f)Y8FC1%GLv!S-JggsA_GR9Q3wfNz__ve!)UQi_& zi{C-&%S#6;1&dtrHKwbULG!7#%X7YKn&gl83mu*DL0t&UQeJ#;WM!u~`@z$&YNTTy zfH*PQ=C63xJX4dXby9Z(gmZl6H**hkwqan*pLJ&3!jXK?vz-BR9YOCBFUso7H|Ns4 zO>+ZrPw`L?p8^cTFZ7NY4}%-!L6ENl{0Ea$slZrUpz9FKWhKQ5M1o13=0 z_|!eg*8*@wT$~fSH(@xkqJ@d|TWSH3*P zZSl(A_O@8c_vo7&7hiJ_^H#mSxzQ8e#E-ed>t^OAe8dg;kWT?`^M-%GZ+>!Pr{)PY zk5ZePl^gdlZ|uj^Jg&F>k+(g-&zt@+;~u9zz)S6z zZJ*x@#m(oa!Y)b&aK%RrHw5-x(Jjh&Y9$IS#6jo`yr6ZSlLng0Pe&p909; z!1-s>f;-jv3Ks*68 z2RH5$a@X8ESE=XC{{-Yufe(4WQhyAyU2JByIJ?N^H`TxX z>sahdhwTWHtKBaaeH_xt;@NflaUd|tl-vN?fmG?z_@X|#(YaZwI4q^GL!{_w2DG!7 zf@zDP<7Sh_^((fQ9jH7^6o)bftr#|YUf}vhRz7dqwVrHN=13fDF|);Q>_<4c!Y-yn z@xn|zD8;Bc?nwqo!fctc-=q~wSxi?6<(Gh6M;=3Y>xMg9T+EJePU{IrT0zAOEDi7D zjOT${2P}E6h5A=&l&LiHZFw$|)U5Gbcf94K6{miAXLWO2yaHXG;Mv{+gYwaH{L-wm z{;tI1;zW}dW2%|B3WN-p~(ulfT8^jNf{2rQk8%Bi`0| zI6UH}eZ&p^h_`u=@A8kB=MfK!V(OkG$IYHG5Ba3voxm0x;&-PG}PjqAZx-wUeRgO`PRmDsg9-pA7VPg_!Kai^VSOH~h_sFmL!lI~{ zg3kI%bDd=!3}Xxdt&U?Dv*oE^TMDG{q$5-on3kzVni|W=6bJ|7*~8C6FJ?vQSc%B> zAc=|v3PvtGWDa09wt6gf88wzd7)eX~yi zd$DXq)Z3YY>{j;CMg=(pk&+VDn^RV_vXFN;U2r=VW*P%(9Ti)Is?L(Yh*e9pInDv3 z9QX24$ALEk+JqTlwBglKyXmz(F{+3zEk!#-DqV6-L!yzYPXOqo6Pqr&pe$o070)`s zK`5N6ppJbmI?h8~v7Dq_Z@HGjEq*;Im@@-Hc|rsuhl@GlUQdze0{*DMuQLy0WWGGP zSeNSQL#`MjIj-K}ukl>ek(7xNb)Lj){)&^QAo(CUuD?uE*w;j}31c3{Bu;%{>`EPn zRa2b#gWL6Y#7v=awU-*}$=D$E*jeYQiLP}g2eSRy_IRb^Wo&@nwg;WDoO{;CaiutK zjCxye*fx$!Im~8=UqUt>3W!r0C=J8+; z2xm`W)lo!aj0V_eid4sr;}KmJUDai-V8!8myfkBTd}|C{tqV`+HFxrvzd$Z=(o9)p zo2H;N-Epreq~Sh(`07*na zRNHaQOKmavV&WX(nll41lY+?XT1>VnCGE&#r1Qw=y>f|Scm90-cyyEEK6fW1g$e#lM!_>uU1!jWG(9`$I>n@=10-wOoee|p@NYg(MUT)1N2`kWx+w+n-)6lNm_UfGJ~s*4;UuVjgeXBgtYR zPv6Nw+k7)cEXCI-W<#kb*#ogeB**v;#Qa*ZvaEV5DU)mBb(FVqaLi@RmB;DOdtbQF zPyX0<=pX#`@6liVvEQZq*JHWP>Y?0l^ z^_K#E&7U{_73;al`Z#CTJYce2H|W~lyv;ZWY%)FjLyKltIRCx&v-Su7NP;%bU(Qz) zMyL3x{pTV&#;1;1L>co}z}3g`ElJ0`M6{|>=IIoNYdraArc#c7n6z?SE6(;~3_tS$ zn&PoWu^pMZoh))?dQN2tZ@lC{I0=E#TmN;cJidU;p1frH_C1?b_wkWxd>k$}f=e)u28V@D{($ zCj;K-Pk2Z?;YPl~%h!eNVZjZaoBIhj@}uOo`p(yj&R-D#ulO7Mn=t1rZ~k$!)P~ir z<}}%s51ltvXS=~@mB+wOufbL=W}n#U(xZ#xA?cU$6yrK#;ta};Pp%`EnB%jpka&$_ zs?9FVd^BbCVo6Wws9@wv|G*hSx*Ma1Myq$AnKj!8x=0WfXJYL|V|IjylYT%)2YR+k%n9ViX#2S_NYX zXmwmtP$2`_JpY`6pl0mtTHNAx|tWK=YW)_@4T>VWx1VLrVl=fjSUzzUzx62iC+H zFKSnQ#Eo@Z%KT7Q)+d&*iCSr)x+L3lX~~OaGJdTOuK71+H!}p}H59_p?}&LEGo5NY z1Go8=h4q&=SQKVECCs$MaN_ump9%8aQdz9E-A8hrAGRk>zkwU$>0jU!pnDf?r}ZgW-jJNPyPwH{AD5fh6hb>Wc-bKU1(S^ z=ZSTS{RuU`)AH3;iMw1Z7EkSLuVc{BRO7mYW)o#2(k3hQ!T?m!o3*EWcs6lKx?B>h zJo9MhXIw@E&OstqEXl;HoA}s1y zAG-3}ywZ_zYrf7K=g1_-synKqZ^*Cs$VB_NQ+Fg^Ol|%)Ul%Vo#Nv$2cC7e@IVfd& z*mt($UB$ckGEe6Fj&HlKZ65MtJ()Ax4YOVGZs2U+O^!F)oA{V*z~A!RfX7Tm{)kW0 z4VQnco7B$jWC|TC?ri^2N9u3*Y<}bhzvgDX;p6-j-wDRs`&#wUf5zkMK-UxQ@+Z_i z<_U0>w>@wA`qY4bRo;=W0f2Eg$uW0*4Pd8_b31GM=(7GJoc%kpT}Za8bKW|9WcxV3 zY-9W*J2SZJJK~~JX5mE%!jxE%V(FBu`7O>yN;MOFEg+jj%Vg) zdzgn!A>Ucwh$+?G^K~7oKAiC|^VRhoX5u4*Ydt$=5OZ_V$ahxO;q$uFdT%(-tRk~9 zX82fXDxar8#&?{=XUBn6jF@bapfi(F3lp*_Yb$uT@IefP8O=%W9Ook!V{V>Yz*x$|jQd;II?nY{Hny4VGHc6R%pgUx-ez3Z zoBfF;#$k;yPE|USYGB3^x~0=k^9$zx^Z()d>#rH9TJvm7Wlm*^GjI8L9%ikle7rQ# ztvJV{=EQL7VZoL-G-LfJM$l)wC45sMJS*k&2_#u+mSEfTYkWiFX1rk{(&@EW_#&W0 zl7*CHsfopkG+q1_mTEhYG!v+nuglV@_p(HeOM)Wyh#WM0x@ zKpGh1j;!p+I*)LkfTNx{xLPx&$Im=4Bkmk`Wa5R)LFsAzHMdmx%u}_u;`r3jm_O^5 zGS9_@SbF{c>}C6o6l8nCM~+T7ai4z1bhf+J6~;fZF~>0VkW!li8BRQESswwLR(WJG z9qT_9^_u6Xya{qMcZ$c2eWM%Jb%S{wFP{)N-WBsnD_;+8;-{uS{d~jMx@+FfI#`d) zhKP$aaX`q%(8!M%hs}?sp2XNLDf>vc)xG@sV}0=}5B2tg>*-~T##q6uw=3gx@uzS;v^Rc z!Ydzr7m^QB4ti2298I;D4XXe_g(eIKD^_ZlPdwcewy}UL-3B=o zq!a73+%ZJY^5&>cKKPfv{EGg&|L<4y-~O{Nld=8~e?9q`zx}=X?(cYkDJli4L1)?5oQc|X%m*n~h2c1OE{sY_TmG9$+)?f=mV#Gk!Z=%7c^%3vh@M4gO znII}5V|x&!7h&;%I;85`I{cOheg znG+mXlKDv!izgtZMAL{4Do!#W7w-)5fo;*E3U=awO3b+NP~<_uvx7GP4+K>#;?9l8 z&^#?R@P<0_hUj4mdqA8g`?1D%#)I<1%)z8Rs60=iJbJn=7=+xz{*0X)( zGhgNjc)K0pW0-lPd##t6Vn#iSGZ$~Xn)@4ZYMDo{;Eeegzc789zpt|fUcymPu9^FrzZ7q z_M@i;{S>e3YK{|}ZRx3HI|SEwn5`hJUSd9i;?!nUIUS2BFIl@rP&GJf{WW&_$ps=G zKWk{>l2y+I8>kj@-n9^CCyi_Eysr*ZO~v4t)cYUpPf z;|OM}bP}L5Mgdwp(KMgRn)4=K>tLN#CrfuBM70Ahnr0^MKkP=I!xoqJu&uCQJLkd@`M|O?(Ti2v@7Tz+p013T=IerS+60=MGZx0owW$4= zXX@Aw0#rQ9Heu$21(GihO>CeQhh^#~qJaUX1m`$~&yaDzwnU9Mb{rHW>vfYCV=2OmUczKC2D;w`LhUaHJe!|R#9&faaAZA43pfh2dHI@-P;EsjP zxIPLrp8ix)pK(EQm8Pqw8}lNS+z}lfHAFmJJM(2df;&&x#GL`1I0D~gZY#`laH1|9=h6T8c0Ff=pcGakQFS1|>> z#<73J!|llzs4vEcDbHw~){j5-9G^MpMcpaS_;>++QR-`5N0MwCeyxur5yP32{ZrMX zgm~3ZK%~@@$>u;Y2Pmst)}Lcmam`B}o&##km?x546^5x`y<8N`!~Wn`9b*TN`pi!O z0WCEF+nk}OkE1u??~ z)*dikzQ)`wL(cHSgfwc$z{Wr<$IJ*=_RzW}X)r@YA9Ge#%g&{_ZTs7ck9 zi%(u`Z+YaiKEalyAbH}_)Hz;aU{@r?TS)!VaP1#;0`{nf63SxfH2|^NtvLA_AlWq{ zLQ*tHdHe-Qwv`|8Mn=Ra*iG@RaFdACaj4gVgtTxqp!0?G87B}G$}-2=o{n(`vi~+3 z*sgrbKJhThnNeG znT(dXf{Z`bG06IlHTRMHK;jK-KbuA_;}*o&UU+(Yn1kcn8Fa#^&78f~CFY}U*2F)S z?)bqzzv6JOb+Sp+9nr_)F=t0FtnvGJ>e{yCiJ54OB`zOtZ68nl9-M7gPZgm4%ul>> za84of;8IJRo_MT_c;z>5U&%h@{4>8MPUCvEh}ll{QDxBe4Y+geWATj1qcS^0b>+h1 zSi;HUg>b0rtS{Tsv5q@UOkK81Fi8jxF?xokWk16pG7vRs44_fX`10Y(k;JVW9gT=w ztH*$uDXlo2v5f<^CzZuR19l*#5O0 zjq_AOVbs`McqgQ(rV!cR4km=A~jnoERm6yD1uDnVZ*Ci+Z?duERP z+lo|$sjcDDV^W2m(!s)UVFfc7ykc*)>Uc| zx9`WDkWy~`p=6ABbwCFS{MA*%jiz?$$rCI{W7laP?xtY=!OHCE&Y=1J#zJ1SuDR|p z8p?AsAp!HYX65FB-|Wx2!N85tqW!_u{!3%+=;V4$Hg(pJ`!w$GG;)t^`dDlFTvqR^ zFOz*bw^(y*(Rd+to!%=oNVAbxsUHy$qUpu{(acOg{NeFib90@J51QY`YBp+f4UJSUA!^;L6{uS< zNbA-e94$hIvSS~j7E}MG@qR#n@P?6a*9b+x!~{4lP)_7Y1z<=lFmWn(g|jk8 z#}>H}(8Y^9Zh)LaUcY*(^#1~kUS&)(5r`P(!omkyTVQ1l`&3o>*Dpv$JbE8lR4v1e zD`y@4EDOIf2%zN(+_alSzcR;Q<&sP?afrvaujIkrUrjC?6JJOm zPb?BLrVmf!Dx;(U_rk&UgOTSFNaaFcy#%6;6e0uvmwVV zlv21GBPL+r(}%_Nk);3C8a?0ZyPq7k5b~c;dw;{*iyoa57r8~>F__11J&pNK@B!j_ z8ZFVF>>i8X!SMHOn|0UpME~8xJ)ZMBIoeP&{q1$~ z^2SFuxX>>8f7^Hccm5UIe|qg2Usnxs?bjEVH75VLkHz}KKbn2*M#uSgub-O9ulNlI zNlv}jbP=@i>f9s=Cr@u4*zH4i(~jY}yu{lfn3^^FJ2d>%4dEKTH`LC4Xo1FfjC!Qc z8juXuUv1&~*n^T+TLLvhtXY3^z|i#64?>3UVWfN5+xLiC?b!!e<70$uyvOu`=p4=M zF(iybZs+?3aGrGV&9t^%X8{uT+!I-lRIekF9-sBw zry~;F_j(wH{Q+|H**c)>)9b%@tBw2%diy)CJ~UypYfp8&zj%3MkCDbLV1}MHkuzzb zZ9V|Uf6}WSsgaedqUv#2RMgT>SAUoKqsr^=}&qHoE4wC)3;JEGwB>#;lw<} z`1YXZ&SLHDu$sr~V4LSdB6I1qp}m2MxE=Vmpuw-WZP*pGwI7@Nyf)h0EOeDD-V3(RZ?) zREzYqjE*sKq*S0&gGV3cj>)o=I?cR=qGo@J8S2TPrGonLpSveK?OJEvS^~x-jE_|#b|K5N1MbJ8080!yCKjyu^fZs-ud$0&| z4Z;r{?K^JV6H;YuP1%NML+kamCr|MGB)88;9t~}}UTj04&Kr&>cTit5?mXHP?^f{> zVE*t2U-`Kvhd=m{4+q41AAPSg8B2u0t@B!{F`?hcXJ`zo&ego$Wgq?PgHA$^B8=N@qwlPBlc zdAqKVWQ0CT4AaifHw+7ss={8_K|J7rDzE}w*kCFg1-J@GUu5xy0@-NX>l9(sC9iy< zZZxHfRpzKPpN#~J#Ho_TB-KCQ=BtWeVU86dE)sD#46v4nn?gXBU|Z)t&2v7GCNPM2 zRHhyzbiOQGObp&T&a?!YW5T5+FCWf%(=^gx@%?nE0eyOnZ~f{!;QVfdpPP8m|HfAP z-d(3AZ}H?;_mjUnw|Wg@YeSD4TiD(C8~tc*IP(iW*x=+s&b-_`IX2k8Z-PF()*tXY zZ|r(^@9C!J!o*BZu2bjw`k2%1ox9PVc=WW{+(L6>gR^JjPu;n0y$0tk-r#Tg<~=VK zTCGbKO$f7?7=!NDSDO9H-}=06PhP$`>LF=Cq-tWQ>7$OI^C07cf8zc+w#ZHWb~f0= z4SnU^Pt%)c2Pk_!eV=vJb!PgXe4kri2YQ@-B8|+wbf0x@*R%aCPx)SrIz5Q*esgke zjAU!r0}a>N4+u>Icx4@Q$kfENpq#O@rqD~sfUA3|Hy}?;#28)YC&~q;oX{2?VAST_ zg7WsAswzk@pHPKcnFAzOFvbV{J*4BleZ!&&8oUI&I@YU%xG<$+IK*c^I0ZNR(JR!| zVc{(-ZFnnv$m%#DT%iqd6<#I9Px`OvmjO|Mm8t?6qUVZ*qf&boLjQI>lIovuj90CLOjU(xn?Rgd zy{bsj8FXK%$rp|mj;ok3B+-mTE$~#Qs@iDVSheFyE_}$8Kb2Hf&JTYCT>aEp+&va| zLT@pBhv2T^4G9`*@j9+7o+O9|(azo06gl+sBzlkaF`C%Zr{|)mb@X~-{KaDCXdC~x z>C1j-DUH5%!!d}t7o(qe<+dKJ8uQH)-DYZEiGmwvS&uDxcMLaum9Pl4H#R-kg!vuI+h=mF zNq+ZYF;c{8>FxDbKib$F3Fp=Q)P>j{n)y(#KXzU(SY6@CPhTk3O81+Zg>T&G5}lu1 z@SA62jhGz%%is-=1~72!IpIo#FVUAubIWHT3UV)Xo5KT zE8GiSMi{N2I3)llL9@2$hdW66X(pTGO&5-Z4X5J<1|w;$*cJ|o;TG{CdPeuBws|z5 zYcBsPuivJc9QB6QYcXgG2YG$_{V>u$IP?$qKhH1M_+g6%3|i(#j_YgMwRUca##%gl zku1hMNAp-=(JCB0W#P>rM!U>6L98!)#6zgl(i-+eZL~~YzDoaP)y8Mq+5i9$07*na zRJqC=gD;8km~(cbQpm9#hxb{*X_3=HBpx%yatyv|G|ZbWuv(G#qX>#KYt+YjNZ`=N zqN+;Or$J;)*tvihOd?Vvq_Lo|j1^eLTuH!VRfUV?SUC8+@r@){75uiSsRU?)K5qIT zH(bGE9aOTh;t!#?xg7zO$S3|wK<+xceHOQqvANqX?vUJ)xUrC5!y$v>O{vykWn!Kj z3q#C+G*3*~#AxU4Pi^&JS@Vs9+YV4rRgjofShcb5Cd>pD zI5+tPH~U6I9C}Y|o#Lc*h@!(r$z z>Sz7cx{2GR77?RgoI#)F8Up)6GA4iby7nYyK|J23i~L)Edd@oMd~Um;Bc`Tjdh4pI z_7`t?CE`~<^6J#z_$uaB4_k zR>dEv#>E_LCCsyy-oH8y$E?fD9^5AsyA11wV+|H=4`YK$RV9p>YFsL%X+>P|D7kw;=ZeDV_tc@l`vP*b1^5bJ27*OnYa?+ zW%LY3$>3M<`d3obQ)b;XLZBrHcGhoRk)q?Dym!gbGn4c# zqnYn}nRS@4{L5awxru+QMVok2><1RXsZn<`8Bf1-o&Wldn=4PAi79DEo%^%KWIw&E z$NpWhYr6+G>b{P-|2{u1lAN)qsdw+k+-~z~wS7J1HP8K3Kd-~AH-2lVv4>jwns*&d z{#D z;$3V0#3E89ZBFJzb6Wd|&KkHMqliw<>(F`%kKda@(*vRXU)K>9j+v9{xj&Lp$7GLB z+tF=egG;ulbwA>L$3|IDBDv-{XvbIao4`}{p0%=3898>{uYXkLfs`fz>ajOEoG z>m`{O;kzJ9t@wIQ43!XLq0+|+_zXl|e=@QE)CWI(czuxM@ zuX>|b?$JXt^2A9h988S7>XVL>$h97V2l5lM1?fN|>Jhb?3GpI%alwoKD9&HS(>~XD z&Y$at|2jWnwbbwnboYwB#$tj!wPg&Uuc;%9`_m8kSv$HpN55W0M83dxgK8~Xh&@Q> zIS7u{zLPHjtAu2wa)DPRp&7%M8(UvSp7$lE4$tgeu8mt-qj`-w9#B497504t3S4kw z%X*E3J!wG>Ifcg19lv-gNX(OJ@xf2$q39cIwfz^w(fFi4PhPnXW9^T4*FD_-Vcvat zz0ThBU*@@FpWmF*E4MgjZSriHb57fHow#t#_v@f`?A0Umz{vloq43dh{x3g7*y$}& z4-C)zXipE`jkvwHA9!kM@YLC38{l}=qVIv;#A5PBXYGjg-Vn9K2_M;{i9hy0&KsBc zF$MOZGeY~~y=v8CXP}PtNL!O8$ZnJ;%6!YBFF~i6ItM~^!uXGdK$+J4iN!}t+`hOC zc#Z1zmgLdd4C`}iB>{?wotyL?u(&4}h;-708Sl(s4<_?o5t=y+YwLUQC6jQIiF`a- zk3-I-3)j0`Q253aj~)qUqaqxG-hDL)J}fA9zv}-YAd8L>`niYfy!aoF<54;17q(w# zfAOpqb8_-49Of%2e!|gMIPmY+uPGana@4opn1-%5{kgR7ditHZ$-AHM;GPkr-^x#6dvj3eSHhh741F6!xTC>QN4KL)>~I*bfP*wHLEHfB~x*BN>!!v zsdyAv73X-Ap8IQ(2)uX%mPH7Pj{#K3#6vuBL6n)NKBBz=>r#BP!+fKt%oI_RN=86PQRK&xhlC*Ar8lK3`{z`G?fcyrW|>-i%;IX~Fe{nUr2(rDIMk6(=E2|4Sn(~l;M zOm6C?A38KQ^>`7dhOZRtX~8e@3(P+xzS+;semL`w{c>4}SGWWikpnGbt~2|;NzOM3 z&yO=A+1CY}>#@)dPkCwW#v-+RBSkvjImyN9*xNsPw& z1u~ldyRmObI#J7P6B^hLV6aJNcm^6`-ngue|EafTv2Whh?2_|k{tvK(5bZJhAxTVC>?cwh zg`+3Wu;~vyDs`Q9(-c^*HhumIUgvwo6|mZ7tbee0N>pA)sbf_!_+v9y<`9p$kwVvf z=oNkJVDrRPtjkD)1zN$#TtK9X2velGAL=Fc8{viQh(H+qc6 zfp@i=+m3gShbO+di`?Klr%wq_9zM6Uy9wlu-Cc8&$9S6E*uwtAo4a@Y%{rR@dv(zo z?SAifeEM~6qrP_k17i2^z30Wg-QVI|?|q&Jm$7`?zGmp}ZHsg2p5o@rE&N5Tc6aUK znvbo{-8p#g+O_ouZ{qu{_JcR4QM0v0c<=N0YBXv% z*?vPV{9jG&m$AYZvuO2;ajoo)px1h8zt;3T)qPs}^*OcaRnIJL<1@uT#!O!v5??;G z@=t$acKpl~a2ufJF!WLDA3aGpxHE7^U{0<|^tIIUlM`3^*dQH!(!Gv;V5-U)ckr3v zgH;WKAPN4Cfq1~k=EUvr#7l~GDpgpx^+ zf^GEmAxc%xKM*3F>HKFOA_iG=n#ynF^{?8RoxhSmrIOUii!fD{YhxXRYu%1N^49JA z1!_O);H|grGY@m2{w=@Pt3tDN7kCkWqy15(s^mV z{iT1s>IrQTn3%7^BhN@(NmW=E3swmuO^_%=Rh6nSoFw@07o6u=MZ8UpNX6LZ?ZZ-h zmZEXL;I7~ujN1|fcMD^TOy4*94ui){+}ZF!>yUO#J91QUcN~6EvYI=wcOM=Eucaum z{swJA>F6OB0Wh&ig6;#~cUJKjIrR_!4~#u&uEujd-}~iad6wj(JLt>7#qqqX@AK!} zejuEA`&&qf@bsZgH&tfhyT0qVmcBlpd0rTb8F6!6Pjh2^`>5}Fh=cO>5-0!Jhoz)# zIekeR*jKd9`qOW)r9F8c?UG`qh%r2&^}oezeRS5Lefr@4Rh|7fJtb4G2jRYYpVbOj zaPyv^dC{WzPpvGZ1VGF%Xq6IT5>h}9_Q?pJU`PJD{bnDu=zcp)7l)&pC4B=ReE22` z2D2C-m|=XpKF6*YS0po~aqti}P6o>kTJ=^dGo_Zt~$E>=^eAWyhR9>JfI##6uz$;l|?! zx^XRbSxS}tz{^66@oV0-GzFux-y&SG-kfIhMlz#|R6Km&n$skIMa5X_zmPD$*0~^d z_S5yosgIxLX;c`A9Q*DY4@A>%&Qq;At^1H?^c7aF8H@bxE?AP*lMuD&cQ(2`9bQ7e zEeY#zq4`94_i`oNbEEovCm}PhwT5CT0?cY^mtOUl|Glw{fA@sIJP&!Mt$;spWkc4b8dc1YTIR=%k-K2<8$t(*Q>`{ zk%bte(@!0eKl!br=j0GI@s7M^gzN%`S^uvLNsk{Ih|_x(YuV$H*7shc>5pK~JKsFM z8tueCunB7sxBo&PK0ck_tuNNuALupq8`i_qgLgU&PoHrMaEQl@HQM~RW`E*nt=!M- zhc)?ElUpI*>*{awy1W~b?0*S}l+ml~RsF{o#-6bC`rb9hSG@Y^?#BH(qN!PS)d8#2 zajp%MIsHz5vKcv-5q|o-)9~%k0yUdC7t}J zC-2yNum9-heEQ!Zpz%B+zO6U0ZA~QEeX58V@BNzM{A%|%e$U54lDaA;mjCGYohMdi zzssKN>*?2tEg;uCEgOle49Ev$T*N@Cm>nR{F>Y|Mf8!&;M;K!H=;H&O z{;PB1@4u~pU*wJLr_Zvl^{koAYJQi}Rd~60^r!9UEOD z=X1jWNSGbOo*oV07&~4d0~!(ap*|4b{TF;I$hAzg;l{PmTJx@N`otf31nYc-qpzA< zgpWwCCHjV!qtV*v6IXYkf%Zf&hB0qcyrB{K!T#t6_YuG8t>Zl&Z$nL^J+TeX`f(jD z#2?phAJHVkBQWaqbGy4)0^o!>#>}5!4;ZWxH1R0;99?+-i>fy3(w7{`!}af=1(Z6 z{TuSVZ}uP0>EQ7>-^gvODk6-0vA+rj$ULKoaeLk|Wz=Pi+FnaEA^V0!{1|-uVAqJ` zrxSBwNu+UKn56iLi4*|_R+aP1PW+De!K%<|`2)%&Asw>0c-L0p9c-3ZPX8O_v^V}D zzKGwguHEAs(N*mnbyfIaHcm9NeXEKmD|RqDSHZ(X3{eMFl_DdiD*4m;sZ>?$e{HOS z%h=(K0-xZ4%zCLRC@hut^W<*{zN7ZNg*(LD1sC`7#fNCjPZ6HbTqt3@;^?A)yzS8s zFk*RPfD)39Kg7_i$J3Cf;O$coTre!gfbVKl4(qX-JkZ|?pz~j9aC-fXw0ZLPcm6$Q zga5ufE3xtS^P8*J7p>2iiGhw2@OmuvN(6_JT0#aV=`d#hY9P_z!M|Sz(xf0A>O~mD z4A#Y8Tu%b77b~Gz1uy#4?tB*^*$CGI%}0Mph$Slh&Kt|W%SZdi4ZdLfp7x^~gWZTm6Vok+nY_G`l9odEbxB+IdoZ z1fA3Sr}2(aF*+92gRVcWfoBZ{d|%&K5lCkGk!M>lTTlMPjpSYH%E)Ik;pl8On;fUM zQ&o9CCY(ijafz1jjY67O$gV$FCng_`_t>{Ucw+HdB;>oE$%|N3nL}K0?sXw2kCV;Y zpanaY|BuJL0rou@&S$yhaJ>#TG5M;EKIaRTYm)38~tcjVBhNeA<{QCn}`R>(yA0zAl0|f>e=kTu%9nlN3MUxX_hIELJ&Z zN8o!*>e-L{|1d_DUI%BseN10lG{2II6~kc+5S5UsjU9zJb4X)VOfXfT<8lhR!Uj{x zMV=AYH!h}19=@sqmAWcb$=Oc_Wr`{3knQFiZ~qWzQ)adP6vE*%xLNq|;w2+s;Pin1 z#34}l;o}A6k%EAjrtOEvI&t!?1+Dw;({by$X1+sd5`JPCKEGYDTp!@(r;W0?~cMD^A znDA^9wkhC~!0X!=;SGI#`$7lJ=9@D<22VAmXyk~kX^z;xA9!om&Qo5$uM?Z%Mq%OX z<&b?MR~pO<%@iUpTgN#BB6-Oz$*wm&d~EpyWw!N zK%W$+@VdyWB~P5CDo;$EE&ttd@6(;IzVM2T*byVCyk94xpK(GdnF3S!)~CY3#0bH6 z{%5>Up=4i{^mW1Ue;eQ0&9mrFU6R%(AeKtkf?Ui`nv-t2D&n;P?BVjIp=!(yk6-;JuP`cFD&R2>)!Wi+&ZSiKj&4Uu5wkV zt;kC>i9wg424iNk3r6 zr(kmTH0mbS?B6SQejVg--QNg)MQUxuQ;w31*4FUsGpx&yNaqO{Jp3lV2pAD*(Rkv2 zH+q@a0DEPyID?RV{y0B5t`{3#f4VLdE>3p+f;43Tn{t8B{T9FKk#{e!*Ze};kbmF* z^gM5t|2@tgSnu@jMd&B8?%!L7g1GjvwrKm6VQlR>S*>QY7ySIbzyjpCSz7HQf z_X3UQ{AuJiKecA%zEFz2wDcWYM&%#!urAKMXJNrs$DzKGj=7)14X=O2y8%Wz=jiYv z(x^1nV0u)&$Q68Tb8BP3N}m+Ct^;g_b=-7sS=1`sw!X%hcSLtg@93y;V?d9h}Mbkug7~_H8pZo3U}lPYHH!m3{T zyn>Haz4B_bz;~Y9RYY&r@y=HjTdP!U3_cd@lDmj8MA51$RYe+uKj&zUMDtaz+&5n} zxz)8TXG*U5$oMfB^Y?>zaM$>}`#>rIKKV^<#FN4a~pa{omu?^DIn1 z9`8!J-}^r7XYBf-BKwLR^K@&Jw9ha2UjHZk|3$vH!o=wF5-{gD5m%@ z{y?%P=3SXFR-&FcOPnjyIb;9R%L)g)@u?9z&g`Rgf2en9Yj|-JdYO@JC-& zEpfvA=x<#0ugj;xQK4m=e#2A}k_@0Q-;rQAAbnj@`Uzol!=WE0Mh;dgeLyl2Cn>NY z72J3|M1#gu`XFE=PEA!R9?XouGaw8AM#qMg{67Ey0RR67F=@pB000I_L_t&o05zN& UHF_H@&;S4c07*qoM6N<$f`~JKmjD0& literal 0 HcmV?d00001 diff --git a/client-export/textures/Biome-Nature.png b/client-export/textures/Biome-Nature.png new file mode 100644 index 0000000000000000000000000000000000000000..216a43b8b822c773c84a6f7cdbc912fd6c21fd21 GIT binary patch literal 37260 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

ioH0 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 D2;@~? literal 0 HcmV?d00001 diff --git a/client-export/textures/Button-Down.png b/client-export/textures/Button-Down.png new file mode 100644 index 0000000000000000000000000000000000000000..af519ea91b22852580f248f406cbb92e96893c03 GIT binary patch literal 1047 zcmV+y1nB#TP)@^T+cfq<(g8 z#CdnlTq8Z7b7$t-Z+!FYY;oLO4aRvfd;apV;|^+o_haPK%wE6x>bOH1$a2H`Q5yhb zBmVg{nPdMN;5DWb+YT@Z3H zEAIKMQ?E z8pfvUjIl#fXo>7u2fW5~?y>a%zkhtUpI<)Pw@(+29czHccufJMr+}G}Kul2eAD;EG zc&%Xg-F5)FLn+6m zT>9YgTuOlPwf6w+%u-db+MSm(ekXe1DZ7AfM~mJ}I{-t|d*K3QgRZKG&b0$B4cpfv z`;6;RXM6iCfC(L0sVd~ZM~SgV9duh*oxpeuI=^5so&SqX;*;)t@+d9#rw4vV?do_Q z5k!M(BF7Z@bXq6R*$wm}NPCs&#k;3=@m3&Kh<~hOqIkNFF%b9sfo9TU zEBeTCYwrP`ym)UJAN~_Pzg2zm_rBS`XoLL)00960bQKR<00006NklTTtpRhwzXcbMs!Ont-WB< z^UC9@@o1zCZo7M0lF#Yu7t!K;F>oP9x%d3O#TjBi?p;t7em=bUB^Kv{0XZl4F2pQ= z2qy@?omjMw0lB6C6x=(iAQhs*i6@s2q{P#`G3TtFuvsb|YUp;HL%dEOpYHmr^f%wgzXT29 ziXAX3RG#d==75J(xK|v`V-EHaqOJcMm(#_k@Jt1eZ%1--5rr=^Kovs>Vi_1Thy(dn z&6_|#6FYuo0YJ6r`~j1E$a0%_kZ(<=JrVNk_>~0^g^L3mU^i2Kspq*k#eBZhwhkBB z!?WO0@?GFVzGn_F+5t|4fk6itV}K)sah&q3wsp9~;_yMEgJ(89`Gx}oj??uoK&``m z6elQiR_C+Pg7FAAxbyHw(#dzd1w~R$Ee4(AnY8T{o%&Q~W)-~a@G<-bx-iFM% z2j7k=pc-fg9o&H3|CfsKAm`_*uC=YpQt%<))d9da93YD| z9_MRq>&Xo&9w&?syPjOL>B+b2aQbJ_<6zLi8cJ7N)`PBY1rPGwkDQZlH~=<(C}4|2 zAJxH5pF)$etqvm&%g4jRt;sbg7xL{qx}L=rs_=-sm&L076}E*np2_n%&f9vyV=4HQ zzn6S(^R6%C8v@7`4}nw%_p$w8_wU#9v8@N(n2yJ(;p5@-J$}z&)06KifaCz|bUaYh zVp(O~7#*#A3Bq^{?_ z&#+or!-E`8w*VEl0ntYZG@L|ASPhyU^FRpk!=00960 l70TU|00006Nkl&* literal 0 HcmV?d00001 diff --git a/client-export/textures/Button-Up.png b/client-export/textures/Button-Up.png new file mode 100644 index 0000000000000000000000000000000000000000..9ab62f021964e764f926a3599c494894a2ae0ba2 GIT binary patch literal 1015 zcmV*;R*yCfSim763Yolhy*!7CO{z8y*<;suV;H^ zJhmL~v}?7s)vtSk-S=Kq_soWqS5NZE>sdIyReXdlXM6bK@f0s-W9A)C+%(2V-)EBn zdgJx>%{TM7JshBUmwOBSpuds-{_O3~EF8DV2U=qQa_IOJ%9gED9NoKXM~4S?ba>Yu zksXVR18aqkUR96QlH8KE|Iq6LK+4(^!0Zk9qGTz!_sKyMkjIxuHX> zjt_13(izRsTLu_VCpQpDPM9LwH14k%`}*4WL1UsAK;{jc1OXbGwBNZ~2Rqz7M#amV z7uWmx&>bod`^OJ@qcxf{4oM;dI?WPW^@SuSY!xLtE}gFxK9cm-8_5m51E)d|lQ@D& zE|Tt6+$>`_rjmD6y>dR#8;y(R5?yBiJpd5ubp}X;CR45cl5?p5=7uV83>U;2`9OTM zmgI)sK^ikQX+Jvydqcx&44!9VQ)Y`UMxlr$qT8X>txVM)0K<}jg ze9#=dLzM6XF#S-o3*n9K3^&>t$d0qYLo0ls_g4C%c~lO30O$Zwt$w2?LmO596e7T} zwZaE_qcxhN_hOuQI-BHCL7~oHfG-O#LY_iK<}jge9#=d1C9XT ziu(`lm`D2@ptb3R_95#2Ut|05?y1Ku;sDLjUIs8be*WH$pD8>y$HPs!(gFSh00960 l*1WB(00006NklPv+b@bsgA^zPcWH~eLvbippe^q1THM_&EfCxav}l3i?iAPJ8mws01l{TT ze9zwRo;fq;%$%7ull--^R_^<{ub*8p@6;4E}N-2^n+kC%rPK>2FpWY_93 zI%_T>PT?k*<_RkKcz-|f1aF*pg3$ym!}j)qaExJjPZtwYPZN`5t2tZc?so!4b)8Xz` z=Og^p)6MBwr^b_WkpJVIAk2CHN&eyT2|MWgX)kGFvs1=?9rmVu-U7vrv6G%$qPdE%q&k!NxcMl1cchLfw2jp?D5e?n&;n%L zit7_3d7{rl=f6{$M^BW6V&y0CS18s_-WOr>?W*U-lO&2f*H`E3Z1eiW>Q`p?g~VZ+ zL>;GCX#+YNoM%&I?RAA61Yu~g)47hdTleV&gE1RaqsV0*sVm=&X4~45s>W`HnDq35 zzOaOCE}*Wg+@I6z)J>gXR?W8vU51*g618~?VSaquWp;&b_~EK|r!-r4v^e*G z_GmvFERlgo#cJhF^eti5zQKzZu<4>g@A!Fjq-z|tdc>P)Br)+k=}UzCl^1N^4b@O= zWn#j3N{JXoI!l{paaaH>jXut9;a{*}3Dg9|N%S7k`N&}mzI3#B2C73bkxm>L{IElT zOe53eI)vx2p;b`^No1-21()`__^iP<(!H zvBu>BKhx;0F|zeilgi?lI`nkgi_;0@s(H%2 zNPB>7Gt7NM&wbI$`F?q=GH2n}nUwsoQglM8g`lUUa;QlNSEd10_cV#Z@ebp#&E`91 ziDk}?EY3!^E3uka=*`rjl&=8V@uQzx4*FZMTrF86>uNtboKw_a=LiOXBMLwH3GH^h zG#je-8ZxKlonlPwW(>oaMrVkqd$m~i?Lri3?e%`gF|yO569 zwBUx_`!8wV`~LV@lVpMY43Ka3w%X)gc~`>|9C*E+q_uJCYEL{u^6>g+@igr&e*_(a zI3)Zg*SGAlT&Xb!1bkIFB(&+GPiS)LBKhoQjA>rsW&9XUw{O--hT&&$j|qA^6#ZH;Zj< z&NT{Rt7PyGAknLEtX`=!d6UD0@e#RPEZW-yDF(8D3D+ylVz-?gA%Y5VjfAoW>Qz!CwwYb2U zMjjXnPt<*zopRQZGakopmZNT>IXir+M@diw{0AiW0$T(rOk(kzwt$JlxOr( zoEEE%dk3HQU0KQS-&jOYg5z!J|ExfTCrso5&Sv6+#f27kE5c1&+)WH8GAKy{>3)w= z6)u&FRtqSCgw(or3l{-okOTf_=0s)9G7pNJN^nom0i6l&_|J>q)PkC4_T{Y*;?;t{ z?c|&8ML$mVYOxFa%tXM0UCITPy0L=1v(sZvbu|Ia2s+=eDyK(`&vQ(c0w@)I^(p1G z?t1p%2n$U(@sFxJs@?QEQRG#>!NniRw$#CjhfDb!>4rkbD{l0tn%NuKo&flLWo4gocu7A1i zZQZ5g3+O#yIx&D-L5G}hl+P>_`#if+-b=}$JnwlH-!CC5XKL#xPmPND84uu$wsE!m^XR<=DG*0|pUKPamw zYb8)TrP&;+{W5ycmv77BD~CnurV2$R5~5afJw`XSfuskC8BuiLXB&Ax3ik?*w~dv^ z>hw@YTs+fr7T!)(*dftpVab^J^W8S}VvA{A4(;^kraZ>z>ODG{RcaJ7&q$%8n^uY9 zZ;54+Jn{YYqB=ag3rGD=(>b;R1fQlUm_aw1%-v-7`~%(68T) zr*XA{b8H^x12CS61?SDh^|S1yZn9)LW7gk+b$+_d>m_%#-0sX*`6nv?4;$$^FG-Bt zT}Im(c^jwhMUC@p`Ip??PB&S*F35FNdVeK)+p>(`%>6OV;2$L%%gZJ^^>e$M?Y{c- z$?TYi-u$R&Z_ASw<>luU1^8|q<^y|GlEgOa%MEf~HtwwIvv(QZ!koeMw)okNxD3G5 z={Hm(&p{^@*t*W?oBh4QDcKDMYp)r}7%^jd)gA6ba3W^}N|^Yl=}DSA3oGqdGS_qa z#Ih;I8d25fJz$rq4OCynYn1fGxRWKgm?lJuS$+DHeNDjL-a5>ph=;E(w~n+hU-l^D zhMZ14>-P@y=abC1>-LH#x0UV+k79x6->9#Udm!#B*#;808>C)(4!z_{+3Qj2(Lgft z-hsvJrbk)sp1xzZJ%?;MjOk7{%n&5ge-wKq+2hkgUnWVHneD@-MJ-`F8%dtJxmkw# z6md+~QgtNz=z7bM@4FlbfQo<{pO=kgS?IAqZd*-TtlhrN5E~tJ^zo1*XZ1w1ne0uJ z%|I>QNKxcX+1QT+ z*FFyrwi1xe*C&*Idt*RaI~ro1;+#!@61ft695Ote+U@d^$o+z^S^V%Nxc$1puyQOP z*%ooa&PIdD3lL@8<1!i?jjzz`i-%(vf_U>)U3-=W9{JJ5@g&ayVzb}$7l%mJZ^82~MoGbt1jxf(NR2eH+~1UBvo=gB4S zU$NGw^GnP^+%eE|mzFQ7_Ov8(Knrv?_d>YarNvw-=5E$ZW#`6GVeu%y*9 zhbDL54`r+obU=%3Skbf~FR;`ycucg$Z$@rpSV0f#ZC`eydvlg=J>_xccDy9;pN0}d;dbPR=3d(;OU|6R@?pD2@| z@{^o6^^tv?uz|0YM+7-3!i~v>jDHT_3dM-|uS!$bge`W0Mn!B$feEU~b##sHQxML5 zneX_TqEr6<&aTi)C#S&HCzGjT-IF5t3knt{6U45?535B#vHl|I@>UGx)4UGqhP)l1 zL*6q1hWq*g#m1k35uZ^N2Y0aMUig>UZ?~5MJ*-QUg&nT%t==jNqQq5}wbi2Glu|GV zP@<4DX(Q<_NL?(0zA}Yv>YzI1_IPa6#x<}mCpUOIscQ$Cr#66TXdN7+6T&|vl!|t8 zjb`L!yzo0M(>gq{O>Ovlg#wLXVUp!f(C$X5(7!!cJUL!7n??oY{Nf#!TRuUrk6f{H z4fOvdwJ4ueJ)AY_DYR*lh*X4yU#Xa=p!sVEv^_hnjx_@-&yrjTh%4XpYIo2;A@Xk zXuU2~oavhyE7_G%>Ttc$5t$Nh-gk26_BXX!HOv?e;M^ib2D32f>49Bev+>^0aXO{n z%lk%#X-^3AcBa-m45)mfXSmq&`_+qG?9e?QSk}<|aJ`~9wo;3gqachpB7+3oj|mM0 z#FM+5R~(Iif$+RAnE7SwIAx%J#(Z?^P0)>cmp7O}hh zFw%ZV5rKCdG4oChritS43m~^AUvvJ0esy8tlF^ zq4P(C-H&-ADe%l$BrV9_U-o#;I(7|nnq=|ZWwcP9Cb=THZR3)Ecn;HSa_g5#?YRXP zrC)GX)?ukpc*B8-v~^S8r^MgN=+>uhT1doEZJ5%{ z+obB4ISOz)p$aU7drB->0MFkSOCXz|o9+h1{r(-wJmBrIH66{GhqWx{^*ZM5`sQuC z$8>n}8{6c;-X>6w7*zg+hZWy&NWIFjbh^(?gum#Kvp9yWi2Y1&edY~2L}RuAbs?8& zhPspA)lM9TijlR&>$d5%M+w^#DSZ^@=2hyq-k~)1L}@DX;}&&8g?z1dJCn;oLV{#*!rt~)zS!1htc79S zpJgH(k^voVn`a?&!z(1c{qEU%!NA{3i6~+FS;5I-kDE_E&(+2Gs2h72hv_(v&cV+;s?z4HYZ)P{U3T7QGW3b^l!1j_qiT^p%$|>1mi*tf zw`ba2G*JfVZyVSKo44k56bNKkIC21O_D!1<>kRgh)Hf(udCL2JY!%d4yLFX!QCuyP z>gWZR8+Ie#YWn=IrD|09I)J7P5$Bm(3 zcZZa+@@&g@j;9$xm)O-r8*`hi(rc9~YVP*@on<(DTuwF)1uc@W1!>NWqZVbB6GWlg zDsQ{ytpy9xfk=Yp(7dGxY=@zN^IbbVaa+Ra=)j@~hF|(y&TVQMK_=6`(xS{UAU(;J zYIW0?JhAiH3naLx!zG@k2!6f4B^q>WO6+KfA!r{;kok?EhLI}k&28+@Tm)`sX{CRr zY$43GS)D+R7qV^(pHSPQc}84c)c889v9_$QPAAu=m(HZ1FeaWkSqdesLCB7iMM)kI z#RKIUDb;H6rC#tjG<%7l0|iP#r#}SLe)e_6(hQ|)IMt^u%rXvzGs>jCq+B}->%@m` zXrBhFzIVdk3k!@7qWnluX2%^b+XcCf;Nshf`r~=&ZPz8`;A>)h@SZ+LaV*Tagfa; znd5PnXSL%nufNIw zC3Rk>r|;Cq0D+y~)yD8EIB(vDoqo$yhcQ}JoT9H}`N*71SH4Qk1`*2SGvigr=LCO8 zG>eFkQxy9WkF6u7vN3TlHCFloqyDp*rx{?dpix!Rxh7s|I>t~@X4+#u~VO}7g>}?Q#CbxOFiya z@yXxRlUbkores)QMt~kWA>gpANO1M#`vIF?3aTIz&}Msbv4`IrDrghUVNYL~L>*(> zHq_D=q>{Umv0eWWglmF84$!_gnUHQJA{oTSS!|>4csFC6PCo}ZJyUQIxESS^IK_#=a5ym9onPO$(p9Tp zeX5Bu+sXxd#S6Xf1iT@tOnMX8pTN=L}MTu<|?0bDz-_i zr^fEEQhE`h&Dyi0T`ihy9cAvO(d};+X&-!=QgA-Ezug@vRuG$a6{0M7YMkOc_fkvC=NB$K+M-aP zH+jv+f;P`cv5e8nSzjnfZO`%;RvjA{z+SG4EviMrKh9PpnyQR+BpkiinuA90pc-?Q>1xtryI9u9dSlaw6ECfVY zBgEjwg5lVA-DP2`l=;c2EtP2ygK0o@MnDzC;gslYMU1Tw8e3|@{fme2Tc=k4_81A& z>Anf#b&B=Q4<#Wd36IUayKsD!dw15BrJsftb<2Zb3&|;oT1&UqedbRzmf`)Y)_E;2 z8zqGFZK*sm{JZB8gP{)h-6u-s;V5I|0Pa6YqB~eimxlfTnWtm7I{+{gl2Nk_&>hX=OzIUTB5sN$-Lt80vQd4UM z?(=H?zd+ey*;`8yyXnSD2{?lHq$+wBnDjQ!09xlRc<(9j308-4Hyqs`hjxJt@A0)I z+c$MEXLlU6yzOz|e)ZDa?j>KrDOTo~b581MX*iMQxJ}LQUeSZt0&B}-RMlloWt?Kc z!q;+)jFFKtqzw7Q_#6$gRJrT<5A%6qlvb%`{DD$)%;jk-q-y%!GKx6G(CB##BF&x! z2m=K|DNw-&-8wt1EKGK3Z3tHlHl>oToqbMYC}TV?Sr z${O6+W;R}KvA*I&ZVEH{G(Ya<&Pkpfjxl-4`h@#g zak~Lrc>9L8QR0E>m&ZHPZ$GbU;?xr*gtQB0I0gOW_U5i^1>3y$+(c?#;qtuNG7{8& z$ER>kPD-OJU4nP7bv;N!11EZdZFYVfxTk= zr{Wy;Z+$tkOo0A^bK8s!8}C>>#tL;J4yhcD?k*o|K>h`t$*f&$r%5U^I2Qug9r+>3 z9hh@aDM(3P6CTVY)!&gXcd7T6Gl0GbR_4|#)5Yj+l<9yr&U;&b66upk?7!ds*3PJ| zgLVb9_$k zd*X-R>Va0Q@m`+I3h4$JC&SDarK@mol8}79L8gSntD4lNHGr2|Xo8UQ>tP`&)4M&^ zS|!J0emA1bIO=$+p>o?)mZ3Y-1`*ZTomQYUl$RR`eU4w7ONN%;E8{|JZBhm}SY zoVAKMoj=uit2p2}bRSD&hd>EHeOG)`e5c6ZF}Vug{2Q&VG^^^Rn;{`DBd@F_zb%iN z#INL^6T>C~VW_1MMzSOml5wa?&hGN(`=)}SEi++^z}oj&0IPvFRHhVYjtv>NQVr!} z)G*eT*%sy8WW#w5ukrf<&ekeiCopDyFMe@HauYULC(%pCnLfjloF^kB$8)JA%++Q$ z<^UX1c@`h+`1td1f51dA{f%MsHvlK)s>%95GnK@U6}0Hypd7~L9xS$0R2a{Q0sBN6!A$``hL`ILN`~j;RIa;C(i`-hE%;M>4eN zTDI)Z!QW`D#?Qh(pv8xKAuAEuO~xaf!=aFOBu5hv(bXv0H4eUL5i?L3r>82J`)eOL4ki z-2uI|zJ{H7GqvNXQ|f#{o{`VvPv`ppavn`mtUrt6LlW>o}FwFCpVm~88 z-ewWHE8~#O`1)RrZ(S|os~@?lL}%(~nTX|e0vmrkJ$CaBkl~Zgx2R1EkAmWIw%BubexS2@m>x^E|E1gM{G=UU8_NNcRgZ9$`(rDk!SAcQF}|(olIqobGXzE%XV6BwYo!c9Ky8|JCpUnm0if z1Qjj1Ka3McnVCXG4X^taa=djsz{gH~FYQi+SL`UJTBJ%F5H<6*>!sjUFGbS5?8WK* zPwkU5Kzo;1G$0G0)ks*Q*cFS7_;KrrCLLRw){bkF16-lpfP14(z8c30!BwneFNEhO z+~l*%Hxv`XNBJA~%l2_NTcx!8Ta4ZmR6)VtbISvrl{BZfRnl*X+F&7G1+g(7rU6-2 zN(rTegs$1}E79Qd#0>zyb2gA|#eOKs?q4mS5hfIrb#_S8N%%2K1|v8t{{3Q(9xRZTM`|P9!;%eMd4C=7#R+HLA7^Q>KS=@ zr3m(63DU12-8Wy1-w*A9Etb6;uQlAka8du##XHCmDMB^4zS`Lp9`MF+Io@#%Ac2iO zk-!aF$3JiP$UmzgKGp||rX1*c{c1h|C`?k`hx((%2jJ9NUd7Wdci7jhF9E#1@jq3@ zzWgl-H<}BYk~Hvm^x$)nB+iwR$;lMT(I?iy`Xz|55RQNz_~P( zdCO(%j7ZrXRIj?-ywy{t_O?rHe5mkG)BP}LsJB2x#fW=Q_otfr)N<8*AM;-bf7|t0 zEQbD-5+P`J0?~|?lW1zHj6X3SYT>xQX2}fN!?m`eUJ#(NLjVJu&Yeq|Z)#f7Chv!O z@DO$c8#@`!Ai0bCMU>YxvCPE(vu-eYPsQ9%z4p=4)(X>EC@Y=Zc8Q*OM?olzDdn$) z5cq#AguWj~b;?;eXJsk_lA~9e>X9tMH|2)Z;}9Z7gbz-dg(S*FmdFDm;ON`6bSqf$ zjn*iO5pu>sys%Gt_-X&UuAko`jp_H)0g^h`z3K!W4z~ieZW?gUpUXa)J1!kEZ?e;1N8o|^)iFWk&8afHo`y{Px$ihAfO6~M)B-t;%@5$KsRhFNww9botIjo zQ^vy(dWyUg5#g}5=v2vvC6PC!0^(VIhy_%G%I=H(`U{Nf=Bb79+&n8-H<@97xWU*o z=@9Ttf)#d-3gSqP8(S~X`lCLM7bG}&DAQZndLex?EZ1SU|GC+*fQ%mG5^urS>(5+I z@hX#{nOZ)*&*7n%i{hr$J=M8Kyy5VKpSV=M>vPBL3oKG~t}D2|#i`2@ESV+{dAA!& z2Qp$BXx{G4UMQZN5~r{H*R{V730WU{aq|n~6?by%JvR&VltjYh;aic$d_q^)*5gv?dWraoB({PTTF|mR9)&{&~a+(p&bWTL@gSq?L z-dV{I)Ac|@uRZ}8$+%eve{QO+B#=(P4Ydf{A~_ggLN1LcrB3w}sNA<3isL){iZ=Kc zF;LrYzgNbofQ7J;?Ff?Eowj|dWwXCe*_=e6g&6@wQd0bAbUD$f`R81aObI_8vFrn- zVQSCX59(_59L8(kD#cPVKo&V1ibZNF-w9IRr#>HZ$;>QvyeDvZzzaULH^T4_vo@l> z55=WF{{uFTP%G9LYy4$mE62+r$TRZYcpOS(b=&n#M{|8)ey{7dI@epVsO8c-+dBSv zO+ihs!Q%EJFD2^sqe68!G0O!N({a9g<1|9M?-M)?=fpYF$oF^m`497bLnHdv%+# z7d}SM0FL*g3jUeB`a_#FXlot}Z}61u4aBlb`kn(br3iZ!$Kqe0r^A5!_mv7B_WI){ z^BRJ!llPmRR=2&jg2o7=;Vgm?>c6}3fzCwAc%F;gj0bVl?*Sv3FNi>9r&OQpR>f7P z1^!-VTL1)Zu;FL4SVA3s*$?lI3yX1+7ho)4&jla?1D?2!CJnE~95ER@(X>FaPTpZ3 z27ya!LkC4sDtQX}_z;}UykN&1Yy>AO|V}I=r{&~X?bZ$}aG8;1bIu)Sw zqx$G%ovHbNc9<0dS-C8sI+@a@Ju7bk?Wd5URxk3N7gF1P;RIk(dvr7Jax7~Q!vo%? zI@zyl;pmQJ_4^ksql*Iv86yRw$#u<={T5AD!;6$n1X?g&y9yxz?^A<_RvCbXRww71 z%y`iZ{Y#DOr!AHf#nmRGe>K{DJeH4nI425-0C4q{9kR*sxf6Y_Vl5aQj;hn)<# z8!1(_Zb)BTA^EMzcSMnZGQ_v9;C&ysi;}+fcBii+p9QxOyLr!`tz8Z@*h2Yo@yJ;t zsDxf21Bg{E#6ocX8zj_}^l5Kb6HN=yFk=hnuGmPEA-jjjs?<$uVp*GNoj<3snO8O) z5(^vdL12pphrqBXLFPR?k7Izy#$ z*hJ`aOta6mu1L;;B34P)WkY~8wq_q6!XLw4Alm+h?EJQppSe;8^qD4Qd+R|o*av(j zf2K`m>@Ilzhx=yLwTN88xtP=^PpI6=cfp=iKViK=`@m#4_f zqa3S4@DUUn__)zX@Q8_5VTq9gKR`WL5KU7%vUea4FfY~7$ETY1|ywHELT1N~1N`09mZd+5mP_`7 z?)2d~Z-*?6H6qM*Rg`;eG;#3Jh^TWb#1NQ(dSiDN-%F#GzA0<@YdvlxC*zcZ!GD_x zD}O+HUR;9OLtAoJhvsV|`U=AaOr z6~AppGIq$k8Lh%9#?&lg^}#b#qOm_-Uy3K=NN^&pqqUK6t>Flqdu{}{x_@Z40rzyV z(yYn{p4+-Taefax*Ph$5nRl(qun!=UzUc_Dd}4vx7vq|UjE zv%i)%ebR8oVkMDip*C=Ab`&-Lw&;(QM|v{8xw~u)fXDpiecV2EfbGn_Up$Zh_`LZ= z79n!j82`L3JC0zZ|5j1DK-{xVS8I03WNX>v2_ftO9tUhjK3KjpEVIEf)`PuY=-J5V z15)+==UdRk2emEUxU|@9+4?hC4xI<6Nu?42HjFEb&z0)}v>N&eU&b z+IRym@X1{eTfxh)mTznN#VN*Dx-t`*6$h&_14YbQW3taaE-#XeGr$nlZbsF#EJmrsJ?V?$`=NlAy7EEEi}c^%r^NNl7E(es zL5xoh(zWo2FD!inGs9KUJv_R2DzTeD&5`R8t;3MY3dAk#*G*sP1WA2-XM=%F3g2R# zICFs@t-$<(jvW_=v64gSx(SD*K`v|Nj@foGA;gl&Ohxw?GRLA%B7VmW)83iS`XcCN z);3$d6X0(3PJ#Fi%d!kt?k`(AC?F+ai~!XPl+a+g_!SouK^hekgmghb=9C(Yy%>Vv zD?PyvPzIVuI|%EE{2KXg2P?_>*1K&^>{*_uMob}pge#Ck?@WU87IQ_s!h35-an>52 zNdt<@Eaou}HY~0SN~Rixi^dyE5(t>d;++tDG&b>nfv!bri1V)fuRYLkozw2| z?!w-yCE%Q*Jw&1#WNQ-TLtb&n41@a`6!{jmpU-TcqMe`+X`zKh!#^0jvWR~JE@jf= zZ>1cDlhxoy-5muc16ZEmyfhbDBaI<>7F-tnz{r_2(t7LnQYtuFb|pVwHpxChV%$oy zKUHKI+B}|hTzbCMc3w7tNfWY14#@PSTHR{SSeVQC7kppr?M*(CZH1h+ZHkSBHxcLNrZjEwhDtopuY4pCi58m~KUArC*{~vEim(PgNtT zm`b@&LY+6{tACe2yMZuF&)-~%1eF=gODWgq-V~%e&T7#vzFXPVXVoU-?dLEKvk2F> zc5&#bC#*RjV>H2O@)eG2D0Vp9XKpJC@6Dnfz5FBWdQHGZ-Cx=W@<1YPee&O{Jo^@^ zeG@a};TRFeOkqLSWTpLEtZm8j!%z2t#;V(dx>fc(XkJ7R8C@0GNq*JhkLSlkQQo*4 z#9q2%wL*r3sd1n{d+mvs#1T18p3c+kzEAIe+|e~iqRr%PZn(JVcIL``{h68(&tZ|_;V26w{CQ{W-_@GtDO`( zC1Id5Mv7|DzQsb0=I78`F$D7850d6I8?Po3G<`qEQJNRTC?>ofa7E%EOKR)u00H&$AM?YWD$5QQ5Z;rwTq9pYiHhx?P+;t$Y@8Os(}KmJVtpB(jY zIdmi^hOzYLwi~vsDyr+7FD3ZUJ}FKoC3(Mpl_G$s^oZaot(jhmiCIMsgd|jzOSDQ4 zG<2dK>e=m?{fWj#_)l&~7w%Z~q;$2VT^wdvOZlI`!94N71FDD*v%n!G0*1ti7kbew z2$142o9vc>+X^!S|H#>7;V~C`yIw?m^Px|S3j5pSiFCFPEM(J23bI%d;Q9Pwovwa9 zoEH+C3Ad{4g#T&*Zy<8q(2y@ty^RMan_okQeF`#Cc=G8c@$-xix(K@Cv@Am#ex~rq zU7(+RP|iFYWrJWJ&^*RoHY1a52oQE2Sp5*})zEfqI_kgK%YM+t&lH_i6T7Ih3KSJ( zmYnhzeHuvZY=nK8cyLB-dyVEGUOIu(o$NE;=&x6LlHRq3$%CXj)$s+cGQ?}%dEe6q zB;!uP=UE-y3Uo=Venlkij34!~R{iG58(WV( z32{E%yz#fmRW->>ZGBb5{-5|VIfL2ddnDxFNLdDCxF;WT0{$dVVUfBY8s(`5n)zs) zn=DiEiBAUL)R-O%!~PU|{kDA*>NiZ`h1rRUCAk{QiDUgEUz|tL%myLoxfpZ3QA0#^ zd}eFM<5P_kef4LCwN;k>Ra-Nq!FZN%V6SBSHgSYc5v1 zA&xTz1Ie8VtS@-2^~mKxX5O?JXJ-~W2!wWxBq$iv6qicey}H8j)sf4eP6_snCdt=i z$!qAnbnjopz_fchDSX9(9|bPfNicr*6Pte zeRtK-CnKk0Y=xl}DmVMWHR9;6QV7ORwF9VnE0m+Bqn802&pLNT?ol>dBLx)1eX^8i z6+D+F>zD!pP%mnQp}!nwa-Q%i+4GcrDw<7;7uB!dtn1I}Mym1*MF3N4Q6s0i>IK55 zwLP}oZkvWy@I5w<-gHj+-#IWyLZQ1fSI0Rk;TnUAR#)L;x-p|fL$2_q@BR!MMb8BB z;LJ_E)2Pj;Qsa8mo4kiXhOp+F0y9K1mol59o8-?h7TB4>In z6tdXXt}tS|i2*ZN%A2uw8Mrx_?BzTrvh(NH9iIzOX zOtA(HAth$t=unjEnVIzCTMWPK?0$DQ-Z^g6TFIANg5qk5i23g$nB!-AUm-Cv>ha5H zm}u*v;fLmfW2}WEB2|uf)kxH84@bb928O*wlhV=vjqs1Lu^EWRZK$9e#}5kkN4&0^ z_*1kss)yoN+3Hwa&WRC+a?+ek>&)kHgw?ckTkKVtUvZSmDMTOg(aw{n&IEQyC1@Qv z-kd6*uxIsLtFa4|N=`5+0q4D$@PF*FJp)VPSOjz?~)0KIaC1*Y&bYyvr|PT@a#vW|O?h8bF3 z_z!MR4N-Y~f$?mN?Ef)*XgO1-NCdV(EXv9ly|1bkSpu(0^c}Pt=p3ON042VNzp-J` zO6)Sj1-gL&t>&PqQ1$Ui)&c6vHfUtn8Xwtn-aZXTle>EfFr-?O2F*JKQ{lqYU~^g{X^C} z-i{4Lw9#j(F{T&hSE*A77hmx!EB zZVr=Vp#O#{{K2o+wv>cGJ+n>3ch1Pg2&n_Rr`e@l{JFm$j1V5`;gAEw4mT1`gr{Ol zcABZ}grw(t--*qSSx707~u zPvgdZJAd_lJBf)6MyI0KF;wayBE4e!J}KTSOe3;Nwx7G=_CWsnO?q}vol^1JWtEke zTENm(qtv(=teO3uNat+UA;iR04!3*PVMKdC1I`nNfji!3W?}6yYJ%a^n)CuQ1_T{9 zZ1YpdEK$%|y6x)>eEg;URILYf{wRNARw}o8Us;!QJNgbN>3?>POVVZt_Cbgw(yDQ$ z?s`P9eB^e=njIw*Xju*--Ump8EwMHp_9PF<(5hnT5JtFA?<>FD51b6$j27p@5mdzh zMa0ScW${a_CAQEFVCFW?pp4ubTdbInOR8FwW&%lE)lhXi#oEn*``xzdU%G;Ig)w@x ze+7Ra(SHm6r3K|-U#*aX_OvHZi7pV(ZQ>(uDN$HS&i*GllOg_oe3cDv9@6nkYDE#x zKXSHNc;u-KFjS_5sAwj%qaG)Tj4tvd*Oi(G&4jxd**=7AbM6s1>2EGn=__x44iiOM zm(FV==5yB=2cW*)ouJ1Wpm2i1c^BtP^XRQwR=48a=X$;-CrO*UarDFuSQ8h)4V%pg zM=76>Tt0jA{@ozXtUt=y=SNNgX9az~vWfQA^cAZ4f7<$8R*r-Aj`K{=4$%1^@6h-> zY4?MDb&|@SSdZU5{7^ekBuR8HM@5*!!2;Pqu9J<`?=ny=?|#X(P!28%3E{q;>LN+U z7wio9ZPhsk?6^LmnuU~#vUEa6@Txv6#8D~v3$8m@>|NER52`f@Lu zUgJAB?Lf+_MEqVhU$hug2JkB$H@Pys7-XiU5?WoMqeqR)a3RP;Q)9eAZdbnFs+&W< zOy%vv5OObaxPQ}6ZiKziqe@83NZTe<9JbpSWu8R4MatI9HP~FQ$?mIPTP$9a750KJ zLQ!b|C!VoLZ_3h4BTMB-3rFU^Rs5yoUFV?tA^bp2bQx6+zAy{5goFp%+8V?i|8tQ1 zz(5T4ZRU9NPuA65hm<&eW5SrmEP-sc4eAXdcCr{7Z%~xd47~xl`#+zEmijppo1xLim)m5gol~pI+ztP?suC znAC9*totadi%8nM9SRlrHIU>D(+@ITBWz<-gUJ2(Pu6jFQtnC$wZpPj`;dKww{=l4 z^IOY)*4RoE>B(|Dd%|LbX{mOJbNGQ9CLpuZSHmJRIASaMI> zjuhC0>uPP}`t>8n_*)BRhyI=I@8=0!|A_aZ72?UF&mk2%1RKmv$_1eW*wuo>a z>~FY_(4FR-I7c(ct&!V(j#~6({>Z93-JcbotxUsba-bBPis!p;?dzg~*%M9?LmprPp#N?JjYbNAFxPwGO6*@Bcpi5=^w{We6>F~ zi6~BcdLoBKF8v9bKc-pkiho1O@a~i_Cc?5to`hd%8O9K%lxeUg@c8w5$JSk#_%?p^ zC0`Pai_R`z$)Oig2k|a?_p&r(EEJlm;~&^B6C`K+ZAe;T(HhY(x^AdmUUsNW@bllT8*_C84I`F(W| zg&jpmCjS^a@KpIbt2v%=t3gtmC7VM$+NBg3hP7nC#f$MN*OLq_;g#>dLVSVpF?sQx z?8V5jU?+5;VBq+5Bgmx8oao*|Vj*9E~MtS7Kp|1rZL#MKR=3 z-+UbodG28Qr?g0|@<6_zww~gm%Y|e_lL8MJ5KDqrgpG{KeJE6t4fv0G*75wG1%W8F@EuG=$QP+>zpyJ(cM+->wo2Js;x&k6wTsBOG1U>esx`6rF;70cdJ2=5{KZ8N6jlX-ky1 zzy^z)>9_i-c^GiC%&zQ_W%qq~&+SB!g|vswK8;QX$`arHx=_PfM`*rA^*ZQbGH$S=h8LhAW0w}Ws_!JknNxfN{~#uqlcHb*GK7LLH=5NYZN{%67R zx3@R%*8?OzErEH6j0jZg4m>#9sgdd-y||i0s~($rboyXuSYA1;q|y%<$Yc8}K0<}|J5vDP4X%W2K7k<~C zP)`PN#{^r!-H^?pV2%HuqI;#48ViQ1=+vQfSF(L9O-2{gf-Cz#JlW%DHf~ygN<|U6 zwF_YSWA=CQ&!Xt+7ec2LS8``5iK$}yqe_JKgMZr1RG{;D&I?x6r5=1E%C=`d z>M&m7P$;49->Q~O0RkS(X9fpSdce9FPxd@d4>v491m}k=fRdP;8C3clQR~Fu9~mM6 zj7Ka|*^-AfUW+&&iOHDdgFOEt<+j6r;``1^t@7zKYO!#(i@qwxP3&aGc$Byav0DdQ z$l*-Qh&|a&2FyyrkB^R0>cZ8ft5c+eJFYp#u|8$dsG%p2 z`TnlTnYoWB8tY(DnLkC!goO^tBj$VlDX!Kth-y@I#tJW^ouh(1@U3F0E7zC^ZQ3St ziwc_^C?+7*H0H0r{QqSlf0N_wM>H?@*3S*y2m>!O;cwb+&Af6Op*K*cWp(xzFT_Rl zs(2>6wzU-em6=aw?7|p2pM(}yigs;g$|cAQLbPrz2E-VE;4b8~@nV9gYtjKxVsf+S zzlwVx|D!Z)IB&Vv_C6&>)d}a~Ji-D~8<3iKl>BO;-Y^5RAz~BQQ|q27!!&ucjyxI{ z9t_pnjMy46^GU-{5t)f#|z~M!Y)UjM@<;Ny8o<=?3MZRilpU9 zo8|12tSn9iGq5mlY8a(S>zrb)VJ1Y3NU*B0)Z@E-Qu#2_*7O0XmJHe?cj_mq!rw@} zW9)gbeakO$5$jELX*5l_h7#M1q$4#<$)kPx1~X|TUTfON1;n8ryo#2L`k2Q5+?G1=QlRWRqs@GE!-I#QaOO2i5_q=x9cG z!7!d|UnZKu#HMPB@==0g)c<1cExfAS*S&8EnIK4r(hY)1cb9|`B1%Yy^rW41NlSNk ziF9{&cXx;Mq$c^?Q(bGXwf8=IoacSdd&c_@=omWgdHt?$e69*A<`?m8h{n8+M}BEK zVqxf%O4G~V>f!-MgrvK5VP*{4nCaj7v$Fe78GUE>l+y&4ggS_dA+Pk^<>p|+q^sqo zGXtuacPk&faQmXtZK!?Xfr^H!_UB$--$N~7;k*PKyMQa?MzixPy$)Ak?9mZyG?n)y(sDV7f zVN}OY}WbgUk(HZ zq@OZ--B*4zT&DQCqe-9P%57&l-n7Gm*n4NuKb!m$WsT&hauY_pE~ig&-(6ri-!P04 z8jMaAXW?<2&?85}uO7`8vIk_ZS!XD55UJ5@z9kQu7dLy8?1uY&KxU^~Lo*R-4Q7zJ z%qU=A9+rB7rZG$Um2UdE#!YP!dRf_|SfZ-Pq!*`{Cew)M8_W0%QHWBEzr|b9EZ3JZ z&5Krh50QwRWca6ZqnbUtmVc>ZSb${Dur>7id;Ey8O`~Jk zAmn_wL34W)yf*~W0cw^o_)omAWYHOr#M?`R@8tixYdPSl+lPGo7C_v~aVly`T3@93 z%@5oa%BzJhF7L7-tvH~$F2$ofq)uu#DrGW`P?T&a>jGkANSS5uwyP1uq2)hMHA~~k zY(#H&SWRbn9{a7&&j4*?FX`k5uH0gfn8Cvi)D|)WcC*s_1|aN{vAvfB@&X#F*V|nB zj)&hCI$1D4Rk2U3h<#!x-+j@fp(d2u}{=Zn$L_<;9e%O7X{N>9vNJ!ykE@`2jsM`lBTF+=6$;~L1>fxL;oo0wZP8ZV*@kW1_2chv;Up} zkN`Pq*8u`&HaFAHZF-P;%vPAsvSU;Ui0^|G;2j>DQ-8nDMAh6%MtBD{&L_N#Obxsw zP!l#QZYG0iUv+#$FID-gM&v*sW+}Drmadbf9uBYNeZ}X{cp?Wxpiz}*G-ZGLX!OD} za+XxEg8<1QpxxU#ZqOsFQxf=1_VV7tw}q;X13dy)ilNQ|&>tIDn3~ROE1rjqC-uPt zm_|zn50*2EI=>!M#v+ZbvVX1hds3-mgxo8fXfBN-u%Qt#=<0-7Vev^^*LJdfi_*n= zzx0IHL{rbwj2SMd2g}~7cr`@34OS-x4V0h0$!^kLP$?D9+Kke7TVal$7B#2070cL% zL@m%?Hwg@4-Kdo~(bolcv{hob(OGYqL*W5E6{jWRg?S-q=W44X;)b2Yk7c`e%FjX! zAsEHv?nl<8xpl*BbuAaTN1uto)Qi!DL$5?QY{&yy9Z;4^f#3pyO%msTVc|Y$HC6(h zUhk&qkQ>1?gFD=Mz-Np4V8=?J+qu;}q{vRIq!Hd?wa45$+B$Z>?`C)IAm|79v(mG!ey` zf0%7p!-!>q-V(<}EY>3$&V&@0sf@m1g>&=Lbv4ZOFqN|3PwT)&E2vi%^D zB^sjGb7Y5EW?gG?sI6?uRE8zjgEzV*6G@TgHLD!o!AZNTbomue<~B`qd)_xtkQ&B0 zFTTt>)}r~rO}AQ^)BZFOb*|1NP4{Y#8gL?RY4s z#Lj0nnE#n6VHB9&i>5*>@&ZFnmd^Au(pkM=^gitDCZ^C3406Mpb3op>d6di-S=Byj ztdK(m>;bYfWN~VkYS86T)aalh$5@Q>50&QWlslJSH6DSkx?jYj*Aj4(n^F!S5l-b(0+GHu`U5dLRU)I`_ zwNdqKbrQaXH?5+LMbf2AU5Se3N}6wT)jqZKtt;9+P!RRXMcP-pPvXS4ujYUMa6)M2X*hs#kpE*MM?anh;MWAnVm3TzqsL? z7E}M+Ek(q^TObA|&JV>WOUkyMn`Z^oe~#Cfw?aZ7F}}lCMdLq)`0GE0c!GbYInH!o zC~lW`L-O<*I6(%6bJUFzcS7whje@2m@@Cyyn~F+%wGUrvST|mP>qusi9B;jcmh6U5 zYRCn}^7?{nu^_R9l%nX&@-mO1pQoD)l|2eW2G{*+Dgrgl@E#R7jnRR!OpDk_0!9H0 z^s^o_Yb>Y!Z%%EWH&&F{lR8o^@%uH{FB-r~4qMjbCqSk09BHbEYpxuP19Pg0P+sBQ zu{n7R_j5ctLQE|9x?ANV>c{!|>tz1%gr8B% zIi9A3YiN_Ia-oT7O!{eTQjXo5{X*v{>HAeu%#; z)qYc5$*i}}XjxMT0rR@UStHz|gS_X>widK_JI9wQiC zGAR$s{v>`Ay?vrfc>X0k-D+_oxJ8!iz_P7tS%O}`u_R2a@S*<)hP%TMWYVC2hFZf+ zZcVNV=4L|ToQCv-2v=vEevfUP;~lGwl!twu`AV=^b4`qK)Mn_G8%F;cz5MytA7QY` z(WgCqiHGk@CL@#s=@VuA1{TFaFyHAv8KjF+^XbOzHlPlRo8x?pnAv}?X^i9hTz@iG zp}mCOvEXpU>8C&;f0vnKNZmv44I=}sFHlyjlURGXOi{|h9qsk! zbNw%0x*4m>=d97zae~cu$5-k8)4($zvQjXxWP35dkyqI+R4)Mr(J;HGjtTu3-RPjh zc77vgck$t2Q%p}5;g`Np#p7KuE#el8N<}qCOD}J;c(Nm#bD6k}^joq0&?JL;(ned_ zo6khxrJyTbI$77!(>M4UJPU`6ijFRQ@sB@iOv+SKoA~CcOE2uJ+6;f=I=`#-dgA;2 zkUGw@fZ{{ChVARC6F;@Id}Sk4f`L-2&Y5YcA*kSVr2}WB$*x@34AUmbW1BFl5ro^_ z30H>1x>7EbxS}Sk`T&=MgxZA~*^{vWXKsD6r4urYVSIof_=_C~%1wZe_*-Da&-Ina z_CJ8_q_D%Sx*QFbZDag=96qv%PxPZ! ziux7t0t!l-!)6GLVn*n1#08F!ZVwc7(#xB)ZJQsy1Z>nFe_(e0Hrb154chTZd|j1O zo?5N$w539H9zfLs#ev5m&xVTK&6FCO4N!W(J&WOALXD{rF@1?*ISLLgLIcn|IF~3b zwHLz0?m2b#BduhPjB)O8)d&dhT(#%FIF7zc)-SyVc)N#-SQr~fF2)lT#b)=3WlCxB zuiKMc?x7OoeIqDHEFz6mpL$4Ww|D_EER{}gXD*qNJ;Mb=#^J8vty+sZ=?wW#7ktA^ z?Rj0YkgF@MC;Duz>rd#(6(h`$*X3kbZ~N!8z}K(F3a*Y6b&x-gAMp;@Q29$M-4By- z9qB8@5T*qZ$KHUOAd@Y?#p4D2fID~cb?>)(R#1n!&A#`3Zh)(pJFrUK(EQ^g$xQsK z{wpAkf4WmN#pZ~<2c#Wg1U*?@t{R@`;zZ5$1?L|uG+pl224`ns9j7zhr#m9)kM`Zs z+ia$#ANiEO3|czJa22EBNO0?jjYjt;J+4ZeG_b^mPuDM?E}JZ?ihh z`0ya%&uO({cK*vL{t*Mv-|zPSe<-V?STTL}0wn&^R^)M8Zo-fys#4O&bfH)a1~=O> z*?f#|l{Yp-!mOQN(6l`xq@h7cH^)NB+j0vF97i^Z)wK@;=_O?0y9V5B8ye1&(O52! zVXdwS%e}mD;C*1y+N7jwzEbP*!=0FTzn0@rwXLJ~RJB_~ZfQH4kCN}e4nrO)1Uz)gfPV$yANaJ&I37BNesoX0 z{8mtYYT%S5tK^lcK@Rfw9z%j%cjN6b#S=b`1PFinDX_kX%z(3a9=;?2B0MPC;}%j} z_+Bi0pipPyys$2mLO5lIGqua}`w=|j*1RKCKF9aX&K;5?V8?k(+h%n2<-7DZxW0y{ z=b71B2rIJh+BB-5W5U`HvkXvJQmMFg&m<@B^2|`VPH+gRZXkdOq`uy4r{7t3N6Q74 zMvmfi`6rJ;m!w5i9pOv38(6DHV9(^xe3~drIQpvjsSxm9)7I2&c_q}k>ZZJ*(?p$r zhRhKCvaVjz@$#GRiWec3CW{@#ezr#qNaypX_OWu7NcCCz1rrY78&>C&$?lp^3Exwz zV6Pr1-$&N`Mv$O`>m^UB`>s{_b5!5ID(LavET8b7wZGKC#q7r&PUEK1`ITY+sGMIO znbtzr5FEK=@?c97_AegzG11H)9{AmvB=gR=MUsV&030M$V4P#B_xq1f^ggG2*;{dQ z-nb_X))N}QI?gQIlV50k?q-btY}yffXbto(1H7M18>QBHS4Ax*#O?0;(k0B~exp_) zR+H}Vb)3YvNA3Igt{M_QIQCXgq?ae`SP>%$GNW86{iR(w0i_Mqe(yu* z8B74k+&xXo2w)kY6kyv6m$)Vp!)jj90~z+8{`cPtZ~vG6H}UO*!P`04o9Fi*)CY_9 zcmQMi0bnr_MDuEWdSM(|ekd+OLta00H8v0fA$Um)eH3z}1-d3tVIx9%6mop&gf4=5ctGXCIfm%Rn;`^L(!r;rLUWpv<^>{zo(U8VLLV2Qh zz_Cm}l9Ldy9IvzF>FfBn!eGJbZVdbmCK+fv$ApCa4-Hg_EKqgONoi(of5S?l^ewiEKy`vRtU9B7v$2 z&SZ$d7t0Wp68+h_{#udJEhk}x?#~;x9$R+qCFE)t4b=Cz$lD-GjcS5yE1oM36mVfo zx+;{1bTB8x!d@lukf~O3MqpbC?MN z`2dC``Ch8-D|3$9ZtkC(b}7LqfXe}D1(De8sH<&bts^a=0x*$-hO0cBweeS%psgw< z61!N}R))!QBtjrm*JuQEEkU#`bK-tnTLvO%N@8#7HJu&eRqrc80L$0-!h>3O?v*JR zm1~>5bJ8Q6e96bjUCZ~sn#aAInD~Ui`*5ah#?x?JP{SNw?0&<_BHLS327+b#6^cG$ z5!M(Y-9dUwo(UB_)a_=wANL*1*+^rUSd3nk0*0=KIR!FDlwtCWsUX6X28`+HpmMzkFrjxW6x*WdT&!gSKFhDq^RhoJj z+dvHsl}P?~m`!I<7zndT3;?0c88iOQeUkiHWj0frAG~L~_;L)$95SF1z&?ekL3bEs+su6QzGWm3x z+E*&fm-xzOPstmknjAOEqm-gqeVSIFA3m)AnQcf!F3{L7 zhR?BLnD_>@5ufbM21pwF1*N7WHy)OuDJCJDI3do<_kyrq4zNc534KSVpBLEXs(-rpN3Koy=HkS7_BN}SddK`{!0m5J`W``j5nZup zBAsZ+%JzP(p>W++05HREPglgPT`JNZ^b6~V=x9fmYO!{qQ)wFxh0$STy<}28bmQt* zqXu}ewXdEWITdOMCPDRrRn6{MeN;$mT@SF{ANKk7=1`!V!1Hk$#_+xVRNTIbhB(+! zd7R2D^IRMlXrjrdbY@JhtEWNI9ve+w%*Fv->)U>PtTx;NwbVD6D1`Angy$&NABVUb zU@B_QoI`PUl^jn8@-w=U93y#+^u}ea!&KuTXCbPyGbsdWlLrCN7g z6T%xcbMG=-wZ{``)+sQPQY|kC0l!=1{$Y0W@DeD0?wbKrNR(ZsKI9pALJ^!Ir*{16 zEJ#COcYW!-TOR>QT;Ut5yC6)C(n(q+}p`^uMKK_$(?y0Uz*6P{knXQ7RM6Q^GowH~lFnP9bRH9s9GoXg= z`vvmCZ$^+AZv3IRK`yU249Wlrz??i1BophWG6Sw+B>Ak#de{XPt#p7;U7c@UXr#?I zRI8g2siP}7mb}E^3j9o#*pYQ0d3)>%Z;4IU*zb;v{R*$uTxvk(ZRAwe`S@u8Un~j) z!K{bK-A1a67^>@tRu!_z&#K)~G`XHh*iZ5l0>9M1s}=_Eg=#Kg!Sg&o5k001c#FH_ zIn6bl>@8qw@)IN^UG+%aBFc$c(oL{v1{5G7i>S}m)E|ts_Y=C;rTU5M4Iq8cCm){P znuYRVD)Cs*GZ(s=dX-XsOTMH{>n`lB_6CT?M`bn^P{lLFTjNVtdQiGFX@^QSrS) zWkT22MN`wLVRi!GfmLFm^_ti`EbtF4;3w}2U>NkYSVC<8Qs$v~bXUIIRDK?GEE75yNRjeDo`c9yZCn#Vx!4qCu6D^$WgVUF;R zLC=!M{ffW+oqt+k>#VoqtE|zaS#YmvSqJ95P0KS?A8s2srcQWBmj>y%N7eB34yERs zGzU2OBdeE`eIEEHkbd2`?z~@qMwqRg)5Pf!39Q>%#P|W2+}Fo$gIC!fh(wLkOY3fp zz84?%%warPkH6n<(M9Pts#PSqgwFA%IOb!=6D%0CdbL=>Ok^*#5(|-3E(n zKA(?$yd~JwQv&tG&J88zKp-k$t`#Yxz4A(X`UFJl;%yYQP=`s?Ej@!$Gv|TdXy0<4 zJx=^3$fwKB$uO)~e{j#)QH(>wg`H9-S|aGsigNl&gYT}B&i1JQCC9hEhfW$HAC7Gs z*hUoNG4oXcWqhDXU*O73%0#9@2Vf6D%-h2w5c#YwS@zUML>kw>pgZY#fJgjko>lFe zdwJDS;O`NBAN4Y0ZE#G)zZT0{<=|iN_2)~x+q|Lb$Spb7cki1G`aq|k^MN@1{_O7S zz?bpoY`rq8xCM4)Q{II~V+QqpZC}A4jRe` z?mQBI{VhK?jE($?Q8u8@_kSt3R?@HG;v^<5<`<0aU5jROYZ@Mh8Ct82UFb1g+2pA6 z(*xzH33;3#oE?l|Mzy@mV^(dCX@c&szogW)cL#n(fxw9Z*)MhSooq7J&%rELTRgk* z4q_}?MmLMd;5xvEstq+I6h&crFctx8KNO&VnhA<8eMnuO(dFEKQnSV}%t8{M2pDVC z>LH}>ZPI1dMRFY!%4w<@Bm7Fb-Ku2zil;qKyJZ2P>{rU%Z*)EXaql(m`~eI@6_N@* z0;$IY)L5!(J9E9{Z>b(oM>aBji~oTky*sTtUdbSnAL!48mAp0|3oxo+IlpB&rM+iK z!Z8AF9X!3gF>?@@S)R2DRvw$`8GMb1DyrGFO{uI()3e^VO&K$UBq=aG^Jk1LmK2Dw zRg-PfminLLBt3gU>byAZ`E?yB{N?R3!}U$u0Fkqm$W#H9ja*ib2c~YSqasI|lwRqI z81Wb=8v}q^5iCasG3uyRm@hA&mw1mGvqPgI?it${D3zHx69yF^eqBySmRgIXh%ni4 zTS6aYC6vNbcTAaH+Z~<`_yw#z7ic(lY9DV-q3-mBYvv^Jkbl_WvOn$czYTTGHlVBW zCvxsxiL1*|&W4*WY;7r8KPP6yS7=1$xEjuqSO(FW1ASzDdn_7Ko|Dx7hFC6e&C};{ zE}ne5u759hoYYQ}T_709wk_2rLnW%1GI4`x7uI}?mV8>eH2Pwvk#?n4vp~vZ0Hn}8 zo56KI_Y9F!Z!ynfJ5G4;Lp$tC{ANzKfQn}dQXji2Xt;Oe zw0Z%-n65v$=|*;w-^T1#YBqh3JB_NGU)|(uI9jkIE{vIPA zx%p{IQfJyophR<-s3HTsok6j<^tGk)ec%<5G%#5fml2Cpf5(>ZfVQ*J!b0ctDbV7~ zX#pl}Qte(eVQ9e5=9r7vLha3d%JP3$#w*?!5@Tpcq)t^bKE~Q$8UOVNsDjZ+eXX z5}N@Ld)mjERt+{Ym;UdI#xzNUdwA-fo2;Y`31ubm4~B{1$4ks?6l6XlUf9zUB-AG& zzWI{NzglLgJF>Tq^ zZ|e|!7heDV4lcMQ<8p}^wzj`_b8!*tf(4tHz{jv##)7xec4jv1VH5~|&6?}~Q`Vg2 zFIjVP#!=^^vnk_>2so&o9wX)yt?n7Jzoj&mH(g6h3>nU?E|5rj_HPqu|6*~G5q#VE z$C^E88?l7@oh@aS)t8q9$7h<(aTpTDk_mR7OQbzgm0%_r{pRJ8I*{Ww(Ol~-Wyf|$ zbe?EQFgH)5>~YJJFTH&#$AXtKyKxKdj!>dhV!P!R*B227P?v?4dAX({v{5`u!V-4I zAezH&^ae@->oLXt@Gc_iZcyTvl6y6ucLm>SD5~+`4=48($1qKHj?lX&4@n2(z48$KT^6uU$$8`a_;SE2GZ0GB=kC3zf2jtYZOT4;UYP zJ!Fh6Uvg{m_a=MM32ZoA!RUQ1NB?vyM&K7R&ZGta#v%M9#Qv;~dHqM7T)g4ZCJi72 zuRf}icsbgBf1TKYsseLi5?7gO05`SM;zV|yH3g12DI6dRjM%}XU}BB;8UhIyKKc6c z1o;B~O@}>dd*0(j|EWUky+bn&bJ-3rtEMD2qs28QMHk1yo#pOvS?PzNa<-p?hYebn z0F1gN3Hvk`iy5urZZ+Gb=xP;I4E+g_UwdxXwSd+6GVWEgG8@}WA491k@C1dArUr=b znF_Ac^OT{ZpFQPn=r^*x5Bm}IAv!#IANWO=a| zfC{w|jv9TTDg^vFyBM)Q6XtZ>q&HqwhYN_K4fV0m+CC0ex5$yukt>w;mDEUe!O{iELu1@R;hx z1{}n@OAz3iCm!u#op#pJ4q2==bAAD1r`UBPl^Oi_>|dK)%Rw!aH0Qon&HYpoEg)y^XsG;@tsE39hU#dLZ@Jw)`i1MEflr zQ(rt0ni8|yGV+N$96r=5 zAM|B_&Ae7nc6+cvcl)EE#0g@)YeDxE!XHMifjKR^ZTb#n3h@jRCa$Wp6AzhWxoLx5 zom}#)xD@#ZPO){~G_gUeZ%?>ZtwP*Buv~xLOEU$Zc2&LIy9zL9;fQUxm;z??pltf* zWuz)x;bS+2`(Ix2vkfPipUMk_h-Z<8co_RSC*Vc#vQDMxb#UIF+~LF#veKl6Vjh$d zd4ex(?j+bWeO(%pyI^rcP82vVl@llebEmZjyNLa*;%zSAbHj61ByO4VJDisJXE+TX zD1%NjC-%q-FPmqTthQ$X;H{gWuY7xEhlbm?Z8f0@Pi$0!O{f|345 zAdIr4E2qn}wtTz1$+G<}``6xv@m_YF<#%iAMG!v$pgi}mO;cdhuv=inNrdSx@+ z#;e)GUc2W*E4Y(7@G3W(F+;*Ez?AXb+P zhcpfXYq`tk>Pa(Q0jDtEEB7OqFH&H;3{E3i9k!Xiw;<^8zUJL&7J;O(TWLQR@#crS zm_zhUF;x6BJ0jc`nb?ew9XnJMEx-HNy^^erAO*U$w64wE~4_q%GYWN3`jn5q)gu8Yg6n%3tP;dn$*MM~hm~?N#$g`aGz;VnY z5JqirMmEV+FD#%JmXfFET@z%_pFFoMONLn|Swyt(S7ZYLyMO`%q1x^#&HB=;ME=mT ztIa=l>s0(~&tJRs>i7~cq~EOC2|wh@zv+sj9gUlxWM507?~^6L7W>?0-dp_WKaOdV z09Vr5uq?}GVyf3Eu}M--doQVw z$cEb^9~67IYET|e=%Dm{nNI;UWSaiTGHYn=vA~dB73c10sH)>>GYDK-9}@8EjkTR9 z6-N*fDlzg%W$T2&LC}+>epY0@%4he@YqQrq`7Dt(dO6koD7@1?@ZxrnJyc6Wa4%K;i^9($+%GeQrKGIp$Z+Y zmYq%g+f;sn0XX(o0)(4RskzRnqBP?O4KnHJ`7&{5A4!9{vLW;`mO_mID>Q@e?Au&_ zBXB^`48&+kWQ8@r>_E;59k00Qw~JTPH>w+zG~iesrTg+G-5a6wOzj6DeS+BU#knvn z`}g9^|L+%PM~R1h3I5EDcprgpd;9n1jLTka0Bp|A8XbJ$dWq!|*Kp+<<^HLQ@L5WY z-D#IHRTAGQ$`Ji(hm|#K>kOmL82>95&pc;riFGeXRigSN`>O}D> z;fI-#<&V^xK60)H&dguWKU`+oaLF>kI2zv3-TKT6=}vyXl;Y2nb)Xva*5wc}nzvd~ zyz1uTN~o)SYWOW_lKqugfMgBRfW)U4iBH)^rcHK|r+0r|1%qP>Tx{von2vLEostbz z0La$Q5PDM4_#vS61D72IwBGHswP?}Sh((kZ6MvE(`~$qS-Z|y>YPX$cy@mu1_)VJY z`cPL)Y_rTiLPtVrWz(70Ciq+IR^ikZ(2Q2pkbqd&cPx(6o5d!V0iDxw#w%fhzE)b? zCU{6(8f?(=#9HezaH;gM-U;pE@=~v?sBmw?NNp0&PwV`v&*2OftBA1kUaHz;hj0CA z?-$H>)gFDNr6yE*+#4~jhlQX*G&f>Jv9<6=QTr)E+-2R&yng!EJd_pekMoCWzr<}P zr(~E$Tt7q6`|LyGXD&q>iifd6E>)itHQryy`5QM7mP~e4Ehig~7?dtZd6L9&5%QdbSbuf z)9lLB=)-q;GCb2>;#R#g07%`D6{^kCj-E&zq1v`I+Nf|_))syxatlcG&hxqm8VkTK zO;RCt@JlejrB&HqmsYW*Cg)jwKLR(pT#9Sl z=nQ{llZ4@M0k7Yjg*rp$>kBH{yzRAvXa*o&R%L;ktaU72I_{B}DY**&Utr@eDFDKdR3bnZdrCkG4+^bi^yU1*$6z#^<807HZ zj|fPI^aVbuB)OX)6wt2E-;kEf-)X#ew!bj6hEYKHfXw~eWS?&*^HoAbuQQYjR;fWK zI+&Q))FC=~dcRtPCIh(a#M`RNu=(yp=w~X$DrRBR`6A)Nio$P<+F>>}h|rT++7Ou7 z{Fj5f%7J?ii8N~p6{Jr|;^nx8seZX#WMN_D91s=OFDb^=&+(6%=RyUx0hI8%!Z$Sey_3j^ zT>Y4I+0V{zc3Il;$R#mA5IK^Klb=v(CVhlVK9dusScs6eR9;#3BhypF*p!S|^GDFgG2W1w<( zPKj<42gp9|DStXU3=z4ZPNI?d1S*aW^(CrEy)AnmI}r9 zGh~>gt^UFi@Pz2vV(u4qx>yD?UI3hVyIN3ZS)sc5YF+4I&jRv6O4zGVC4jQJ*76zv zBR~JXB{|75&+!6zReIuOFk&H86T)#oK1hWz<|A;uu zS{L={nd}2SO){7#3RB3H?5^kpe)=`8_wEy3|LPnJd}A~M)_7&AK}P$LuH+gU9$wKc{lHf-SVVi-ug~}!qQdVm1b=vQL5UXtK^sVxt&9|p z=)0b~vM)UeALn0do0H}_0@Y9J1@OJS@Gl8$^}GWa{{WQM^6qDur}&M^#`|HMIsvm8 zn(j~Ng!!w>g&)9PS2Z`jLugaLl7tPmPYRBRlMMh4^63kl;KH7iQiqzq3~^FKtQiLJ z+mH3D(dlQe7ZW>4c@&}LeoWHP^D6P^>}^GIie8(SM6hbIIe#kX#(~J-eXge@5i97O z;fTKRsN}@9+TEvwneuN}(U)Gh=MvZ}jPnnczAXDiSC6;3;(Nx;*XHh*<^AbM7Qn#* zjDD$ix$PY9!NPxFPd^35*C~yfN@>^k90GZZ+o?ZVTP#3pi`m9|7P#BXh|NmK0lq*+)k({~SND zU-wW>zj89r&2t-T|8|*Oj?MrcqH=<94`&U553WenND z{xq2txH%}u{G3U+wm^f8`15lhQ3m0t6X9R(xQE5d&B=pOB|19AN)A~W>rrf@9V3of zkK9Tvf7=$M5KiTr&SJCV^yvH95N#(JXD^r&sbS(kK>!IXk3F}AafC_qhZfKo5LRjY zQ9@L-*97(o&-ub%0m#8YmSRuqyVenM9ic}@4zc@d^Ac~U-^{Q!1qh@)iha;h%I;4) z1zbX>#|)NdlcdGcmoH8N&}bAqhEe#|F+f;UIupALO#&a{3s6%N<~kohuMqOCSNBVN zrvY;cDb0^^gr73VtyeTmkWtHF1d!2YC2qR*szq2kr9sl?`dhHEsVqH9t!~%9=S=Ef z{mhxzm{se0Hq(1!sYrbNV41e+S98;*f9c{}&Tu2<6Pc_PZd}cau!I)PH6o&*iaQ~j zaczZnxK~tJWjHg1ghAA6*83ean#c&SB@%YN+A&53R5NkV8WzVR^VyDEYalNNFq#E4 z_0q*)l~u95SEm5jCwLW_UaQ33;Q+l+|L)Q94NT|IkZ{fd9wo79zZzJZn`uEGq(TSszV%l6Vy6S;EZFk9WfpX=huotF`2K5^VJluYcl!o*!*W6$Z=*COZY~oR8s?tWs(Cy{b?TU@-EqMcy>TSI*b4jT^-R>R7RgkbaIqPE1 zYs+ZpFz$p=HQ-f88bVJTm-(MK0W`nH7|6>HB|Uk2@sGp6)>S|;sJzCYN~5NrxcKG% zmvl7(nT`P9q13M_xr+bVLJZfP+mwjOmupLt(-I&a3)ub8-JAb;g7sH8octf*@c$>% zy5anT)r|_qXeu!#5DcHS*XAJCEsFjbDNFhzQkKL=@_dR^5P$;QPs8%ilzXVMjdtt? zyuxXpe^rdURP8nm_;%`{@)jM|tj8F@?snWvA5zJz69&?^J*Sw`6mD616U62S5cfC` z_L0>Ip!Gib=e6997M<+C>4^6`qz#om&6^yqD@961eGcO?Mg}dfKGG&RWQCRMhcmtM4q=}12fq)&l0ioZ8+Zh4 zatrY07MZ&TBy|Kyz^j4_rD%$Ut<#f#+ss+zAWnl#pR%lKNmx{XPVk41?0NbhQShH? z_YCwU^XJ3bII*Xuj}{F}hbmfM-;?UL*r6{VvK9^QZ!mVy<@aLQBMNZsV`dBUw4S?r zbdpR%J>MA?IxuS8xm!7izLu(nPAE4j8HKW>y?nvrS{`HO4!N7pk%)<21fXq+F*Yt= z*Rhj2*Xe2;sD`p-^vO}g0xCGSX@sPn3*n{aa zuY#8^r^s2YO+-kjX-atunZ4qG!v>K+M-xzvPOLIX#d_LnsUIlNWBk`TH%=rxoVKi~ zz?XdLf%Xm#PWAFJ^mWuI)ilS!nrB}wp_9Y(w)d90TH3#}3FVpQ@GFSLwX-;<)@qRW zHYh=|w@;IqM2ivd^<+kJw$7Ei6+!cj!Sgt^?HA2rw;m5mEA)v%KJYeux5GkTm31~0 zNOo9P&Rsbg(J(HFs|Q)~*OcSZvBUy zE@z$SsxMYNKp&;*t;?kj`{7SDD6$n%!1JP@IzC7^u5X*!!eVNN+HUcCSCjxGAwDCv z$Ml#9r=7O&>sCVS(hEvvmP5j9N=?jn3nW^QN)1W=r2E2(^|sFQphu=8mYyH(wRtq6 zivlN2*p&@J;rw!VUVzW!ejb6|-v{}?pLMOIzt^=~4xe8MTs|j*1*lB{KwRD6y2(`z zS|%GQj1AxlxaMDjWPht`EdX^bg#TREqNksR2NL-i9#<29$OgJ8bfNmHPF3&oGKkHpf8i8^kF{#wdSN_Zt?mz{ez7@9|1(lg_V(!R4S}9)rl5k&N{-V(!8AK~=SCINhTqwXJ&FKI+g+7it&lns*B5_e+5|oz{W6r?n z0NgEEpBE1!{Z+XxtzW5GzLSI%jUMySXVHDLqMbFqvxHNJcKFQzPulOIRs+TFnij^q zM80&;A4|2nwFl@zsj#SHd#?0rYug0wbT#wJ`^tmnDTD?K%kPuJ@pK|K>Uv!Qp+{s- zB4(qV#Oj*Sj}TLGxQf83b26c#T=D3VE~P+FM0zXI?>Cy9|F39r1d&}jm!!X9QU-H` z8=p)Zo7=)qlHeT5LMCdy|7C^FW`Vai>1Yc9Lb?wIe#-6>t`JAS*HyH6z3b-IP4C^| zNcmKuDvw?hXRV{dEq#F(f0|XbQGO8Auy1 zL66v6G!oEmnrHpts#L5`)X>&|R5^c_*zTp~gLy$h)`R6cwl+#0njGQ@QLu}Wwoa_Q zd-|9(bznWs60flAgD$O$fxA z-G1izJi9jDD%+0|NjN2ZtBbEUDes{fq>eg3jlW5ELZ*;g2Rh@z%P^b%R1Ov$Q5f4< zD#5Z(l`jbsRlD6XH6@G_y!D(=TW-lSZ6EGp?{^kpoxK`!O3dNyWSOzrTda9{sa80& zUugc-nApyO2Dni+YVo2X&ZES_KEZ43SFwfgN3 zV^}XcSmbaFuD?y+iVafZn*_Lbql#N+th!=>zg;vQs0ogZ*g;VRlxCig2ci>G1{o{D16 z-;C9EWDAuN8^**-r-l`5)>i*j$sWq_>b8J|vCx5P6$-D>yd6=^toE{G)og}5*Ml}n z&=hs`tT#{W_?JqD1UiQm<4HH6l=SH?=j~a9tW`F!0-7Ud{`ujB2IxV0s zlqmp3xjb1N$whv*vLfb|A&HN5t^{@RMZE=`;z0EsoH(&{jSxCOAn`BP*c9n$i>ZtB ztBxY6w9m5Ie>9tU+9x}ekMFww#T?~LDjz^9jD^|BG$!{kIAbxnge2ubA3*o@N}h|cqqW=wgNzTMjR-%CbRJ~z}(Tn z%WZx5uSeT{-xT?U8~5@XgoMXS@H?i#a(FUm%i9Gx)=5JOhadK%a|eYJ>u@6&9;x+v zE-4|20UDSw=34_rsuyN5;hjGp)~)E*c2I^JpJUm0dR?lP)>7OgocjpRjrko$vQOG| zheap(KO9j-;y0ez6Q4sTY+4Qxix?S*Z(pR`py{`9xQtr`NiPNC>O&$0%RS1OZ78v9 zq;Aj*2bEezxL)J3U)k#se+#7L=jv;5X^hE$+syn?umDw~o5?Qt@eqH|rz}2f{!CRt zO0~-ew+_fR3;$U;$Du&jrAu^APVbweto zxe*`~pAs!gr|9&RfE#FpqCD_42>>sne`p1%wP4-Yir)C8Zb$!Cw`F*!&?X*C**s>H zcbN|nvmRG<;*xEuyy#N?UbQ1ej;qzX*no9J?raRzxQTAX>lTf~j)^(ERG5Z{O{aN3Vk7NVm14MMKb5F)tA8FbzIw&O4anplda+}Skq%DST zdbgz;+e&0%RdOzvn>DLGTewshAonrEkzGmIr`%n}Bo%K0?PnCBcHPzKUnroo}v)KJ?a5(@( zrIkr!;_N&;?$t`g?;-u4@nv#6bnP2~cXMwUi)EjmJhdiNDJauWEp~Y>nHBkjbm7sd z`Os$a2(&2}l*C%SC^~%}YmU^_ivB_WSW@llQ2hsObcm$_xiy$5pozGvjF1i1biKfT zwXSG*o%jirXODt($!%Z&@^V2sM?%$+kFrE1MAj3XA^!dWFVLW_5L+flFrG<&u?te=QTNkHu)f*ua!S_ST`9=KTr|IoU@Johe;nt7KTtOwK9V*bVID zkt`Z_@X>B742UT_KM!-7C%f_Y*6e=GxsP`YgSJp)2qDg7o(T@m#E02w5OAZ45F4YP^-l&UQ^dKr!z$ac&|qlMWo2$n7L8`p(QOOckd zbj6aR@VcrkE%ue-(Y9L@d4SSZxCe)g!l9_cT2Fz)DZMDLRy%bfZDnQ#NSwHhlMQhA zw*xSwnU#&JRY*>fLBmxT^bWzmqB?WHn+`p!j3o2jjL&-b`2`Uo=4g9$jbTj8SE5;Z zbiUO$BXcDQ|A)D^V5>9DwzY!<2?R~h;1(pfdvJn<2<{LduyA*Ghv0631cJM}F5KPS z-Qm28R8@EHz5DdG^IhK`s8n5*_0DIGImSI26zldeh)gH+>5@S!yBoqzg#dBkI^=YE z1!YJ;r{vwsRQPGb&SlLTA2bbiCOYY15h7x(c$H&c2QK3?3{@&CFe@NhJ{M=Le*gI% zMu9*xF1fp+7M_i0&=k@lFb}i{m|gBTxy0K>r*wQ|ego7GH(4G6!0{gt1j=lq*-&e` zPn=pDQK(gnthLyEx0gS~$O{xitf#+UX@DXVDVzRD!j}Wx;wXwkoev-ux}2Nm>)Aa4 zjK{3O{Aiw{@}M77ga3))O_;Q_T_$jvGOwW)3lAfF3JWjgyhl4Bo6wQ!KW3`|!&o(A z61FuVHAjav^zdpez{xF!3kII!6R*++3q+LWlU_$G#C=B1<EYO<@gJ%@sovT|f7Tl44WZq1Gw!K$@Fq z@wHDJ=j~>6)U)0uW*5$8OBYU~O$D*A_MmQB9&iuc9#2f)&=+j%4>f-|X(xWU@p0OF z#Anr%aASR*%9P_AZdm&hlTc@4JaY=Ju6OmTD@V;+=PC>UF@0WVJzhgiB&? z!Knvb8nI^oN8)6jF#$fWu#C~d1JxpCpfy^L_gA6FE!zoQ;)659ft|YeFaOWA< zS9bA%y#ZG=0*5I{4DPQaa(%3hkRni2WoRk)`q?W)Rk?q3o3}#l2!F216zhMi%9uv? zZ6`>?!#M^iig-C)4Fk2nkuf%_CruKDzuKo`W(c@RbC<3<2 z0?&7YhMBV!^3?%4)fewuh_~OU10D+q1dXG_Bp;K7 z4cb>I>>cL`P%`)Nkoyq+$)eQL0OU*q0Nf%_4FQK&VtP7{M`$$!o@;ypA+lPQ+8(jJ zNu+!SL5DM2#nxv4&7b^=oB;xTA8__ZK?$|*7Y0#8-t9kO{a~YjV3p0+V+5JPB6BG- zL-%@4py|Ct2Mh}%SkS&3>rk4y57N+hPMM2{7~y4?VI7ScEBEH;b@=ESw~JIJl5AF= zDpJt?rsxBRc zR2B7;o?&Zn@+@-5%D%K3F5Ce;-|TrZ0nU3)MN`GCA1L(Vtb&P=m4QYXGg#!;DKjJB zVtv34C~mL;pho-g90*98Gpf*DstR$U(T!-mf_6$%t{mRq1;%jdEzjDHd;=i`ZR|@} ze|<;JLY(bss?(onj6Kq}f{11bdPdzaCs%c6Ou>Cg{Rslo1d-wZ07R-Tsv5f2eSGN0;-= zJg(BF<#M?S^u~k>X{~KXa4EA;^h?vQ^4yIuhkeUP8y>fHmncx3`A`ks-c)vCOG7I+ z{_@_+B$1QiM%sHGTCG>OUC$EJFrJluA%86G9CG@%tnlbRSmFBy$vL7bH{TqfFLxb; zxEUIz{iRsa$?K|#gntj+o8Lp%!ScB_{xXh7yENvT_$6f3_zgRA&Oradf$FNOyiyN< z*ujEp<+bZ1O1?XUwB)b~J(o4#99Vv_xPu$Lm1r9jBs@VA`I&+Xblxmy?PwdByCX2y z2jDq28xL!woU6wAl(?rlrVgT703AUf^v9K&SM9~Dwn-J60Oo6|Gaa0%qu@Xd4vDSa zN_R7Fq#;u5OwR6sbafg0VfO5LHrYr?#5f^l3TXD#CfT7$`)6*JFj^NL<@B`qn z5+3)qL32DYB829Q*A=6fn=rszT3X>nA>Bpww>dodJ;cg1;8EVEg=Yf2<)cn&@uhN0B! zYfaG-{>C$)(ZI|A{7Nb8tq_kz1@iri`E{H&{ee+p>;iFx$r*_aU!;h_ffK}kYtEiI zv5l|kB2(iC{|WtC46c)M7lW3XiMq46mY2=->Uy2(iCcJmCF7xh$@w4~4?9o-G)}-% z?Ku9_f0C8)B9M1WK~cZ#PN>n;(n7y*En}YoUZcLBhb4*7g4NWieJY4wpX_dWGZA%= z*!Aknsp`NRc$4~M2~3Y!ktP3a+P*7YYU+uQ+g(ScQ?Geij3||e;tLoIxcTbQ-_cLB zDjU*C^O%2t#@Z0sZ%qpU8aN@v&VI~HKu#z}qwHTpME`FlFpgugOWOE{?Qj*1P^)*S zYU;UwK(bifW4+a9T?-HHKD{dzb1-a9Wuodv~76i&p)Dlud&6y_^3Fi6;hjiobU$!z z)-lS_=M)y{pyVfGg9X3cP9!T@QC3ZjAY{lkD^cV%+AlK5dN~zU*Z+j}ADtQbp_3Kcufc(f5@WIonoG zr$a`8dH^`FSZ`^9%bAMKIvf202Vm3&BfXY84)ll6y|ovB^wj>eCKQ9-_7)7^SLxOO zwdLUWE|m3oT$4?OKGQP!yQj*0CQ=$s;<|@omL`r8w-%cV37R%p9JNNvVDzHuor{Bm z+xvlo+p~kShqXmr8Ew3R&)CYB^$Gr{rr+tW&uY!t?TZ6)S$_O-I)70UKMfvUG*F$6 z+NR9&QXr<)^dgf9uT{*FbdUT}|HPgPyyzqB3Ot`-dU+@!I8weNW$0fv_~acneaBda z>8pvhHE?Tsf76{@ao*H+du$H&7-|Oy-;dHY%M=tv-Pgz;6sX{hlkrYQcB}DeLM|S5 zO;X+vcI{zA39V!AXs*;O0)33qKYSxH7y0ie*ABJ++IENk^|lN94W+ysoxu2ajTg<;663AX?T+yM7?ppQ3|4>HaamhXh1 zR=)U|GKdHcf|`^UZ+xNE%~#MyqZcgJwHY>al zZ;1FytG+<4-QQ98QwxZlY5aB}f$MZCWKUQvDDdOL{*1PuUPFALY^ILW`WLD4=g3xl zB4Fz^fNZ^v8+~)KM3o^j?wWQ1sFgLiQV>9ker)T({)sf|-Q(09FgJGn-kcqm5ODHh zzt}Ht)E9$sd?Y}&j5TTejOR%dQGMyPt8Up}T#`jR;Gk24MB9n|Gl5{AfBV04JJ!hh zf8z97ZN??!mtc>By-ezdp;j4ra0I86LR&q>ZPg7{-n zwP7oOZtJgtj-n~nd9*CkuIbo4?eXfd;Tf{`!9_o~raW`E6Uo=@PyF9{uKECP2qL-UxnBImF|uIN&4ycRrv32 zOJaI)akk4W86;ZINmA>!MjdrA)>nJenN)H5i}Zh_;ldi?5J+D+gfcWxH~>dPX2MV| zb9^`WqIpEx62nFs_E!un^KV)EQYBH!v>g%SkiNmW^f9slu#QR=)+^La<^$fpHrlsh z@UeaH#4qnuK&QA8b22@|AI%TK-9$Qa;O=*b8jm0DuV@>uUxsl@Nq1t4TTu1v;?Lqe z$C)T}k}RYCiK>mI4G^kZu6g$p!30%FOWm^McBuozuE$Qk8aJx~q;@r}De%{E{4D!cct8DRt8ixJgYPi6beef@)F zoW+a~;=D#V#I-t0*H3as*x2OvI8aGYsND8&zqXWz$?;tHmj=4a#J{0phX0anafW$E z(Bw#!A6G^@^F%JgJ4~!;FroPyZxSje#MsqnadcWFa*qf+k5jTVWrBhLr;k6ik`4!S z;+OQN%ralJnKub{IJXS5m>Pk2Bx8;J)x+IJ;pWZ*?b3&2wX45_jD-IUGVY35d_)xFaXpJZx08D5lPHi|FyF;~sg)xEb*3^so`AHh5)B30^BoQ)&CMEd8V zJ99o#`XtkY((K!hpo-Kk9xu)8D7RZnc=b3wUL3)kR~yBX92EtXfhZ6i`{0sLQ;~_$ z4wQrkH52<`P>dL$VnF~SE(ezdRbB(|`KW@OBQQ-<*5jX6jg8uO#tm$Ll+L=dgeY6= z1z5ddLk0*VeLv76y31u`9&%E7^h4eIN=n&-_FIYw#K<+PQou*>93QbKCOXcwSqV9@ zTbQ0rrU-EeD`{e7s2PkDy}gE$7r9aF5!wyO?DOwxTE#YfUZW5PdYHC{Ves#kJI(2F z)GZ2t#<~*vIf>EYp;b&mf>M3-;g6}ylbjQWO3H1r=dlAl#ncpfj7 zC`bb-&MNyS^7H>pa<;5yusGWH(b@&}av9*(OQCEN!3v~b5sTn$#bAVc-c z!~pkpEl`hDEgDY4K=n9?BOq=rsZsbJKxviB@d@@_Ak5dmI0V@sm4B&6Udoho~^G*3DH?a8?#>AW&Q#oqY`7}GeVd>YSdQq*J zVL!CXTnIxI{||vFtn;bX;>bBDa$nyO#%n=<$6cJABKU|AD#@__62Ee=c&q5T!Ez8u_Fb;( zDO>Ct5F8{|>dozg-V1-qv;sj-(;nZaE87I_DggyL4}!U}ZNybK2Y+8$_Z^-_Rfh0J43cT#jX2+;>dWw)|9rza=XKDpMt)1pAUbTT2g!te355Z zMYzNa+nXBKrND0&RE?L@_16jkZ{m`%8w-l0`i>0|I3kV5+ftJl`e^zl{63vZ*=Q55 z9~gRgQ1cd9ZU(GTuZnJ9=Wi~Y@W8;vOvJ+o-$yl`L#nKw|6P?e>4o+`gqRIdKQgGy zSTmBe2PHCm%MAh&jQ`9bA_EHXFa`6FYG+gbOF|94d-5^#*j+hBB-_~`_6ITvC|XO_Cb?j{OwS?W6e?y z%;p(jgR#+in$cPD7_BQWH$u^utmT$OPG*$3uaK^1IBhP}ZsHtsn>*Lew88pEx3KCb)(0?hIP5e(1w z{K?g%^cJF<0C_r0qugo&a!m#|(g!|t(kwJ8a}HcLov_3W@H_G^*AR~b%%dL}f!5pp|4!iO{2OKd!a^|d! zPHCfeXpGc+Fl=aAlA%lRbAKLI12F){H7V$WfT!3WmM-V5^}odFw{FY7QpL?j7xi6z zuXswX#795N=6=;i@iJAnKmIPMk{QP(1HaMGP1p?CF<2L#jfi+&Z6B`bezAjSGYU8#5vaNr^_T8VuU?>$u6teaWIbp+Ecu@GV*mR1%306Yo)cSr zGc*TPXfJ)}DHZ8ey$&V6Eg#Et)fj-}4*l_m(`&@=@10(tx#q&%#)lie#^KuK?W1A^ zukAIKr+>dahm(vySLMWRW`YIDr6-aUO;ArA2R%P_snLKfeS+9_`I1ZXBnr#3+5oFs z5oLHc6Y+qPrdeZAZk=X-M@^CY>`BIp{%@PXG|G|WSj{2{7g{1nb!f%RMFI+D*&OLYbYyp0#TXXqEqVmsCSyR_)Gtm?L>e(b}Ju+HA z7>jd?MX64;dGQX}=>7Uq=>cMn2&zra52)Yxkuad@@^O$eKJ>}CKG4zh>zqzG6VIvQ zMT8v-0z+J_DjY9pY%T{drT{52Pz9x(Dcau4h@ulhdhsFslwrB5^J9y3TRzyaw#H&@t*u} ze`*1c`##yS-0ueKe*k>a165gn0Y3k?+}Ie0QI)kDEq^eIIzAp=D+>p*dAAADFhjFa zRftNFf>6bAyI`nkoDaq2bYhdRpP0qupYRE`U4D%}r`5bAY37JlOBz1?wOBUIqVbHc z&Nly-;^;7yI8oLY5;j&+#lE%>W*duX7qq`Rs`b_~AnB>#ZjUn@@-lP-&|%IYdnYlw z(|5RPbH0+6c`7_;7;=n^-T04;RUsVuKcCeRw>q{(YOS)5GQsmHuEw? zjT1_pV{)Y%C*Sh0#uz+D=F2pEGF+BfMf36jEeF=iN0SAWz|I97>AI0yh*^(yubi#g zX&+h(N2BK5UL%W{FhcL9#ySQ$t^LvB@|xr%84!}TK7DmxfAamC)UKG85|yuRjCLP4 zJYZ_q3F|UNp7!7Kc#P0GZ@kP3xhx6_%A5aoY##a8oT%~#5gM@6t|HRvDg!j%1xrX- z7Qo8tFKacNf@Gb0eExw6riK&B29P~ZYuBIn*iy7WvRSts`Hq5nh?rTA?oiATS#Y7I z=8;>&-a~M$$!jenN#E2->$3ScZ>}p#Lon7O9$2#EMVfXyJ^(Hn2Ojea@_t`lcl%`Z zHbmuZyjwjlC-~vA7+VOXZ+~=4NwLD_(cA~6`4Qnn4F8iVAqob;CrSU(6%kmldhV%U zl1_6_g|YPzvjy3&9p3<0&_E=lAPdHeSq=$_)!E_!tb2#(g6GI|O+0D$E{ScCqXDeU zBL5e&``2TG#sTIZC0SPfD6ckkW_iArZT0O{=nqsmC0}_Pj@)?X&pI3Nwm>xR)GqP# zNB+oeEyiRt|KU)c?LIe`6kF`vrY_L^pfz@V%gmBQA)-&Y&e7O(m)K}?Goa}fBG&XO zOP0ZVslCr7h3fRf^`=(c1MAzP+(q7{Y#c1etg z>7K|vLXlh1OjGMou(H7YP$vRH`y19NTx%dqjZ=|x2&hO|)867c~UE3P*{6XH5R4)IlAda1jPkA$9yX;Re{+MVqA zF*yY@IW}m-l%cyF7bj7Rtb9z!@0G!sI=i^a#4s(qsp-AlEWtU1atc9w&Y$sGhnbVW zsy^=^dGu)l?5eR(G84$=%oiS8^-3^foWln}z11N@WpnUdP;VJ1zN9`JoBIhTyO)6C`%= zGDEnVQG%jQMT5!EET#Xw=r%TKMpumHZQEcv@F^!@nIZr01fRE3UOuaR#Si++vyJy( z_iSqbhvso|8LP(}Hf+AKKsla-5HSp1K_d{zdm8l_DaXFSjQ`WtSfka2Hzgeq1a3O# zCwX~~F*pI+TBo~wq^{5JPtVVF*P0_nwfSnm|84$CgU;=*GW+Z7=l!rVn^eR4dK=kZ zy|cB})l)vfLh+eCPw^V6?3CO%xlw81H(8h)7T+|SS-=BYzs7~?d+fpu9t%^0X5z|Z zL;jmlWm3C=KS)AzJK3k*6aC%qQ_-PLJYrCe&d;7&q(s_WjcJ5mECOM943%?9rDMO*_5Nv^b_9walV=y(n}kJ4z{2H z{?oVT@{Af!KD=7vs}lcQwlmH2O8e5|t34DBU}KJ(48c_ciEB{lzhK2@&cVb45G0{0 zhED>zeW(}G+9-K^$$FO|w6V6fBCb5FXn@8cNBUT&VY~FNF=6+jzkocwVf_+5*U)ZX zYjKP^)W4#9da86`vwM9lL(GDN`J!_06hDJXb}lFzde4>23H zVXuStmiJ&*evlYbLRE&Z97d^hVdXLzL z-*sQ9UcV7Kgn%PeoUF#j3m1gW^mBC@Ez)Nq3|oE;&~JYPm9D7JZ);dCj_nZM_>GX! z?|ojA&&AKt$-I4fKnwC#g45d>>KfIDzalbWlMUj@D&!2)@}M_%&#T_4e4r^Rgw6I* zchg$(Lwi-tx@4WQa+$IU^KM zNDb85&hp+QISx&K_d=xBm~~DUQI`hvn1ANe)KP8t*mxzby5QV-J!ZUZy6lsMgNzh! zOLl@&rp&nodu7jDPU*Fj3nLFPZ`V%#JG&Q9w4<#v9WdbU>(1sKHgA3Ux8ba>L^LbS z*Po8s@o@y_H6mmq!yqO+n$fE*Po6jbDkE;S{ti3?*NPo!SjMV(8~O0Eh=g79Hn;im zEoQ;mSy2g@#x!bI7<&i-m-Al9B7p4=cN$&yo$8)ke2r!@Fp~EJc^XJYo$%`~mL5>4 znM`m7o17*Tp-i@ca<;#h+U;bbGZtuGL>iX9ck%a{hZ`1^!S{StW5)aw`A5D}m#-Nh zkh2{{m3pj+IPQ^Unk@5JQjuC5P^ng2j!L+-Ov&Ae@IM2VYhLJ~PGz;@LA|hqYs-}A zbE_O~DK>c1Q)M78#hFtTA#*Bw8%*C(9|Q+(HgNk@9U^8*Vl}=ibewlCm zzCI$ETpsbf4?N|9FN!4X2D|6{3d~cmJ>xXK$1M5OIxz=2eA=||p}*E$u|>=cdobBg zF#v+|+zQwlIe>nl&)$v1?kWt|irZm;OXtabSufwty8jkcHldk(UBYXr%Of%IVOO?b z`~M%pxS1n3JnE&pemBw#Dh>*_#aSfi-MOjVuRKZsOzF^Wyv4zGXSa>C$U``f2z^i< zjhoX#+nzMhF)DldoK&;_5?Ku)Uik_H!2cq)rw!tfiGLO#3khwI6l)cfbQt~EGOP$$ z|F$YP-1x-_WXo;7pNI#Q=tLxAyR5j>65%^|9eNN5-5Kp}JkA%>0n6ZT zt}o1)gKtDnZ?#G8gCf0m+>)C{+w zo3qcZQUe#n7uuyeVo_ilSj^daRgUr|A}FBTveM&y5%~maXob`jjIYWz8ZC!L9pxwy z&WkDFChdL&MeU2S*J38w`c>&=YruN%52~0Id3;vqL%@>_;WIyavi}RBIJx{*C0ZeC zl3_o&9{UCk4#My&SLyga(O;BZ^OOmc+o$inw~KWZpIqu^{n>%gh^6fbZ!B0Sm>QP!jhGo`?1(!PYbLQi{PKs@ zexl2JgIAQfVf!z*nq0(;kmgB^#d#n!k`#39wX#Spx=-FW;aLbk#viul4^x=(fF!#! zSv4w1=5`fm&N$-Hyr1y7Ka0LUp>-BGCYKT*BdxfI`bwwN;c|+28gsjZ1Ww_t#Y>;KO#**KdmfO$7WLqn)BxIPBC50&2}8@!gkddi?78JDaesiZ}6 z315;EV_An_M4fZI(F5P3ET?$-5iO;Zbsvl}cnvO^8LMTy5{Tf?b&7ceJC({Jkyc zTMe{8HuvoKf_BcIT7Y0o8p|_Qog2^FB*{0iQ*E;c64S>c>2ooYELYxivi#Q`Sfifo zro<2PO6IQchXeyJ9fH7Q0h@I~lrS5%N7gEnQD>Ei#(pbN=!}~noH7@tN@evx`Lzz} zA?oFgXgMwzODzp+FSsP8<$-hd&L@u>c(|WI1aw+N|A~fw#|Xw}alKWKuwbkhlm(>* z?CTvKFKHKN_c`Oe#FrCq=Bcrx8OrG0gzya>3PAnaUuQ;98l)24&V$@!XTPRQ>pk$O z)tAQFTChS_>`w=+Fs{>RCDleRek5%d+HN8MNq#_Y9_60M9a6?7vi*~1ES zfR$7OB53q0Zb=s>?d(yb4?w+ai$0ntb9Cwnm)i@C4sg8pq1quhelZ}26^>0Yy~R*HvE2RaxVRn3@KHxD7Wi;-!s%|JvLFrh`=2%j+M z4XKR$z~sOZ^^>g#f04J^Aro00Msz{!JIk6P#*bpM}}_~R|kYku^~VcPkq^r2S({xbQ^u|)>zKwzuOuf-9V{vG|5?77V(Hueak znG61uCNKfgfY^&|tBtOp+L>seXfkL9*aAowjkGffggFd&FyIUXC^lkRsnu@24(c~u zqisVz6`1y{gDz3kK!qhQVE^7vti6{yE8M$acy4|^%Xb=fjHyvCx2bz94bJB~Vf_AL zQcSX>Cura#Ey((#Z}=q4tn*rjGF!K<{#VNljR=ZqR%IgQ2{guMz(1K6Kh^mB)|xS(g}V(*x>$R zg7@Omt{gXw2&V)Kcn#Qf-;|BWb@8<#*iz zVZ2Xu#(~e=MhedXBwK?d;$(w01A&KgxI2VTrcv?Naa_m`ThsYiN>ySN!vNg&6`-F5 z9OUXur0Jg5FS*W~;X(}6TNzOuSmPef2ZBcRNOl%^RM;48!;Yom`TA^=uLljOzhYXbUplst!=Z7xYg&FHTx%CA~{bnh^5I z3Z>x6XJ25`_WqyEe&no$uT@wo(cY8fCPyLNt4qX~CyPf^q#mih9U})CZJ``@{b1R? z_YUG@s#P`)cqrPSmgNq!Dv6Ia>-&u`aU5}|?Ro72#$6Mc$FSQoh0`IM>vh<;OxzTv z21Ir=!;`YH^uMtubT@ozFxj&!YJ*C{B4PxIp>eC{UBuPfDm$HhO)R4MPKRSv2?RQf8Gf;< z59}H&b&6iMn}zwk*OcN=ZR#SY(%>1T2O`y#1?AG(*cTtGlpZbNybwz`DPS0SrT|N3PUxUL*9)8GR0I7f(c-JG-%UtoS8QO4H)V z+&5O_#^2`i2js@^vFc=l3RtioqBx4kEA`{%xpe0YmSZ_W5xV&A<`PA(e+TgPcg13? zpJfX%*9G_o0Y;^5uA(=)rGB~;wJ-ozD@Xg(1C1_FM~csbpE2e7%RLG);3M1gmeOut zMojgw+J}&jA&kCMT!BfAquvtq+HnS!(ynkw+~4*xf_H z&E16NPO3pae*4xB)ARm05euz!Gm_W3YFqAksdLOWS|Q<}>kewZsa+ASKeu=o#G#p_}u~lrU$h;6cX`Sh8hK6z9BOZdZHP z@(x*d8Z3;woIJROHG=)0rDX?HvQ!R#%ncm9${ek$y6MA#A*53D-(g#hk=CL6@O?&?oO|SRY zo9>j(g~|od){G$Lh`u&3D?gCePDJCs*84dSAUR2;i4rm;^Z`UpWeQDqx8^$RFZo(; zB&3u{z3dH0+L%jmA-lM9Vee|$I6Da}X+_)}{8qb$su~#n(n`;ZcoI-m%+U=9nOH(z z=s&OMV)f$M@`*xAyqqIrjH?djIWL-Lx~bPFUK}c=Xz5qmBl9Nj&*Zf9rh9W#QIlTSrCgjW9bgcc z{Bn`1zegxcd2u--il?8B-%4AFMffqAeWJam;D}MXN)`Fd3#(7K$<|8gMX~pLV|Ne9 zAy7i|6tAQ{CFVFm_eaf|D`fRcaEBTv3*)UI#F*Zsti0)vO^&{j5G~)z43o;sM2#B6 zjBb2PdS&{CgvB?`|IBw4Z5QZglC2M@CmF@VsG{meN@;?72-Q}4Kxv|C-qJquKIHoF zoJQf88v5X)9$C?6JNw-aXp)OK0iy27C_(`Z+Jl^5#)P zsoH&Q2?w^DF)g|!(}knjWjYO_B8?{mgwBWSet;}bvd@G$19s>NfynY1GrLZ$C$Ar6 z`5MUZH(k=aauK`0EV7BF1ctvBg6(sGu9gj2eTGC}_-mXu_1mj8JqxY2IuqKoXv7OP zDOn45X(|0#AQbU!-jrNxOrA$`{wjBU^Zjy2?5`pf1+^ZQ6sJnMN>w$xDJ$A(5zqKv z+_0I(QWW1BR_uJ^eo4!PAKfR9TF{cFIkL-m9&$fIXC3t*Kec=IhonzBI5&ys>vL# z#7^uUDyV=yP4mY-O)@SEOs!>k;32?{xYkV`;b%h%e>N8-0$r5Q2`Jm#^r zJXtMdO3BuBkn;fI8LOL}(-?pHGruwXOJfih znC1F69bpa2#tpRt3NlbkFa?5JO4J-{`?KH@!GgO+j?ifyS3S~rt!sODL3?a zF0-m0z>pK)Wg7YG+X77XhatiNI*gy_jG}W|9pohyp`hU?xo2-pw$nr@) zca>q*l-Htn8q7YD6l?;1Pv8JXkoj}Hg?t(dfQy-x8ZIwYao?x8FYOfRY>~)tAFzpy z(uZ^JXSYCWka}n1$yP6V+0reHBrw-D&?)ruZ3|@q36Hr196zaW8!wt@Xr9|~H~A=) z)iSt=-%05)J;talGwDbIG%^F*nr6(20!lq06qQ}cbCi9>yq?M325s%~%_YG{V+ zx0MFdhE<>n6o(fpc&+T^51lVm*LogtognP^;XIh*VJ)~(CE+@SxH^!o>Rc+I8 zvD;!a=D)eiD`igYS-9I)e9qhwId(I4x=k67fDO(XFIu;}!HQEO*D?`w6tAhQVb0ux zcT7{;owq@tHaekdQLz%}cDxfg%dXEOG_xW5dLzg)^$tojRJY4~Eb;@+qpzRs?zp{r~7z_4pD_#PY+auq5uX|APYw&|Lcgfjw{ zwO*S9(^>-j=?AXkvx3_Cz#+byfZ`YvLMVo(l)#)|B`b-Ki|?QUJn)z;;;GVSTug{J zj~;l5z>w88nPVLyQfr-ekpae}g~EP~>M4bKp{eiS(PzS8G!31cH>3@D&n(p)( z?D3*#hkjcaCb!-E5LThYg59_Ln1y+i*N!}v=stmU&kdWH_xZKDI`Tju{B?=5gP&%S ztR$X_n6}v^4VF;T6Pp_1Nw3m)&kD!YbG1z^Tt1$1)9qyJ0u?UkDEpVY>FCBsP3ns% zqZGAn*=Vcfsa=%O{U$Ke9;2^x06EY$Z|0-HL72p^deqhJ#L5bK-FF^a9P`zOJjWk4 zMahq9nz|KDcXKKC*^2G1xP|ZfaWiZ(9VNp^v|d!aH3Bc$Soh0q63-HD5E!~%rYCpN z87J>+RFzvEXWFJuWV|zD+qWgX>w!N=Qcp$3pX#I%Cn%D65-TfQoo*$uUr(@xt6JGv z(}fm-4mKi#63%67`mz6FSUCgZC7ex44cF#-8dkKSp0_u)T=(^YEh8SW_RDRkuW`n8 z$P+i3_{B=bpMbegn9BFUQL|`&MZA)zF{w|JVXv~v7PnoNP11EF-LoVX^#qE%Frg{0 zG1@3TlM|?&1!zC~e>d^0&0kbPOrUa@0SS!mhy0K;a37}NXx zD2IJXW|nIH#V4x%Lww8FYs^oy{6ji z0i+_`BKL&%rM(cE0}ZZ=f`6||h(7#q54$Wyfh;EXH@aiF?WMvaZ1tLBOU}LZCmXoQ zCCYk-Rmu3CJHJP>CK_cn~aUG1` z)1-bn$zS0Qw||-*>Wf|AOw2Rc<#lYA+jkk2o2|dV9q;*NQBzHI?`st-Km9B#w_*L= zRI~9`5=YiMd{W7a7uXBJ^7OTi3enwsA6&Se&4iWW6b$8WCQ%K`$Oz}CH4N2Rts=+r z?242f!%u^GJC`N_rsk3b<0u@gKN%hHw)f1aN4DsD<0ZFDrQw&2N`!&_ngP#zIv}>b z!1_z+w;R`sE`e(J+#H!u;^q&{N|8tMU7OWgQB81iE#VKX4<~2k0&llJy6C6#9q`AG zS+&M{xSSU~B3rau5{k}*0C&8FuOoClV}3jdKs^L|D~+BfN?>`MLK|b zxgghd=Qe2rh zl$GZvOhb5N-6*#G46s*8v{=dIIcCk-89LbDMwj@K!0z20Oo$dF<%=w@&&acC%Hl3D z-5K%+o@-!LimHLO-h;MiSoto0mGmIoq_4o_?pd-QwXwt;`*_TX!oRWWoRj?R98%XkpDZESSgFssO?GKsPwF4t&LU&r4vtoNsE zFzs3eT#s0p@YeoigUnUz%`_sp8TMI$lZkzBZUD7ISZA%wI&l$mfkq~e?e3CqL{ymSlxY-n{Z4~#-?s0;u zNhMUC*zg;w9&2w@+x|5DST*a(h@fvyuEO{~(NIdv=fDN+VW4^k3p%KO!Z^1Q>jPE9gBK4){k+e#ycC}30 zZ>gK!XKugnX=Eu|t+ZX;T0`2qxGD3Z!&?H#-Rr6fO&N{z^hkk>~}qh2v!$a<$U?k4bjXu|OFk(Nd`dXA|e?2C$E;ZBXB+=Y@lp$9iW{M-U7 zW6f(sgR8=)y!clgIe^%u@*D_TYmjA0Z9|$W6TzGEP|j;h{Qlxt&;~Y@w`qv*K~vqj z2jy4);JR;Z!#VDcC&{8P9sH)g9mT8TsGRj%7}IZO66L?d^)Suoe{z@TTN-bx zCBjoTC``B&UzIkPv?7_Q)G$%+_y(Q)-+K+*x2I^T1v7kEXAa`GDQW*P!ysT`d}kBo zYAg|ltrA*yF3fY_n+)SdY!?nw!4d>|PEwtZaaupY!x&kwM?SvC7w$REv$wR0969MG zZuuQev7W1Sf0NN6Vw#{Zi7al9ST!)1RdN01t3BtTk^~kzg%*wfR^&x7lyO4@wOyd2 zNpaetz?~6y38o}Ys_vp=v2svCjbaTNy3|v$ta0~ezjuHA8$o03OYf%%3wPOAKNrCr zUS2G^U~osUmp=zN!MDLE>As@P)lin80X4`E8EEzdJb6lwM*FJ(^0hy7e=I=vAH~zs z`oNl~Zw}cqyS;71k4GK6^e=14wzUTJH#?}JKuPhZFe1`gHPb$Ng_5?vv~pRMRk8b> zo4iwwjJ?U}=8<7;wSo=T4ADE^kpJ?SYPi%RnSn!v>g}l3Rnu+ie0JZ)2+E}=uRXfS zA^B$ALrp1EkLvEK-7bJ&ikk3i0QwaVxlQV;Uq5zUj7i%V_O=U$-y#W2%gqLy)Dq0s zdQOo1vS-71Hp$SCe7k|#SSa|@weuh_B)Ok1@6w_u*J<vZf&Q zS?T)CCpYtlye(q>Uj#cGp4zb$kFRQa-vsZIY3&-!6@NE-$lMI4Z-WJjcMg$o(`H)SCMtyZxj9N$d|r`z1*N|fi|myg5J5$ ztZz9kjBHxRWvZo3;Ilrfap;{WtR|OM-|dO;zV92TtPOnAWIFk+iJelu_4-L1Kax;V z{!^W|L;F=Jq%Vpk0=E(_(RF~20@c8bW$iG*9GND+vc$wD?5=YS$y0iN8AOKr_5H#| zSF*RSWm!mD#Wcuk$s7*jv#Ayn!;-FjtW7lD6hyPhP7ax8JcErZIukErN92o=Bt_j3 zvFuB*zbJ)Z*;q!n1c$U-bs%iyCfKjb3HsvTb{qv8T~lDBp8s?aDi7$jw`X?tJ_|jP zVS15k1rlnKO~M6)$|h@))UFA!6IUjRsa0>MgEZM&1Ph+$IC_Ugln1e&XK#`2TDJ`!{^HA$>lm>cy4tCBl*qHT zNmAJ_l7_w})EKqpKY5pAgD$>mzb2Y_~eIAwm1lPFB7{wB7`b^#|K})wZgj#KqciNx>U?GDH z?p$kUI$tg*N$971kx2UTf!$7);WfKNH|~M+T`w2*BtSy2Ct^VxCWXT4CT6t)nf6_e z(@^^|uKEd}zymFL=;FKuQQAH#K30|k9dm0XVw#W(LE_LpMtT!a!hpk_x0l-@aHLfh z<3X6d-KU@sb3S1bF)J#SR=5TGp{?wA(bd=4y<{wx3j5`&V&4jh zAnX>T;u_DB7Mqy{<7fi0eEgnPr%LggA69qeOsQBYHspk+>CpT(OAEL-ObM8l#mMOw zWDP>*R23o02cq7SPQNJZt=1|KW8-b9xA(#O{!5pTBx;YLjA8I|w3J|wL}RER zGxTL(&no(IYZ^z$u>v}myI~L(Sq5CA#I!FYCL&~nO{aSBOJ|diLeHxY+%|G>*tTg8 z4h?kOz#MWzIsE5@&j&BHXwe$b*H<=7Ag6l9mppH;O*fg-hnk2dB&Pv}@zd27;JJ3y z$AL->;-;vPZK88HGIq0EM8BL!j#_oIxMjRWLQ@AkN$s-!7b5CPNmccUi7aEc~TLLBBaLB3pUs9DoNe1 z&7UkQr%ozmoXqx-!Mm*is5mW|SPui;B7)GD5cgwGbLF zVWm%4L{Z3+{$+h;8Y{II(09)L&Ae7rpu_1!W*6h!%^5zOhw| zaS4Bb`$RmT1s1!J8@swKiU^{gp~Eea#_HLuve8bsS}%S+s7Yv1Ay6iqksCxbtV^OT zH|Agd?UOFuQDRT^n1UR-D*>!0PZFwzm*C>C#y;^i^O1FWQ5d9XzJiH-bYtgK8e*5f z`f6%shr+k?`MqoG-GRRCr+A)7(t+#a2&apw7o6BbiIaFd26*^QE@f z0h!@*$qeIvf`4DJ|BaFbUA3&ZXUh>03z~Vb## zX28Z&;YTey35=~51*}Xm%#`=z{D_&$E+fzE0lsL7NwRfj;j>wf06a2U?d6J)Jj%%Z zd_6uft`*Bdz-RcdMndlV?|YNe9yc=oy!B2rZp}75yvEgp*o}jJrL0 z8Gg`P4XN5&SQwxOR|z8*!Xn2nPY3hzb&Y_v-*M*AW6e<|MmT}`cTWuetNnWkZ=vG= z>b|xG+_pW*H)o;wn>sZRv^n6ynYl)6$*Gi_LBI4`7r>h6$u!c)nIYp5W=cVMH^X}; zpSdKd$isBLqe#IT3(b4h*}0;U!mMM?+R5Ty{RTQ?xTDR)jnlrTxdS_ z1ToX7(3WB))7N9gJ`Atgt7xG)NxdmKHu(tZ)bu5u;6o4VKaYWsY^X*v_4>1wgw@EO zzPWVHZedHNn+!Hq4z~sz_&?*A)$Wi9eZ_v5Ot$CFkL^12(oQ#NMNe+t2suvNbAjEo z&j+C%Usj}RlY=KKo(v=}(TijTFst#uRId)aioM+~KM{cNlimFe8uxc7pAz#HFXeFC z^HMT>u{xyML`TE|{X8EpMS68EQ}k42b4QwEdaZd3dPO3eMOw4ODRq)&M<==J!|-79 z?rBTa4x3N|lk$VAH0#i!v5R*=AsfaxDo5bd6P@QT_QYU=#(I|WACFknov>qt$&w$3 zD;b!|iw(%B(RiK0l`Gg6S7N8+%2;=B{-_QsP%l#t6yXCQ*UXK z0q@~!64%_OPm^)A*~;Jo1LX<2#KMCPqggG7B0~Bo{vp#LZ-L_Ypg5_$O?mUZ>t65X zvCsZA*{41TO4lF1WNk8PZVSzN8l%2gfRe6@;{9tatZK(&K@q*iH& zsFUtJZ`+0vl-B8>JRc`_h=qAT5|vOkNQP%(hG!pOx>%@~Rl428dDd8wrEMw@5^6MW zL;3}trO{fZD(y5g;p~$<0u$YB`o+Mp*1qKlAR}*gbkyL2u<9g|AENI2jccXs&K)BR zz}rt(Vb|p5LHhweuK|E-XZ!$6-t++k)*>Y?LaPviDQkWIR(fjXRZYkIuB&^#eda3% zi{LNqZHp_0;?}NJ@z|Qnz$=WAc#C9E#a??DU7{?L`EH${vW*U>k;8%sU1f@<8<2}) z{7g{Ch^{!fR$-}o_7bLiAVdy4%%7mx)t9#RXQYK@f+@>Jv@x#9rV`ttwsnRQ@ z&n9Qyj+2#+wD9DBXS-UM$^fXJA%q(l{FF&uCS26y(gH$HZKzlW=_QkZ+!B;ji`V6! zunA_0=eJX~J>|5P<(Qu@cQBM3xNcB=dbb|B8%j_;{ zn*B!4+tn39B8q1IboYiYvd}mkuFA~|QrVYIXWcc>L@iUk zHUBmq7=pJ;TMK&s+md{eR9Cj7_X%BD5TVar*Y|*qBMrqsEAQ=uWky`w(Hw(eVpsfU z9Vbm2Ml$e$V5ZqL{u|nW>`9MqwFtm+5Y;JuiY^&RBivskCbMCbfurvsufo_2AIFHT zjWo*1b{@APVf`0<>Clc2Iuc(V^qv;X5RAvKrup)Qd$%oKe3wOHOb6~kFlK4bqF=qq zpBbLJ7(J6Yv&|>n{PX_A?y57kv7u_k0boVx%MoWe=)0HQal&-e2{H&Ciim@V)K5kW zP?!H^8v5iIF3~UT{Lnwca4(3^7F=|nqxzAaXIgqE;8&Tn@yN7x<*?slXuuL#;l9G% zx~t6v%&$L7N5Wc-3Hhrm4G{*Me)5e>!?8{v3-ilfuFJM?qIS~nBH%iav=SL!gbFGR zY4@d34hlx%GifdGrIxh!8EVC16aJV09!AO7;Ej;k&9Mz=)yyPc>e>fkTfiij8|s$E zGzx5zLhJ$9k2*PHNk;6l$!GM{i)TdC%34t=s~X?Sb-04QR;{YWfcdC@GsuNLGBY-E zxfFv=+&9OzMK!w>#3Ofl*ncU@oDP)lRq5u};N}8X?pKLg%~J9<)~5*5TOh})C{*r_ z9g11g4@p|}z9!}6-Y}@cPoQfBe0Kh%`FvZHM5%%l%sccU!mC5%G+JrARn)ET0&W|{ zj~fXDdE07*ibd643>CE?FONeUkH&3WxhBGs=+$>6+zH-a0r7ST26z%F@1h|*puWJO z*dQ`AyWdxx6i1ZbfU>C+QI0=JaT5V=f!5d=$2PrvX~-10>CqWt_iB^bZ+QLqqdg2a z*KGW?_4=K3o(cdc{uQW-L@g@1d^@zymB+#n;C1AIJ~T3k4Tyqqm2)=z`EB6Q#bZ;j zS`G}5#l4bMXU)UlYa^%Bt}6a!r%9N_A)9bQW>rtcs%~x~QCnI&1R+=bwL$GiEoU=!&PLzs?ny*cPQ;F>76#pXAV<1JxU z^;oJGVIz0e@jT~lE7$2(fWecr=M8{r2TE?00B9`G)U@%1vPHv4Jzd|{IL1`cuIOpo zC>rPJ#n%FRYn+A8=mK|M16TE$im|UY3)GZo6+40B80IS6X<10%-(`*rD8K0h0839$ z3&S1S`v}zHF7}2SuuM~l>ZD#;J1`rVp_+B|{zupJ7IW=A9#~@YW|mz7!fPxVG&*Hn z=CMy_E@AG!61Dbv_zib$A=G>3<-6%?1w?Atm~RM$m7173(~SdEoZ?sV1;#2`q+|JL z+m_JT!^)I6EnUrjJMyv5OCN@`nz?nFFFj}6Fwa>3GaJj8+x2NAvB4_t7G~UBq><-; zp2QlUad||RrvnP|7d9ptz`V*1t&x3v*sb+yUG%3qr^haRk1k>CTZE(RR6 z=sYd0P5P&${A_8L^TEI^PvBYf4U-Z8%#C(Pzb{N@ZS*U?KIg3QAG#gXJ0sWr7GOZ~ zuVT-%-tL1yYd-FdYx}-5!X++I#~9|AmXlXXKRj(&qDTGM?vrIPQdbiivbcdmlAp!fyX`wS?2L6asdH5q6RoVotJ@__tQQL=?8uDm;HnDm!w1I1|hRzp$AZrO*6>7 zUzkF#xezFBhI_QLk>u4~3+q~RN?j^Ox7=PHcXt+4c?}-hk*=gx$_LJRKof>4Pg@l< zk(U=M$nQJSQkwsW?oM}NZ^aTwF!e7n0s?a;hs6uvANm|$KL|LDUfey_PW+)-`~6rt{Slh^##VeLP}2K{b-mdE5AV($ z4dutrK|GQa?6OX&j_mQKx?H?1Ipp>@Yfk!leEh`#)3BnNc8EdkEPKE_TJ= z@ZQsrzS-d4KCQ{0OKgqJYP>@A{<_Ru9lr!iHRp)67YV1#%&pC`aIAE0fM5fCafTF! z5j`r6_bNL(JSpq3Bb$L2{TtM&wa*VaP~NEcO5B_gipd(7lr7D1>3c(^{aE~Z;r(C} zRmme=&z`2SZM&SfS37O6Da@S*x-&|n-BddW6T5TR5953~yqhi;3sax}6 zA4V!s*%8fz-7ZjQ71RNp%p8}x{=KzupzxIkG)5^pE`GvpB?WdOtYnsBXO$5yh(+Q0 zaju0KVO+oXGj0O&pi=|VtStMJ@(#&lqp1PTHYf*dpmX;W{<{MRpv={8PO8kp`LV}Q zr{^6e)alGM@jK+2m&?b+Xmx!GdtpyQz*c+m$R(#fsT?@&Yzz6uNk>aD2yPZ|lEi>|fH*!>e12aGB9-*39E-5Q75>ip9F@?raOr0U z#>Dc!6nI?><6z~`+VC*8t>8?H`=lk0Z^$Z_P(3;v&}UBrj_4 z=QPcr+q!>e|2{Iy)$1L}$4tU=PCmDX^Ht%OYO6f?pjJ3LGVWMIBx;O2&CB01UEeAi z;!(}Je;&?Gx9w{YQNlx6Uqf@V>~ErkNG$&jSAzav?^Tq71kqyQ=Z=Ak4m8yxlLrdb zpS%}K_z%+w1qG$*mj)IUyo5{8Nk2NyyMgy(=y&g^m=!DN-_Y-j+F2)Hmt_(i zkCGyGj(LeVRn};}uijd&jMr&&Ti;XuR(NQCm(V%S%aEG@wD!Op=^$_QtusnRaqZ!0@uoCP9ze>66I#Y}H(!DdrO3~IlqnWnO)h0H zoR8&sQe6#b#}zRD{Uak`Yo2z{W4*7*LkK|ArJ?7RK^X>LO5}5voCTR+9CAKhC;D4i(pfWvS04Q-7Qc%v2r{kRRAn16Ziw@jkKX2bjw3bUqrS+z+! za!D~gFwv9VCp^}D>rFXfZhlbc_Wf-`;Pe{zgc8{J7m=cnPOjaN2k+gbDeEpd6R8u# z@uMeM5J`oMqQ=*Yi?O9WZrVH0RPZPTZqiRRXha_Cr*<>xH(R0{Trh-4X$c0p?|urj z8uB1&wlfOT+lYV&5{Bkje~U^FDaDihO%-Q-kEb%yofA6p;`Nu)@%h7#$d+km+09Mo z!^&|JxQ7nD({s9UwB_9L_ha8M5v73l zzk3$+$7b@_-hQyY_=tDk9bwHZkmDqVd@8PAP0(5yNB})%9~e^>?^M?IKakTSHkz`V zUB2OP0DFv)4Jo%c}4Bs0zmvW3_#rhjy^lH%hM z&#Y7B4pch{iiTT+$%u#BB6j_?eG=)qPey#^F zyphv2ud+t^LMT#Vy#;JyBiFTz7+<<_ICVQGzw#YL$3Z-cZF!~&{vz^3qYo}%moDXQ z%y$}Td&4_&uKRYt4XMGx@3y%D#zV{VvS7sojjw2LnPOT_V@Kux{&`$o_Yx!VM^VIw zC;D^`2?#reKX(F*su%x!Xh2vjxZK`y(CEvQq1WBV8pQ!Ky2!>RQOXou(FXtQliXE4 z82bAgXe0I`q%)FW;!YY>IT5IUHrCo^9%sy+CQH9f#pRryTx6p}OdzY#nfeZC<);9` zA?Yf#KyP%eoA&L~<(|^Bvns)si=3==N5=3Kr1XI^YwS~!3vv)|( zUUQ+<)i6m|(#Z0%rK_;`5N*MmOdxA5?A(-2%&2*4}CER$l=F4&YV* literal 0 HcmV?d00001 diff --git a/client-export/textures/Card-Border.png b/client-export/textures/Card-Border.png new file mode 100644 index 0000000000000000000000000000000000000000..adeba15432cef74cd894d726a14732eeb3f83e17 GIT binary patch literal 2307 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 literal 0 HcmV?d00001 diff --git a/client-export/textures/ProgressBar-BG.png b/client-export/textures/ProgressBar-BG.png new file mode 100644 index 0000000000000000000000000000000000000000..6685bfd50a1ab772d6df11e023080680215b8fd0 GIT binary patch literal 394 zcmV;50d@X~P)REb}pEQ0Jtj;LE|$}e(Ry#dpKtw_WkAf`E-=7*@N*4K!J5TaPGdl!HqoV$Ke|) zXE#S5d}dE)>BpQ0fL}OY{vMU<-F_9$A-|QMv>zS-o@nm2TdCVR9k}glwTb$y+<=WS zF$Q*~wERkaSmy!gT=7O9=;hggdLRq*Vcc&Ny!mwdEr@lU@&c>&z#Cw`xB)7EenY-@ zKfD3v{-38?K<@&fdKSI%zV$Hv_oSJ4^M361d%^8WvT7#sJiIayKC3d3=i!x!@L83K zJP)r-gwLu>pJH!5;ts o0RR7apzOl{000I_L_t&o0F#4fDCOpF literal 0 HcmV?d00001 diff --git a/client-export/textures/ProgressBar-Fill.png b/client-export/textures/ProgressBar-Fill.png new file mode 100644 index 0000000000000000000000000000000000000000..446c09d7ff93c9d9ab611d27b85862106863e2f2 GIT binary patch literal 307 zcmV-30nGl1P)Aq4FsJI zD0qiBQo*t=ALQ;CIKP5_HG}0$g^%IAsk~oM-h{Q9?h@9=s;A^8@yC9M^EB}tZgytb z3f(s7dMrKbPcC>Peu!NQc3x;v_O;7?k*&W)Kg6#HL$3oWs}Bsl4rq6-v7cdCmk(;1 zfO>{yT|TJx5r!TI%eVdl00960pH^oV00006Nkl + + + + + + + + + + + + + + + + + + + + + +``` + +## Сноска + +Это плейсхолдеры на уровне «лучше, чем встроенные UI-Quickslot2». Если в +проекте есть художник — финальные текстуры стоит делать в этом же +визуальном словаре, чтобы Lua/XML менять не пришлось (только перерисовать +PNG того же размера и сконвертировать). diff --git a/client-export/textures/Section-Divider.png b/client-export/textures/Section-Divider.png new file mode 100644 index 0000000000000000000000000000000000000000..73c75bb93bd4370ce6bc2958459f5b1b4d0ff03d GIT binary patch literal 578 zcmV-I0=@l-P)J5FIZyG$0z30t$*K;sT&hQqa+G2d;n!QVa4fC?s(H@9K!2oj;(*ILicM=j=k9&es zA7nb1OEz+;ic_((y|GEy(O_C>nHtO`JGq2d6(`4gw}c%H!nzN?)Zv#{Z5;UFD-QfT z6BrGjx}WcF17P&>+|@ODceVdsFTd;z#1H0@om@h!3fI0H5_UB3HCFp;Hi58s!2#iR zz2eJq+*@m(9|Gn0%O4(Ulc;#C!CC;e_<{!qz{Z?%QX9-AJGq2d@er_7713a|krmzWQr0{JM=^yC`=0RR7QbS3Tp000I_L_t&o04;lbYR literal 0 HcmV?d00001 diff --git a/client-export/textures/StageBadge-Active.png b/client-export/textures/StageBadge-Active.png new file mode 100644 index 0000000000000000000000000000000000000000..8ef3ead390f7aad7bbe0039f4c88bf852dda0aa3 GIT binary patch literal 8103 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 literal 0 HcmV?d00001 diff --git a/client-export/textures/StageBadge-Locked.png b/client-export/textures/StageBadge-Locked.png new file mode 100644 index 0000000000000000000000000000000000000000..a3c4da06b43e4cc8d862b5d1ae584381810f5310 GIT binary patch literal 5722 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 M07*qoM6N<$f`hdDUjP6A literal 0 HcmV?d00001 diff --git a/client-export/textures/Top-Wave-Glow.png b/client-export/textures/Top-Wave-Glow.png new file mode 100644 index 0000000000000000000000000000000000000000..91b05ca6f9c90015786ff371252d3ccf5861d237 GIT binary patch literal 32373 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 literal 0 HcmV?d00001 diff --git a/client-export/textures/TypeIcon-Achievement.png b/client-export/textures/TypeIcon-Achievement.png new file mode 100644 index 0000000000000000000000000000000000000000..0cf1a2084f3be5e1e0a03bd0f886d00f8e1f310d GIT binary patch literal 5405 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 p00960jfTUI00006Nklf{zHf3TyHp#F* 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 literal 0 HcmV?d00001 diff --git a/client-export/textures/TypeIcon-Done.png b/client-export/textures/TypeIcon-Done.png new file mode 100644 index 0000000000000000000000000000000000000000..46dfc3492eddda2b543e259beae65e9d3e6ad848 GIT binary patch literal 4571 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ξpp5TC28Q@UqDqk^AX%bLb$~pYx>dY3U)d49qkec?6S!;hsC znU5tM{+=&Cgp)kHp7@HqUaNh6TWF2}5AU<`GzvP;<=xn5eFJ|lD~z;7BS<;qQC_Ax zKwjiNZrDj~`6)kgVl@)#>qx z&$L&X(*c|!SB>k~P%`2`c?7&jBY5XDno~nQY4JLJ@Cl5njWVmb)E^` zF1q}4Rhu763;YAdJkx#d#5|w&3x0UX+KXL2>AUFCVWY@%4xf{hYxx?Slhx;E!^K!B zkWSZwEXA@HsFMSHEE!VSkSnaE4#-+tQN-OK`dqExqNM5b5Pe3pn>eCFN9e$U_zs=Z z<7-ql`sF4WmLcOarmCzw@}t&}T8T!vxN?*`fNqtCV}$8h9;mQS59|I5ZkyV1d`}NX zqRY30vO)K})9!f6_w>9--t)tGGh=gerGNF|oNnusk#@?xjnm9L{%&XrQh5@;^6(pbW?JN5*SB*Lf> zVsCmo#Q}Nm`d#9|Mo~!hJcma?RFIsDOU47so}OU!!8uA3c(h#=$4Le?Ls=?MX}ZR! zKe;#Aa1T@J6bFF*1dAmg$yARBHyK5;iQKRq>L^M1aY|Kgr1V0vGS#uVEV6!B*XKqi z%1ERUVz0cN>HtM=0!-Fh0JrnP;Gn6q3P1^0w0004mNkl{Xnl&NHOeH=%$C{FD( zp1R?BG+2H1D(rmzj>5me6*`~~d*D;IU5jhBUy5J5Y8D$mvJM+ROo$R2$U81wiw&2q zBShEYyh}(4(L!7tZO%(+f$avLlk=oBS*;Dt*JH7!lWe4OtPtLz}xNBfdJ$|t0QxY)P@ms^^ft8q# z0U7q!NI>iz&-;8l6``D8!y2bHCt*Od)dZYz&g%8=JaTcK4ewgEI1j^#=(mPpe$zwx7W7-UJftgb z-k_^)*`TX$eOOoD_OPy5`>hu*yJptwI0Fbr0)W z1AYat5Bs|Edk^ahd|z?PgV1))%ZcGq=Km&fU2@}3WPB6)4e<3FexicwAJA7<+^c{5 z<{dis?{5)RnfW-7nV|`Y=bd-AEALFY$`PT6K}f;Kl#;3lbxb=+RTb(O$VFErRp>iC zj3IB+<0o`I*?krLRaN1GaeW{3SNMz`5_+Rz-sB*l5it-Sv4s&uw|P^eb$2|X*ysGq zHRNI$L$otg>^Zif)zQ0|Mr0;Ik+KADXUQEf#3}PeL}1s4&zM1w!1#1=HgYX0)v)fM=%+;>;1}6$QvDl~+ce<>HGYFYrWsA_l?AbWlf}=rW1Q zR2(qA!mxrS14qeV0g1uxV*)w+M43@b*uxfGFeY2T$ULGlho;OJ4v)SGx$rY@xSXjR z)I@}6@?t7(6_G^>C05i)Ngq7%0Nr`j+jRFeZ-=({*DK$uA6)TP-TtlRS_i&=`EuQ6 zTz0H(y==K|y>z*5EA&{cMQ_+<9sCczy< zuOF{EULQXBz!F!Aq~w^wu@W0REO8?%qyi1SwweHE(8+9*Z7vsgc59{~>)sthz5g#N zGrs+i>FW1)0xE~A$#`s4v?Fh`CZM0iDxBe@it1M>sbj6_TFCHa_xj~(IvWnDFy!tGlV@iACSL3?=)`zs>h6l9b z#wP*BU&EJ}KJ4?C_#T{$5U6+?SLPhbL{`er7Vvq{umIS>Av5?{6AmdJbn4lw^#Q(Iec%&o^cSX}P-N@gPrvcL z-WZQR`J=0K(uc3riQxQ;Z`b1+w+v3j?hB=g9S}(=fd~chBqJP~kJq+n8gZo&`l2R* zYM*_JnG-)VsTAVMQoztOcv;?YyKS^!r#V`%^IYw|^E~ao%RKF|>$ZCK9y{psXC1D! zmmaHi9Ejfs>n?`}YcKgTopI9sTDZ%$W!(Io=E~Uh>2tN~j&t;T^Tx`2gL5gQ2yT*m z78ryDFRrHGf4l?iHzHIrn^b6|RH$`T1>Xr_qQT2@RY{#r#TilYSq|XG_#V(1OWM+{ z2hAsVf46s+ZN{)S?cl%llduagt)Z%1?JD?aO>%ry5;Q=P|3zrl3-jUq&YXkFJX_+~ z3M-)ITd3@aVWY_ti4qA24k)Q4gdn#e0cntu3a!|J37vgt+7-xs_>-W- z$QE$iJ_}6C@rB)}mPU0rm=OO`B9NpYh*bDcm69qJWH}-<{jz?nN-F3;J5|{U+dzky ztA8ct@V7tPb;cM|RqUix5*ZPiekF7%C8ZQf;TR40B(=Jbu+c0RrlWhaEAGl0m=#}S z*woKkj2KNkDgjhc5;X?xRH^VDt6^7(HB>RU!oEtay=7Ph|1{((aReQPiDM;3*wS*@ z!G#@q8?l7e);pfx8zlM&&zTjH;VYrK-Ye+Ek9iXHgJGl|mk$xP^gjpo@Uf=qruxQky%nS(3`bl)WPg7-c2= zuF<_KN*=~wAJ%lB1>gp?_ny59(mM?LdNl?&xgL|GzM+xQG9zsgt`fiyy2 z)DAQv6j(X4Dc}*R1g#PaN!SG#Y*DJX!wz$`^V8;PryiaTHRjIg3>r`2x8HVb!hYwc z&y%q$ABVrU-CR|kQ&TU`o~on(RZ6OeEh303B)7!P(C90T?xM#ZrA|9Z6%=D2)ptB4wqAri8I{_DZ1nuICV(84EJhR#KJXNU23d}PSD>40 zmLj;*CbdtNv$H-XeP!k*3?;T@M56jYp+HU%5~~X^IbtTamG0gSV4O4UY?@|d9|RM; z?$67vnnquddNE4*!z&dc~Ku_=qp-S+BfE`yca9y7IdF+Ti*FdUTu@f%AEbwB6z( zF48j@x95^CX-|B7^xT`&?b^`ZO&p+8E ztu?QQe#dUm8`<)-s<`^RMeEs%w%5`F7V4D;FVs%Kf~%=F1eCZJ86 zvu7}jhshb0DHDt1H5a2^KPD3mRd#bIIstcW4vW$6H(C7=3(VY&aCgM^7Q!;G1ZgQzoO`x_J^sw7b^K{bk{dDAE z&y=gt~HkBh9UE6ly&^qo7 z`{?Ai?x&~mb5@r`)!nQou>1IVHos0CB4_NL%-DH) z?{P2GJKnsncHy0%_1@k+=T9H|B|;F6AvxUkCMl8}F{Dt9xY7uHt0t48Dh;%OvJTax zwKk8C3HIVk*X#7pen(>CMeL4J+B@zw|R&NEl)+pF&-_(uIJ z7`J%Q4m#y+`{_-~o}&)CX$w1H3)|c0K?`Y|gReUdMc?7I_{~Q>NAElCMOwV)jpMH&2-SmK*@&rZWC{j9t44xoTk*92R3 z0?%nM!^WR)(rKT*L7)BNTK()lHlvwre$74RRlm=6{zEO~*Wt}uYE58sSDUu9Sh(A^ z`oIY<(i@gNOCB@nL3#}TpZVf#I`y12di?QCa$;%{(y+5?$79~H!Z!uE?2d*VTPio` zY=ECN0rJXh?Age&#cWDuXktDwSAj5|H@DJPFI%ruKDJtG?|g)vqKT_YNiW`a*YZd# zIcO1wVg^mYIEUksmn_n0?>;~;e*SK}`%i|InP}}@kLo>VtEM$ch(0qX z;goqIh>k`l%?zNaw&}+BwTmR1MA9HQ+g(;|T3hBU=oZ?P?eAZH@A>iL zI_V>;^p#8Q)+Q=!SA8sC2fXV~pRW_aw){9UcV4A;ANvC2edWHso#`eH&5JL)Tkkq! zrPlxZ&*aCg=6oo-uT;EI&HN<}VrZ-@aY{{(%Fk_qJC>kjs%3m+&P6wA zAw96+37x?^z}cVsuDoF3)bljN(ew;63v&!nt8ac#HU0e{h*f(o+`hnk zUvC@Ro^bjKUA^XB&7D*6vB=!`^E@@re8b#bd>KtY9;o?@zHz*!<@qOF&QgDZX*5lf zr;3iu=xZ}sF1%@oc_x8SCgvL)@rig?u=oQ<=#fW%sXzbtYJKi2w`=1srv81exa-~A zcOHKOeE-MS=%o#S zuDk%*H(wj%?ca6vK|@8mRMx1=PH;R8?+p!)pGwjjvP4tHR=~L!m}Uk$YXVXPPY^Dk znz)b!XyixEdR7*>Daa^m1maTzwN(>Q;EiM&tr9(C7Z?7@2_Fvuv2HCZ!G8ER;pn zhAV;Im8hw9mlfAksY}((8(Xm1Vx7O}@Yz4kw>%$Y8~<~&tFc#c000C0NklceCPL8p)RLqh9BAYfke5zXQYRHTYq8wVDtiURlp_Yi1&y7a%mu*@w(uF>nYlCbm=}Bj=Tvxy>c4l*l7KP= z6XyvuMDGlDxtVvh>$*{d8duZk_r>as%jnU1>;_}TVXVe4vqb90+ZYvL)flz6fnQzk2YH1JzX$LIuj{Uy8NQE;^bYFp0IYh--TZyQPOH}PD3TIN?zqu%A< z42ykgemF)a!1hE&>jlvUQWip#BwyvE#lV%Qo2(jTi_C!rtYam0*&$8o?^4;;rj;jn zD(cGDP=n&PKG^@Yec;NewZ8Bq&eQ?3CS}e9(+0Z+J6h3MUwCds4=v;5 zD>!r7dE2{nEii+L9w5E8V7Kj*?>yzXJ#h+|nE-oCip& zX5+9u^e4uWMS2TZ{-)>alV>hr(Rn?$8Es|)227S5vZwZb*3NQH2Gj#=$c6VWuvOyk zavTm-)uYH2vj2M9ftok%RKYJp!8`v{bg*yxQ|Yr@CHN{~5AFG=dNeUHO|xCD{1Loq z&So=f0zB~46Ze13KV1FexNs0xAs758E}Wp|r{arOwX*4STu7gFrn93zSC97Ma7mg^9`Uqc0l{`IqfcouWZO^&Tnk`9tGGqaF^lRhD^-I1{wBt z6d;a`Gs)owWfkh97Zsd&j#!f5C=aH)WR=;L?BlhQ9f&A8fi%Y^4AmY-$>sAq|5l zd+(rWBz3G#B|36=^4_~=mA2F`lt_zIMZr6pMy+s#Zb&Ea<{pi)V=wqMT zsf(`Osf)j`Ll*sgqW7z)K)!U(?&kKp+Bltg`xIX-un`N92{Sf$75}M!yyP4D z!1>qf9e;JT=*qswfy!)JfH>|izUt1qlJ0UuC}Ja|U}Y&qHA0h?}g5Ie3Ee--25gXzowlE@fyKWtH-Syv6Jm_5) zYLkmJHqq{*V$ZP+t&aJ_G@{`IMQIYejTH~T5U0!=5y8AQ2z^jEsWQk7AM4|lwIfRE zilhV+1D;lz9q^M4yo@a_Y>8cFxn2NrX&;-4Aisc&kCY-{j_tS6*O=_(TkXmFY$uaiVJ!s?l-4 z`pU!#Ee3{)K>~%v9>akgexc2%CFaAXE?CnnFv&ck8ZS+mF&rLa>vHn@J}|kja-$|9 z#4RUNc~l~c5-McWl>#lwF2UCVPuDARx-K+f-o%vdSJ2Vr5uH}td32_eIX^+3Fu!A6 zH=k==ht1A5(U-2MmXdxea*#pcQQ%8B){uEv;zm|T32l0@d{g}fWph1!#L>B|EzQ}i znF3Q_lJc}7mCmEkiI(3t( z733AhQ$MH4Pl_hU9o?RQuB%G0wln5qm9biilDfF&sZN0}6t0v|1`aJ{Ob?CLuD$6v zV{h$T_7@Kd$}t+ycqgPpU7=XbP9SN{<5Rm4stBcu0xHiwIf(d`y4sTOpyZl!9B;=O z&k3ky&yAwAOOCkO?HhsE#<&{qq2^fJe&F}PKmxE@c42z)aO6t~=R{I6ppa>$(j6#K zNTRSK0%{a>wT_+Z;Jq7aQJ!&kcv3a#IRD+8B6r9W%N}RVgf$cB3Ygdy73iQ9xg&~^Kdvy?6O@l_TNNfdB?_C2fd#&3#{xaDFekAOcF1cSJe zC(bNNS7M|LRQQeroy?>b9ew11deUQ$Qda{MjdKh0rOMojzJN-U5EXO*N|jJ4A`;^A zyTEA4^I%5^{Mb7H+iAR%B5qI=Fr!>lYf&MY47#f+cj&Blk{!CPR=N8V_(@l^G8wT2 z`U}V2M}P9_Q}xQjI z94pB92Q9q_ck^*46PS)dB|+f4Knt{%LdQdvYc1;55y@LOL6_(XNmh9$tW2s-KjlcB z^TLPf-Un{c+Eq)@6CQJve&_5Hv~^227J|8xTGg?>qi7v`Ed{x%5<{s)6@5WhEJu-J z4f91Bbs+`N;)|(^2b;2-E@@6mTc}KZ-omTrvRONg2$?1b&_Pb1T`hXtqmI;zpMSg# z*ndTPU$qoH;)MI@_g;3Q_PggqwTubYc|s9^U1dJ7vOm*|!#Nrf?<@l1*8FO@gXh8~ z#CA4Ok1E>?W<&;26#Q2UG^7Hp;UJ4j36*MEatBP{C+-}Wbd|0Zo%u`0=+~cpTqdUl zm+hSR;B8ri``&wN+H&E#v?1lUKy24qDNu|+jws2O!W}3kl4aYF4r!3INpam@V@%}b57!z ztjI~E-H5d5rS`?P#5+&o@Y!$BhQ<)FdY*O4pARf;j->^_ry_97tU^_b`53DmwJ=sx z=5q14I}=qMe5L!9&b{zi$LS2Zzp_#{k6;rmZuEeo57HZ7`3N0-#QrL!s@A|RfEMhR zT2z^68s^c}D8v*Ag%pK{p~Y8OJj95%0F|Y%F12mS-L=YHaQ7`6_Oqr7tWGGvi=X!( zJ@K^r%e;P!>*ym6(C?moViuzW$;@HDF-9}SML^!0c3~PYM(zMBkQd#Ax@ZVJ4kJQQ zjG~C3<5Hp85ta)wK!)KqAH2moz2Zd=)9I%kp<0UW$aU0V`|A%l4#)r8!Pp8FVzGbI zT9Io}6cAEGr~pNg6pEleKua#qTsZ9WL~%J%aGa~Px4;130OnciG0MzDe->}u+UYef z{Y9P3XMHV8&9nCQ-TuCC-npm9-ydW@K)l@>bi^20v(DR<*jiHTdly3%-Af}3@n1+0 zq5KbuqzELc9AO$%UFeGLeZW?|?qw(G;k?O93H>CmgAdxG*PL~N9{=d0*a;>5$uShk zz9QIth5~gEQ%H=V(z1&w%Z90=o68hengY`RbjUE=@E!*T-D^dE_==PD(Bpna5uWgq z$3X{d(JNo{P@Qr5(ZYFxO^_^tdk%<+u3JCGyF8BN1#l*7$-r}yTqtbQ4-_VXZei=M zPVwxq|3@@_FW2#cRVj)hnjE+X=)-=4Cwh~JP$;Zj2&Qg6*66BB>z}LL{l>ZK`SH*{ zV-E}(4Y{Yx)@|SUJ)Qf;%XQVYJG^XjqjymI-{0M(*S+o2`lk!OD*MJgAM;HEpY;QA zG^plqycr{VVwu~81sDtG>KT}z+^(ohvpD&o$AC?Q3LV*RYt?Js@+p1%GdGDE=_h&Z z{I4JBx3PUKzvJJU-zmnp{KT~)h$E2Jz~1m{C=^S>VAXmbkhJ z{*GnZld#P|F+y!|R&aM_KTF~-z8eBZqD2YT(FUZETR<2&m3=(E3!CF7C^DIWv7 zv=Ij(%e?iDX;}b^3y`aJS1+=Xf!2U~&i&)dwSC9;R5|mXg2%tUXIuQ`?vL5B>$ryuBt?6z~6vv z+wbu|ASWfR!7|7lO5B!Fa}=95#KI((79b)dAF%cAW5;FBHV}|S^MIP*j7@;fg|qYf z9<)X8JO3+s=lj2;TX)SExqUbB>l)7bIlNRwlBL*JV_Rb%UmkCcBh3W~8j`~uACjUd zB$K3CaFqr6QQh!HW=?2;5)1JR>dhlGx-n4ou_L`^==z!IpebE94!q}zF1YmTdi&p9 zs~_Gv9qlf8+T|xdw>@8```@EWU(;DrkG=GR&)z7h5Yyady&ZHSKh3*zWW+|@B533 z;3O`-;wJskpI@o{_+DYzXc+F(ejEK^TU<`8i4@j%14=qCq8vjGk80V)>czu$-~f7e zmOVWqiiA7hj$~lHX7Gt=ub%8@p2wG>Dg1Oc(-i%dN$AQiY}a`t=g;%Ky?V_BmwjDt zcn8VvS91rgVs}avSHUbXP*D4jJio`!fREe}<};o_1Mv;;gDG)m=k|6umzNfRLXOjd zdQxSc*?sU2VtS0TXN@Z48d*W&O#!cVV%inOBZo1|B zvhLjXL&~PVLHqM8VD#m?-!T@2kz>O1S3M<`OYq# zb>1a<^;SXk`X7P%?y6Nh(N#-Jw0Fh&$=*lmv0gQF78 zDXt61d)^-1Q?n*DGfe{-4)Y+~-5$9onh|sed4@bAa3?&aLsR%&bZ+MJ&lz1sw`+AK zcY77R>A-h}TYosy7q0!LwoZyxr!#rYDr=Hww@kq*wx$$hh7J4au{YQsg`R-{{}~I^ zd`n%^V4CNja=A)QXA>+gfG1N?8Rm^fl}%+DqAt6EFeHL^fJ8hZR`nTtqq_}#lZ(_7 zoGH^)s?ZHN?u4AI$Meh+xa~kR;Cr1{%g(Rq8!?(!bEg5f&?%Ou=Tw%@!0MP(Q#v0^ zoyee`E_iI*5!N-57{+Ai+KlljbVRSDbbm@GcL8^Impcrm)~`|4tY*;$u^H4O&zNrv zbaY1XjGpRdmkDgZ7eg82U^$!a#~|0ji7vv@0+a|oM==4_`h{$>5b7gWy{U=XB>bhM zM<6~8PW<}C&t?dI?HhKw!ho2@N5vwJifLT z8<7iy<@wlVWMKi?eD;91-c_ZjBN zcbhp=^izLVFg2_<;N5MH+s2Ga^ys`xX5JZ=!OXr5d<>wU>jvT+&^KV}{MT}sr?dxI zSb()zUK|#9G%6~(A(Sz#1LMKj*fVXWVl!A){f_ejC0MYkr9X6;dS3n?tx=_mTn-1SZlMRvk>E zx;+?(Xa=my>ci)*K;h)vwRO<#o(|4D#(9{MX%BBX=a{Dged>Gl?s8(_cmUQ89``)f z_x6PhD^wJ1;Ao5(h>bh-YjKmp(tAk(_N`<1t!lNqAv3le+2u8d)QZ-lr?bRLCz}T5 zyJ$T>CphSy-7w0MsllcoVPp)Y%$$ae###t=JQhhCz8fx@AMi4GPlb1={%_Zk0@!-P z;cg5>?+VX&n0L2(vT1azCxfv&jYI}bX;Dx2XN->&J>9fCgHAmLe75~Au&!tB44vl; z?1&jQyi-!o*kB)w_om1_@nkF+PotQ_p7D+qT3V6C1#teZEX!L`s-L`60*1R$bupIX zO;Te{0v7#%t|9ko8Cc46b~m-&YovjBjrj~STO!A~&U5CrO|T1L4nd@U%{7`|=+`yo z=jsJyaRI!5h`2NO2E&~^g_n_UT9ocYKQ#3yM>NhRu#Qan+#y4b&*2e> zIn+9*rSLbrP(kjj2d4hDwrNG)h>rQz`~L{B-f}J2s6`_mX|K-L6&!PG+2zhZ?y>h@ zHbqMd;FYgB`{7Uh+l#**@7aipkP|n?d)BG>J@Gdejk4+9cn@RNnJ&kguQ{E^;h1g< zZ+`vh$2x~)*s}n!$yAO*yOaKVLf$BwZu^Z{?pXlu_05W~am8JX-=hHeZv!8A=lnN< z8T;-0_l+BSxJLmt4%}V%JADD}XrulY0096032*R(00006Nkl^ARhn# N002ovPDHLkV1hh|3*!I) literal 0 HcmV?d00001 diff --git a/client-export/textures/TypeIcon-Level.png b/client-export/textures/TypeIcon-Level.png new file mode 100644 index 0000000000000000000000000000000000000000..5ff3dbaea428a36b7322d6103d859949ebdb28d9 GIT binary patch literal 5841 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 UQ`EtAg8%>k07*qoM6N<$g5&2rZU6uP literal 0 HcmV?d00001 diff --git a/client-export/textures/sheet.html b/client-export/textures/sheet.html new file mode 100644 index 0000000..f6ffcb4 --- /dev/null +++ b/client-export/textures/sheet.html @@ -0,0 +1,263 @@ + + + + + PlayerGuide — Texture Sheet + + + + + + +

PlayerGuide — лист текстур

+

33 PNG-файла, готовы к конвертации в BLP. Шахматный фон под превью = прозрачность.

+ + +
+
Демонстрация (как это смотрится в карточке)
+
+
+ +
+

Пройти Кузню Крови

+

Цитадель Адского Пламени • рек. уровень 61—64

+
+
+
+
+ 0 / 1 +
+
+
+
+ +
+

Подготовка к Нордсколу

+

Этап V из VII · 62% завершено

+
+
+
+
+
+
+
+ + +
+
Бейджи этапов
+
+
+
+
Прогресс-бар
+
+
+
+
Карточка
+
+
+
+
Декор
+
+
+
+
Обложки рекомендаций (биомы)
+
+
+
+
Иконки типов целей
+
+
+
+
Иконки статусов
+
+
+
+
Кнопки
+
+
+ + + + diff --git a/docs/player-guide-requirements.md b/docs/player-guide-requirements.md new file mode 100644 index 0000000..0175282 --- /dev/null +++ b/docs/player-guide-requirements.md @@ -0,0 +1,448 @@ +# Player Guide Requirements + +## Goal + +Create a `Путеводитель` tab inside the existing Encounter Journal UI. + +The guide must show personal character progress calculated by `mod-individual-progress` and recommend the next relevant content: quests, dungeons, raids, bosses, requirements, activities, and rewards. + +This feature is not a third Encounter Journal instance type. It is a separate panel inside the same interface. + +## High-Level Architecture + +```text +AzerothCore / mod-individual-progress + -> calculates player progress + -> builds a guide payload + +AIO / MoonWell bridge + -> sends guide data to the client + +MoonWellClient / EncounterJournal + -> receives the payload + -> stores it in C_PlayerGuide + -> renders the Player Guide tab +``` + +## Client Components + +Add separate client-side files: + +```text +EncounterJournal/Utils/C_PlayerGuide.lua +EncounterJournal/Custom_EncounterJournal/PlayerGuide.lua +EncounterJournal/Custom_EncounterJournal/PlayerGuide.xml +``` + +Responsibilities: + +```text +C_PlayerGuide.lua +- stores current guide data +- exposes a small UI-facing API +- receives server payloads +- requests refreshes from the server + +PlayerGuide.lua +- renders guide data +- refreshes objective rows +- handles clicks on objectives/recommendations + +PlayerGuide.xml +- defines the guide panel +- defines static frames, headers, scroll area, row templates +``` + +Register these files in `MoonWellClient.toc` before `Custom_EncounterJournal.lua`. + +## Encounter Journal Tab + +Add a new top-level tab near `Подземелья` and `Рейды`: + +```text +Путеводитель | Подземелья | Рейды | Комплекты +``` + +The tab must live in: + +```text +EncounterJournal/Custom_EncounterJournal/Custom_EncounterJournal.xml +``` + +Expected XML shape: + +```xml + +``` + +If the guide tab is inserted before existing tabs, anchors for `DungeonTab`, `RaidTab`, and `LootJournalTab` must be adjusted. + +Add a localized string: + +```lua +MW_PLAYER_GUIDE = "Путеводитель" +``` + +## Tab Selection Behavior + +When the guide tab is selected: + +```text +- hide instance cards +- hide Encounter Journal detail panel +- hide suggested content panel +- hide loot journal panel +- hide or disable the expansion/tier dropdown unless explicitly needed +- show PlayerGuideFrame +``` + +When any other top-level tab is selected: + +```text +- hide PlayerGuideFrame +``` + +Do not route this tab through: + +```lua +EJ_GetInstanceByIndex(index, isRaid) +``` + +That API is only for dungeon/raid instance lists. + +## Client API + +Create: + +```lua +C_PlayerGuide = C_PlayerGuide or {} +``` + +Required methods: + +```lua +C_PlayerGuide.SetData(data) +C_PlayerGuide.GetStageInfo() +C_PlayerGuide.GetNumObjectives() +C_PlayerGuide.GetObjectiveInfo(index) +C_PlayerGuide.GetNumRecommendations() +C_PlayerGuide.GetRecommendationInfo(index) +C_PlayerGuide.GetNumRewards() +C_PlayerGuide.GetRewardInfo(index) +C_PlayerGuide.RequestRefresh() +``` + +Minimum behavior: + +```text +SetData(data) +- validate payload is a table +- replace current data +- fire/trigger a UI refresh if the guide panel is visible + +GetStageInfo() +- returns stageID, stageName, stageDescription, progress + +GetObjectiveInfo(index) +- returns a normalized objective record or unpacked objective fields + +RequestRefresh() +- asks the server to resend the current payload +``` + +## Server Payload + +The server should send one normalized payload per character. + +Minimum shape: + +```lua +{ + version = 1, + characterGuid = 123, + + stageID = 10, + stageName = "Подготовка к Нордсколу", + stageDescription = "Завершите ключевые шаги перед переходом дальше.", + progress = 40, + + objectives = { + { + id = 1, + type = "level", + title = "Достигнуть 68 уровня", + description = "", + completed = true, + progress = 68, + required = 68, + targetID = 68, + order = 1, + }, + { + id = 2, + type = "quest", + title = "Завершить цепочку Темного портала", + description = "", + completed = false, + progress = 3, + required = 8, + targetID = 10119, + order = 2, + }, + { + id = 3, + type = "dungeon", + title = "Пройти Кузню Крови", + description = "", + completed = false, + progress = 0, + required = 1, + targetID = 256, + instanceID = 256, + order = 3, + }, + }, + + recommendations = { + { + id = 1, + type = "dungeon", + title = "Кузня Крови", + description = "Подходит для текущего этапа.", + instanceID = 256, + priority = 100, + }, + }, + + rewards = { + { + type = "item", + itemID = 12345, + count = 1, + }, + }, +} +``` + +## Objective Types + +Support at least: + +```text +level +quest +quest_chain +dungeon +raid +boss +achievement +reputation +profession +item +currency +custom +``` + +Every objective should use the common fields: + +```text +id +type +title +description +completed +progress +required +targetID +order +``` + +Optional type-specific fields: + +```text +questID +questChainID +instanceID +encounterID +achievementID +factionID +professionID +itemID +currencyID +``` + +## Objective Click Behavior + +Recommended behavior: + +```text +quest +- show quest link or quest hint if available + +dungeon +- open Encounter Journal on instanceID + +raid +- open Encounter Journal on instanceID + +boss +- open Encounter Journal on encounterID + +item +- show item tooltip + +achievement +- show achievement UI/link + +custom +- show text-only detail or request a server action +``` + +If a target cannot be opened, the UI should fail quietly and keep the guide visible. + +## AIO Contract + +Use a separate handler namespace: + +```text +MoonWellPlayerGuide +``` + +Server to client: + +```lua +SetData(payload) +UpdateObjective(objective) +SetStage(stagePayload) +Notify(message) +``` + +Client to server: + +```lua +RequestRefresh() +RequestTrackObjective(objectiveID) +RequestOpenTarget(objectiveID) +``` + +Minimum MVP only needs: + +```lua +SetData(payload) +RequestRefresh() +``` + +## AzerothCore / mod-individual-progress Requirements + +`mod-individual-progress` must: + +```text +- determine the player's current progression stage +- calculate objective completion state +- calculate objective progress values +- build the guide payload +- send the payload on login +- send updates when progress changes +- respond to explicit client refresh requests +``` + +Recommended update events: + +```text +login +level up +quest accepted +quest completed +quest rewarded +achievement earned +boss kill +dungeon completed +reputation changed +profession changed +item acquired, if item objectives are used +``` + +## UI Requirements + +MVP UI: + +```text +- guide tab +- stage title +- stage description +- total progress percentage +- objective list +- completed/incomplete visual state +- recommendation list +- manual refresh button +``` + +Later UI: + +```text +- categories +- filters: all / active / completed +- tracked objective pinning +- reward preview +- requirement tooltips +- direct "Open in Journal" buttons +- server notifications +``` + +## Non-Goals + +Do not: + +```text +- store guide progress in JOURNALINSTANCE +- make the guide a third dungeon/raid instance category +- overload EJ_GetInstanceByIndex(index, isRaid) +- depend on Sirus-only globals or realm constants +- block the old dungeon/raid Encounter Journal if guide data is missing +``` + +## MVP Implementation Order + +1. Add the `Путеводитель` tab. +2. Add an empty `PlayerGuideFrame`. +3. Add `C_PlayerGuide.lua` with static test data. +4. Render the stage title and three test objectives. +5. Wire tab switching and hide/show behavior. +6. Add AIO `MoonWellPlayerGuide.SetData`. +7. Send test payload from the server. +8. Replace static data with real `mod-individual-progress` data. +9. Add click behavior for dungeon/raid/boss objectives. +10. Add polish: progress bar, icons, rewards, filters. + +## Validation + +Client should tolerate missing or malformed fields: + +```text +- missing payload -> show empty state +- missing objectives -> show "no active objectives" +- missing recommendations -> hide recommendations block +- unknown objective type -> render as text-only custom objective +- invalid instanceID/encounterID -> do not throw Lua errors +``` + +Server should validate: + +```text +- objective ids are unique within the payload +- order is stable +- type is known or custom +- progress <= required when required is present +- dungeon/raid/boss targets exist in Encounter Journal data when used +``` diff --git a/src/Data/ruRU/patch-ruRU-5/Interface/AddOns/DragonUI/modules/micromenu.lua b/src/Data/ruRU/patch-ruRU-5/Interface/AddOns/DragonUI/modules/micromenu.lua index e8631c0..da7919f 100644 --- a/src/Data/ruRU/patch-ruRU-5/Interface/AddOns/DragonUI/modules/micromenu.lua +++ b/src/Data/ruRU/patch-ruRU-5/Interface/AddOns/DragonUI/modules/micromenu.lua @@ -69,25 +69,26 @@ local MainMenuBarBackpackButton = _G.MainMenuBarBackpackButton; local HelpMicroButton = _G.HelpMicroButton; local KeyRingButton = _G.KeyRingButton; --- Button collections (dynamically set based on server) -local MICRO_BUTTONS +-- Button collections (rebuilt after addons create optional custom buttons). +local function BuildMicroButtonList() + if isAscensionServer then + return { + _G.CharacterMicroButton, + _G.SpellbookMicroButton, + _G.TalentMicroButton, + _G.AchievementMicroButton, + _G.QuestLogMicroButton, + _G.SocialsMicroButton, + _G.LFDMicroButton, + _G.EncounterJournalMicroButton, + _G.PathToAscensionMicroButton, + _G.ChallengesMicroButton, + _G.MainMenuMicroButton, + _G.HelpMicroButton + } + end -if isAscensionServer then - MICRO_BUTTONS = { - _G.CharacterMicroButton, - _G.SpellbookMicroButton, - _G.TalentMicroButton, - _G.AchievementMicroButton, - _G.QuestLogMicroButton, - _G.SocialsMicroButton, - _G.LFDMicroButton, - _G.PathToAscensionMicroButton, - _G.ChallengesMicroButton, - _G.MainMenuMicroButton, - _G.HelpMicroButton - } -else - MICRO_BUTTONS = { + return { _G.CharacterMicroButton, _G.SpellbookMicroButton, _G.TalentMicroButton, @@ -95,6 +96,7 @@ else _G.QuestLogMicroButton, _G.SocialsMicroButton, _G.LFDMicroButton, + _G.EncounterJournalMicroButton, _G.CollectionsMicroButton, _G.PVPMicroButton, _G.MainMenuMicroButton, @@ -102,6 +104,7 @@ else } end +local MICRO_BUTTONS = BuildMicroButtonList() local bagslots = {_G.CharacterBag0Slot, _G.CharacterBag1Slot, _G.CharacterBag2Slot, _G.CharacterBag3Slot}; @@ -783,6 +786,8 @@ local function ApplyMicromenuSystem() return end + MICRO_BUTTONS = BuildMicroButtonList() + -- Store original states first StoreOriginalMicroButtonStates() @@ -911,6 +916,8 @@ local function ApplyMicromenuSystem() or (_G.PVPParentFrame and _G.PVPParentFrame:IsVisible() and true or false) or (_G.BattlefieldFrame and _G.BattlefieldFrame:IsVisible() and true or false) or (_G.HonorFrame and _G.HonorFrame:IsVisible() and true or false) + elseif buttonName == "EncounterJournal" then + return (_G.EncounterJournal and _G.EncounterJournal:IsVisible() and true or false) end return pressed @@ -919,6 +926,152 @@ local function ApplyMicromenuSystem() -- ============================================================================ -- SECTION 5: SPECIALIZED BUTTON SETUP -- ============================================================================ + local function SetupEncounterJournalButton(button) + local iconTexture = 'Interface\\EncounterJournal\\UI-EJ-PortraitIcon' + local backgroundTexture = 'Interface\\AddOns\\DragonUI\\Textures\\Micromenu\\uimicromenu2x' + local buttonWidth, buttonHeight = button:GetSize() + local dx, dy = -1, 1 + local offX, offY = button:GetPushedTextOffset() + + if not button.DragonUIEncounterJournalIcon then + button.DragonUIEncounterJournalIcon = button:CreateTexture(nil, 'ARTWORK') + end + + local icon = button.DragonUIEncounterJournalIcon + icon:SetTexture(iconTexture) + icon:SetTexCoord(0, 1, 0, 1) + icon:ClearAllPoints() + icon:SetPoint('CENTER', button, 'CENTER', 0, 0) + icon:SetSize(buttonWidth - 8, buttonWidth - 8) + icon:SetAlpha(1) + icon:Show() + + local highlightTexture = button:GetHighlightTexture() + if highlightTexture then + highlightTexture:SetTexture(iconTexture) + highlightTexture:SetTexCoord(0, 1, 0, 1) + highlightTexture:ClearAllPoints() + highlightTexture:SetAllPoints(icon) + highlightTexture:SetBlendMode('ADD') + highlightTexture:SetAlpha(0.55) + end + + if not button.DragonUIBackground then + local bg = button:CreateTexture(nil, 'BACKGROUND') + bg:SetTexture(backgroundTexture) + bg:SetSize(buttonWidth, buttonHeight + 1) + bg:SetTexCoord(0.0654297, 0.12793, 0.330078, 0.490234) + bg:SetPoint('CENTER', dx, dy) + button.DragonUIBackground = bg + + local bgPushed = button:CreateTexture(nil, 'BACKGROUND') + bgPushed:SetTexture(backgroundTexture) + bgPushed:SetSize(buttonWidth, buttonHeight + 1) + bgPushed:SetTexCoord(0.0654297, 0.12793, 0.494141, 0.654297) + bgPushed:SetPoint('CENTER', dx + offX, dy + offY) + bgPushed:Hide() + button.DragonUIBackgroundPushed = bgPushed + else + button.DragonUIBackground:SetTexture(backgroundTexture) + button.DragonUIBackground:SetTexCoord(0.0654297, 0.12793, 0.330078, 0.490234) + button.DragonUIBackground:ClearAllPoints() + button.DragonUIBackground:SetPoint('CENTER', dx, dy) + button.DragonUIBackground:SetSize(buttonWidth, buttonHeight + 1) + + if button.DragonUIBackgroundPushed then + button.DragonUIBackgroundPushed:SetTexture(backgroundTexture) + button.DragonUIBackgroundPushed:SetTexCoord(0.0654297, 0.12793, 0.494141, 0.654297) + button.DragonUIBackgroundPushed:ClearAllPoints() + button.DragonUIBackgroundPushed:SetPoint('CENTER', dx + offX, dy + offY) + button.DragonUIBackgroundPushed:SetSize(buttonWidth, buttonHeight + 1) + end + end + + button.dragonUIState = button.dragonUIState or {} + button.dragonUIState.pushed = IsSpecialMicroButtonActive(button, "EncounterJournal") + button.dragonUILastState = button.dragonUIState.pushed + button.dragonUITimer = button.dragonUITimer or 0 + + button.HandleDragonUIState = function() + local state = button.dragonUIState + local hlTex = button:GetHighlightTexture() + if state and state.pushed then + if icon then + icon:ClearAllPoints() + icon:SetPoint('CENTER', button, 'CENTER', offX, offY) + icon:SetAlpha(0.7) + end + if button.DragonUIBackground then + button.DragonUIBackground:Hide() + end + if button.DragonUIBackgroundPushed then + button.DragonUIBackgroundPushed:Show() + end + if hlTex then + hlTex:ClearAllPoints() + hlTex:SetPoint('TOPLEFT', icon, 'TOPLEFT', 0, 0) + hlTex:SetPoint('BOTTOMRIGHT', icon, 'BOTTOMRIGHT', 0, 0) + end + else + if icon then + icon:ClearAllPoints() + icon:SetPoint('CENTER', button, 'CENTER', 0, 0) + icon:SetAlpha(1) + end + if button.DragonUIBackground then + button.DragonUIBackground:Show() + end + if button.DragonUIBackgroundPushed then + button.DragonUIBackgroundPushed:Hide() + end + if hlTex then + hlTex:ClearAllPoints() + hlTex:SetAllPoints(icon) + end + end + end + + button:SetScript('OnUpdate', function(self, elapsed) + self.dragonUITimer = (self.dragonUITimer or 0) + elapsed + if self.dragonUITimer >= 0.1 then + self.dragonUITimer = 0 + local currentState = IsSpecialMicroButtonActive(self, "EncounterJournal") + if currentState ~= self.dragonUILastState then + self.dragonUILastState = currentState + if self.dragonUIState then + self.dragonUIState.pushed = currentState + end + if self.HandleDragonUIState then + self.HandleDragonUIState() + end + end + end + end) + + if not button.DragonUIStateHooks then + button:HookScript('OnMouseDown', function(self) + if self.dragonUIState then + self.dragonUIState.pushed = true + end + if self.HandleDragonUIState then + self.HandleDragonUIState() + end + end) + button:HookScript('OnMouseUp', function(self) + local currentState = IsSpecialMicroButtonActive(self, "EncounterJournal") + if self.dragonUIState then + self.dragonUIState.pushed = currentState + end + if self.HandleDragonUIState then + self.HandleDragonUIState() + end + end) + button.DragonUIStateHooks = true + end + + button.HandleDragonUIState() + end + local function SetupPVPButton(button) -- Mirror the Character button pattern: -- Instead of fighting WoW's internal NormalTexture alpha management, @@ -1582,6 +1735,8 @@ local function ApplyMicromenuSystem() end local function setupMicroButtons(xOffset) + MICRO_BUTTONS = BuildMicroButtonList() + local buttonxOffset = 0 local useGrayscale = addon.db.profile.micromenu.grayscale_icons @@ -1705,9 +1860,11 @@ local function ApplyMicromenuSystem() local isCharacterButton = (buttonName == "Character") local isPVPButton = (buttonName == "PVP") + local isEncounterJournalButton = (buttonName == "EncounterJournal") - local upCoords = not isCharacterButton and not isPVPButton and GetColoredTextureCoords(name, "Up") or nil - local shouldUseGrayscale = useGrayscale or (not isPVPButton and not upCoords and not isCharacterButton) + local upCoords = not isCharacterButton and not isPVPButton and not isEncounterJournalButton and GetColoredTextureCoords(name, "Up") or nil + local shouldUseGrayscale = (useGrayscale and not isEncounterJournalButton) or + (not isPVPButton and not isEncounterJournalButton and not upCoords and not isCharacterButton) if shouldUseGrayscale then -- Grayscale icons @@ -1741,6 +1898,8 @@ local function ApplyMicromenuSystem() end elseif isPVPButton then SetupPVPButton(button) + elseif isEncounterJournalButton then + SetupEncounterJournalButton(button) elseif isCharacterButton then SetupCharacterButton(button) else @@ -2245,6 +2404,8 @@ end return end + MICRO_BUTTONS = BuildMicroButtonList() + local useGrayscale = addon.db.profile.micromenu.grayscale_icons local configMode = useGrayscale and "grayscale" or "normal" local config = addon.db.profile.micromenu[configMode] diff --git a/src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Custom_EncounterJournal/Custom_EncounterJournal.lua b/src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Custom_EncounterJournal/Custom_EncounterJournal.lua index d365e46..cddaae8 100644 --- a/src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Custom_EncounterJournal/Custom_EncounterJournal.lua +++ b/src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Custom_EncounterJournal/Custom_EncounterJournal.lua @@ -1,4 +1,5 @@ -UIPanelWindows["EncounterJournal"] = { area = "left", pushable = 0, whileDead = 1, width = 830, xOffset = "15", yOffset = "-10"} +UIPanelWindows["EncounterJournal"] = { area = "left", pushable = 0, whileDead = 1, width = 830, xOffset = "15", yOffset = +"-10" } --FILE CONSTANTS local HEADER_INDENT = 15; @@ -49,19 +50,19 @@ local rolesByFlag = { local EJ_Tabs = {}; -EJ_Tabs[1] = {frame="overviewScroll", button="overviewTab"}; -EJ_Tabs[2] = {frame="lootScroll", button="lootTab"}; -EJ_Tabs[3] = {frame="detailsScroll", button="bossTab"}; +EJ_Tabs[1] = { frame = "overviewScroll", button = "overviewTab" }; +EJ_Tabs[2] = { frame = "lootScroll", button = "lootTab" }; +EJ_Tabs[3] = { frame = "detailsScroll", button = "bossTab" }; local EJ_section_openTable = {}; -local EJ_LINK_INSTANCE = 0; -local EJ_LINK_ENCOUNTER = 1; -local EJ_LINK_SECTION = 3; +local EJ_LINK_INSTANCE = 0; +local EJ_LINK_ENCOUNTER = 1; +local EJ_LINK_SECTION = 3; -local EJ_DIFFICULTIES = { +local EJ_DIFFICULTIES = { { size = "5", prefix = PLAYER_DIFFICULTY1, difficultyID = 1, difficultyMask = 1 }, { size = "5", prefix = PLAYER_DIFFICULTY2, difficultyID = 2, difficultyMask = 2 }, { size = "5", prefix = PLAYER_DIFFICULTY3, difficultyID = 3, difficultyMask = 4 }, @@ -71,7 +72,7 @@ local EJ_DIFFICULTIES = { { size = "25", prefix = PLAYER_DIFFICULTY2, difficultyID = 4, difficultyMask = 8 }, } -local EJ_TIER_DATA = +local EJ_TIER_DATA = { [1] = { backgroundAtlas = "UI-EJ-Classic", r = 1.0, g = 0.8, b = 0.0 }, [2] = { backgroundAtlas = "UI-EJ-BurningCrusade", r = 0.6, g = 0.8, b = 0.0 }, @@ -80,30 +81,30 @@ local EJ_TIER_DATA = [5] = { backgroundAtlas = "UI-EJ-MistsofPandaria", r = 0.0, g = 0.6, b = 0.2 }, [6] = { backgroundAtlas = "UI-EJ-WarlordsofDraenor", r = 0.82, g = 0.55, b = 0.1 }, [7] = { backgroundAtlas = "UI-EJ-Legion", r = 1.0, g = 0.8, b = 0.0 }, - [8] = { backgroundAtlas = "UI-EJ-BattleforAzeroth", expansionLevel = LE_EXPANSION_BATTLE_FOR_AZEROTH}, - [9] = { backgroundAtlas = "UI-EJ-Shadowlands", expansionLevel = LE_EXPANSION_SHADOWLANDS}, - [10] = { backgroundAtlas = "UI-EJ-Dragonflight", expansionLevel = LE_EXPANSION_DRAGONFLIGHT}, - [11] = { backgroundAtlas = "UI-EJ-TheWarWithin", expansionLevel = LE_EXPANSION_WAR_WITHIN}, - [12] = { backgroundAtlas = "UI-EJ-Midnight", expansionLevel = LE_EXPANSION_MIDNIGHT}, + [8] = { backgroundAtlas = "UI-EJ-BattleforAzeroth", expansionLevel = LE_EXPANSION_BATTLE_FOR_AZEROTH }, + [9] = { backgroundAtlas = "UI-EJ-Shadowlands", expansionLevel = LE_EXPANSION_SHADOWLANDS }, + [10] = { backgroundAtlas = "UI-EJ-Dragonflight", expansionLevel = LE_EXPANSION_DRAGONFLIGHT }, + [11] = { backgroundAtlas = "UI-EJ-TheWarWithin", expansionLevel = LE_EXPANSION_WAR_WITHIN }, + [12] = { backgroundAtlas = "UI-EJ-Midnight", expansionLevel = LE_EXPANSION_MIDNIGHT }, } -EJButtonMixin = {} +EJButtonMixin = {} function EJButtonMixin:OnLoad() local l, t, _, b, r = self.UpLeft:GetTexCoord(); - self.UpLeft:SetTexCoord(l, l + (r-l)/2, t, b); + self.UpLeft:SetTexCoord(l, l + (r - l) / 2, t, b); l, t, _, b, r = self.UpRight:GetTexCoord(); - self.UpRight:SetTexCoord(l + (r-l)/2, r, t, b); + self.UpRight:SetTexCoord(l + (r - l) / 2, r, t, b); l, t, _, b, r = self.DownLeft:GetTexCoord(); - self.DownLeft:SetTexCoord(l, l + (r-l)/2, t, b); + self.DownLeft:SetTexCoord(l, l + (r - l) / 2, t, b); l, t, _, b, r = self.DownRight:GetTexCoord(); - self.DownRight:SetTexCoord(l + (r-l)/2, r, t, b); + self.DownRight:SetTexCoord(l + (r - l) / 2, r, t, b); l, t, _, b, r = self.HighLeft:GetTexCoord(); - self.HighLeft:SetTexCoord(l, l + (r-l)/2, t, b); + self.HighLeft:SetTexCoord(l, l + (r - l) / 2, t, b); l, t, _, b, r = self.HighRight:GetTexCoord(); - self.HighRight:SetTexCoord(l + (r-l)/2, r, t, b); + self.HighRight:SetTexCoord(l + (r - l) / 2, r, t, b); end function EJButtonMixin:OnMouseDown(button) @@ -178,7 +179,7 @@ end function EncounterJournal_OnLoad(self) EncounterJournalTitleText:SetText(ADVENTURE_JOURNAL); - SetPortraitToTexture(EncounterJournalPortrait,"Interface\\EncounterJournal\\UI-EJ-PortraitIcon"); + SetPortraitToTexture(EncounterJournalPortrait, "Interface\\EncounterJournal\\UI-EJ-PortraitIcon"); self:RegisterCustomEvent("EJ_LOOT_DATA_RECIEVED"); self:RegisterCustomEvent("EJ_DIFFICULTY_UPDATE"); self:RegisterCustomEvent("SEARCH_DB_LOADED"); @@ -189,6 +190,8 @@ function EncounterJournal_OnLoad(self) SetParentFrameLevel(self.encounter) SetParentFrameLevel(self.encounter.info) + self.instanceSelect.guideTab.id = self.instanceSelect.guideTab:GetID() + self.instanceSelect.guideTab:SetText(MW_PLAYER_GUIDE) self.instanceSelect.suggestTab.id = self.instanceSelect.suggestTab:GetID() self.instanceSelect.dungeonsTab.id = self.instanceSelect.dungeonsTab:GetID() self.instanceSelect.raidsTab.id = self.instanceSelect.raidsTab:GetID() @@ -206,7 +209,7 @@ function EncounterJournal_OnLoad(self) if self.instanceSelect.Tabs then for _, tab in ipairs(self.instanceSelect.Tabs) do - tab:SetWidth(max(tab:GetTextWidth()+20, 70)) + tab:SetWidth(max(tab:GetTextWidth() + 20, 70)) tab.selectedGlow:Hide() end end @@ -238,13 +241,13 @@ function EncounterJournal_OnLoad(self) HybridScrollFrame_CreateButtons(self.searchResults.scrollFrame, "EncounterSearchLGTemplate", 0, 0); local homeData = { - name = NAVIGATIONBAR_HOME, + name = ENCOUNTER_JOURNAL_NAVIGATION_HOME or NAVIGATIONBAR_HOME, OnClick = function() if self.instanceSelect.selectedTab then EJ_ContentTab_Select(self.instanceSelect.selectedTab); NavBar_Reset(self.navBar) else - EJSuggestFrame_OpenFrame(); + EJPlayerGuide_OpenFrame(); end end, } @@ -261,15 +264,15 @@ function EncounterJournal_OnLoad(self) -- check if tabs are active local dungeonInstanceID = EJ_GetInstanceByIndex(1, false); - if( not dungeonInstanceID ) then + if (not dungeonInstanceID) then instanceSelect.dungeonsTab.grayBox:Show(); end local raidInstanceID = EJ_GetInstanceByIndex(1, true); - if( not raidInstanceID ) then + if (not raidInstanceID) then instanceSelect.raidsTab.grayBox:Show(); end - -- set the suggestion panel frame to open by default - EJSuggestFrame_OpenFrame(); + -- open the player guide by default + EJPlayerGuide_OpenFrame(); self.tab1:SetFrameLevel(1) self.tab2:SetFrameLevel(1) @@ -332,7 +335,7 @@ end function EncounterJournal_DisableTierDropDown(removeText) UIDropDownMenu_DisableDropDown(EncounterJournal.instanceSelect.tierDropDown); - if ( removeText ) then + if (removeText) then UIDropDownMenu_SetText(EncounterJournal.instanceSelect.tierDropDown, nil); else local tierName = EJ_GetTierInfo(EJ_GetCurrentTier()); @@ -341,10 +344,10 @@ function EncounterJournal_DisableTierDropDown(removeText) end function EncounterJournal_HasChangedContext(instanceID, instanceType, difficultyID) - if ( instanceType == "none" ) then + if (instanceType == "none") then -- we've gone from a dungeon to the open world return EncounterJournal.lastInstance ~= nil; - elseif ( instanceID ~= 0 and (instanceID ~= EncounterJournal.lastInstance or EncounterJournal.lastDifficulty ~= difficultyID) ) then + elseif (instanceID ~= 0 and (instanceID ~= EncounterJournal.lastInstance or EncounterJournal.lastDifficulty ~= difficultyID)) then -- dungeon or difficulty has changed return true; end @@ -352,17 +355,17 @@ function EncounterJournal_HasChangedContext(instanceID, instanceType, difficulty end function EncounterJournal_ResetDisplay(instanceID, instanceType, difficultyID) - if ( instanceType == "none" ) then + if (instanceType == "none") then EncounterJournal.lastInstance = nil; EncounterJournal.lastDifficulty = nil; - EJSuggestFrame_OpenFrame(); + EJPlayerGuide_OpenFrame(); else EJ_ContentTab_SelectAppropriateInstanceTab(instanceID); EncounterJournal_DisplayInstance(instanceID); EncounterJournal.lastInstance = instanceID; -- try to set difficulty to current instance difficulty - if ( EJ_IsValidInstanceDifficulty(difficultyID) ) then + if (EJ_IsValidInstanceDifficulty(difficultyID)) then EJ_SetDifficulty(difficultyID); end EncounterJournal.lastDifficulty = difficultyID; @@ -373,7 +376,7 @@ function EncounterJournal_OnShow(self) C_EncounterJournal.OnOpen(); PanelTemplates_SetTab(self, 1) --- MainMenuMicroButton_HideAlert(EncounterJournalMicroButton); + -- MainMenuMicroButton_HideAlert(EncounterJournalMicroButton); MicroButtonPulseStop(EncounterJournalMicroButton); UpdateMicroButtons(); @@ -385,12 +388,12 @@ function EncounterJournal_OnShow(self) --automatically navigate to the current dungeon if you are in one; local instanceID = EJ_GetCurrentInstance(); local _, instanceType, difficultyID = GetInstanceInfo(); - if ( instanceID and EncounterJournal_HasChangedContext(instanceID, instanceType, difficultyID) ) then + if (instanceID and EncounterJournal_HasChangedContext(instanceID, instanceType, difficultyID)) then EncounterJournal_ResetDisplay(instanceID, instanceType, difficultyID); end local tierData = GetEJTierData(EJ_GetCurrentTier()); - if ( instanceSelect.suggestTab:IsEnabled() ~= 1 or EncounterJournal.suggestFrame:IsShown() ) then + if (instanceSelect.suggestTab:IsEnabled() ~= 1 or EncounterJournal.suggestFrame:IsShown()) then tierData = GetEJTierData(EJSuggestTab_GetPlayerTierIndex()); end instanceSelect.bg:SetAtlas(tierData.backgroundAtlas, true); @@ -414,7 +417,7 @@ end function EncounterJournal_OnHide(self) C_EncounterJournal.OnClose(); UpdateMicroButtons(); - PlaySound("igCharacterInfoClose"); + PlaySound("igCharacterInfoClose"); self.searchBox:SetText("") EJ_EndSearch(); @@ -471,7 +474,7 @@ end function EncounterJournal_OnEvent(self, event, ...) if event == "SERVICE_DATA_UPDATE" - or (event == "CUSTOM_CHALLENGE_DEACTIVATED" and select(2, ...) == Enum.HardcoreDeathReason.RESTORE) + or (event == "CUSTOM_CHALLENGE_DEACTIVATED" and select(2, ...) == Enum.HardcoreDeathReason.RESTORE) then EncounterJournal_InitTab(self) elseif event == "EJ_LOOT_DATA_RECIEVED" then @@ -529,7 +532,8 @@ function EncounterJournal_UpdateDifficulty(newDifficultyID, noRefresh) if selectedEntry then if selectedEntry.size ~= "5" then - EncounterJournal.encounter.info.difficulty:SetFormattedText("(%s) %s", selectedEntry.size, selectedEntry.prefix); + EncounterJournal.encounter.info.difficulty:SetFormattedText("(%s) %s", selectedEntry.size, + selectedEntry.prefix); else EncounterJournal.encounter.info.difficulty:SetText(selectedEntry.prefix); end @@ -548,7 +552,7 @@ function EncounterJournal_GetCreatureButton(index) local button = self.creatureButtons[index]; if (not button) then button = CreateFrame("BUTTON", nil, self, "EncounterCreatureButtonTemplate"); - button:SetPoint("TOPLEFT", self.creatureButtons[index-1], "BOTTOMLEFT", 0, 8); + button:SetPoint("TOPLEFT", self.creatureButtons[index - 1], "BOTTOMLEFT", 0, 8); self.creatureButtons[index] = button; end return button; @@ -558,7 +562,7 @@ local infiniteLoopPolice = false; --design might make a tier that has no instanc local function EncounterJournal_UpdateInstanceListScrollRange(instanceCount) local scrollFrame = EncounterJournal.instanceSelect.scroll; local scrollChild = scrollFrame.child; - local scrollBar = scrollFrame.ScrollBar or _G[scrollFrame:GetName().."ScrollBar"]; + local scrollBar = scrollFrame.ScrollBar or _G[scrollFrame:GetName() .. "ScrollBar"]; local rows = math.ceil((instanceCount or 0) / EJ_NUM_INSTANCE_PER_ROW); local childHeight = 375; @@ -600,12 +604,14 @@ end local function EncounterJournal_UpdateBossListScrollRange(bossCount) local scrollFrame = EncounterJournal.encounter.info.bossesScroll; local scrollChild = scrollFrame.child; - local scrollBar = scrollFrame.ScrollBar or _G[scrollFrame:GetName().."ScrollBar"]; + local scrollBar = scrollFrame.ScrollBar or _G[scrollFrame:GetName() .. "ScrollBar"]; local baseHeight = scrollFrame:GetHeight() or 382; local contentHeight = baseHeight; if bossCount and bossCount > 0 then - contentHeight = math.max(baseHeight, BOSS_BUTTON_FIRST_OFFSET + bossCount * BOSS_BUTTON_HEIGHT + math.max(bossCount - 1, 0) * BOSS_BUTTON_SECOND_OFFSET + 8); + contentHeight = math.max(baseHeight, + BOSS_BUTTON_FIRST_OFFSET + bossCount * BOSS_BUTTON_HEIGHT + + math.max(bossCount - 1, 0) * BOSS_BUTTON_SECOND_OFFSET + 8); end scrollChild:SetHeight(contentHeight); @@ -644,7 +650,7 @@ function EncounterJournal_ListInstances() if not instanceID and not infiniteLoopPolice then --disable this tab and select the other one. infiniteLoopPolice = true; - if ( showRaid ) then + if (showRaid) then instanceSelect.raidsTab.grayBox:Show(); EJ_ContentTab_Select(instanceSelect.dungeonsTab.id); else @@ -656,17 +662,19 @@ function EncounterJournal_ListInstances() infiniteLoopPolice = false; while instanceID do - local instanceButton = scrollFrame["instance"..index]; + local instanceButton = scrollFrame["instance" .. index]; if not instanceButton then -- create button - instanceButton = CreateFrame("BUTTON", scrollFrame:GetParent():GetName().."instance"..index, scrollFrame, "EncounterInstanceButtonTemplate"); - if ( EncounterJournal.localizeInstanceButton ) then + instanceButton = CreateFrame("BUTTON", scrollFrame:GetParent():GetName() .. "instance" .. index, scrollFrame, + "EncounterInstanceButtonTemplate"); + if (EncounterJournal.localizeInstanceButton) then EncounterJournal.localizeInstanceButton(instanceButton); end - scrollFrame["instance"..index] = instanceButton; - if mod(index-1, EJ_NUM_INSTANCE_PER_ROW) == 0 then - instanceButton:SetPoint("TOP", scrollFrame["instance"..(index-EJ_NUM_INSTANCE_PER_ROW)], "BOTTOM", 0, -15); + scrollFrame["instance" .. index] = instanceButton; + if mod(index - 1, EJ_NUM_INSTANCE_PER_ROW) == 0 then + instanceButton:SetPoint("TOP", scrollFrame["instance" .. (index - EJ_NUM_INSTANCE_PER_ROW)], "BOTTOM", 0, + -15); else - instanceButton:SetPoint("LEFT", scrollFrame["instance"..(index-1)], "RIGHT", 15, 0); + instanceButton:SetPoint("LEFT", scrollFrame["instance" .. (index - 1)], "RIGHT", 15, 0); end end @@ -697,9 +705,11 @@ function EncounterJournal_ListInstances() local currencyItemID = C_EncounterJournal.GetInstanceCurrencyReward(instanceID) if currencyItemID then - local currencyName, itemLink, quality, _, _, _, _, _, _, currencyIcon = C_Item.GetItemInfo(currencyItemID, nil, nil, true) + local currencyName, itemLink, quality, _, _, _, _, _, _, currencyIcon = C_Item.GetItemInfo( + currencyItemID, nil, nil, true) SetItemButtonQuality(instanceButton.DropInfo.CurrencyItemButton, quality) - instanceButton.DropInfo.CurrencyItemButton.Icon:SetTexture(currencyIcon or [[Interface\Icons\INV_Misc_QuestionMark]]) + instanceButton.DropInfo.CurrencyItemButton.Icon:SetTexture(currencyIcon or + [[Interface\Icons\INV_Misc_QuestionMark]]) instanceButton.DropInfo.CurrencyItemButton.itemLink = itemLink instanceButton.DropInfo.CurrencyItemButton:Show() else @@ -734,7 +744,7 @@ function EncounterJournal_ListInstances() --No instances in the other tab if not instanceText then --disable the other tab. - if ( showRaid ) then + if (showRaid) then instanceSelect.dungeonsTab.grayBox:Show(); else instanceSelect.raidsTab.grayBox:Show(); @@ -763,7 +773,7 @@ local function UpdateDifficultyVisibility() -- As long as the current tab isn't the model tab, which always suppresses the difficulty, then update the shown state. local info = EncounterJournal.encounter.info; - info.difficulty:SetShown(shouldDisplayDifficulty--[[ and (info.tab ~= 4)]]); + info.difficulty:SetShown(shouldDisplayDifficulty --[[ and (info.tab ~= 4)]]); UpdateDifficultyAnchoring(info.difficulty); end @@ -807,11 +817,12 @@ function EncounterJournal_DisplayInstance(instanceID, noButton) self.instance.loreScroll.child.lore:SetWidth(313); end - self.instance.FindGroupButton.Text:SetText(EJ_InstanceIsRaid() and ENCOUNTER_JOURNAL_FIND_RAID or ENCOUNTER_JOURNAL_FIND_GROUP) + self.instance.FindGroupButton.Text:SetText(EJ_InstanceIsRaid() and ENCOUNTER_JOURNAL_FIND_RAID or + ENCOUNTER_JOURNAL_FIND_GROUP) self.info.instanceButton.instanceID = instanceID; --- self.info.instanceButton.icon:SetMask("Interface\\CharacterFrame\\TempPortraitAlphaMask"); --- self.info.instanceButton.icon:SetTexture(buttonImage); + -- self.info.instanceButton.icon:SetMask("Interface\\CharacterFrame\\TempPortraitAlphaMask"); + -- self.info.instanceButton.icon:SetTexture(buttonImage); buttonImage = buttonImage:lower():gsub("%.blp$", ""):gsub("(\\lfgframe)", "%1\\LFGIcon64") local res = self.info.instanceButton.icon:SetTexture(buttonImage) @@ -832,18 +843,21 @@ function EncounterJournal_DisplayInstance(instanceID, noButton) local hasBossAbilities = false; while bossID do - bossButton = _G["EncounterJournalBossButton"..bossIndex]; - if not bossButton then -- create a new header; - bossButton = CreateFrame("BUTTON", "EncounterJournalBossButton"..bossIndex, EncounterJournal.encounter.bossesFrame, "EncounterBossButtonTemplate"); - if bossIndex > 1 then - bossButton:SetPoint("TOPLEFT", _G["EncounterJournalBossButton"..(bossIndex-1)], "BOTTOMLEFT", 0, -BOSS_BUTTON_SECOND_OFFSET); - else - bossButton:SetPoint("TOPLEFT", EncounterJournal.encounter.bossesFrame, "TOPLEFT", 0, -BOSS_BUTTON_FIRST_OFFSET); - end + bossButton = _G["EncounterJournalBossButton" .. bossIndex]; + if not bossButton then -- create a new header; + bossButton = CreateFrame("BUTTON", "EncounterJournalBossButton" .. bossIndex, + EncounterJournal.encounter.bossesFrame, "EncounterBossButtonTemplate"); + if bossIndex > 1 then + bossButton:SetPoint("TOPLEFT", _G["EncounterJournalBossButton" .. (bossIndex - 1)], "BOTTOMLEFT", 0, + -BOSS_BUTTON_SECOND_OFFSET); + else + bossButton:SetPoint("TOPLEFT", EncounterJournal.encounter.bossesFrame, "TOPLEFT", 0, + -BOSS_BUTTON_FIRST_OFFSET); end - EncounterJournal_ConfigureBossButtonScroll(bossButton); + end + EncounterJournal_ConfigureBossButtonScroll(bossButton); - bossButton.link = link; + bossButton.link = link; if IsGMAccount() then local _, _, _, _, _, creatureID, encounterID = EJ_GetCreatureInfo(1, bossID) bossButton:SetFormattedText("[%d][%d] %s", encounterID or 0, creatureID or 0, name) @@ -858,16 +872,16 @@ function EncounterJournal_DisplayInstance(instanceID, noButton) bossButton.creature:SetTexture(bossImage); bossButton:UnlockHighlight(); - if ( not hasBossAbilities ) then + if (not hasBossAbilities) then hasBossAbilities = rootSectionID > 0; end - bossIndex = bossIndex + 1; - name, description, bossID, rootSectionID, link = EJ_GetEncounterInfoByIndex(bossIndex); - end - EncounterJournal_UpdateBossListScrollRange(bossIndex - 1); + bossIndex = bossIndex + 1; + name, description, bossID, rootSectionID, link = EJ_GetEncounterInfoByIndex(bossIndex); + end + EncounterJournal_UpdateBossListScrollRange(bossIndex - 1); - EncounterJournal_SetTabEnabled(EncounterJournal.encounter.info.overviewTab, true); + EncounterJournal_SetTabEnabled(EncounterJournal.encounter.info.overviewTab, true); --disable abilities tab, no boss selected EncounterJournal_SetTabEnabled(EncounterJournal.encounter.info.bossTab, false); @@ -880,7 +894,7 @@ function EncounterJournal_DisplayInstance(instanceID, noButton) else EJ_Tabs[1].frame = "detailsScroll"; EJ_Tabs[3].frame = "overviewScroll"; -- flip these so detailsScroll won't get hidden, overview will never be shown here - if ( hasBossAbilities ) then + if (hasBossAbilities) then self.info[EJ_Tabs[1].button].tooltip = ABILITIES; else self.info[EJ_Tabs[1].button].tooltip = OVERVIEW; @@ -934,7 +948,7 @@ function EncounterJournal_DisplayEncounter(encounterID, noButton, scrollToEncoun end if rootSectionID == 0 then --- EncounterJournal_SetTab(EncounterJournal.encounter.info.lootTab:GetID()) + -- EncounterJournal_SetTab(EncounterJournal.encounter.info.lootTab:GetID()) end if (EncounterJournal.encounterID == encounterID) then @@ -975,13 +989,14 @@ function EncounterJournal_DisplayEncounter(encounterID, noButton, scrollToEncoun bullet:ClearAllPoints(); bullet:SetPoint("TOPLEFT", self.overviewFrame.overviewDescription, "BOTTOMLEFT", 0, -9); end - self.overviewFrame.descriptionHeight = self.overviewFrame.loreDescription:GetHeight() + self.overviewFrame.overviewDescription:GetHeight() + bulletHeight + 42; + self.overviewFrame.descriptionHeight = self.overviewFrame.loreDescription:GetHeight() + + self.overviewFrame.overviewDescription:GetHeight() + bulletHeight + 42; self.overviewFrame.rootOverviewSectionID = rootSectionID; rootSectionID = EncounterJournal_GetRootAfterOverviews(rootSectionID); overviewFound = true; end - self.infoFrame.description:SetWidth(self.infoFrame:GetWidth() -5); + self.infoFrame.description:SetWidth(self.infoFrame:GetWidth() - 5); self.infoFrame.description:SetText(description); self.infoFrame.descriptionHeight = self.infoFrame.description:GetHeight(); @@ -995,18 +1010,21 @@ function EncounterJournal_DisplayEncounter(encounterID, noButton, scrollToEncoun local name, description, bossID, _, link = EJ_GetEncounterInfoByIndex(bossIndex); local bossButton; while bossID do - bossButton = _G["EncounterJournalBossButton"..bossIndex]; - if not bossButton then -- create a new header; - bossButton = CreateFrame("BUTTON", "EncounterJournalBossButton"..bossIndex, EncounterJournal.encounter.bossesFrame, "EncounterBossButtonTemplate"); - if bossIndex > 1 then - bossButton:SetPoint("TOPLEFT", _G["EncounterJournalBossButton"..(bossIndex-1)], "BOTTOMLEFT", 0, -BOSS_BUTTON_SECOND_OFFSET); - else - bossButton:SetPoint("TOPLEFT", EncounterJournal.encounter.bossesFrame, "TOPLEFT", 0, -BOSS_BUTTON_FIRST_OFFSET); - end + bossButton = _G["EncounterJournalBossButton" .. bossIndex]; + if not bossButton then -- create a new header; + bossButton = CreateFrame("BUTTON", "EncounterJournalBossButton" .. bossIndex, + EncounterJournal.encounter.bossesFrame, "EncounterBossButtonTemplate"); + if bossIndex > 1 then + bossButton:SetPoint("TOPLEFT", _G["EncounterJournalBossButton" .. (bossIndex - 1)], "BOTTOMLEFT", 0, + -BOSS_BUTTON_SECOND_OFFSET); + else + bossButton:SetPoint("TOPLEFT", EncounterJournal.encounter.bossesFrame, "TOPLEFT", 0, + -BOSS_BUTTON_FIRST_OFFSET); end - EncounterJournal_ConfigureBossButtonScroll(bossButton); + end + EncounterJournal_ConfigureBossButtonScroll(bossButton); - bossButton.link = link; + bossButton.link = link; if IsGMAccount() then local _, _, _, _, _, creatureID, encounterID = EJ_GetCreatureInfo(1, bossID) bossButton:SetFormattedText("[%d][%d] %s", encounterID or 0, creatureID or 0, name) @@ -1027,26 +1045,27 @@ function EncounterJournal_DisplayEncounter(encounterID, noButton, scrollToEncoun bossButton:UnlockHighlight(); end - bossIndex = bossIndex + 1; - name, description, bossID, _, link = EJ_GetEncounterInfoByIndex(bossIndex); - end - EncounterJournal_UpdateBossListScrollRange(bossIndex - 1); + bossIndex = bossIndex + 1; + name, description, bossID, _, link = EJ_GetEncounterInfoByIndex(bossIndex); + end + EncounterJournal_UpdateBossListScrollRange(bossIndex - 1); - if selectedEncounterIndex and scrollToEncounter then + if selectedEncounterIndex and scrollToEncounter then bossIndex = bossIndex - 1; - local value, maxScrollRange = ScrollFrame_GetScrollValueForIndex(EncounterJournal.encounter.info.bossesScroll, selectedEncounterIndex, bossIndex, BOSS_BUTTON_HEIGHT, BOSS_BUTTON_SECOND_OFFSET) + local value, maxScrollRange = ScrollFrame_GetScrollValueForIndex(EncounterJournal.encounter.info.bossesScroll, + selectedEncounterIndex, bossIndex, BOSS_BUTTON_HEIGHT, BOSS_BUTTON_SECOND_OFFSET) ScrollFrame_OnScrollRangeChanged(EncounterJournal.encounter.info.bossesScroll, 0, maxScrollRange); EncounterJournal.encounter.info.bossesScroll.ScrollBar:SetValue(value); end -- Setup Creatures local id, name, description, displayInfo, iconImage, creatureID; - for i=1,MAX_CREATURES_PER_ENCOUNTER do + for i = 1, MAX_CREATURES_PER_ENCOUNTER do id, name, description, displayInfo, iconImage, creatureID = EJ_GetCreatureInfo(i); if id then local button = EncounterJournal_GetCreatureButton(i); - -- SetPortraitTexture(button.creature, displayInfo); + -- SetPortraitTexture(button.creature, displayInfo); button.creature:SetPortrait(displayInfo) button.name = name; button.id = id; @@ -1187,7 +1206,7 @@ end function EncounterJournal_CleanBullets(self, start, keep) if (not self.Bullets) then return end - start = start or 1; + start = start or 1; for i = start, #self.Bullets do self.Bullets[i]:Hide(); if (not keep) then @@ -1254,7 +1273,8 @@ local function EncounterJournal_UpdateDetailsScrollRange() local _, _, _, _, anchorY = header:GetPoint(); local bottom = math.abs(anchorY or 0) + (header:GetHeight() or 0); if header.description and header.description:IsShown() then - bottom = bottom + EncounterJournal_UpdateSimpleHTMLHeight(header.description) + SECTION_DESCRIPTION_OFFSET; + bottom = bottom + EncounterJournal_UpdateSimpleHTMLHeight(header.description) + + SECTION_DESCRIPTION_OFFSET; else bottom = bottom + SECTION_BUTTON_OFFSET; end @@ -1289,7 +1309,7 @@ function EncounterJournal_SetBullets(object, description, hideBullets) object.textString = description; local height = (strlenutf8(description) / parentWidth) * characterHeight object:SetHeight(height) - -- object:SetHeight(object.Text:GetContentHeight()); + -- object:SetHeight(object.Text:GetContentHeight()); EncounterJournal_CleanBullets(parent); return; end @@ -1301,17 +1321,17 @@ function EncounterJournal_SetBullets(object, description, hideBullets) object.textString = desc; local height = (strlenutf8(desc) / parentWidth) * characterHeight object:SetHeight(height) - -- object:SetHeight(object.Text:GetContentHeight()); + -- object:SetHeight(object.Text:GetContentHeight()); end local bullets = {} - for v in string.gmatch(description,"%$bullet;([^$]+)") do + for v in string.gmatch(description, "%$bullet;([^$]+)") do tinsert(bullets, v); end local k = 1; local skipped = 0; - for j = 1,#bullets do + for j = 1, #bullets do local text = bullets[j]; if (text and text ~= "") then local bullet; @@ -1326,8 +1346,8 @@ function EncounterJournal_SetBullets(object, description, hideBullets) end bullet:SetWidth(307) bullet.Text:SetWidth(300 - 26) - -- bullet:SetWidth(parent:GetWidth() - 13); - -- bullet.Text:SetWidth(parentWidth - 26); + -- bullet:SetWidth(parent:GetWidth() - 13); + -- bullet.Text:SetWidth(parentWidth - 26); end bullet:ClearAllPoints(); if (k == 1) then @@ -1337,7 +1357,7 @@ function EncounterJournal_SetBullets(object, description, hideBullets) bullet:SetPoint("TOPLEFT", parent, "TOPLEFT", 13, -9 - object:GetHeight()); end else - bullet:SetPoint("TOP", parent.Bullets[k-1], "BOTTOM", 0, -8); + bullet:SetPoint("TOP", parent.Bullets[k - 1], "BOTTOM", 0, -8); end bullet.Text:SetText(text); @@ -1345,7 +1365,7 @@ function EncounterJournal_SetBullets(object, description, hideBullets) if (height ~= 0) then bullet:SetHeight(height); end ---[[ + --[[ if (bullet.Text:GetContentHeight() ~= 0) then bullet:SetHeight(bullet.Text:GetContentHeight()); end @@ -1381,7 +1401,8 @@ end function EncounterJournal_SetUpOverview(self, role, index) local infoHeader; if not self.overviews[index] then -- create a new header; - infoHeader = CreateFrame("FRAME", "EncounterJournalOverviewInfoHeader"..index, EncounterJournal.encounter.overviewFrame, "EncounterInfoTemplate"); + infoHeader = CreateFrame("FRAME", "EncounterJournalOverviewInfoHeader" .. index, + EncounterJournal.encounter.overviewFrame, "EncounterInfoTemplate"); infoHeader.description:Hide(); infoHeader.overviewDescription:Hide(); infoHeader.descriptionBG:Hide(); @@ -1414,8 +1435,8 @@ function EncounterJournal_SetUpOverview(self, role, index) infoHeader:SetPoint("TOPLEFT", 0, -15 - self.descriptionHeight - SECTION_BUTTON_OFFSET); infoHeader:SetPoint("TOPRIGHT", 0, -15 - self.descriptionHeight - SECTION_BUTTON_OFFSET); else - infoHeader:SetPoint("TOPLEFT", self.overviews[index-1], "BOTTOMLEFT", 0, -9); - infoHeader:SetPoint("TOPRIGHT", self.overviews[index-1], "BOTTOMRIGHT", 0, -9); + infoHeader:SetPoint("TOPLEFT", self.overviews[index - 1], "BOTTOMLEFT", 0, -9); + infoHeader:SetPoint("TOPRIGHT", self.overviews[index - 1], "BOTTOMRIGHT", 0, -9); end infoHeader.description:Hide(); @@ -1427,10 +1448,11 @@ function EncounterJournal_SetUpOverview(self, role, index) wipe(infoHeader.Bullets); local title, description, siblingID, link, filteredByDifficulty, flag1 - local _, _, _, _, _, _, nextSectionID = EJ_GetSectionInfo(self.rootOverviewSectionID) + local _, _, _, _, _, _, nextSectionID = EJ_GetSectionInfo(self.rootOverviewSectionID) while nextSectionID do - title, description, _, _, _, siblingID, _, filteredByDifficulty, link, _, _, flag1 = EJ_GetSectionInfo(nextSectionID) + title, description, _, _, _, siblingID, _, filteredByDifficulty, link, _, _, flag1 = EJ_GetSectionInfo( + nextSectionID) if (role == rolesByFlag[flag1] and not filteredByDifficulty) then break end @@ -1454,7 +1476,6 @@ function EncounterJournal_SetUpOverview(self, role, index) infoHeader:Show(); end - function EncounterJournal_ToggleHeaders(self, doNotShift) local numAdded = 0; local infoHeader, parentID, _; @@ -1544,13 +1565,13 @@ function EncounterJournal_ToggleHeaders(self, doNotShift) local listEnd = #usedHeaders; - if self.myID then -- this is from a button click - _, _, _, _, _, _, nextSectionID = EJ_GetSectionInfo(self.myID); - parentID = self.myID; - self.description:SetWidth(self:GetWidth() -20); - EncounterJournal_UpdateSimpleHTMLHeight(self.description); - hWidth = hWidth - HEADER_INDENT; - else + if self.myID then -- this is from a button click + _, _, _, _, _, _, nextSectionID = EJ_GetSectionInfo(self.myID); + parentID = self.myID; + self.description:SetWidth(self:GetWidth() - 20); + EncounterJournal_UpdateSimpleHTMLHeight(self.description); + hWidth = hWidth - HEADER_INDENT; + else --This sets the base encounter header parentID = self.encounterID; nextSectionID = self.rootSectionID; @@ -1559,7 +1580,8 @@ function EncounterJournal_ToggleHeaders(self, doNotShift) local pass while nextSectionID do - local title, description, headerType, abilityIcon, displayInfo, siblingID, nextNextSectionID, fileredByDifficulty, link, startsOpen, creatureEntry, flag1, flag2, flag3, flag4 = EJ_GetSectionInfo(nextSectionID) + local title, description, headerType, abilityIcon, displayInfo, siblingID, nextNextSectionID, fileredByDifficulty, link, startsOpen, creatureEntry, flag1, flag2, flag3, flag4 = + EJ_GetSectionInfo(nextSectionID) if nextNextSectionID and nextNextSectionID ~= 0 then local _, childSectionID = EJ_GetSectionPath(nextSectionID) @@ -1576,7 +1598,8 @@ function EncounterJournal_ToggleHeaders(self, doNotShift) elseif not fileredByDifficulty then if #freeHeaders == 0 then -- create a new header; headerCount = headerCount + 1; -- the is a file local - infoHeader = CreateFrame("FRAME", "EncounterJournalInfoHeader"..headerCount, EncounterJournal.encounter.infoFrame, "EncounterInfoTemplate"); + infoHeader = CreateFrame("FRAME", "EncounterJournalInfoHeader" .. headerCount, + EncounterJournal.encounter.infoFrame, "EncounterInfoTemplate"); infoHeader:Hide(); else infoHeader = freeHeaders[#freeHeaders]; @@ -1584,18 +1607,18 @@ function EncounterJournal_ToggleHeaders(self, doNotShift) end numAdded = numAdded + 1; - toggleTempList[#toggleTempList+1] = infoHeader; + toggleTempList[#toggleTempList + 1] = infoHeader; infoHeader.button.link = link; infoHeader.parentID = parentID; infoHeader.myID = nextSectionID; -- Spell names can show up in white, which clashes with the parchment, strip out white color codes. - description = (description or ""):gsub("|cffffffff(.-)|r", "%1"); + description = (description or ""):gsub("|cffffffff(.-)|r", "%1"); - infoHeader.button.title:SetText(title) - if topLevelSection then - infoHeader.button.title:SetFontObject("GameFontNormalMed3"); + infoHeader.button.title:SetText(title) + if topLevelSection then + infoHeader.button.title:SetFontObject("GameFontNormalMed3"); else infoHeader.button.title:SetFontObject("GameFontNormal"); end @@ -1623,7 +1646,7 @@ function EncounterJournal_ToggleHeaders(self, doNotShift) --Show Creature Portrait if displayInfo ~= 0 then - -- SetPortraitTexture(infoHeader.button.portrait.icon, displayInfo) + -- SetPortraitTexture(infoHeader.button.portrait.icon, displayInfo) infoHeader.button.portrait.icon:SetPortrait(displayInfo) infoHeader.button.portrait.name = title; infoHeader.button.portrait.displayInfo = creatureEntry; @@ -1645,27 +1668,30 @@ function EncounterJournal_ToggleHeaders(self, doNotShift) if flag1 then textRightAnchor = infoHeader.button.icon1 infoHeader.button.icon1:Show() - infoHeader.button.icon1.tooltipTitle = _G["ENCOUNTER_JOURNAL_SECTION_FLAG"..flag1] - infoHeader.button.icon1.tooltipText = _G["ENCOUNTER_JOURNAL_SECTION_FLAG_DESCRIPTION"..flag1] + infoHeader.button.icon1.tooltipTitle = _G["ENCOUNTER_JOURNAL_SECTION_FLAG" .. flag1] + infoHeader.button.icon1.tooltipText = _G["ENCOUNTER_JOURNAL_SECTION_FLAG_DESCRIPTION" .. flag1] EncounterJournal_SetFlagIcon(infoHeader.button.icon1.icon, flag1) if flag2 then textRightAnchor = infoHeader.button.icon2 infoHeader.button.icon2:Show() EncounterJournal_SetFlagIcon(infoHeader.button.icon2.icon, flag2) - infoHeader.button.icon2.tooltipTitle = _G["ENCOUNTER_JOURNAL_SECTION_FLAG"..flag2] - infoHeader.button.icon2.tooltipText = _G["ENCOUNTER_JOURNAL_SECTION_FLAG_DESCRIPTION"..flag2] + infoHeader.button.icon2.tooltipTitle = _G["ENCOUNTER_JOURNAL_SECTION_FLAG" .. flag2] + infoHeader.button.icon2.tooltipText = _G + ["ENCOUNTER_JOURNAL_SECTION_FLAG_DESCRIPTION" .. flag2] if flag3 then textRightAnchor = infoHeader.button.icon3 infoHeader.button.icon3:Show() EncounterJournal_SetFlagIcon(infoHeader.button.icon3.icon, flag3) - infoHeader.button.icon3.tooltipTitle = _G["ENCOUNTER_JOURNAL_SECTION_FLAG"..flag3] - infoHeader.button.icon3.tooltipText = _G["ENCOUNTER_JOURNAL_SECTION_FLAG_DESCRIPTION"..flag3] + infoHeader.button.icon3.tooltipTitle = _G["ENCOUNTER_JOURNAL_SECTION_FLAG" .. flag3] + infoHeader.button.icon3.tooltipText = _G + ["ENCOUNTER_JOURNAL_SECTION_FLAG_DESCRIPTION" .. flag3] if flag4 then textRightAnchor = infoHeader.button.icon4 infoHeader.button.icon4:Show() EncounterJournal_SetFlagIcon(infoHeader.button.icon4.icon, flag4) - infoHeader.button.icon4.tooltipTitle = _G["ENCOUNTER_JOURNAL_SECTION_FLAG"..flag4] - infoHeader.button.icon4.tooltipText = _G["ENCOUNTER_JOURNAL_SECTION_FLAG_DESCRIPTION"..flag4] + infoHeader.button.icon4.tooltipTitle = _G["ENCOUNTER_JOURNAL_SECTION_FLAG" .. flag4] + infoHeader.button.icon4.tooltipText = _G + ["ENCOUNTER_JOURNAL_SECTION_FLAG_DESCRIPTION" .. flag4] end end end @@ -1676,17 +1702,17 @@ function EncounterJournal_ToggleHeaders(self, doNotShift) infoHeader.button.title:SetPoint("RIGHT", infoHeader.button, "RIGHT", -5, 0) end - infoHeader.index = nil; - infoHeader:SetWidth(hWidth); - EncounterJournal_SetHeaderDescription(infoHeader, description); + infoHeader.index = nil; + infoHeader:SetWidth(hWidth); + EncounterJournal_SetHeaderDescription(infoHeader, description); - -- If this section has not be seen and should start open - if EJ_section_openTable[infoHeader.myID] == nil and startsOpen then + -- If this section has not be seen and should start open + if EJ_section_openTable[infoHeader.myID] == nil and startsOpen then EJ_section_openTable[infoHeader.myID] = true; end --toggleNested? - if EJ_section_openTable[infoHeader.myID] then + if EJ_section_openTable[infoHeader.myID] then infoHeader.expanded = false; -- setting false to expand it in EncounterJournal_ToggleHeaders numAdded = numAdded + EncounterJournal_ToggleHeaders(infoHeader, true); end @@ -1700,12 +1726,12 @@ function EncounterJournal_ToggleHeaders(self, doNotShift) if not doNotShift and numAdded > 0 then --fix the usedlist local startIndex = self.index or 0; - for i=listEnd,startIndex+1,-1 do - usedHeaders[i+numAdded] = usedHeaders[i]; - usedHeaders[i+numAdded].index = i + numAdded; + for i = listEnd, startIndex + 1, -1 do + usedHeaders[i + numAdded] = usedHeaders[i]; + usedHeaders[i + numAdded].index = i + numAdded; usedHeaders[i] = nil end - for i=1,numAdded do + for i = 1, numAdded do usedHeaders[startIndex + i] = toggleTempList[i]; usedHeaders[startIndex + i].index = startIndex + i; toggleTempList[i] = nil; @@ -1713,7 +1739,8 @@ function EncounterJournal_ToggleHeaders(self, doNotShift) end if topLevelSection and usedHeaders[1] then - usedHeaders[1]:SetPoint("TOPRIGHT", 0 , -8 - EncounterJournal.encounter.infoFrame.descriptionHeight - SECTION_BUTTON_OFFSET); + usedHeaders[1]:SetPoint("TOPRIGHT", 0, + -8 - EncounterJournal.encounter.infoFrame.descriptionHeight - SECTION_BUTTON_OFFSET); end if not doNotShift and #loopedSections ~= 0 then @@ -1732,7 +1759,7 @@ function EncounterJournal_ToggleHeaders(self, doNotShift) end local spec, role; ---[[ + --[[ spec = GetSpecialization(); if (spec) then role = GetSpecializationRole(spec); @@ -1759,13 +1786,13 @@ function EncounterJournal_ToggleHeaders(self, doNotShift) local overview = self.overviews[i]; if (overview.sectionID == self.linkSection) then overview.expanded = false; - EncounterJournal_ToggleHeaders(overview); + EncounterJournal_ToggleHeaders(overview); overview.cbCount = 0; overview.button.glow.flashAnim:Play(); overview:SetScript("OnUpdate", EncounterJournal_FocusSectionCallback); else overview.expanded = true; - EncounterJournal_ToggleHeaders(overview); + EncounterJournal_ToggleHeaders(overview); overview.button.glow.flashAnim:Stop(); overview:SetScript("OnUpdate", nil); end @@ -1784,12 +1811,12 @@ function EncounterJournal_ToggleHeaders(self, doNotShift) EJ_section_openTable[self.myID] = self.expanded; end - if not doNotShift then - EncounterJournal_ShiftHeaders(self.index or 1); - EncounterJournal_UpdateDetailsScrollRange(); + if not doNotShift then + EncounterJournal_ShiftHeaders(self.index or 1); + EncounterJournal_UpdateDetailsScrollRange(); - --check to see if it is offscreen - if self.index then + --check to see if it is offscreen + if self.index then local scrollValue = EncounterJournal.encounter.info.detailsScroll.ScrollBar:GetValue(); local cutoff = EncounterJournal.encounter.info.detailsScroll:GetHeight() + scrollValue; @@ -1818,20 +1845,21 @@ function EncounterJournal_ShiftHeaders(index) end local _, _, _, _, anchorY = usedHeaders[index]:GetPoint(); - for i=index,#usedHeaders-1 do + for i = index, #usedHeaders - 1 do anchorY = anchorY - usedHeaders[i]:GetHeight(); if usedHeaders[i].description:IsShown() then - anchorY = anchorY - EncounterJournal_UpdateSimpleHTMLHeight(usedHeaders[i].description) - SECTION_DESCRIPTION_OFFSET; + anchorY = anchorY - EncounterJournal_UpdateSimpleHTMLHeight(usedHeaders[i].description) - + SECTION_DESCRIPTION_OFFSET; else anchorY = anchorY - SECTION_BUTTON_OFFSET; end - usedHeaders[i+1]:SetPoint("TOPRIGHT", 0 , anchorY); + usedHeaders[i + 1]:SetPoint("TOPRIGHT", 0, anchorY); end end function EncounterJournal_ResetHeaders() - for key,_ in pairs(EJ_section_openTable) do + for key, _ in pairs(EJ_section_openTable) do EJ_section_openTable[key] = nil; end @@ -1863,7 +1891,7 @@ function EncounterJournal_FocusSectionCallback(self) if self.cbCount > 0 then local _, _, _, _, anchorY = self:GetPoint(); anchorY = abs(anchorY); - anchorY = anchorY - EncounterJournal.encounter.info.detailsScroll:GetHeight()/2 + anchorY = anchorY - EncounterJournal.encounter.info.detailsScroll:GetHeight() / 2 EncounterJournal.encounter.info.detailsScroll.ScrollBar:SetValue(anchorY) self:SetScript("OnUpdate", nil); end @@ -1873,8 +1901,9 @@ end function EncounterJournal_MoveSectionUpdate(self) if self.frameCount > 0 then local _, _, _, _, anchorY = self:GetPoint(); - local height = min(EJ_MAX_SECTION_MOVE, self:GetHeight() + self.description:GetHeight() + SECTION_DESCRIPTION_OFFSET); - local scrollValue = abs(anchorY) - (EncounterJournal.encounter.info.detailsScroll:GetHeight()-height); + local height = min(EJ_MAX_SECTION_MOVE, + self:GetHeight() + self.description:GetHeight() + SECTION_DESCRIPTION_OFFSET); + local scrollValue = abs(anchorY) - (EncounterJournal.encounter.info.detailsScroll:GetHeight() - height); EncounterJournal.encounter.info.detailsScroll.ScrollBar:SetValue(scrollValue); self:SetScript("OnUpdate", nil); end @@ -1885,14 +1914,14 @@ function EncounterJournal_ClearChildHeaders(self, doNotShift) local usedHeaders = EncounterJournal.encounter.usedHeaders; local freeHeaders = EncounterJournal.encounter.freeHeaders; local numCleared = 0 - for key,header in pairs(usedHeaders) do + for key, header in pairs(usedHeaders) do if header.parentID == self.myID then if header.expanded then numCleared = numCleared + EncounterJournal_ClearChildHeaders(header, true) end header:Hide(); usedHeaders[key] = nil; - freeHeaders[#freeHeaders+1] = header; + freeHeaders[#freeHeaders + 1] = header; numCleared = numCleared + 1; end end @@ -1924,26 +1953,26 @@ function EncounterJournal_ClearDetails() local freeHeaders = EncounterJournal.encounter.freeHeaders; local usedHeaders = EncounterJournal.encounter.usedHeaders; - for key,used in pairs(usedHeaders) do + for key, used in pairs(usedHeaders) do used:Hide(); usedHeaders[key] = nil; - freeHeaders[#freeHeaders+1] = used; + freeHeaders[#freeHeaders + 1] = used; end local clearDisplayInfo = true; EncounterJournal_HideCreatures(clearDisplayInfo); local bossIndex = 1 - local bossButton = _G["EncounterJournalBossButton"..bossIndex]; + local bossButton = _G["EncounterJournalBossButton" .. bossIndex]; while bossButton do bossButton:Hide(); bossIndex = bossIndex + 1; - bossButton = _G["EncounterJournalBossButton"..bossIndex]; + bossButton = _G["EncounterJournalBossButton" .. bossIndex]; end --- EncounterJournal.searchResults:Hide(); --- EncounterJournal_HideSearchPreview(); --- EncounterJournal.searchBox:ClearFocus(); + -- EncounterJournal.searchResults:Hide(); + -- EncounterJournal_HideSearchPreview(); + -- EncounterJournal.searchBox:ClearFocus(); end function EncounterJournal_TabClicked(self, button) @@ -2011,7 +2040,7 @@ end function EncounterJournal_SetLootButton(item) local itemID, encounterID, name, icon, slot, armorType, link = EJ_GetLootInfoByIndex(item.index); - if ( name ) then + if (name) then item.name:SetText(name); item.icon:SetTexture(icon); item.slot:SetText(slot); @@ -2024,7 +2053,8 @@ function EncounterJournal_SetLootButton(item) SetItemButtonQuality(item, quality, itemID) if (quality > LE_ITEM_QUALITY_COMMON and BAG_ITEM_QUALITY_COLORS[quality]) then - item.name:SetTextColor(BAG_ITEM_QUALITY_COLORS[quality].r, BAG_ITEM_QUALITY_COLORS[quality].g, BAG_ITEM_QUALITY_COLORS[quality].b) + item.name:SetTextColor(BAG_ITEM_QUALITY_COLORS[quality].r, BAG_ITEM_QUALITY_COLORS[quality].g, + BAG_ITEM_QUALITY_COLORS[quality].b) end else item.name:SetText(RETRIEVING_ITEM_INFO); @@ -2100,8 +2130,8 @@ function EncounterJournal_LootCalcScroll(offset) buttonHeight = INSTANCE_LOOT_BUTTON_HEIGHT; end - local index = floor(offset/buttonHeight) - return index, offset - (index*buttonHeight); + local index = floor(offset / buttonHeight) + return index, offset - (index * buttonHeight); end function EncounterJournal_Loot_OnUpdate(self) @@ -2138,8 +2168,8 @@ end function EncounterJournal_SetFlagIcon(texture, index) local iconSize = 32; - local columns = 256/iconSize; - local rows = 64/iconSize; + local columns = 256 / iconSize; + local rows = 64 / iconSize; -- Mythic flag should use heroic Icon if (index == 12) then @@ -2147,10 +2177,10 @@ function EncounterJournal_SetFlagIcon(texture, index) end local l = mod(index, columns) / columns; - local r = l + (1/columns); - local t = floor(index/columns) / rows; - local b = t + (1/rows); - texture:SetTexCoord(l,r,t,b); + local r = l + (1 / columns); + local t = floor(index / columns) / rows; + local b = t + (1 / rows); + texture:SetTexCoord(l, r, t, b); end function EncounterJournal_Refresh(self) @@ -2173,7 +2203,7 @@ end function EncounterJournal_UpdateScrollPos(self, visibleIndex) local buttons = self.buttons - local height = math.max(0, math.floor(self.buttonHeight * (visibleIndex - (#buttons)/2))) + local height = math.max(0, math.floor(self.buttonHeight * (visibleIndex - (#buttons) / 2))) HybridScrollFrame_SetOffset(self, height) self.scrollBar:SetValue(height) end @@ -2199,13 +2229,13 @@ function EncounterJournal_GetSearchDisplay(index) else typeText = ENCOUNTER_JOURNAL_ABILITY; end - path = EJ_GetInstanceInfo(instanceID).." > "..EJ_GetEncounterInfo(encounterID); + path = EJ_GetInstanceInfo(instanceID) .. " > " .. EJ_GetEncounterInfo(encounterID); elseif stype == EJ_STYPE_ITEM then itemID, _, name, icon = EJ_GetLootInfo(id) typeText = ENCOUNTER_JOURNAL_ITEM; - path = EJ_GetInstanceInfo(instanceID).." > "..EJ_GetEncounterInfo(encounterID); + path = EJ_GetInstanceInfo(instanceID) .. " > " .. EJ_GetEncounterInfo(encounterID); elseif stype == EJ_STYPE_CREATURE then - for i=1,MAX_CREATURES_PER_ENCOUNTER do + for i = 1, MAX_CREATURES_PER_ENCOUNTER do local cId, cName, _, cDisplayInfo = EJ_GetCreatureInfo(i, encounterID); if cId == id then name = cName @@ -2215,7 +2245,7 @@ function EncounterJournal_GetSearchDisplay(index) end icon = "Interface\\EncounterJournal\\UI-EJ-GenericSearchCreature" typeText = CREATURE - path = EJ_GetInstanceInfo(instanceID).." > "..EJ_GetEncounterInfo(encounterID); + path = EJ_GetInstanceInfo(instanceID) .. " > " .. EJ_GetEncounterInfo(encounterID); end return name, icon, path, typeText, displayInfo, itemID, stype, itemLink; end @@ -2253,11 +2283,12 @@ function EncounterJournal_SearchUpdate() local numResults = EJ_GetNumSearchResults(); - for i = 1,#results do + for i = 1, #results do result = results[i]; index = offset + i; if index <= numResults then - local name, icon, path, typeText, displayInfo, itemID, stype, itemLink = EncounterJournal_GetSearchDisplay(index); + local name, icon, path, typeText, displayInfo, itemID, stype, itemLink = EncounterJournal_GetSearchDisplay( + index); if stype == EJ_STYPE_INSTANCE then result.icon:SetTexCoord(0.16796875, 0.51171875, 0.03125, 0.71875); else @@ -2270,7 +2301,7 @@ function EncounterJournal_SearchUpdate() result.icon:SetTexture(icon); result.link = itemLink; if displayInfo and displayInfo > 0 then - -- SetPortraitTexture(result.icon, displayInfo); + -- SetPortraitTexture(result.icon, displayInfo); result.icon:SetPortrait(displayInfo) end result:SetID(index); @@ -2301,7 +2332,8 @@ function EncounterJournal_ShowFullSearch() return; end - EncounterJournal.searchResults.TitleText:SetFormattedText(ENCOUNTER_JOURNAL_SEARCH_RESULTS, EncounterJournal.searchBox:GetText(), numResults); + EncounterJournal.searchResults.TitleText:SetFormattedText(ENCOUNTER_JOURNAL_SEARCH_RESULTS, + EncounterJournal.searchBox:GetText(), numResults); EncounterJournal.searchResults:Show(); EncounterJournal_SearchUpdate(); EncounterJournal.searchResults.scrollFrame.scrollBar:SetValue(0); @@ -2417,7 +2449,8 @@ function EncounterJournal_UpdateSearchPreview() for index = 1, EJ_NUM_SEARCH_PREVIEWS do local button = EncounterJournal.searchBox.searchPreview[index]; if index <= numResults then - local name, icon, path, typeText, displayInfo, itemID, stype, itemLink = EncounterJournal_GetSearchDisplay(index); + local name, icon, path, typeText, displayInfo, itemID, stype, itemLink = EncounterJournal_GetSearchDisplay( + index); if stype == EJ_STYPE_INSTANCE then button.icon:SetTexCoord(0.16796875, 0.51171875, 0.03125, 0.71875) else @@ -2428,7 +2461,7 @@ function EncounterJournal_UpdateSearchPreview() button.icon:SetTexture(icon); button.link = itemLink; if displayInfo and displayInfo > 0 then - -- SetPortraitTexture(button.icon, displayInfo); + -- SetPortraitTexture(button.icon, displayInfo); button.icon:SetPortrait(displayInfo) end button:SetID(index); @@ -2464,7 +2497,7 @@ function EncounterJournal_UpdateSearchPreview() end function EncounterJournal_FixSearchPreviewBottomBorder() --- EncounterJournal.searchBox.showAllResults:SetShown(EJ_GetNumSearchResults() >= EJ_SHOW_ALL_SEARCH_RESULTS_INDEX) + -- EncounterJournal.searchBox.showAllResults:SetShown(EJ_GetNumSearchResults() >= EJ_SHOW_ALL_SEARCH_RESULTS_INDEX) local lastShownButton = nil; if EncounterJournal.searchBox.showAllResults:IsShown() then @@ -2481,8 +2514,10 @@ function EncounterJournal_FixSearchPreviewBottomBorder() end if lastShownButton ~= nil then - EncounterJournal.searchBox.searchPreviewContainer.botRightCorner:SetPoint("BOTTOM", lastShownButton, "BOTTOM", 0, -8); - EncounterJournal.searchBox.searchPreviewContainer.botLeftCorner:SetPoint("BOTTOM", lastShownButton, "BOTTOM", 0, -8); + EncounterJournal.searchBox.searchPreviewContainer.botRightCorner:SetPoint("BOTTOM", lastShownButton, "BOTTOM", 0, + -8); + EncounterJournal.searchBox.searchPreviewContainer.botLeftCorner:SetPoint("BOTTOM", lastShownButton, "BOTTOM", 0, + -8); else EncounterJournal_HideSearchPreview(); end @@ -2650,7 +2685,7 @@ function EncounterJournal_OpenJournal(difficultyID, instanceID, encounterID, sec if (EncounterJournal_CheckForOverview(sectionID)) then EncounterJournal.encounter.overviewFrame.linkSection = sectionID; else - local sectionPath = {EJ_GetSectionPath(sectionID)}; + local sectionPath = { EJ_GetSectionPath(sectionID) }; for _, id in pairs(sectionPath) do EJ_section_openTable[id] = true; end @@ -2668,7 +2703,7 @@ function EncounterJournal_OpenJournal(difficultyID, instanceID, encounterID, sec local itemIndex = EJ_GetLootInfoIndexByItemID(itemID) if not itemIndex then if not EJ_IsItemAllowedByClassFilter(itemID) - or not EJ_IsItemAllowedBySlotFilter(itemID) + or not EJ_IsItemAllowedBySlotFilter(itemID) then EncounterJournal_UpdateScrollPos(EncounterJournal.encounter.info.lootScroll, 1) EJ_SetLootFilter(0) @@ -2691,10 +2726,9 @@ function EncounterJournal_OpenJournal(difficultyID, instanceID, encounterID, sec end end end - end elseif tierIndex then - EncounterJournal_TierDropDown_Select(EncounterJournal, tierIndex+1); + EncounterJournal_TierDropDown_Select(EncounterJournal, tierIndex + 1); else EncounterJournal_ListInstances(); end @@ -2723,16 +2757,16 @@ function EncounterJournal_DifficultyInit(self, level) end function EJ_HideInstances(index) - if ( not index ) then + if (not index) then index = 1; end local scrollChild = EncounterJournal.instanceSelect.scroll.child; - local instanceButton = scrollChild["instance"..index]; + local instanceButton = scrollChild["instance" .. index]; while instanceButton do instanceButton:Hide(); index = index + 1; - instanceButton = scrollChild["instance"..index]; + instanceButton = scrollChild["instance" .. index]; end end @@ -2742,7 +2776,7 @@ function EJSuggestTab_GetPlayerTierIndex() local minDiff = MAX_PLAYER_LEVEL_TABLE[LE_EXPANSION_LEVEL_CURRENT]; for tierId, tierLevel in pairs(MAX_PLAYER_LEVEL_TABLE) do local diff = tierLevel - playerLevel; - if ( diff > 0 and diff < minDiff ) then + if (diff > 0 and diff < minDiff) then expansionId = tierId; minDiff = diff; end @@ -2754,13 +2788,39 @@ function EJ_ContentTab_OnClick(self) EJ_ContentTab_Select(self.id); end +local function EJ_ContentTab_RaiseTabsAbovePlayerGuide() + local instanceSelect = EncounterJournal and EncounterJournal.instanceSelect; + if not instanceSelect then + return; + end + + local baseLevel = instanceSelect:GetFrameLevel(); + if PlayerGuideFrame then + PlayerGuideFrame:SetFrameLevel(baseLevel + 1); + end + + local tabLevel = baseLevel + 12; + if instanceSelect.Tabs then + for _, tab in ipairs(instanceSelect.Tabs) do + tab:SetFrameLevel(tabLevel); + if tab.grayBox then + tab.grayBox:SetFrameLevel(tabLevel + 1); + end + end + end + + if instanceSelect.tierDropDown then + instanceSelect.tierDropDown:SetFrameLevel(tabLevel); + end +end + function EJ_ContentTab_Select(id) local instanceSelect = EncounterJournal.instanceSelect; local selectedTab = nil; for i = 1, #instanceSelect.Tabs do local tab = instanceSelect.Tabs[i]; - if ( tab.id ~= id ) then + if (tab.id ~= id) then tab:Enable(); tab:GetFontString():SetTextColor(HIGHLIGHT_FONT_COLOR.r, HIGHLIGHT_FONT_COLOR.g, HIGHLIGHT_FONT_COLOR.b); tab.selectedGlow:Hide(); @@ -2775,7 +2835,7 @@ function EJ_ContentTab_Select(id) -- Setup background local tierData; - if ( id == instanceSelect.suggestTab.id ) then + if (id == instanceSelect.suggestTab.id) then tierData = GetEJTierData(EJSuggestTab_GetPlayerTierIndex()); elseif id == instanceSelect.LootJournalTab.id then tierData = GetEJTierData(1) @@ -2787,44 +2847,60 @@ function EJ_ContentTab_Select(id) EncounterJournal.encounter:Hide(); EncounterJournal.instanceSelect:Show(); - if ( id == instanceSelect.suggestTab.id ) then + if (id == instanceSelect.suggestTab.id) then EJ_HideInstances(); EJ_HideLootJournalPanel(); + EJ_HidePlayerGuidePanel(); instanceSelect.scroll:Hide(); EncounterJournal.suggestFrame:Show(); - if ( not instanceSelect.dungeonsTab.grayBox:IsShown() or not instanceSelect.raidsTab.grayBox:IsShown() ) then + if (not instanceSelect.dungeonsTab.grayBox:IsShown() or not instanceSelect.raidsTab.grayBox:IsShown()) then EncounterJournal_DisableTierDropDown(true); else EncounterJournal_EnableTierDropDown(); end - elseif ( id == instanceSelect.LootJournalTab.id ) then + elseif (id == instanceSelect.guideTab.id) then EJ_HideInstances(); EJ_HideSuggestPanel(); + EJ_HideLootJournalPanel(); + instanceSelect.scroll:Hide(); + EncounterJournal_DisableTierDropDown(true); + instanceSelect.tierDropDown:Hide(); + if PlayerGuideFrame then + EJ_ContentTab_RaiseTabsAbovePlayerGuide(); + PlayerGuideFrame:Show(); + EJ_ContentTab_RaiseTabsAbovePlayerGuide(); + end + elseif (id == instanceSelect.LootJournalTab.id) then + EJ_HideInstances(); + EJ_HideSuggestPanel(); + EJ_HidePlayerGuidePanel(); instanceSelect.scroll:Hide(); EncounterJournal_DisableTierDropDown(true); EJ_ShowLootJournalPanel(); - elseif ( id == instanceSelect.dungeonsTab.id or id == instanceSelect.raidsTab.id ) then + elseif (id == instanceSelect.dungeonsTab.id or id == instanceSelect.raidsTab.id) then EJ_HideNonInstancePanels(); instanceSelect.scroll:Show(); EncounterJournal_ListInstances(); EncounterJournal_EnableTierDropDown(); end PlaySound("igMainMenuOptionCheckBoxOn"); - EncounterJournal.TutorialButton:SetShown(id == instanceSelect.suggestTab.id or id == instanceSelect.dungeonsTab.id or id == instanceSelect.raidsTab.id) + EncounterJournal.TutorialButton:SetShown(id == instanceSelect.suggestTab.id or id == instanceSelect.dungeonsTab.id or + id == instanceSelect.raidsTab.id) EventRegistry:TriggerEvent("EncounterJournal.SetTab", id) end function EJ_ContentTab_SelectAppropriateInstanceTab(instanceID) local isRaid = EJ_InstanceIsRaidByID(instanceID); - local desiredTabID = isRaid and EncounterJournal.instanceSelect.raidsTab:GetID() or EncounterJournal.instanceSelect.dungeonsTab:GetID(); + local desiredTabID = isRaid and EncounterJournal.instanceSelect.raidsTab:GetID() or + EncounterJournal.instanceSelect.dungeonsTab:GetID(); EJ_ContentTab_Select(desiredTabID); end function EJ_HideSuggestPanel() local instanceSelect = EncounterJournal.instanceSelect; local suggestTab = instanceSelect.suggestTab; - if ( not suggestTab:IsEnabled() == 1 or EncounterJournal.suggestFrame:IsShown() ) then + if (not suggestTab:IsEnabled() == 1 or EncounterJournal.suggestFrame:IsShown()) then suggestTab:Enable(); suggestTab:GetFontString():SetTextColor(HIGHLIGHT_FONT_COLOR.r, HIGHLIGHT_FONT_COLOR.g, HIGHLIGHT_FONT_COLOR.b); suggestTab.selectedGlow:Hide(); @@ -2843,10 +2919,10 @@ function EJ_HideSuggestPanel() end function EJ_HideLootJournalPanel() - if ( EncounterJournal.LootJournal ) then + if (EncounterJournal.LootJournal) then EncounterJournal.LootJournal:Hide(); end - if ( EncounterJournal.LootJournalItems ) then + if (EncounterJournal.LootJournalItems) then EncounterJournal.LootJournalItems:Hide(); end end @@ -2856,9 +2932,19 @@ function EJ_ShowLootJournalPanel() activeLootPanel:Show(); end +function EJ_HidePlayerGuidePanel() + if PlayerGuideFrame then + PlayerGuideFrame:Hide() + end + if EncounterJournal and EncounterJournal.instanceSelect and EncounterJournal.instanceSelect.tierDropDown then + EncounterJournal.instanceSelect.tierDropDown:Show() + end +end + function EJ_HideNonInstancePanels() EJ_HideSuggestPanel(); EJ_HideLootJournalPanel(); + EJ_HidePlayerGuidePanel(); end function EJTierDropDown_Initialize(self, level) @@ -2866,7 +2952,7 @@ function EJTierDropDown_Initialize(self, level) local numTiers = EJ_GetNumTiers(); local currTier = EJ_GetCurrentTier(); - for i=1,numTiers do + for i = 1, numTiers do info.text = EJ_GetTierInfo(i); info.func = EncounterJournal_TierDropDown_Select info.checked = i == currTier; @@ -2909,7 +2995,7 @@ function EncounterJournal_RefreshSlotFilterText(self) if slotFilter ~= NO_INV_TYPE_FILTER then for slotIndex = 1, C_EncounterJournal.GetNumSlotFilters() do local invType, invTypeName, equipSlot = C_EncounterJournal.GetSlotFilterInfo(slotIndex) - if ( invType == slotFilter ) then + if (invType == slotFilter) then text = invTypeName; break; end @@ -2948,7 +3034,7 @@ function EncounterJournal_InitLootFilter(self, level) local classDisplayName, classTag, classID; local info = UIDropDownMenu_CreateInfo(); info.keepShownOnClick = nil; ---[[ + --[[ info.text = EJ_FILTER_ALL_CLASS; info.checked = (filterClassID == NO_CLASS_FILTER); info.arg1 = NO_CLASS_FILTER; @@ -2988,7 +3074,6 @@ function EncounterJournal_InitLootSlotFilter(self, level) end end - ---------------------------------------- --------------Nav Bar Func-------------- ---------------------------------------- @@ -3035,22 +3120,22 @@ function EJSuggestFrame_OnLoad(self) end function EJSuggestFrame_OnEvent(self, event, ...) - if ( event == "AJ_REFRESH_DISPLAY" ) then + if (event == "AJ_REFRESH_DISPLAY") then if self:GetParent().selectedTab == EncounterJournal.instanceSelect.suggestTab.id then EJSuggestFrame_RefreshDisplay(); local newAdventureNotice = ...; - if ( newAdventureNotice ) then --- EncounterJournalMicroButton:UpdateNewAdventureNotice(); + if (newAdventureNotice) then + -- EncounterJournalMicroButton:UpdateNewAdventureNotice(); end end - elseif ( event == "AJ_REWARD_DATA_RECEIVED" ) then + elseif (event == "AJ_REWARD_DATA_RECEIVED") then EJSuggestFrame_RefreshRewards() end end function EJSuggestFrame_OnShow(self) SetParentFrameLevel(self) --- EncounterJournalMicroButton:ClearNewAdventureNotice(); + -- EncounterJournalMicroButton:ClearNewAdventureNotice(); C_AdventureJournal.UpdateSuggestions(); EJSuggestFrame_RefreshDisplay(); @@ -3058,21 +3143,21 @@ function EJSuggestFrame_OnShow(self) end function EJSuggestFrame_NextSuggestion() - if ( C_AdventureJournal.GetPrimaryOffset() < C_AdventureJournal.GetNumAvailableSuggestions()-1 ) then - C_AdventureJournal.SetPrimaryOffset(C_AdventureJournal.GetPrimaryOffset()+1); + if (C_AdventureJournal.GetPrimaryOffset() < C_AdventureJournal.GetNumAvailableSuggestions() - 1) then + C_AdventureJournal.SetPrimaryOffset(C_AdventureJournal.GetPrimaryOffset() + 1); PlaySound(SOUNDKIT.IG_ABILITY_PAGE_TURN); end end function EJSuggestFrame_PrevSuggestion() - if( C_AdventureJournal.GetPrimaryOffset() > 0 ) then - C_AdventureJournal.SetPrimaryOffset(C_AdventureJournal.GetPrimaryOffset()-1); + if (C_AdventureJournal.GetPrimaryOffset() > 0) then + C_AdventureJournal.SetPrimaryOffset(C_AdventureJournal.GetPrimaryOffset() - 1); PlaySound(SOUNDKIT.IG_ABILITY_PAGE_TURN); end end -function EJSuggestFrame_OnMouseWheel( self, value ) - if ( value > 0 ) then +function EJSuggestFrame_OnMouseWheel(self, value) + if (value > 0) then EJSuggestFrame_PrevSuggestion(); else EJSuggestFrame_NextSuggestion() @@ -3084,10 +3169,15 @@ function EJSuggestFrame_OpenFrame() NavBar_Reset(EncounterJournal.navBar); end +function EJPlayerGuide_OpenFrame() + EJ_ContentTab_Select(EncounterJournal.instanceSelect.guideTab.id); + NavBar_Reset(EncounterJournal.navBar); +end + function EJSuggestFrame_UpdateRewards(suggestion) - local rewardData = C_AdventureJournal.GetReward( suggestion.index ); + local rewardData = C_AdventureJournal.GetReward(suggestion.index); suggestion.reward.data = rewardData; - if ( rewardData ) then + if (rewardData) then if rewardData.isRewardList then local numRewards = 0 @@ -3096,8 +3186,8 @@ function EJSuggestFrame_UpdateRewards(suggestion) if itemRewardData then local texture = itemRewardData.itemIcon or "Interface\\Icons\\achievement_guildperk_mobilebanking"; local rewardFrame = suggestion.rewardFrames[index] - -- rewardFrame.icon:SetMask("Interface\\CharacterFrame\\TempPortraitAlphaMask"); - -- rewardFrame.icon:SetTexture(texture); + -- rewardFrame.icon:SetMask("Interface\\CharacterFrame\\TempPortraitAlphaMask"); + -- rewardFrame.icon:SetTexture(texture); SetPortraitToTexture(rewardFrame.icon, texture) rewardFrame.data = rewardData rewardFrame:Show() @@ -3116,7 +3206,8 @@ function EJSuggestFrame_UpdateRewards(suggestion) elseif numRewards > 2 then offsetX = 4 + 11 * (numRewards - 2) end - suggestion.reward:SetPoint("BOTTOM", -((numRewards - 1) * suggestion.rewardFrames[2]:GetWidth() + offsetX) / 2, 53) + suggestion.reward:SetPoint("BOTTOM", + -((numRewards - 1) * suggestion.rewardFrames[2]:GetWidth() + offsetX) / 2, 53) else suggestion.reward:SetPoint("BOTTOM", 0, 53) end @@ -3126,12 +3217,12 @@ function EJSuggestFrame_UpdateRewards(suggestion) end local texture = rewardData.itemIcon or rewardData.currencyIcon or - "Interface\\Icons\\achievement_guildperk_mobilebanking"; - if ( rewardData.isRewardTable ) then + "Interface\\Icons\\achievement_guildperk_mobilebanking"; + if (rewardData.isRewardTable) then texture = "Interface\\Icons\\achievement_guildperk_mobilebanking"; end - -- suggestion.reward.icon:SetMask("Interface\\CharacterFrame\\TempPortraitAlphaMask"); - -- suggestion.reward.icon:SetTexture(texture); + -- suggestion.reward.icon:SetMask("Interface\\CharacterFrame\\TempPortraitAlphaMask"); + -- suggestion.reward.icon:SetTexture(texture); SetPortraitToTexture(suggestion.reward.icon, texture) suggestion.reward:Show(); @@ -3147,19 +3238,19 @@ function EJSuggestFrame_UpdateRewards(suggestion) end AdventureJournal_LeftTitleFonts = { - "DestinyFontHuge", -- 32pt font - "QuestFont_Enormous", -- 30pt font - "QuestFont_Super_Huge", -- 24pt font - "QuestFont22", -- 24pt font + "DestinyFontHuge", -- 32pt font + "QuestFont_Enormous", -- 30pt font + "QuestFont_Super_Huge", -- 24pt font + "QuestFont22", -- 24pt font }; local AdventureJournal_RightTitleFonts = { - "QuestFont_Huge", -- 18pt font - "Fancy16Font", -- 16pt font + "QuestFont_Huge", -- 18pt font + "Fancy16Font", -- 16pt font }; local AdventureJournal_RightDescriptionFonts = { - "SystemFont_Med1", -- 12pt font + "SystemFont_Med1", -- 12pt font -- "SystemFont_Small", -- 10pt font }; @@ -3176,15 +3267,15 @@ function EJSuggestFrame_RefreshDisplay() -- hide all the display info for i = 1, AJ_MAX_NUM_SUGGESTIONS do - local suggestion = self["Suggestion"..i]; + local suggestion = self["Suggestion" .. i]; suggestion.centerDisplay:Hide(); - if ( i == 1 ) then + if (i == 1) then -- the left suggestion's button isn't on the centerDisplay frame suggestion.button:Hide(); else suggestion.centerDisplay.button:Hide(); end - -- suggestion.reward:Hide(); + -- suggestion.reward:Hide(); suggestion.icon:Hide(); suggestion.iconRing:Hide(); @@ -3194,7 +3285,7 @@ function EJSuggestFrame_RefreshDisplay() end -- setup the primary suggestion display - if ( #self.suggestions > 0 ) then + if (#self.suggestions > 0) then local suggestion = self.Suggestion1; local data = self.suggestions[1]; @@ -3204,13 +3295,13 @@ function EJSuggestFrame_RefreshDisplay() centerDisplay:SetHeight(suggestion:GetHeight()); centerDisplay:Show(); - -- centerDisplay.title:SetHeight(0); - -- centerDisplay.description:SetHeight(0); + -- centerDisplay.title:SetHeight(0); + -- centerDisplay.description:SetHeight(0); titleText:SetText(data.title); descText:SetText(data.description); -- find largest font that will not go past 2 lines ---[[ + --[[ for i = 1, #AdventureJournal_LeftTitleFonts do titleText:SetFontObject(AdventureJournal_LeftTitleFonts[i]); local numLines = titleText:GetNumLines(); @@ -3234,33 +3325,35 @@ function EJSuggestFrame_RefreshDisplay() centerDisplay.title:SetHeight(centerDisplay.title.text:GetHeight()) centerDisplay.description:SetHeight(centerDisplay.description.text:GetHeight()) - centerDisplay:SetHeight(math.min(180, centerDisplay.title:GetHeight() + 10 + centerDisplay.description:GetHeight())) + centerDisplay:SetHeight(math.min(180, + centerDisplay.title:GetHeight() + 10 + centerDisplay.description:GetHeight())) - if ( data.buttonText and #data.buttonText > 0 ) then - suggestion.button:SetText( data.buttonText ); + if (data.buttonText and #data.buttonText > 0) then + suggestion.button:SetText(data.buttonText); - local btnWidth = max( suggestion.button:GetTextWidth()+42, 150 ); - btnWidth = min( btnWidth, centerDisplay:GetWidth() ); - suggestion.button:SetWidth( btnWidth ); + local btnWidth = max(suggestion.button:GetTextWidth() + 42, 150); + btnWidth = min(btnWidth, centerDisplay:GetWidth()); + suggestion.button:SetWidth(btnWidth); suggestion.button:Show(); end suggestion.icon:Show(); suggestion.iconRing:Show(); - if ( data.iconPath ) then - -- suggestion.icon:SetMask("Interface\\CharacterFrame\\TempPortraitAlphaMask"); - -- suggestion.icon:SetTexture(data.iconPath); + if (data.iconPath) then + -- suggestion.icon:SetMask("Interface\\CharacterFrame\\TempPortraitAlphaMask"); + -- suggestion.icon:SetTexture(data.iconPath); SetPortraitToTexture(suggestion.icon, data.iconPath) else - -- suggestion.icon:SetMask("Interface\\CharacterFrame\\TempPortraitAlphaMask"); - -- suggestion.icon:SetTexture(QUESTION_MARK_ICON); + -- suggestion.icon:SetMask("Interface\\CharacterFrame\\TempPortraitAlphaMask"); + -- suggestion.icon:SetTexture(QUESTION_MARK_ICON); SetPortraitToTexture(suggestion.icon, QUESTION_MARK_ICON) end suggestion.prevButton:SetEnabled(C_AdventureJournal.GetPrimaryOffset() > 0); - suggestion.nextButton:SetEnabled(C_AdventureJournal.GetPrimaryOffset() < C_AdventureJournal.GetNumAvailableSuggestions()-1); + suggestion.nextButton:SetEnabled(C_AdventureJournal.GetPrimaryOffset() < + C_AdventureJournal.GetNumAvailableSuggestions() - 1); - if ( titleText:IsTruncated() ) then + if (titleText:IsTruncated()) then centerDisplay.title:SetScript("OnEnter", EJSuggestFrame_SuggestionTextOnEnter); centerDisplay.title:SetScript("OnLeave", GameTooltip_Hide); else @@ -3276,13 +3369,13 @@ function EJSuggestFrame_RefreshDisplay() end -- setup secondary suggestions display - if ( #self.suggestions > 1 ) then + if (#self.suggestions > 1) then local minTitleIndex = 1; local minDescIndex = 1; for i = 2, #self.suggestions do - local suggestion = self["Suggestion"..i]; - if ( not suggestion ) then + local suggestion = self["Suggestion" .. i]; + if (not suggestion) then break; end @@ -3295,7 +3388,7 @@ function EJSuggestFrame_RefreshDisplay() -- find largest font that will not truncate the title suggestion.centerDisplay.title.text:SetFontObject(AdventureJournal_RightTitleFonts[2]); minTitleIndex = 2 ---[[ + --[[ for fontIndex = minTitleIndex, #AdventureJournal_RightTitleFonts do suggestion.centerDisplay.title.text:SetFontObject(AdventureJournal_RightTitleFonts[fontIndex]); minTitleIndex = fontIndex @@ -3308,7 +3401,7 @@ function EJSuggestFrame_RefreshDisplay() -- find largest font that will not go past 4 lines suggestion.centerDisplay.description.text:SetFontObject(AdventureJournal_RightDescriptionFonts[1]); minDescIndex = 1; ---[[ + --[[ for fontIndex = minDescIndex, #AdventureJournal_RightDescriptionFonts do suggestion.centerDisplay.description.text:SetFontObject(AdventureJournal_RightDescriptionFonts[fontIndex]); minDescIndex = fontIndex; @@ -3319,24 +3412,24 @@ function EJSuggestFrame_RefreshDisplay() end --]] - if ( data.buttonText and #data.buttonText > 0 ) then - suggestion.centerDisplay.button:SetText( data.buttonText ); + if (data.buttonText and #data.buttonText > 0) then + suggestion.centerDisplay.button:SetText(data.buttonText); - local btnWidth = max(suggestion.centerDisplay.button:GetTextWidth()+42, 116); - btnWidth = min( btnWidth, suggestion.centerDisplay:GetWidth() ); - suggestion.centerDisplay.button:SetWidth( btnWidth ); + local btnWidth = max(suggestion.centerDisplay.button:GetTextWidth() + 42, 116); + btnWidth = min(btnWidth, suggestion.centerDisplay:GetWidth()); + suggestion.centerDisplay.button:SetWidth(btnWidth); suggestion.centerDisplay.button:Show(); end suggestion.icon:Show(); suggestion.iconRing:Show(); - if ( data.iconPath ) then - -- suggestion.icon:SetMask("Interface\\CharacterFrame\\TempPortraitAlphaMask"); - -- suggestion.icon:SetTexture(data.iconPath); + if (data.iconPath) then + -- suggestion.icon:SetMask("Interface\\CharacterFrame\\TempPortraitAlphaMask"); + -- suggestion.icon:SetTexture(data.iconPath); SetPortraitToTexture(suggestion.icon, data.iconPath) else - -- suggestion.icon:SetMask("Interface\\CharacterFrame\\TempPortraitAlphaMask"); - -- suggestion.icon:SetTexture(QUESTION_MARK_ICON); + -- suggestion.icon:SetMask("Interface\\CharacterFrame\\TempPortraitAlphaMask"); + -- suggestion.icon:SetTexture(QUESTION_MARK_ICON); SetPortraitToTexture(suggestion.icon, QUESTION_MARK_ICON) end @@ -3345,7 +3438,7 @@ function EJSuggestFrame_RefreshDisplay() -- set the fonts to be the same for both right side sections -- adjust the center display to keep the text centered for i = 2, #self.suggestions do - local suggestion = self["Suggestion"..i]; + local suggestion = self["Suggestion" .. i]; suggestion.centerDisplay:SetHeight(suggestion:GetHeight()); local title = suggestion.centerDisplay.title; @@ -3354,7 +3447,7 @@ function EJSuggestFrame_RefreshDisplay() description.text:SetFontObject(AdventureJournal_RightDescriptionFonts[minDescIndex]); local fontHeight = select(2, title.text:GetFont()); title:SetHeight(fontHeight); ---[[ + --[[ local numLines = min(4, description.text:GetNumLines()); fontHeight = select(2, description.text:GetFont()); description:SetHeight(numLines * fontHeight); @@ -3366,18 +3459,18 @@ function EJSuggestFrame_RefreshDisplay() -- adjust the center display to keep the text centered local top = title:GetTop(); local bottom = description:GetBottom(); - if ( suggestion.centerDisplay.button:IsShown() ) then + if (suggestion.centerDisplay.button:IsShown()) then bottom = suggestion.centerDisplay.button:GetBottom(); end - if ( title.text:IsTruncated() ) then + if (title.text:IsTruncated()) then title:SetScript("OnEnter", EJSuggestFrame_SuggestionTextOnEnter); title:SetScript("OnLeave", GameTooltip_Hide); else title:SetScript("OnEnter", nil); title:SetScript("OnLeave", nil); end ---[[ + --[[ if ( description.text:IsTruncated() ) then description:SetScript("OnEnter", EJSuggestFrame_SuggestionTextOnEnter); description:SetScript("OnLeave", GameTooltip_Hide); @@ -3393,7 +3486,7 @@ function EJSuggestFrame_RefreshDisplay() -- fix SimpleHTML hyperlinks positions for i = 1, AJ_MAX_NUM_SUGGESTIONS do - local suggestion = self["Suggestion"..i]; + local suggestion = self["Suggestion" .. i]; suggestion:Hide() suggestion:Show() end @@ -3407,7 +3500,7 @@ end function EJSuggestFrame_RefreshRewards() for i = 1, AJ_MAX_NUM_SUGGESTIONS do - local suggestion = EncounterJournal.suggestFrame["Suggestion"..i]; + local suggestion = EncounterJournal.suggestFrame["Suggestion" .. i]; suggestion.reward:Hide(); EJSuggestFrame_UpdateRewards(suggestion); end @@ -3420,7 +3513,7 @@ end function AdventureJournal_Reward_OnEnter(self) local rewardData = self.data; - if ( rewardData ) then + if (rewardData) then if rewardData.isRewardList then local reward = rewardData[self:GetID()] if reward and reward.itemLink then @@ -3441,31 +3534,35 @@ function AdventureJournal_Reward_OnEnter(self) local suggestion = EncounterJournal.suggestFrame.suggestions[self:GetParent().index]; local rewardHeaderText = ""; - if ( rewardData.rewardDesc ) then + if (rewardData.rewardDesc) then rewardHeaderText = rewardData.rewardDesc; - elseif ( rewardData.isRewardTable ) then - if ( not suggestion.hideDifficulty and suggestion.difficultyID and suggestion.difficultyID > 1 ) then - local difficultyStr = EJ_DIFFICULTIES[suggestion.difficultyID] and EJ_DIFFICULTIES[suggestion.difficultyID].prefix or "" - if( rewardData.itemLevel ) then - rewardHeaderText = format(AJ_LFG_REWARD_DIFFICULTY_TEXT, suggestion.title, difficultyStr, rewardData.itemLevel); - elseif ( rewardData.minItemLevel ) then - rewardHeaderText = format(AJ_LFG_REWARD_DIFFICULTY_IRANGE_TEXT, suggestion.title, difficultyStr, rewardData.minItemLevel, rewardData.maxItemLevel); + elseif (rewardData.isRewardTable) then + if (not suggestion.hideDifficulty and suggestion.difficultyID and suggestion.difficultyID > 1) then + local difficultyStr = EJ_DIFFICULTIES[suggestion.difficultyID] and + EJ_DIFFICULTIES[suggestion.difficultyID].prefix or "" + if (rewardData.itemLevel) then + rewardHeaderText = format(AJ_LFG_REWARD_DIFFICULTY_TEXT, suggestion.title, difficultyStr, + rewardData.itemLevel); + elseif (rewardData.minItemLevel) then + rewardHeaderText = format(AJ_LFG_REWARD_DIFFICULTY_IRANGE_TEXT, suggestion.title, difficultyStr, + rewardData.minItemLevel, rewardData.maxItemLevel); end else - if( rewardData.itemLevel ) then + if (rewardData.itemLevel) then rewardHeaderText = format(AJ_LFG_REWARD_DEFAULT_TEXT, suggestion.title, rewardData.itemLevel); - elseif ( rewardData.minItemLevel ) then - rewardHeaderText = format(AJ_LFG_REWARD_DEFAULT_IRANGE_TEXT, suggestion.title, rewardData.minItemLevel, rewardData.maxItemLevel); + elseif (rewardData.minItemLevel) then + rewardHeaderText = format(AJ_LFG_REWARD_DEFAULT_IRANGE_TEXT, suggestion.title, + rewardData.minItemLevel, rewardData.maxItemLevel); end end - if( rewardData.itemLink ) then - rewardHeaderText = rewardHeaderText..AJ_SAMPLE_REWARD_TEXT; + if (rewardData.itemLink) then + rewardHeaderText = rewardHeaderText .. AJ_SAMPLE_REWARD_TEXT; end end - if ( rewardData.itemLink and rewardData.currencyType ) then - local itemName, _, quality = C_Item.GetItemInfo(rewardData.itemLink); + if (rewardData.itemLink and rewardData.currencyType) then + local itemName, _, quality = C_Item.GetItemInfo(rewardData.itemLink); frame.Item1.text:SetText(itemName); frame.Item1.text:Show(); frame.Item1.icon:SetTexture(rewardData.itemIcon); @@ -3473,7 +3570,7 @@ function AdventureJournal_Reward_OnEnter(self) frame.Item1:SetSize(256, 28); frame.Item1:Show(); - if ( rewardData.itemQuantity and rewardData.itemQuantity > 1 ) then + if (rewardData.itemQuantity and rewardData.itemQuantity > 1) then frame.Item1.Count:SetText(rewardData.itemQuantity); frame.Item1.Count:Show(); else @@ -3483,20 +3580,23 @@ function AdventureJournal_Reward_OnEnter(self) SetItemButtonQuality(frame.Item1, quality, rewardData.itemLink); if (quality > Enum.ItemQuality.Common and BAG_ITEM_QUALITY_COLORS[quality]) then - frame.Item1.text:SetTextColor(BAG_ITEM_QUALITY_COLORS[quality].r, BAG_ITEM_QUALITY_COLORS[quality].g, BAG_ITEM_QUALITY_COLORS[quality].b); + frame.Item1.text:SetTextColor(BAG_ITEM_QUALITY_COLORS[quality].r, BAG_ITEM_QUALITY_COLORS[quality].g, + BAG_ITEM_QUALITY_COLORS[quality].b); end - local currencyName, _, quality, _, _, _, _, _, _, currencyIcon = C_Item.GetItemInfo(rewardData.currencyType, nil, nil, true) + local currencyName, _, quality, _, _, _, _, _, _, currencyIcon = C_Item.GetItemInfo(rewardData.currencyType, + nil, nil, true) frame.Item2.icon:SetTexture(currencyIcon); frame.Item2.text:SetText(currencyName); frame.Item2:Show(); SetItemButtonQuality(frame.Item2, quality); if (quality > Enum.ItemQuality.Common and BAG_ITEM_QUALITY_COLORS[quality]) then - frame.Item2.text:SetTextColor(BAG_ITEM_QUALITY_COLORS[quality].r, BAG_ITEM_QUALITY_COLORS[quality].g, BAG_ITEM_QUALITY_COLORS[quality].b); + frame.Item2.text:SetTextColor(BAG_ITEM_QUALITY_COLORS[quality].r, BAG_ITEM_QUALITY_COLORS[quality].g, + BAG_ITEM_QUALITY_COLORS[quality].b); end - if ( rewardData.currencyQuantity and rewardData.currencyQuantity > 1 ) then + if (rewardData.currencyQuantity and rewardData.currencyQuantity > 1) then frame.Item2.Count:SetText(rewardData.currencyQuantity); frame.Item2.Count:Show(); else @@ -3506,7 +3606,7 @@ function AdventureJournal_Reward_OnEnter(self) frame:SetWidth(256); - if ( rewardHeaderText and rewardHeaderText ~= "" ) then + if (rewardHeaderText and rewardHeaderText ~= "") then frame.headerText:SetText(rewardHeaderText); frame.Item1:SetPoint("TOPLEFT", frame.headerText, "BOTTOMLEFT", 0, -16); height = height + frame.headerText:GetHeight(); @@ -3517,7 +3617,7 @@ function AdventureJournal_Reward_OnEnter(self) end frame:SetHeight(height); - elseif ( rewardData.itemLink or rewardData.currencyType ) then + elseif (rewardData.itemLink or rewardData.currencyType) then frame.Item2:Hide(); frame.Item1:Show(); frame.Item1.text:Hide(); @@ -3525,14 +3625,14 @@ function AdventureJournal_Reward_OnEnter(self) local tooltip = frame.Item1.tooltip; tooltip:SetOwner(frame.Item1, "ANCHOR_NONE"); frame.Item1.UpdateTooltip = function() AdventureJournal_Reward_OnEnter(self) end; - if ( rewardData.itemLink ) then + if (rewardData.itemLink) then tooltip:SetHyperlink(rewardData.itemLink); GameTooltip_ShowCompareItem(tooltip, frame.Item1.tooltip); - local quality = select(3, C_Item.GetItemInfo(rewardData.itemLink)); + local quality = select(3, C_Item.GetItemInfo(rewardData.itemLink)); SetItemButtonQuality(frame.Item1, quality, rewardData.itemLink); - if ( rewardData.itemQuantity and rewardData.itemQuantity > 1 ) then + if (rewardData.itemQuantity and rewardData.itemQuantity > 1) then frame.Item1.Count:SetText(rewardData.itemQuantity); frame.Item1.Count:Show(); else @@ -3541,14 +3641,14 @@ function AdventureJournal_Reward_OnEnter(self) self:SetScript("OnUpdate", EncounterJournal_AJ_OnUpdate); frame.Item1.icon:SetTexture(rewardData.itemIcon); - elseif ( rewardData.currencyType ) then + elseif (rewardData.currencyType) then tooltip:SetHyperlink(strconcat("item:", rewardData.currencyType)); local _, _, quality = C_Item.GetItemInfo(rewardData.currencyType, nil, nil, true); SetItemButtonQuality(frame.Item1, quality); - if ( rewardData.currencyQuantity and rewardData.currencyQuantity > 1 ) then + if (rewardData.currencyQuantity and rewardData.currencyQuantity > 1) then frame.Item1.Count:SetText(rewardData.currencyQuantity); frame.Item1.Count:Show(); else @@ -3558,9 +3658,9 @@ function AdventureJournal_Reward_OnEnter(self) frame.Item1.icon:SetTexture(rewardData.currencyIcon); end - frame:SetWidth(tooltip:GetWidth()+54); + frame:SetWidth(tooltip:GetWidth() + 54); - if ( rewardHeaderText and rewardHeaderText ~= "" ) then + if (rewardHeaderText and rewardHeaderText ~= "") then frame.headerText:SetText(rewardHeaderText); frame.headerText:Show(); frame.Item1:SetPoint("TOPLEFT", frame.headerText, "BOTTOMLEFT", 0, -16); @@ -3572,10 +3672,10 @@ function AdventureJournal_Reward_OnEnter(self) tooltip:SetPoint("TOPLEFT", frame.Item1.icon, "TOPRIGHT", 0, 10); tooltip:Show(); - frame.Item1:SetSize(tooltip:GetWidth()+44, tooltip:GetHeight()); + frame.Item1:SetSize(tooltip:GetWidth() + 44, tooltip:GetHeight()); local height = tooltip:GetHeight() + 6; - if ( frame.headerText:IsShown() ) then + if (frame.headerText:IsShown()) then height = height + frame.headerText:GetHeight() + 14; end if (rewardData.isRewardTable) then @@ -3585,14 +3685,14 @@ function AdventureJournal_Reward_OnEnter(self) end frame:SetHeight(height); - elseif ( rewardHeaderText and rewardHeaderText ~= "" ) then - -- frame:SetWidth(256); + elseif (rewardHeaderText and rewardHeaderText ~= "") then + -- frame:SetWidth(256); frame.Item1:Hide(); frame.Item2:Hide(); frame.headerText:SetText(rewardHeaderText); - frame:SetWidth(frame.headerText:GetStringWidth()+22); -- add padding for tooltip border - frame:SetHeight(frame.headerText:GetStringHeight()+20); -- add padding for tooltip border + frame:SetWidth(frame.headerText:GetStringWidth() + 22); -- add padding for tooltip border + frame:SetHeight(frame.headerText:GetStringHeight() + 20); -- add padding for tooltip border frame.headerText:Show(); else return; @@ -3622,16 +3722,16 @@ end function AdventureJournal_Reward_OnMouseDown(self) local index = self:GetParent().index; local data = EncounterJournal.suggestFrame.suggestions[index]; - if ( data.ej_instanceID ) then + if (data.ej_instanceID) then EncounterJournal_DisplayInstance(data.ej_instanceID); -- try to set difficulty to current instance difficulty - if ( EJ_IsValidInstanceDifficulty(data.difficultyID) ) then + if (EJ_IsValidInstanceDifficulty(data.difficultyID)) then EJ_SetDifficulty(data.difficultyID); end -- select the loot tab EncounterJournal.encounter.info[EJ_Tabs[2].button]:Click(); - elseif ( data.isRandomDungeon ) then + elseif (data.isRandomDungeon) then EJ_ContentTab_Select(EncounterJournal.instanceSelect.dungeonsTab.id); EncounterJournal_TierDropDown_Select(nil, data.expansionLevel); end @@ -3645,7 +3745,7 @@ function EncounterJournalBossButton_OnClick(self) return; end local _, _, _, rootSectionID = EJ_GetEncounterInfo(self.encounterID); - if ( rootSectionID == 0 ) then + if (rootSectionID == 0) then EncounterJournal_SetTab(EncounterJournal.encounter.info.lootTab:GetID()); end EncounterJournal_DisplayEncounter(self.encounterID); @@ -3708,7 +3808,8 @@ function EncounterInstanceButtonRequirements_OnEnter(self) for index, requirement in ipairs(self.requirements) do GameTooltip_AddBlankLineToTooltip(GameTooltip) - local difficultyPrefix, difficultySize, difficultyMask = EJ_GetDifficultyInfo(requirement.difficultyID, requirement.isRaid) + local difficultyPrefix, difficultySize, difficultyMask = EJ_GetDifficultyInfo(requirement.difficultyID, + requirement.isRaid) local difficultyStr if difficultyPrefix then difficultyStr = string.format("(%s) %s", difficultySize, difficultyPrefix) @@ -3716,15 +3817,23 @@ function EncounterInstanceButtonRequirements_OnEnter(self) difficultyStr = requirement.difficultyID end - GameTooltip_AddNormalLine(GameTooltip, string.format(EJ_INSTANCE_REQUIREMENT_DIFFICULTY, HIGHLIGHT_FONT_COLOR:WrapTextInColorCode(difficultyStr)), true) + GameTooltip_AddNormalLine(GameTooltip, + string.format(EJ_INSTANCE_REQUIREMENT_DIFFICULTY, HIGHLIGHT_FONT_COLOR:WrapTextInColorCode(difficultyStr)), + true) if requirement.minLevel and requirement.maxLevel then - local completed = WithinRange(UnitLevel("player"), requirement.minLevel or 1, requirement.maxLevel or MAX_PLAYER_LEVEL) + local completed = WithinRange(UnitLevel("player"), requirement.minLevel or 1, + requirement.maxLevel or MAX_PLAYER_LEVEL) local color = completed and GREEN_FONT_COLOR or HIGHLIGHT_FONT_COLOR if requirement.minLevel == requirement.maxLevel then - GameTooltip_AddNormalLine(GameTooltip, string.format(EJ_INSTANCE_REQUIREMENT_LEVEL, color:WrapTextInColorCode(requirement.maxLevel)), true) + GameTooltip_AddNormalLine(GameTooltip, + string.format(EJ_INSTANCE_REQUIREMENT_LEVEL, color:WrapTextInColorCode(requirement.maxLevel)), + true) else - GameTooltip_AddNormalLine(GameTooltip, string.format(EJ_INSTANCE_REQUIREMENT_LEVEL_RANGE, color:WrapTextInColorCode(requirement.minLevel), color:WrapTextInColorCode(requirement.maxLevel)), true) + GameTooltip_AddNormalLine(GameTooltip, + string.format(EJ_INSTANCE_REQUIREMENT_LEVEL_RANGE, + color:WrapTextInColorCode(requirement.minLevel), + color:WrapTextInColorCode(requirement.maxLevel)), true) end end @@ -3732,7 +3841,9 @@ function EncounterInstanceButtonRequirements_OnEnter(self) local avgItemLevelEquipped = GetAverageItemLevel() local completed = avgItemLevelEquipped >= requirement.itemLevel local color = completed and GREEN_FONT_COLOR or HIGHLIGHT_FONT_COLOR - GameTooltip_AddNormalLine(GameTooltip, string.format(EJ_INSTANCE_REQUIREMENT_ITEM_LEVEL, color:WrapTextInColorCode(requirement.itemLevel)), true) + GameTooltip_AddNormalLine(GameTooltip, + string.format(EJ_INSTANCE_REQUIREMENT_ITEM_LEVEL, color:WrapTextInColorCode(requirement.itemLevel)), + true) end if requirement.quests then @@ -3757,7 +3868,8 @@ function EncounterInstanceButtonRequirements_OnEnter(self) if requirement.achievements then GameTooltip_AddNormalLine(GameTooltip, EJ_INSTANCE_REQUIREMENT_ACHIEVEMENTS, true) for achievementIndex, achievementID in ipairs(requirement.achievements) do - local id, name, points, completed, month, day, year, description, flags, icon = GetAchievementInfo(achievementID) + local id, name, points, completed, month, day, year, description, flags, icon = GetAchievementInfo( + achievementID) if IsGMAccount() then name = string.format("%s [%d]", name, achievementID) end @@ -3814,7 +3926,8 @@ local factionData = { } function LootJournal_CanOpenItemByEntry(itemID, checkFaction) - local _itemID, encounterID, name, icon, equipSlot, itemSubType, link, itemType, difficultyID, factionID = EJ_GetLootInfo(itemID) + local _itemID, encounterID, name, icon, equipSlot, itemSubType, link, itemType, difficultyID, factionID = + EJ_GetLootInfo(itemID) local canOpened = false if encounterID then @@ -3838,7 +3951,8 @@ function LootJournal_OpenItemByEntry(itemID) return end - local _itemID, encounterID, name, icon, equipSlot, itemSubType, link, itemType, difficultyID, factionID = EJ_GetLootInfo(itemID) + local _itemID, encounterID, name, icon, equipSlot, itemSubType, link, itemType, difficultyID, factionID = + EJ_GetLootInfo(itemID) if encounterID then local _, _, _, _, _, instanceID = EJ_GetEncounterInfo(encounterID) if instanceID then diff --git a/src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Custom_EncounterJournal/Custom_EncounterJournal.xml b/src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Custom_EncounterJournal/Custom_EncounterJournal.xml index 93db5b8..9b0152d 100644 --- a/src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Custom_EncounterJournal/Custom_EncounterJournal.xml +++ b/src/Data/ruRU/patch-ruRU-5/Interface/AddOns/MoonWellClient/EncounterJournal/Custom_EncounterJournal/Custom_EncounterJournal.xml @@ -2107,7 +2107,7 @@ - +