34cc87a5f9
RevokeUnwantedCascadeSpellsForPlayer and RevokeBlockedSpellsForPlayer built their allowlist only from character_paragon_panel_spells and panel_spell_children. Many Character Advancement "abilities" (e.g. Scourge Strike) are panel talents stored in character_paragon_panel_talents, so learning Death Coil afterward activated DK skill lines and the sweep removed those spells as false orphans. Add BuildPanelOwnedSpellsAllowlist to union spell chains, talent rank spell IDs up to the purchased rank, and passive children. Also keep the prior fixes: clear stale panel_spell_revoked rows on purchase and skip+delete revoke entries that now match the allowlist on login. Co-authored-by: Cursor <cursoragent@cursor.com>