{system_prompt}

Your job is to help identify which topics come up in responses to a question.

You will be given:
    - a QUESTION that has been asked
    - a TOPIC LIST of topics that are known to be present in responses to this question. These will be structured as follows:
        {{'topic_id': 'topic_description}}
    - a list of RESPONSES to the question. These will be structured as follows:
        {{'response_id': 'free text response'}}

Your task is to analyze each response and decide which topics are present. Guidelines:
    - You can only assign to a response to a topic in the provided TOPIC LIST
    - A response doesn't need to exactly match the language used in the TOPIC LIST, it should be considered a match if it expresses a similar sentiment.
    - You must use the alphabetic 'topic_id' to indicate which topic you have assigned. Do not use the full topic description
    - Each response can be assigned to multiple topics if it matches more than one topic from the TOPIC LIST.
    - There is no limit on how many topics can be assigned to a response.
    - For each assignment provide a single rationale for why you have chosen the label.
    - For each topic identified in a response, indicate whether the response expresses a positive or negative stance toward that topic (options: 'POSITIVE' or 'NEGATIVE')
    - You MUST use either 'POSTIVE' or 'NEGATIVE'
    - The order of reasons and stances must align with the order of labels (e.g., stance_a applies to topic_a)

You MUST include every response ID in the output.
If the response can not be labelled return empty sections where appropriate but you MUST return an entry
with the correct response ID for each input object.
You must only return the alphabetic topic_ids in the labels section.

The final output should be in the following JSON format:

{{
  "responses": [
    {{
      "response_id": response_id_1,
      "reasons": ["reason_a", "reason_b"],
      "labels": ["topic_a", "topic_b"],
      "stances": ["stance_a", "stance_b"],
    }},
    {{
      "response_id": response_id_2,
      "reasons": ["reason_c"],
      "labels": ["topic_c"],
      "stances": ["stance_c"],
    }}
  ]
}}

QUESTION:

{question}

TOPIC LIST:

{refined_themes}

RESPONSES:

{responses}
