Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Auro: Archimonde - ShackleHUD
- -- Version: 0.2.1
- -- Load: Zone[Hellfire Citadel]
- -- Do Not Load: EncounterID
- -- Trigger [ENCOUNTER_START, ENCOUNTER_END, COMBAT_LOG_EVENT_UNFILTERED, AuroBM_ShackleHUD]
- function(event, encounterID, msg, _, srcGUID, srcName, _, _, destGUID, destName, _, _, spellID, spellName)
- if (event == "ENCOUNTER_START" and aura_env.encounterIDs[encounterID] == true) then
- aura_env.wipe2DTable(aura_env.shackles);
- aura_env.wipeTable(aura_env.rosterIDs);
- aura_env.playerRaidID = nil;
- aura_env.rosterSize = GetNumGroupMembers();
- for i = 1, aura_env.rosterSize do
- local guid = UnitGUID("raid" .. i);
- aura_env.rosterIDs[guid] = i;
- if (guid == aura_env.playerGUID) then
- aura_env.playerRaidID = i;
- end
- end
- print("Auro: Archimonde ShackleHUD - Loaded");
- elseif (event == "ENCOUNTER_END" and aura_env.encounterIDs[encounterID] == true) then
- aura_env.wipe2DTable(aura_env.shackles);
- aura_env.wipeTable(aura_env.rosterIDs);
- aura_env.playerRaidID = nil;
- -- Turns off HUD
- aura_env.core:Request2Show(aura_env.id, false);
- WeakAuras.ScanEvents(aura_env.eventName);
- end
- if (event == "COMBAT_LOG_EVENT_UNFILTERED") then
- if (msg == "SPELL_AURA_APPLIED" and spellID == aura_env.shackleDebuffSpellID) then
- -- Delete leftover disks
- if (aura_env.shackles[destGUID]) then
- aura_env.wipeTable(aura_env.shackles[destGUID]);
- aura_env.shackles[destGUID] = nil;
- end
- -- Find Unit
- local unit = aura_env.core.roster[destGUID];
- if not unit then return end
- local pos = {unpack(aura_env.core.positions[unit])};
- if not pos then return end
- local raidID = aura_env.rosterIDs[destGUID];
- if not raidID then return false; end
- local x, y, z, map = UnitPosition("raid" .. raidID);
- if not x then return false; end
- if not y then return false; end
- -- Create disk
- local disk = aura_env.core:NewDisk(aura_env.shackleRange * aura_env.core.db.scale);
- -- Assumes destGUID is focused and destGUID is wrought
- disk:Stick(pos);
- -- Color / put in table
- aura_env.shackles[destGUID] = {};
- aura_env.shackles[destGUID]["x"] = x;
- aura_env.shackles[destGUID]["y"] = y;
- aura_env.shackles[destGUID]["unit"] = raidID;
- aura_env.shackles[destGUID]["disk"] = disk;
- if (destGUID == aura_env.playerGUID) then
- disk = aura_env.core:NewDisk(aura_env.personalShackleRange * aura_env.core.db.scale);
- disk:Stick(pos);
- disk:Color(0, 0, 1, aura_env.diskOpacity - 0.05);
- aura_env.personalShackle = disk;
- end
- return true;
- elseif ((msg == "SPELL_AURA_REMOVED" and spellID == aura_env.shackleDebuffSpellID) or (msg == "UNIT_DIED" and aura_env.shackles[destGUID])) then
- -- Clear Disk
- if (aura_env.shackles[destGUID]) then
- aura_env.wipeTable(aura_env.shackles[destGUID]);
- aura_env.shackles[destGUID] = nil;
- end
- if (destGUID == aura_env.playerGUID) then
- local disk = aura_env.personalShackle;
- if disk then
- disk:Free();
- aura_env.personalShackle = nil;
- end
- end
- if not next(aura_env.shackles) then
- aura_env.core:Request2Show(aura_env.id, false);
- WeakAuras.ScanEvents(aura_env.eventName);
- end
- elseif (msg == "SPELL_CAST_START" and spellID == aura_env.ascensionSpellID) then
- -- P3 Disable HUD
- aura_env.wipe2DTable(aura_env.shackles);
- local disk = aura_env.personalShackle;
- if disk then
- disk:Free();
- aura_env.personalShackle = nil;
- end
- -- Turns off HUD
- aura_env.core:Request2Show(aura_env.id, false);
- WeakAuras.ScanEvents(aura_env.eventName);
- elseif (msg == "SPELL_CAST_START" and spellID == aura_env.shackleCastSpellID) then
- -- If shackles from last shackle are still out the new shackles do not show
- -- I think I should hide here, and show on cast success
- aura_env.wipe2DTable(aura_env.shackles);
- local disk = aura_env.personalShackle;
- if disk then
- disk:Free();
- aura_env.personalShackle = nil;
- end
- elseif (msg == "SPELL_CAST_SUCCESS" and spellID == aura_env.shackleCastSpellID) then
- aura_env.core:Request2Show(aura_env.id, true, aura_env.hudScale);
- end
- end
- end
- -- Untrigger
- function(event)
- if (event == aura_env.eventName) then
- return true;
- end
- end
- -- Custom Text [Every Frame]
- function()
- if not aura_env.core then return "" end
- if not aura_env.rosterSize then return "" end
- if not aura_env.rosterIDs then return "" end
- if not aura_env.playerRaidID then return "" end
- local chaosOpacity = 0;
- local wroughtCheck = UnitDebuff("player", "Wrought Chaos");
- local focusCheck = UnitDebuff("player", "Focused Chaos");
- if (wroughtCheck ~= nil or focusCheck ~= nil) then
- chaosOpacity = 0.1;
- end
- for guid in pairs (aura_env.shackles) do
- -- Variables
- local shackleUnit = aura_env.shackles[guid]["unit"];
- local shackleX = aura_env.shackles[guid]["x"];
- local shackleY = aura_env.shackles[guid]["y"];
- local disk = aura_env.shackles[guid]["disk"];
- local num = 0;
- local playerIn = false;
- local personalDisk = aura_env.personalShackle;
- if not shackleX then break end
- if not shackleY then break end
- if not shackleUnit then break end
- if not disk then break end
- for i = 1, aura_env.rosterSize do
- local isDead = UnitIsDeadOrGhost("raid" .. i);
- if (shackleUnit ~= i and isDead == false) then
- local raidX, raidY = UnitPosition("raid" .. i);
- if not raidX then break end
- local distance = aura_env.distance(shackleX, shackleY, raidX, raidY);
- if (distance <= aura_env.shackleRange) then
- num = num + 1;
- if (i == aura_env.playerRaidID) then
- playerIn = true;
- end
- end;
- end
- end
- disk.timer:SetText(num);
- if (num > 0 and playerIn == true) then
- disk:Color(1, 0, 0, aura_env.diskOpacity - chaosOpacity);
- elseif (num > 0 and playerIn == false) then
- disk:Color(1, 1, 0, aura_env.diskOpacity - chaosOpacity);
- else
- disk:Color(0, 0.5, 0, aura_env.diskOpacity - chaosOpacity);
- end
- end
- if personalDisk then
- disk:Color(0, 0, 1, aura_env.diskOpacity - chaosOpacity - 0.05);
- end
- if not next(aura_env.shackles) then
- aura_env.core:Request2Show(aura_env.id, false);
- WeakAuras.ScanEvents(aura_env.eventName);
- end
- return "";
- end
- -- Init
- aura_env.core = WA_RaidHUD;
- aura_env.hudScale = 6;
- aura_env.eventName = "AuroBM_ShackleHUD";
- aura_env.playerGUID = UnitGUID("player");
- aura_env.playerRaidID = nil;
- aura_env.rosterSize = nil;
- aura_env.rosterIDs = {};
- aura_env.shackles = {};
- aura_env.personalShackle = nil;
- aura_env.shackleCastSpellID = 184931;
- aura_env.shackleDebuffSpellID = 184964;
- aura_env.ascensionSpellID = 190313;
- aura_env.shackleRange = 25;
- aura_env.personalShackleRange = 30;
- aura_env.encounterIDs = {};
- aura_env.encounterIDs[1799] = true;
- aura_env.diskOpacity = 0.2;
- aura_env.wipeTable = function(table)
- -- Clear Table
- for guid in pairs(table) do
- if (guid == "disk" or guid == "line") then
- local disk = table[guid];
- disk:Free();
- end
- table[guid] = nil;
- end
- end
- aura_env.wipe2DTable = function(table)
- -- Clear Table
- for guid in pairs(table) do
- for v in pairs(table[guid]) do
- if (v == "disk" or v == "line") then
- local disk = table[guid][v];
- if (disk) then
- disk:Free();
- end
- end
- table[guid][v] = nil;
- end
- table[guid] = nil;
- end
- end
- aura_env.distance = function(x1, y1, x2, y2)
- local dx = x2 - x1;
- local dy = y2 - y1;
- local distance = (dx * dx) + (dy * dy);
- distance = math.sqrt(distance);
- return distance;
- end
- ************
- di12VaGiGQlbrLyuuOtrrwfevXRGOszwOQClsu7cc)IukkddPIJHu0YiH8miQyAevPUgev12qQK(gevPXrufohsLyDKs17qvMhPuuDpKyFquP6Giv1cjQkpeO0ejkxKuYgrQuFePWijLsNKu1krPzcu0nPOQ2jj4NivzOevvlfIYtHIPcrUksPTsrf9vIQKXskfolfv4TuqZfIkP7srzVqP)cKbRomIftbEmjnzu5YuTzsXNjrgnO60q61iPzdv3gvv7MWVjYWjvoorv0YP0ZbmDqUok2oO8DsOgpqHZtuz9uuL3trLA(KsrUpfvY(LXstSiHfd)yXWHfdhwKWIHdfqhoroKCWaclgKlQyXOYaajXpsoyaHfJYk3GLbasI)gjhmGAd1cMBLRPBlHF3Sy1WiuHqLegnfB3DJQPfsqnHXsa5cyiuLSEdb3fT1HySIgCWBxWfB3DJQPfsqnHXsa5cyiSsaqUfdQ55neCx0whIXkAWbVDbxSD3nQMwib1eglbKlGHWkba5w9YaAi4UOToeJv0GdE7cUy7UBunTqcQjmwcixadHoCICUfzeuo9YAi4UOToeJv0GdE7cUy7U7y7UBCjvcERcNibqpDevui5AknD4fB3DJlPsWBfBLyucoeyH7QuBknTcuizUbmA0yeCD4e5Cl481GlVSsmkbhQblCIea4M4fB3DJlPsWBnsQmaGfURsTP00kqHK5gWOrJrW1HtKZTGZxdoDlPYa4CnyHtKaa3eVy7UBunTrfBLyucoeyH7Qu70MO0cu8wY2AKuzaalCxLAN2eLwGIBQHG7Iy7U7U7wforcGE6iQOqY1uA6GGM8IT7UDbxSD3DSD3TgjBRedkxJkADeulqBKWyjGCbmeaWjQuXDatnNuSD3D3DRSYT5KyrjgG7aX2D3D3nUKkbVbGtuPI70kqHAknHXsa5cyiaGtuPI7agQedkNzgcoJafcCZ4fB3D3D34sQe8gaorLkURnAknHXsa5cyiaGtuPI7agQedkNzgcoyaUz8IT7U7UBCjvcEdaNOsf3nhnLMWyjGCbmeaWjQuXDadvIbLZmdbxoWnJxSD3D3DJlPsWBouaQnLMWyjGCbmeaWjQuXDadvIbLZmdbNdfGk4MXl2U7U7UXLuj4TGH)MsthEX2D3D3nUKkbV1HtKZT6fnLwdbhW5fB3D3D34sQe8wNBbKeeCzOauBknHXsa5cyi05wajbbhdCIkvCNxSD3D3DhB3D3D3OAAHeudaNOsf31gneCx0gyDc12fCX2D3D3nQMwib1aWjQuXDZrdb3fTbwNqTDbxSD3D3DJQPfsqnaCIkvCNwbkudb3fTbwNqTDbxSD3D3DJQPfsqnhka1gcUlAdSoHA7cUy7U7U7o2U7U7U1izB0Mstt(AcJLaYfWqyLaGClguZZBoPy7U7U7U7UXLuj4nkGmNW1uAAfOq6bK5eo6zPbCjaiJGBjOCG3iq0OM4fB3D3D3D3nQM2iaCIkvCNwbkuN2eLgTjcUgfqMt4AkuAneCa3udb3fX2D3D3D3D3D34sQe82sq50g81wckN5OP00kqHKFjauiujHrWTeuoWBeiAut8IT7U7U7U7U7Ur10cjO2sq50gneCx0gyDc12fCX2D3D3D3D3D34sQe8MdfaIiu9MstySeqUagcouaiIq1ncaNOsf31g81aWjQuXDZbFTLGYPn4RTeuoZHjEX2D3D3D3D3D3OAAJCOaqeHQ3AZP0eglbKlGHaaorLkUJmIqj3udb3fX2D3D3D3D3D3D3TGH)Msly4VrU10KxSD3D3D3D3D3D3DJQPnI2uO0eglbKlGHqhoro3ImckNEzMAi4Ui2U7U7U7U7U7U7U7UBD4e5CRErtPHSmoVy7U7U7U7U7U7U72fCX2D3D3D3D3D3UGJxSD3D3D3D3UGl2U7U7UDbxSD3D3DhB3D3D3COauraHYVB1oghcjhmGmky43eVy7U7U7gvtBuWWFJCVPtteCToCICUvVOPqPHSmUPgcUlIT7U7U7U7MdfGQ2bReUK1in5RPdFnD4Rjmwcixadbhkav6PJOIcjxRCRcNibqpDevui5mXl2U7U7UDCahvtBuWWFJCVPtteCToCICUvVOPqP1qWbCtneCxeB3D3D3D3nhkavTdwjCjRrAYxtt(A6WxtySeqUagcouaQ0thrffsUw5wforcGE6iQOqYzIxSD3D3D74aESD3D3D3D3COau1oyLWLSgPdFnDqG85RPdFnHXsa5cyi4qbOspDevui5ALBv4eja6PJOIcjNjEX2D3D3Tl4IT7UDbxSD3nQMwNBbKeeCzOauBi4Ui2U7U7U5qbOQDWkHlznsh(A6Wxtt(AcJLaYfWqWHcqLE6iQOqY1k3QWjsa0thrffsUw5MoiOdY3eVy7UBxWfB3DhB3DJQPfsqTWbdiJeglbKlGHaaorLkUdyQHG7Iy7U7U7MWyjGCbmeQswx7iZLNmoaKIWaxsXgjmwcixadbkhFTgcoGBIxSD3D3DlVCcv6ZyjaiWOseAbZfqagjmwcixadHdZfqkq43nXl2U72fCX2D3whIXkAWbNxSUGl2yJnwSyiQqOscaSiHfdQafclsyXWjbsLbasIFSYhwmQmaqs8JfJYk36fOqXsySeqUagcvjR3uA5f9bHmckN2sRmEXsySeqUagc4mCyuj4EtPPR8ILWyjGCbmeomxaPaHFVP0GtFgRK8z(GWaNOsf31wALboVyjmwcixadHoCICULg0QxwtPPvGcrdA1lZi46WjY5wWnXlwcJLaYfWqOdNiNBrgbLtVSMslqX5flHXsa5cyiSsaqUfdQ55nLwGIZlwcJLaYfWqyLaGCREzanL2CBU4flHXsa5cyiaGtuPI7anL2CBU4flHXsa5cyi05wajbbhdCIkvCVP0cuCEXsySeqUagca4evQ4oyjaqy05446L1uAAkpK30fKdn5flHXsa5cyiaGtuPI7YCdy0ObJohhxVSMstt5H8MUqxL38ILWyjGCbmeeavxaGkjWOZXX1lRP00KUqhKdnro8ILWyjGCbmeaWjQuXDKrek5nLwriFEXsySeqUagcDUfqsqWXaNOsf3rgrOK3uAKdD4flHXsa5cyiCHQeJaYT6Lb0uAZT5IxSeglbKlGHWfQsmci3QxgGH0e5LUqxmRP0qwgNxSeglbKlGHGdfGk90rurHKRP00bHI4flHXsa5cyiumQohjIb4EtP1WiuHqLegHigG7MITBLvUblUtSnsedW9y7wJKTvIbLRrfTocQfWieXaC3uZjfB3DJQPnQedkxtHsdohkavWBjBRedkxtHsdooQWb3udb3fX2D3DJlPsWBouaQnLgIyaUBOsmOCMXl2U7UBouaQANUTUB0eVy7UBxWfB3Ddrma3nujguoZAkTafNxSD7cUyDbxSeglbKlGHqXO6CfjdjIb4EtP1WiuHqLegHigG7MITBLvUblUtSnsedW9y7wJKTvIbLRrfTocQfWieXaC3uZjfB3D3TgjBdRrfTocQfWieXaC3qLyq5mZuZjfB3D3D3OAAJWAkuAW5qbOcElzBynfkn44OchCtneCxeB3D3D3DJlPsWBouaQnLgIyaUBOsmOCMzimZ4fB3D3D3DJQPnYHcq1udb3fX2D3D3D3DZHcqv70T1DJM4fB3D3D3D7cUy7U7U72fCX2D3D3neXaC3qLyq5mZqyM1uAbkoVy7U7UDbxSD3D3qedWDdvIbLZSMslqX5fB3UGlwxWflHXsa5cyi4qbGicvVP0AyeQqOscJGbn5RLJM81GHI4RLtrMITBCjvcEZbgnLgmuuRCdg0KxSDJlPsWBo5AkTCkQvULJM8ITBCjvcEZHcareQEtPnYbgnYtZbgMAKBTro5AKNMtot8ITBouaiIq1Bkn)ei4iaKNwiJCOaqeHQBIxSDBDigRO5qbGicvNxSUGdlewiSy0ijGOBCIsayXqpArcm1RGwyXa44AKFjubewmGvlfqslKHfdKfvjLClwKWIbsoDowmQmaqs8JfJdZfqyXaw4eO28DaaIsowmmaoigbkew5dlghMlGaWIrlfal9OvbK0czGWGe9rgs81APayPhTkGKwidKwkiJVgS0Z8Lp6JeiWKE0aKwMtTuajq0QaDRhmrslKPLm(A6ZyLKpZheg4evQ4U2sRmSyuzaGK4hlgLvUrYIQKsUTnulfal9OvbK0czGWGe9rgs81APayPhTkGKwidKwkiJVgS0Z8Lp6JeiWKE0aKwMtTuajq0QaDRhmrslKPLm(A6ZyLKpZheg4evQ4U2sRmZIvdJqfcvsy0H5ci(AxOkXiGCREz818dOeFni(AaRknOvVm(AaRQce(D(Aq81G4R5CaiAqREz81CoaKce(D(Aq81G4Rb05446LXxdOZXXvGWVBk2U7gvtB0H5cOMcLgCTuaS0JwfqslKbcds0hzibEteCnHXsa5cyiCHQeJaYT6LbyOluLyeqUvVmZAkuAilJBQHG7Iy7U7U7MWyjGCbmekgvNRizirma3nsySeqUagca4evQ4oGjEX2D3D3nHXsa5cyiumQohjIb4UrcJLaYfWqyLaGCREzaM4fB3D3D3eglbKlGHqhoro3ImckNEznLwGIZl2U7U7UjmwcixadHvcaYTyqnpVP00WHuGHFAyLy0z(o)g4waJM4fB3D3D3AKSnAtPPjFnHXsa5cyiSsaqUfdQ55nNuSD3D3D3D34sQe8wjguUMstRafIg0QxMrWTeuoWBeiAut8IT7U7U7U7MWyjGCbmewjai3QxgGHkXGYzwtPr5fB3D3D3D3nQM2OsmOCnfknHXsa5cyi0HtKZT0Gw9Ym1qWDrSD3D3D3D3D3nHXsa5cyi0HtKZTiJGYPxwtPr5fB3D3D3D3Tl4IT7U7UBxWfB3D3D36SOciJGtFgRK2B6BvHJYVKGZBmWjQuXDTLwzTYnykr4CoWnXl2U72XbCunTrhMlGAkuAW1sbWspAvajTqgiTuqg4nrW1eglbKlGHWfQsmci3QxgGHUqvIra5w9YmRPqPHSmUPgcUlIT7U7UBcJLaYfWqOyuDUIKHeXaC3iHXsa5cyiaGtuPI7aM4fB3D3D3eglbKlGHqXO6CKigG7gjmwcixadHvcaYT6LbyIxSD3D3DtySeqUagcD4e5ClYiOC6L1uAbkoVy7U7U7wzLBKyScGwsJMwBPvwSD3D3DtySeqUagcvjRRDK5YtghasryGlPyJeglbKlGHaLJVwdbhWnXl2U7U7ULxoHk9zSeaeyujcTG5ciaJeglbKlGHWH5cifi87M4fB3D7cUy7UBunTrhMlGAkuAWbl9mF5J(ibcmPhnaPL5ulfqceTkq36btK0czAjdCtneCxeB3D3D3OAAJ8dOutHsdog5xlWembrFArg9brF5x(bt9Ajd8Mi4AaDooUEznfknHXsa5cyiaGtuPI7YCdy0ObJohhxVmtneCxeB3D3D3D3TYk3YCChYBCxdKem32COaubIT7U7U7U7gvtBKWyjGCbmeaWjQuXDad5CaiAqREzMzQHG7Iy7U7U7U7U7UBcJLaYfWqOyuDosedWDJeglbKlGHaaorLkUdyiNdardA1lZmt8IT7U7U7U7U7UjmwcixadbaCIkvChWqohaIg0QxMznLwGIZl2U7U7U7UBxWfB3D3D3D3TYk30nQGRPvGcfB3D3D3D3nUKkbVzeOqnLMWyjGCbmeQswhHvcaYTgY5aq0Gw9YmJxSD3D3D3D3OAAHeuZiqHAi4UOToeJv0UGl2U7U7U7UBCjvcERtcOP0MBgHoIkvJeglbKlGHqvY6i0jbGcHkjamKrGczMjZfVy7U7U7U7Ur10cjOwNeqdb3fT1HySI2fCX2D3D3D3DJlPsWBlbLtVSMstySeqUagcReaKB1ldWqohaIg0QxMz8IT7U7U7U7gvtlKGAlbLtVSgcUlARdXyfTgcoGZRDbxSD3D3D3D34sQe8gm4RLJV284R5NORP00kqHKFjauiujHrWTeuoWBeiAlbLtVmt8IT7U7U7U7gvtlKGAWOHG7I26qmwrRHGd48AxWfB3D3D3D3nQMwib1Y1qWDrBDigRO1qWbCETl4IT7U7U7U7o2U7U7U7UBLvUbR1jqEZHcqn2U7U7U7UBCjvcEZHcqTP0eglbKlGHqvY6AxbxXYqbOAKWyjGCbmeaWjQuXDKrek5nYttySeqUagcvjRJGZaeaQeC3eVy7U7U7U7Uvw5M(aam87anNdardA1lRrbAnsQmaoxteCnNdardA1lRrbAfBLyucouSD3D3D3D3COau1ogiuvQg1jbyIxSD3D3D3D3kRCdwjCjBRnR1Xa1OIgIyaUhB3D3D3D3nHXsa5cyiaGtuPI7agY5aq0Gw9YmRP0MBZfVy7U7U7U7UjmwcixadbaCIkvChWqohaIg0QxMzgcoyaUznLgm4fB3D3D3D3nHXsa5cyiaGtuPI7agY5aq0Gw9YmZqWLdCZAkTC8IT7U7U7U7MWyjGCbmeaWjQuXDad5CaiAqREzMzi4mcuiWnRP0wckNEz8IT7U7U7U7MWyjGCbmeaWjQuXDad5CaiAqREzMzi4COaub3SMsZHcqLxSD3D3D3D3X2D3D3D3DJQPnY5aq0Gw9YAkuAcJLaYfWqOdNiNBPbT6LzQHG7Iy7U7U7U7U7UBouaQnLMWyjGCbmeQswx7k4kwgkavJeglbKlGHqNBbKeeCmWjQuXDKrek5nYttySeqUagcvjRJGZaeaQeC3eVy7U7U7U7U7UBouaQAhdeQkvJ6KamXl2U7U7U7U7U7MdfGQ2bReUK1iD4RPdFnn5Rjmwcixadbhkav6PJOIcjxRCthe0b5BIxSD3D3D3D3D3nHXsa5cyi05wajbbhdCIkvCVP0COau5fB3D3D3D3Tl4IT7U7U7U7o2U7U7U7UBRdXyfnKLX5fB3D3D3ooGJQPnAKFaLAkuAWXi)AbMGji6tlYOpiKPL5tpZPwYaVjcUgqNJJRxwtHstySeqUagca4evQ4Um3agnAWOZXX1lZulzBJ8dOutHsdoTkOhjqY0RLmWBIGRjmwcixadbaCIkvChWqohaIg0QxMzMm1qWDrSD3D3D3D3kRCdwCNyBzOauJT7U7U7U7gvtBKWyjGCbmeaWjQuXDad5CaiAqREzMzQHG7Iy7U7U7U7U7UBcJLaYfWqOyuDosedWDJeglbKlGHaaorLkUdyiNdardA1lZmt8IT7U7U7U7U7UjmwcixadbaCIkvChWqohaIg0QxMznLwGIZl2U7U7U7UBxWfB3D3D3D3DSD3D3D3D3OAAJCoaenOvVSMcLMWyjGCbme6WjY5wAqREzMAi4Ui2U7U7U7U7U7gxsLG3COauBknHXsa5cyi05wajbbhdCIkvCNxSD3D3D3D3D3nQMMdfGAdb3fX2D3D3D3D3D3D3nhkavTt3w3nAIxSD3D3D3D3D3D3DtySeqUagcDUfqsqWXaNOsf3BkTafNxSD3D3D3D3D3Tl4IT7U7U7U72fCX2D3D3D3DhB3D3D3D3nQMwib1chmGmsySeqUagca4evQ4oGPgcUlIT7U7U7U7U7UjmwcixadHQK11oYC5jJdaPimWLuSrcJLaYfWqGYXxRHGd4M4fB3D3D3D3D3DlVCcv6ZyjaiWOseAbZfqagjmwcixadHdZfqkq43nXl2U7U7U7UBxWfB3D3D3ooGJQPnYpGsnfkn4yKFTatWeeyPpgKaHbj6JmKaVjcUgqNJJRxwtHstySeqUagccGQlaqLey05446LzQHG7Iy7U7U7U7Uvw5w(roTmuaIb4ERT0kl2U7U7U7UBcJLaYfWqOyuDUIKHeXaC3iHXsa5cyiaGtuPI7aM4fB3D3D3D3nUKkbV5qbO2uAcJLaYfWqOZTasccog4evQ4oVy7U7U7U7Ur10COauBi4Ui2U7U7U7U7U7MdfGQ2PBR7gnXl2U7U7U7U7U7MWyjGCbme6ClGKGGJborLkU3uAbkoVy7U7U7U7UDbxSD3D3D3D3kRCJeJva0sA00AlTYIT7U7U7U7MWyjGCbmeQswx7iZLNmoaKIWaxsXgjmwcixadbkhFTgcoGBIxSD3D3D3D3YlNqL(mwcacmQeHwWCbeGrcJLaYfWq4WCbKce(Dt8IT7U7UBhhWr10g5hqPMcLgCmYVwGjyccS0hdsGWGe9rgsG3ebxdOZXX1lRPqPjmwcixadbaCIkvChSeaim6CCC9Ym1qWDrSD3D3D3D3kRCRxtdaNOsf3bAnwj(BCcaudaNOsf3BI1BaiuC8wIbQHG7TWvCdaNOsf3bAoPwib1aWLuCSD3D3D3D3kRCRVHGJkO26Ba4sm4CnCuoVH7wNVMi4Aa4skULeTkbaQbyuvDaGy7U7U7U7UjmwcixadHIr15ksgsedWDJeglbKlGHaaorLkUdyIxSD3D3D3D34sQe8MdfGAtPjmwcixadHo3ciji4yGtuPI78IT7U7U7U7gvtZHcqTHG7Iy7U7U7U7U7UBouaQANUTUB0eVy7U7U7U7U7UBcJLaYfWqOZTasccog4evQ4EtPfO48IT7U7U7U72fCX2D3D3TJd4OAAJ8dOutHsdog5xlWembbw6JbjqyOfSGvlmyaVjcUgqNJJRxwtHstySeqUagca4evQ4oyjaqy05446LzQHG7Iy7U7U7U7UjmwcixadHQK11oYC5jJdaPimWLuSrcJLaYfWqGYXxdzzC(AcJLaYfWqaNHdJkb3nXl2U7U7UDbxSD3Tl4I1fCXgBSyXOc3vPIfJdZfqyXOYaajXpii505yXaarGyaWIHr4WCbewmegijSyuzaGK4heCuohlgiu(DoSqyXaaHQsvozmwceQKaRbyXa3rvcoew6MUqh6qxPlkc5Lo0vAst5H8GUsh5bwnkJ8royXGlr4WIewmMNKWXIrBDCCnOwVblkeHZXXIHdvJguvgCi5WIewm8ZGdHIfjSqyHWIHbWbzEschR8HfJLO6yrclg(zWHqXIewiSqyXyLWDSiHfd)m4qOyrclewiSyyaCqMNKW1ZH1aSyGi4UaclsyXWpdoekwKWcHfclewmCOa6WjYHbIOsfalgKlQyXyDLqLeijNohlgihmGWIbvGcbsvIFD4oKZHvbAIfdaerLkayLeqeub)Uaclg9kGrVmTWIX8KK4hRc0blgcdKew5dlguvjbw5dlguoSyOVvfok)scoheg4evQ4U2sRmSyumkheCS0T8g5thKdYRIORihfjpOl0b5J8Qi5bwnkJ8vewmCoabIXsGCSgGfJGHFKSOkPKBbWQanXIbvaZTaowdWIHrazrvsj3IfjSyuzaGK4hlgLvUPvazrvsj3gRggHkeQKWOdZfqMIT7Ur10gDyUaQPqPjmwcixadHdZfqkq43n1qWDrSD3D3DBDigROHSmoVy7UBxWfRl4In2yXcHfdhkGoCIC6vLeyXOxa5wnevh5QEvjbaYvSyaGiQubKFjubewmYh9qcj6z(itpn0wKWIbYbdiWkHlzXIewfOjwfOjwfuewfOjwfqoyvGMyvqEJvbAIfclewmayXOie0ebDqqt6kwmWWQanL3kIMyHWIfa
Add Comment
Please, Sign In to add comment