§
   †¦Û1»e�ã                   ó
   — d Z dS )a}  Where the Millionaire game gets its words: a content source.

MillionaireGameController asks its content source for everything the moderator says and for the questions, and
never talks to an AI provider itself. A source offers

    name, badge, rules_note, voice
    begin()                                         start of a game session
    welcome()                                       -> {"moderator_welcome", "rules_summary"}
    question(round_num)                             -> {"moderator_intro", "question", "options": {"A".."D"},
                                                        "correct": "A", "explanation"}
    feedback(round_num, answer_index, is_correct, question)
                                                    -> {"result_announcement", "transition_text"}
    tip(question)                                   -> text of the Tip lifeline

`question` is the controller's normalized question ({"question", "options": [4], "correct": index, ...}); the dicts
returned above have the JSON shape of the AI chat answers. Sources: `ai.AiContent` (live AI chat) and
`demo.DemoContent` (the offline demo pack of wcs/games/demo).
N)Ú__doc__© ó    úh/Users/chudy/Library/Application Support/Kodi/addons/plugin.video.milionar/wcs/games/content/__init__.pyú<module>r      s   ððð ð ð r   