Scale up evaluation report mapping against evaluation frameworks using agentic workflows
Warning

This notebook is a work in progress.

Manually mapping evaluation reports against IOM’s Strategic Results Framework (SRF) is time-consuming and resource-intensive with ~150 outputs to analyze. Additionally, the mapping process needs transparent and human-readable traces of LLM decision flows that both reflect natural reasoning patterns and allow human evaluators to audit the mapping logic.

A three-stage async pipeline leveraging Global Compact for Migration (GCM) UN General Assembly Resolution objectives as SRF Outputs pruning mechanism:

Stage 1: SRF Enablers & Cross-cutting Analysis

Stage 2: Informed GCM Analysis

Stage 3: Targeted SRF Analysis

Three-stage Pipeline Overview
Exported source
from pathlib import Path
from functools import reduce
from toolslm.md_hier import *
from rich import print
import json
from fastcore.all import *
from enum import Enum
import logging
import uuid
from datetime import datetime
from typing import List, Callable
import dspy
from asyncio import Semaphore, gather, sleep
import time
from collections import defaultdict
import copy

from evaluatr.frameworks import (EvalData, 
                                 IOMEvalData, 
                                 FrameworkInfo, 
                                 Framework,
                                 FrameworkCat,
                                 find_srf_output_by_id)

#from evaluatr.db_traces import TraceDB, Trace
from fastlite import database
Exported source
from dotenv import load_dotenv
import os

load_dotenv()
GEMINI_API_KEY = os.getenv('GEMINI_API_KEY')
Exported source
cfg = AttrDict({
    'lm': 'gemini/gemini-2.0-flash',
    'api_key': GEMINI_API_KEY,
    'max_tokens': 8192,
    'track_usage': False,
    'call_delay': 0.1, # in seconds
    'semaphore': 30,
    'dirs': AttrDict({
        'data': '.evaluatr',
        'trace': 'traces'
    }),
    'verbosity': 1,
    'cache': AttrDict({
        'is_active': False,
        'delay': 0.05 # threshold in seconds below which we consider the response is cached
    }),
    'max_iter': 5
})
Exported source
traces_dir = Path.home() / cfg.dirs.data / cfg.dirs.trace
traces_dir.mkdir(parents=True, exist_ok=True)
class Trace:
    id: int
    timestamp: str
    event: str
    report_id: str
    stage: str
    framework: str
    framework_category: str
    framework_theme_id: str
    data: dict
class TraceDB:
    def __init__(self, db_path=None):
        if db_path is None:
            # db_path = Path.home() / cfg.dirs.data / "traces.db"
            db_path = Path.home() / ".evaluatr/data/traces.db"
            
        self.db = database(db_path)
        self.traces = self.db.create(Trace, pk='id', transform=True)
db_traces = TraceDB()
The Kernel crashed while executing code in the current cell or a previous cell. 

Please review the code in the cell(s) to identify a possible cause of the failure. 

Click <a href='https://aka.ms/vscodeJupyterKernelCrash'>here</a> for more info. 

View Jupyter <a href='command:jupyter.viewOutput'>log</a> for further details.
Exported source
lm = dspy.LM(cfg.lm, api_key=cfg.api_key, cache=cfg.cache.is_active)
dspy.configure(lm=lm)
doc = Path("../_data/md_library/49d2fba781b6a7c0d94577479636ee6f/abridged_evaluation_report_final_olta_ndoja_pdf/enriched")
pages = doc.ls(file_exts=".md").sorted(key=lambda p: int(p.stem.split('_')[1]))
report = '\n\n---\n\n'.join(page.read_text() for page in pages)
print(report[:1000])
# PPMi .... page 1

**Final Evaluation of the EU-IOM Joint Initiative for migrant protection and reintegration in the horn of Africa**

Final Evaluation Report, 17 March 2023

!(img-0.jpeg)

**EU-IOM** Joint Initiative for Migrant Protection and Reintegration

Project funded by the European Union
Project implemented by IOM

---

This Final Evaluation Report was commissioned by IOM and developed by the evaluation team of PPMI Group, including:
Loes van der Graaf, Rimantas Dumcius, Radvilė Bankauskaitė, Anna Kiss-Pal and Laura Daukšaitė, as well as by 
external expert Anthony Roger Plant. The evaluation team is grateful to all IOM staff and stakeholders to the 
JI-HoA for their time taken to participate in interviews. The team is especially grateful to the returnees, 
migrants, and community members who participated in Focus Group Discussions.

This publication was funded by the European Union. Its contents are the sole responsibility of PPMI Group and do 
not necessarily reflect

Hierarchical report navigation

Thanks to toolslm.md_hier and a clean markdown structure of a report markdown, we can create a nested dictionary of section, subsection, … as follows:

hdgs = create_heading_dict(report); hdgs
{'PPMi .... page 1': {},
 'CONTENTS .... page 3': {},
 '1. Introduction .... page 4': {},
 '2. Background of the JI-HoA .... page 5': {'2.1. Context and design of the JI-HoA .... page 5': {},
  '2.2. External factors affecting the implementation of the JI .... page 7': {}},
 '3. Methodology .... page 8': {},
 '4. Findings .... page 10': {'4.1. Relevance .... page 10': {'4.1.1. Relevance of programme activities for migrants, returnees, and communities .... page 10': {}},
  'Overall performance score for relevance: $3.9 / 5$ <br> Robustness score for the evidence: $4.5 / 5$': {'4.1.1.1 Needs of migrants .... page 10': {},
   '4.1.1.2 Needs of returnees .... page 10': {},
   '4.1.1.3 Needs of community members .... page 12': {},
   "4.1.2. Programme's relevance to the needs of stakeholders .... page 12": {'4.1.2.1 Needs of governments .... page 12': {},
    '4.1.2.2 Needs of other stakeholders .... page 13': {}},
   '4.2. Coherence .... page 13': {"4.2.1. The JI-HoA's alignment with the objectives and standards of IOM, and objectives of the EU .... page 14": {},
    '4.2.2. Alignment with other initiatives .... page 14': {}}}},
 '4.3. Effectiveness .... page 16': {'4.3.1. Specific Objective 1: Partner countries and relevant stakeholders developed or strengthened evidence-based return and reintegration procedures .... page 16': {'4.3.1.1 Achievement of outputs and results .... page 16': {}},
  'Data availability .... page 16': {'4.3.1.2 Achievement of Specific Objective 1 .... page 17': {'4.3.1.2 Achievement of Specific Objective 1 .... page 17': {}}}},
 '4.3.2. Specific Objective 2: Safe, humane, dignified voluntary return processes are enhanced along main migration routes .... page 18': {'4.3.2.1 Achievement of outputs and results .... page 19': {},
  'Outreach and awareness .... page 19': {},
  'Assistance to stranded migrants .... page 19': {'4.3.2.2 Achievement of the Objective .... page 20': {},
   '4.3.3. Specific Objective 3: Returnees are sustainably integrated in host communities, and host communities are better able to create living standards that address drivers of migration. .... page 20': {'4.3.3.1 Achievement of outputs and results .... page 20': {}}},
  'Individual and community-based reintegration .... page 20': {'4.3.3.2 Achievement of Specific Objective 3 .... page 21': {}}},
 '4.3.3.2 Achievement of Specific Objective 3': {'Overall achievement of reintegration .... page 22': {'4.3.4. Functioning of the Integrated Approach .... page 23': {'4.3.4. Functioning of the Integrated Approach .... page 23': {}}}},
 '4.4. Efficiency .... page 24': {'4.4.3. Did the programme receive sufficient resources to achieve its objectives? .... page 24': {},
  '4.4.2. Cost-effectiveness and efficiency of the programme .... page 25': {}},
 '4.5. Sustainability .... page 26': {'Overall performance score for sustainability: $2.5 / 5$ <br> Robustness score for the evidence: $4 / 5$ .... page 26': {}},
 '5. Conclusions and Recommendations .... page 27': {'5.1. Conclusions .... page 27': {},
  '5.2. Recommendations .... page 28': {'5.2.1. Increase attention on building partnerships with service providers who can function without (significant) funding channelled by IOM. .... page 29': {},
   '5.2.2. Explore opportunities to extend the scope of support provided to returnees, with a focus on longer-term integration. .... page 30': {}}}}

source

find_section_path

 find_section_path (hdgs:dict, target_section:str)

Find the nested key path for a given section name.

Type Details
hdgs dict The nested dictionary structure
target_section str The section name to find
Returns list The nested key path for the given section name
Exported source
def find_section_path(
    hdgs: dict, # The nested dictionary structure
    target_section: str # The section name to find
) -> list: # The nested key path for the given section name
    "Find the nested key path for a given section name."
    def search_recursive(current_dict, path=[]):
        for key, value in current_dict.items():
            current_path = path + [key]
            if key == target_section:
                return current_path
            if isinstance(value, dict):
                result = search_recursive(value, current_path)
                if result:
                    return result
        return None
    
    return search_recursive(hdgs)

Then we can retrieve the subsection path (list of nested headings to reach this specific section) in this nested hdgs dict :

path = find_section_path(hdgs, "4.1.1.1 Needs of migrants .... page 10"); path
['4. Findings .... page 10',
 'Overall performance score for relevance: $3.9 / 5$ <br> Robustness score for the evidence: $4.5 / 5$',
 '4.1.1.1 Needs of migrants .... page 10']

Then retrieve the specific subsection content:


source

get_content_tool

 get_content_tool (hdgs:dict, keys_list:list)

Navigate through nested levels using the exact key strings.

Type Details
hdgs dict The nested dictionary structure
keys_list list The list of keys to navigate through
Returns str The content of the section
Exported source
def get_content_tool(
    hdgs: dict, # The nested dictionary structure
    keys_list: list, # The list of keys to navigate through
    ) -> str: # The content of the section
    "Navigate through nested levels using the exact key strings."
    return reduce(lambda current, key: current[key], keys_list, hdgs).text
content = get_content_tool(hdgs, path)
print(content[:500])
##### 4.1.1.1 Needs of migrants .... page 10

Desk research and interviews confirm that the programme responded to the most pressing needs of migrants. The 
JI-HoA enabled them to return from dangerous environments, such as detention, where no other support was available.
Migrants shared that they suffered on their irregular migration journeys, had acutely distressing experiences ${ 
}^{13}$, and highlighted that their families and communities could not help them ${ }^{14}$. Stakeholders supportin

Formatters

We define here a set of function formatting both evaluation frameworks themes to analyze (SRF enablers, objectives, GCM objectives, …) and traces.


source

format_enabler_theme

 format_enabler_theme (theme:evaluatr.frameworks.EvalData)

Format SRF enabler into structured text for LM processing.

Type Details
theme EvalData The theme object
Returns str The formatted theme string
Exported source
def format_enabler_theme(
    theme: EvalData # The theme object
    ) -> str: # The formatted theme string
    "Format SRF enabler into structured text for LM processing."
    parts = [
        f'## Enabler {theme.id}: {theme.title}',
        '### Description', 
        theme.description
    ]
    return '\n'.join(parts)

For instance:

eval_data = IOMEvalData()
data_evidence = eval_data.srf_enablers[3]  # "Data and evidence" is at index 3
print(format_enabler_theme(data_evidence))
## Enabler 4: Data and evidence
### Description
IOM will be the pre-eminent source of migration and displacement data for action, which help save lives and deliver
solutions; data for insight, which help facilitate regular migration pathways; and data for foresight, which help 
drive anticipatory action. IOM will have the systems and data fluency to collect, safely store, analyze, share and 
apply disaggregated data and evidence across the mobility spectrum. Our extensive data and research repositories 
will underpin evidence-based policies and practices. Data will be central to the internal decision-making and 
management of the Organization.

source

format_crosscutting_theme

 format_crosscutting_theme (theme:evaluatr.frameworks.EvalData)

Format SRF cross-cutting into structured text for LM processing.

Type Details
theme EvalData The theme object
Returns str The formatted theme string
Exported source
def format_crosscutting_theme(
    theme: EvalData # The theme object
    ) -> str: # The formatted theme string
    "Format SRF cross-cutting into structured text for LM processing."
    parts = [
        f'## Cross-cutting {theme.id}: {theme.title}',
        '### Description', 
        theme.description
    ]
    return '\n'.join(parts)

For instance:

eval_data = IOMEvalData()
data_evidence = eval_data.srf_crosscutting_priorities[3]  # "Data and evidence" is at index 3
print(format_crosscutting_theme(data_evidence))
## Cross-cutting 4: Environmental Sustainability
### Description
IOM will lead environmental sustainability innovation for impact and scale in the humanitarian and migration 
management sector. Caring for people and the planet is one of our core values, and we are committed to 
mainstreaming environmental sustainability into our projects and programmes, and facilities management and 
operations. IOM will have an ambitious environmental governance and environmental management system drawing from 
United Nations system-wide commitments

source

format_gcm_theme

 format_gcm_theme (theme:dict)

Format GCM objective into structured text for LM processing.

Type Details
theme dict The GCM theme object from gcm_small
Returns str The formatted theme string
Exported source
def format_gcm_theme(
    theme: dict # The GCM theme object from gcm_small
    ) -> str: # The formatted theme string
    "Format GCM objective into structured text for LM processing."
    parts = [
        f'## GCM Objective {theme["id"]}: {theme["title"]}',
        '### Core Theme', 
        theme["core_theme"]
    ]
    
    if theme.get("key_principles"):
        parts.extend(['### Key Principles', ', '.join(theme["key_principles"])])
    
    if theme.get("target_groups"):
        parts.extend(['### Target Groups', ', '.join(theme["target_groups"])])
        
    if theme.get("main_activities"):
        parts.extend(['### Main Activities', ', '.join(theme["main_activities"])])
    
    return '\n'.join(parts)

For instance:

gcm_small = eval_data.gcm_objectives_small
print(format_gcm_theme(gcm_small[0]))
## GCM Objective 1: Collect and utilize accurate and disaggregated data as a basis for evidence-based policies
### Core Theme
Strengthen global evidence base on migration through improved data collection, analysis and dissemination
### Key Principles
Evidence-based policymaking, Data harmonization, Statistical standards, Privacy protection
### Target Groups
National statistical offices, Researchers, Policymakers, International organizations
### Main Activities
Data collection methodologies, Migration statistics, Research capacity building, Data sharing platforms

source

format_srf_output

 format_srf_output (output_context:dict)

Format SRF output with full hierarchical context for LM processing.

Exported source
def format_srf_output(output_context: dict) -> str:
    "Format SRF output with full hierarchical context for LM processing."
    parts = [
        f'## SRF Output {output_context["output"]["id"]}: {output_context["output"]["title"]}',
        '### Strategic Context',
        f'**Objective {output_context["objective"]["id"]}**: {output_context["objective"]["title"]}',
        f'**Long-term Outcome {output_context["long_outcome"]["id"]}**: {output_context["long_outcome"]["title"]}',
        f'**Short-term Outcome {output_context["short_outcome"]["id"]}**: {output_context["short_outcome"]["title"]}'
    ]
    
    return '\n'.join(parts)

For instance:

test_output_id = '1a11'
output_context = find_srf_output_by_id(eval_data, test_output_id)
if output_context:
    formatted = format_srf_output(output_context)
    print(formatted)
## SRF Output 1a11: Crisis-affected populations in-need receive dignified shelter and settlement support.
### Strategic Context
**Objective 1**: Saving lives and protecting people on the move
**Long-term Outcome 1a**: Human suffering is alleviated while the dignity and rights of people affected by crises 
are upheld.
**Short-term Outcome 1a1**: Crisis-affected populations have their basic needs met and have minimum living 
conditions with reduced barriers to access for marginalized and vulnerable individuals.

Signatures

A DSPy signature is a declarative specification of input/output behavior of a DSPy module. Signatures allow you to tell the LM (Language Model) what it needs to do, rather than specify how we should ask the LM to do it.


source

Overview

 Overview (theme:str, prior_coverage_context:str='', all_headings:str,
           priority_sections:List[str], strategy:str)

Based on framework theme to map and report’s TOC determine the sections to explore first.

Exported source
class Overview(dspy.Signature):
    "Based on framework theme to map and report's TOC determine the sections to explore first."
    theme: str = dspy.InputField(desc="Theme being analyzed")
    prior_coverage_context: str = dspy.InputField(desc="Themes already covered in this report, indicating its scope and analytical focus", default="")
    all_headings: str = dspy.InputField(desc="Complete document structure")
    priority_sections: List[str] = dspy.OutputField(desc=f"Ordered list of different section keys to explore first ({cfg.max_iter} minimum)")
    strategy: str = dspy.OutputField(desc="Reasoning for this exploration strategy")

For instance on “Data and evidence” SRF Enabler:

overview_analyzer = dspy.ChainOfThought(Overview)
result_overview = overview_analyzer(
    theme = format_enabler_theme(data_evidence),
    all_headings=str(hdgs),
)

print(f'Priority sections: {result_overview.priority_sections}')
print(f'Strategy: {result_overview.strategy}')
2025/09/29 09:56:28 WARNING dspy.predict.predict: Not all input fields were provided to module. Present: ['theme', 'all_headings']. Missing: ['prior_coverage_context'].
Priority sections: ['4.5. Sustainability', '4.1. Relevance', '5. Conclusions and Recommendations', '1. 
Introduction', '2. Background of the JI-HoA']
Strategy: The strategy is to prioritize sections that directly address sustainability, relevance, and 
recommendations, as these are most likely to contain information related to the theme. The introduction and 
background sections are included to provide context.

source

Exploration

 Exploration (theme:str, prior_coverage_context:str='',
              current_findings:str, available_sections:str,
              next_section:str, reasoning:str)

Decide next exploration step for theme to be mapped based on current findings and available sections.

Exported source
class Exploration(dspy.Signature):
    "Decide next exploration step for theme to be mapped based on current findings and available sections."
    theme: str = dspy.InputField(desc="Theme being analyzed")
    prior_coverage_context: str = dspy.InputField(desc="Themes already covered in this report, indicating its scope and analytical focus", default="")
    current_findings: str = dspy.InputField(desc="Evidence found so far")
    available_sections: str = dspy.InputField(desc="Remaining sections to explore")
    next_section: str = dspy.OutputField(desc="Next section key to explore, or 'DONE' if sufficient")
    reasoning: str = dspy.OutputField(desc="Why this section or why stopping")
exploration = dspy.ChainOfThought(Exploration)

result_exploration = exploration(
    theme = format_enabler_theme(data_evidence),
    current_findings="No evidence collected yet",
    available_sections=str(result_overview.priority_sections)
)

print("Next section:", result_exploration.next_section)
print("Reasoning:", result_exploration.reasoning)
2025/09/29 09:49:59 WARNING dspy.predict.predict: Not all input fields were provided to module. Present: ['theme', 'current_findings', 'available_sections']. Missing: ['prior_coverage_context'].
Next section: 4.1. Relevance
Reasoning: To understand the relevance of IOM's environmental sustainability efforts, I will start by exploring the
'Relevance' section. This will help determine if the planned activities align with the needs and priorities of the 
target populations and the broader context.

source

Assessment

 Assessment (theme:str, prior_coverage_context:str='',
             evidence_so_far:str, sections_explored:str, sufficient:bool,
             confidence_score:float, next_priority:str, reasoning:str)

Assess if current evidence is sufficient for theme analysis.

Exported source
class Assessment(dspy.Signature):
    "Assess if current evidence is sufficient for theme analysis."
    theme: str = dspy.InputField(desc="Theme being analyzed")
    prior_coverage_context: str = dspy.InputField(desc="Themes already covered in this report, indicating its scope and analytical focus", default="")
    evidence_so_far: str = dspy.InputField(desc="All evidence collected")
    sections_explored: str = dspy.InputField(desc="Sections already checked")
    sufficient: bool = dspy.OutputField(desc="Is evidence sufficient to make conclusion?")
    confidence_score: float = dspy.OutputField(desc="Confidence in current findings (0-1)")
    next_priority: str = dspy.OutputField(desc="If continuing, what type of section to prioritize")
    reasoning: str = dspy.OutputField(desc="Why this assessment was made")

We treat observability and LLM evaluation as core requirements for our mapping pipeline. While DSPy’s built-in dspy.inspect_history() provides valuable reasoning chains, we enhance it with structured metadata (report_id, phase, framework) to create comprehensive audit trails. This enriched tracing enables systematic evaluation of mapping accuracy, supports human evaluator annotation workflows, and provides the detailed context necessary for debugging and improving our LLM-based document analysis system.

We define below enum and configuration classes for pipeline tracing and validation. These provide structured metadata for audit trails and evaluation.


source

Phase

 Phase (value, names=None, module=None, qualname=None, type=None, start=1)

Pipeline phase number.

Exported source
class Phase(Enum):
    "Pipeline phase number."
    STAGE1 = "stage1"
    STAGE2 = "stage2"
    STAGE3 = "stage3"
    def __str__(self): return self.value

source

TraceContext

 TraceContext (report_id:str, phase:__main__.Phase,
               framework:evaluatr.frameworks.FrameworkInfo)

Context for tracing the mapping process

Type Details
report_id str Report identifier
phase Phase Pipeline phase number
framework FrameworkInfo Framework info (name, category, theme_id)
Exported source
class TraceContext(AttrDict):
    "Context for tracing the mapping process"
    def __init__(self, 
                 report_id:str,  # Report identifier
                 phase:Phase,  # Pipeline phase number
                 framework:FrameworkInfo,  # Framework info (name, category, theme_id)
                 ): 
        # self.run_id = str(uuid.uuid4())[:8]  # Short unique ID
        store_attr()

    def __repr__(self):
        return f"TraceContext(report_id={self.report_id}, phase={self.phase}, framework={self.framework})"
tr_ctx = TraceContext(
    report_id='49d2fba781b6a7c0d94577479636ee6f', 
    phase=Phase.STAGE1, 
    framework=FrameworkInfo(Framework.SRF, FrameworkCat.ENABLERS, "4")
    )

tr_ctx
TraceContext(report_id=49d2fba781b6a7c0d94577479636ee6f, phase=stage1, framework={'category': 'Enablers', 'theme_id': '4', 'name': 'SRF'})

source

Synthesis

 Synthesis (trace_ctx:str, theme:str, prior_coverage_context:str='',
            all_evidence:str, sections_explored:str, theme_covered:bool,
            confidence_explanation:str, evidence_summary:str,
            gaps_identified:str)

Provide detailed rationale and synthesis of theme analysis.

Exported source
class Synthesis(dspy.Signature):
    "Provide detailed rationale and synthesis of theme analysis."
    trace_ctx: str = dspy.InputField(desc="Trace context")
    theme: str = dspy.InputField(desc="Theme being analyzed")
    prior_coverage_context: str = dspy.InputField(desc="Themes already covered in this report, indicating its scope and analytical focus", default="")
    all_evidence: str = dspy.InputField(desc="All collected evidence")
    sections_explored: str = dspy.InputField(desc="List of sections explored")
    theme_covered: bool = dspy.OutputField(desc="Final decision on theme coverage")
    confidence_explanation: str = dspy.OutputField(desc="Detailed explanation of confidence score")
    evidence_summary: str = dspy.OutputField(desc="Key evidence supporting the conclusion")
    gaps_identified: str = dspy.OutputField(desc="Any gaps or missing aspects")

Reasoning & Acting (ReAct)

Why We Built a Custom Iterative Analyzer Instead of Using DSPy ReAct?

We could have leveraged DSPy’s built-in ReAct module, which provides an agent-based approach where the LLM automatically decides when and how to use exploration tools. The “ReAct” concept has been introduced in this paper. However, we chose to implement our own iterative analyzer from scratch for several critical reasons:

  • Open-ended vs. Structured Nature: DSPy’s ReAct is designed for open-ended problem solving where the agent explores freely using available tools. Our use case requires a more structured, methodical approach to document analysis with predictable exploration patterns.

  • Document-Specific Control: Our approach is tailored specifically for structured document exploration with hierarchical headings, allowing us to implement domain-specific logic for section navigation and content retrieval.

  • Evaluator Requirements: Since traces will be reviewed by human evaluators for error analysis, we needed explicit, step-by-step decision logging rather than the more implicit reasoning chains that ReAct provides.


source

setup_logger

 setup_logger (name, handler, level=20, **kwargs)

Helper function to setup a logger with common configuration

Exported source
def setup_logger(name, handler, level=logging.INFO, **kwargs):
    "Helper function to setup a logger with common configuration"
    logger = logging.getLogger(name)
    logger.handlers.clear()
    logger.addHandler(handler)
    logger.setLevel(level)
    for k,v in kwargs.items(): setattr(logger, k, v)
    return logger

source

setup_trace_logging

 setup_trace_logging (report_id, verbosity=1)
Exported source
def setup_trace_logging(report_id, verbosity=cfg.verbosity):
    timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
    filename = f'{report_id}_{timestamp}.jsonl'
    file_handler = logging.FileHandler(traces_dir / filename, mode='w')
    setup_logger('trace.file', file_handler)    
    console_handler = logging.StreamHandler()
    setup_logger('trace.console', console_handler, verbosity=verbosity)

source

ThemeAnalyzer

 ThemeAnalyzer (*args, **kwargs)

Analyzes a theme across a document by iteratively exploring sections, collecting evidence, and synthesizing findings. Uses a structured pipeline of overview -> exploration -> assessment -> synthesis.

Exported source
class ThemeAnalyzer(dspy.Module):
    """
    Analyzes a theme across a document by iteratively exploring sections, collecting evidence, and synthesizing findings. 
    Uses a structured pipeline of overview -> exploration -> assessment -> synthesis.
    """
    def __init__(self, 
                 overview_sig:dspy.Signature, # Overview signature
                 exploration_sig:dspy.Signature, # Exploration signature
                 assessment_sig:dspy.Signature, # Assessment signature
                 synthesis_sig:dspy.Signature, # Synthesis signature
                 trace_ctx:TraceContext, # Trace context
                 confidence_threshold:float=0.8, # Confidence threshold
                 max_iter:int=cfg.max_iter, # Maximum number of iterations in the ReAct loop
                 semaphore=None # Semaphore for rate limiting
                 ):
        self.overview = dspy.ChainOfThought(overview_sig)
        self.explore = dspy.ChainOfThought(exploration_sig)
        self.assess = dspy.ChainOfThought(assessment_sig)
        self.synthesize = dspy.ChainOfThought(synthesis_sig)
        self.max_iter = max_iter
        self.trace_ctx = trace_ctx
        self.confidence_threshold = confidence_threshold
        self.semaphore = semaphore

source

ThemeAnalyzer.aforward

 ThemeAnalyzer.aforward (theme:str, headings:dict,
                         get_content_fn:Callable=<function
                         get_content_tool>, prior_coverage_context:str='')

Executes a structured analysis process.

Type Default Details
theme str The formatted theme to analyze
headings dict The headings TOC of the document
get_content_fn Callable get_content_tool The function to get the content of a section using hdgs[keys_list].text for instance
prior_coverage_context str The themes already covered in this report, indicating its scope and analytical focus
Returns Synthesis Synthesized analysis results including theme coverage, confidence, evidence and gaps
Exported source
@patch
def _log_trace(self:ThemeAnalyzer, event, **extra_data):
    file_logger = logging.getLogger('trace.file')
    console_logger = logging.getLogger('trace.console')
    
    base_data = {
        "timestamp": datetime.now().isoformat(),
        "event": event,
        "report_id": self.trace_ctx.report_id,
        "phase": str(self.trace_ctx.phase),
        "framework": str(self.trace_ctx.framework.name),
        "framework_category": str(self.trace_ctx.framework.category),
        "framework_theme_id": str(self.trace_ctx.framework.theme_id),
    }
    base_data.update(extra_data)
    
    # File logger - always full JSON
    file_logger.info(json.dumps(base_data, indent=2))
    
    # Console logger - verbosity-based formatting
    if hasattr(console_logger, 'verbosity'):
        if console_logger.verbosity == 1:
            console_msg = f"{base_data['report_id']} - {base_data['phase']}"
        elif console_logger.verbosity == 2:
            console_msg = f"{base_data['report_id']} - {base_data['phase']} - {base_data['framework']} - {base_data['framework_category']} - {base_data['framework_theme_id']} - {base_data['event']}"
        else:  # verbosity == 3
            console_msg = json.dumps(base_data, indent=2)
        
        console_logger.info(console_msg)
Exported source
@patch    
async def _rate_limited_fn(self:ThemeAnalyzer, mod, **kwargs):
    async with self.semaphore:
        start = time.time()
        result = await mod.acall(**kwargs)
        
        # Check if cached (fast response + no usage)
        elapsed = time.time() - start
        if elapsed > cfg.cache.delay: await sleep(cfg.call_delay)
        return result
Exported source
@patch
async def aforward(
    self:ThemeAnalyzer, 
    theme: str, # The formatted theme to analyze
    headings: dict, # The headings TOC of the document
    get_content_fn:Callable=get_content_tool, # The function to get the content of a section using `hdgs[keys_list].text` for instance
    prior_coverage_context: str = "" # The themes already covered in this report, indicating its scope and analytical focus
    ) -> Synthesis: # Synthesized analysis results including theme coverage, confidence, evidence and gaps
    "Executes a structured analysis process."
    self._log_trace(event="Starting Analysis", theme=theme)
    priority_sections = await self.get_overview(theme, headings, prior_coverage_context)
    evidence = await self.explore_iteratively(theme, priority_sections, headings, get_content_fn, prior_coverage_context)
    return await self.synthesize_findings(theme, evidence, prior_coverage_context)

source

ThemeAnalyzer.get_overview

 ThemeAnalyzer.get_overview (theme:str, headings:dict,
                             prior_coverage_context:str='')

Based on framework theme to map and report’s TOC determine the sections to explore first.

Type Default Details
theme str The formatted theme to analyze
headings dict The headings TOC of the document
prior_coverage_context str
Returns Overview
Exported source
@patch
async def get_overview(
    self:ThemeAnalyzer, 
    theme: str, # The formatted theme to analyze
    headings: dict, # The headings TOC of the document
    prior_coverage_context: str = ""
    ) -> Overview:
    "Based on framework theme to map and report's TOC determine the sections to explore first."
    overview = await self._rate_limited_fn(
        self.overview, 
        theme=theme, 
        all_headings=str(headings), 
        prior_coverage_context=prior_coverage_context)
    
    self._log_trace(
        event="Overview", 
        priority_sections=overview.priority_sections, 
        strategy=overview.strategy)
    return overview.priority_sections

source

ThemeAnalyzer.explore_iteratively

 ThemeAnalyzer.explore_iteratively (theme:str, priority_sections:list,
                                    headings:dict,
                                    get_content_fn:Callable,
                                    prior_coverage_context:str='')

Iteratively explore the sections to collect evidence.

Type Default Details
theme str The formatted theme to analyze
priority_sections list The sections to explore first
headings dict The headings TOC of the document
get_content_fn Callable The function to get the content of a section using hdgs[keys_list].text for instance
prior_coverage_context str
Returns dict
Exported source
@patch
async def explore_iteratively(
    self:ThemeAnalyzer, 
    theme: str, # The formatted theme to analyze
    priority_sections: list, # The sections to explore first
    headings: dict, # The headings TOC of the document
    get_content_fn: Callable, # The function to get the content of a section using `hdgs[keys_list].text` for instance
    prior_coverage_context: str = ""
    ) -> dict:
    "Iteratively explore the sections to collect evidence."
    evidence_collected = []
    sections_explored = []
    available_sections = priority_sections.copy()
    
    for i in range(self.max_iter):
        if not available_sections:
            self._log_trace(event="Iterative Exploration", iteration_nb=i+1, decision="No more sections to explore, stopping")
            break
            
        if await self.should_stop_exploring(theme, evidence_collected, sections_explored):   
            break
        
        decision = await self.make_exploration_decision(theme, evidence_collected, available_sections, prior_coverage_context)
        self._log_trace(
            event="Iterative Exploration", 
            iteration_nb=i+1, 
            decision=decision.next_section, 
            reasoning=decision.reasoning)
        
        if decision.next_section == 'DONE':
            self._log_trace(event="Iterative Exploration", iteration_nb=i+1, decision="Done")
            break
        
        evidence_collected, sections_explored = self.process_section(decision, 
                                                                     headings, 
                                                                     get_content_fn, 
                                                                     evidence_collected, 
                                                                     sections_explored, 
                                                                     available_sections)
    
    return {"evidence": evidence_collected, "sections": sections_explored}

source

ThemeAnalyzer.make_exploration_decision

 ThemeAnalyzer.make_exploration_decision (theme:str,
                                          evidence_collected:list,
                                          available_sections:list,
                                          prior_coverage_context:str='')

Make a decision on the next section to explore.

Type Default Details
theme str The formatted theme to analyze
evidence_collected list The evidence collected so far
available_sections list The sections to explore
prior_coverage_context str
Exported source
@patch
async def make_exploration_decision(
    self:ThemeAnalyzer, 
    theme: str, # The formatted theme to analyze
    evidence_collected: list, # The evidence collected so far
    available_sections: list, # The sections to explore
    prior_coverage_context: str = ""
    ):    
    "Make a decision on the next section to explore."
    decision = await self._rate_limited_fn(
        self.explore, 
        theme=theme, 
        current_findings="\n\n".join(evidence_collected) if evidence_collected else "No evidence collected yet", 
        available_sections=str(available_sections),
        prior_coverage_context=prior_coverage_context
        )
    
    return decision

source

ThemeAnalyzer.should_stop_exploring

 ThemeAnalyzer.should_stop_exploring (theme:str, evidence_collected:list,
                                      sections_explored:list,
                                      prior_coverage_context:str='')

Check if the exploration should stop based on the evidence collected and the sections explored.

Type Default Details
theme str The formatted theme to analyze
evidence_collected list The evidence collected so far
sections_explored list The sections explored so far
prior_coverage_context str
Exported source
@patch
async def should_stop_exploring(
    self:ThemeAnalyzer, 
    theme: str, # The formatted theme to analyze
    evidence_collected: list, # The evidence collected so far
    sections_explored: list, # The sections explored so far
    prior_coverage_context: str = ""
    ):
    "Check if the exploration should stop based on the evidence collected and the sections explored."
    if not evidence_collected:
        return False
    assessment = await self._rate_limited_fn(
        self.assess, 
        theme=theme,
        evidence_so_far="\n\n".join(evidence_collected),
        sections_explored=str(sections_explored),
        prior_coverage_context=prior_coverage_context
    )
    
    self._log_trace(
        "Should stop exploring", 
        assessment=assessment.sufficient, 
        confidence=assessment.confidence_score,
        reasoning=assessment.reasoning
        )
    
    return assessment.sufficient and assessment.confidence_score > self.confidence_threshold

source

ThemeAnalyzer.process_section

 ThemeAnalyzer.process_section (decision, headings, get_content_fn,
                                evidence_collected, sections_explored,
                                available_sections)
Exported source
@patch
def process_section(self:ThemeAnalyzer, decision, headings, get_content_fn, evidence_collected, sections_explored, available_sections):
    path = find_section_path(headings, decision.next_section)
    
    if path:
        content = get_content_fn(headings, path)
        evidence_collected.append(f"# Section: {decision.next_section}\n## Content\n{content}")
        sections_explored.append(decision.next_section)
        if decision.next_section in available_sections:
            available_sections.remove(decision.next_section)
    else:
        # No path found for section! TBD
        pass
    
    return evidence_collected, sections_explored

source

ThemeAnalyzer.synthesize_findings

 ThemeAnalyzer.synthesize_findings (theme, evidence,
                                    prior_coverage_context)
Exported source
@patch
async def synthesize_findings(self:ThemeAnalyzer, theme, evidence, prior_coverage_context):
    synthesis = await self._rate_limited_fn(
        self.synthesize, 
        trace_ctx=str(self.trace_ctx),
        theme=theme,
        all_evidence="\n\n".join(evidence["evidence"]),
        sections_explored=str(evidence["sections"]),
        prior_coverage_context=prior_coverage_context
    )
    
    self._log_trace("Synthesis", 
                    theme=theme, 
                    reasoning=synthesis.reasoning,
                    theme_covered=synthesis.theme_covered,
                    confidence_explanation=synthesis.confidence_explanation,
                    evidence_summary=synthesis.evidence_summary,
                    gaps_identified=synthesis.gaps_identified
                    )
    
    synthesis.framework_name = self.trace_ctx.framework.name
    synthesis.framework_category = self.trace_ctx.framework.category  
    synthesis.framework_theme_id = self.trace_ctx.framework.theme_id
    return synthesis

To use it:

Single theme

Setup the trace logging (verbosity and report_id):

setup_trace_logging(report_id="49d2fba781b6a7c0d94577479636ee6f", verbosity=2)
# Number of concurrent requests to the LM to avoid rate limiting
stage1_semaphore = Semaphore(cfg.semaphore)

Create the analyzer:

print(f"Trace Context:\n{tr_ctx}")
theme = format_enabler_theme(eval_data.srf_enablers[3])  # "Data and evidence"
print(f"Test theme:\n{theme}")
analyzer = ThemeAnalyzer(Overview, Exploration, Assessment, Synthesis, tr_ctx, semaphore=stage1_semaphore)
Trace Context:
TraceContext(report_id=49d2fba781b6a7c0d94577479636ee6f, phase=stage1, framework={'category': 'Enablers', 
'theme_id': '4', 'name': 'SRF'})
Test theme:
## Enabler 4: Data and evidence
### Description
IOM will be the pre-eminent source of migration and displacement data for action, which help save lives and deliver
solutions; data for insight, which help facilitate regular migration pathways; and data for foresight, which help 
drive anticipatory action. IOM will have the systems and data fluency to collect, safely store, analyze, share and 
apply disaggregated data and evidence across the mobility spectrum. Our extensive data and research repositories 
will underpin evidence-based policies and practices. Data will be central to the internal decision-making and 
management of the Organization.

Then analyze the framework’s theme of choice:

result = await analyzer.acall(theme, hdgs, get_content_tool)
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Synthesis

Multiple themes in parallel

setup_trace_logging(report_id="49d2fba781b6a7c0d94577479636ee6f", verbosity=2)

Let’s use two SRF enablers:

tr_ctx1 = TraceContext(
    report_id='49d2fba781b6a7c0d94577479636ee6f', 
    phase=Phase.STAGE1, 
    framework=FrameworkInfo(Framework.SRF, FrameworkCat.ENABLERS, "1")
)
tr_ctx2 = TraceContext(
    report_id='49d2fba781b6a7c0d94577479636ee6f', 
    phase=Phase.STAGE1, 
    framework=FrameworkInfo(Framework.SRF, FrameworkCat.ENABLERS, "4")
    )   
print(tr_ctx1, tr_ctx2)
TraceContext(report_id=49d2fba781b6a7c0d94577479636ee6f, phase=stage1, framework={'category': 'Enablers', 
'theme_id': '1', 'name': 'SRF'})
TraceContext(report_id=49d2fba781b6a7c0d94577479636ee6f, phase=stage1, framework={'category': 'Enablers', 
'theme_id': '4', 'name': 'SRF'})

Create analyzers with shared semaphore:

stage_semaphore = Semaphore(cfg.semaphore)
analyzer1 = ThemeAnalyzer(Overview, Exploration, Assessment, Synthesis, tr_ctx1,semaphore=stage_semaphore)
analyzer2 = ThemeAnalyzer(Overview, Exploration, Assessment, Synthesis, tr_ctx2,semaphore=stage_semaphore)
theme1 = format_enabler_theme(eval_data.srf_enablers[0]) # Workforce
theme2 = format_enabler_theme(eval_data.srf_enablers[3]) # Data and evidence
print(f"Theme 1:\n{theme1}\n\nTheme 2:\n{theme2}")
Theme 1:
## Enabler 1: Workforce
### Description
IOM’s diverse and capable people are our most valued asset. Through investing in better workforce planning and 
people management, we will facilitate their professional development and improve their daily workplace experience. 
IOM will have flexible systems and procedures in place to ensure it can adapt to the future of work while ensuring 
the safety, security and well-being of its staff. IOM will strengthen its security posture and foster an inclusive 
and enabling work environment. Our leadership will have the ability to connect, motivate and inspire a sense of our
shared vision and values.

Theme 2:
## Enabler 4: Data and evidence
### Description
IOM will be the pre-eminent source of migration and displacement data for action, which help save lives and deliver
solutions; data for insight, which help facilitate regular migration pathways; and data for foresight, which help 
drive anticipatory action. IOM will have the systems and data fluency to collect, safely store, analyze, share and 
apply disaggregated data and evidence across the mobility spectrum. Our extensive data and research repositories 
will underpin evidence-based policies and practices. Data will be central to the internal decision-making and 
management of the Organization.
results = await gather(
    analyzer1.acall(theme1, hdgs, get_content_tool),
    analyzer2.acall(theme2, hdgs, get_content_tool)
)
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 1 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 1 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 1 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Synthesis
results
[Prediction(
     reasoning="The theme focuses on IOM's workforce as a valuable asset and outlines several key areas for improvement, including workforce planning, people management, professional development, workplace experience, flexible systems, staff safety and security, inclusivity, and leadership.\n\nSince no evidence has been provided yet, it's impossible to determine the extent to which this theme is covered in the available data. Therefore, I must mark it as not covered.",
     theme_covered=False,
     confidence_explanation='Confidence is very low (10%) because there is absolutely no evidence provided to assess the coverage of this theme. Without any data, it is impossible to determine if the report addresses any of the aspects mentioned in the theme description.',
     evidence_summary='No evidence was provided.',
     gaps_identified='The primary gap is the complete absence of evidence related to the "Workforce" theme. This includes any information on workforce planning, people management, professional development, staff safety, security, inclusivity, or leadership initiatives within IOM.',
     framework_name='SRF',
     framework_category='Enablers',
     framework_theme_id='1'
 ),
 Prediction(
     reasoning='The provided evidence extensively discusses the "Data and evidence" theme within the context of the EU-IOM Joint Initiative for Migrant Protection and Reintegration in the Horn of Africa (JI-HoA). The evaluation highlights the JI-HoA\'s contributions to data availability, capacity building, and the use of data in policymaking related to migration and reintegration. It acknowledges the progress made in addressing data gaps and strengthening stakeholder capacity, while also pointing out challenges such as staff turnover, financial constraints, and the need for continued support. The evidence also emphasizes the importance of the Regional Data Hub and its role in enhancing knowledge on migration trends. The conclusions and recommendations further reinforce the need for sustained efforts in data collection, analysis, and dissemination to inform evidence-based policies and practices.',
     theme_covered=True,
     confidence_explanation='Confidence: 10/10\nThe evidence directly and comprehensively addresses the theme of "Data and evidence." The evaluation report explicitly discusses the JI-HoA\'s activities and achievements related to data collection, capacity building, and the use of data in policymaking. The report also includes specific examples, stakeholder perspectives, and recommendations for future programming, all of which contribute to a thorough understanding of the theme\'s coverage.',
     evidence_summary="Key evidence includes:\n- The JI-HoA exceeded targets for field studies, surveys, and research conducted.\n- Increased availability of migration data through the Regional Data Hub.\n- Stakeholders reported increased knowledge on return and reintegration issues.\n- Examples of data being used in policymaking, strategies, and plans.\n- The Regional Data Hub's work was appreciated by stakeholders for enhancing knowledge on migration.\n- Recommendations to enhance capacity building and ownership of data-driven approaches.",
     gaps_identified='While the evidence covers the theme comprehensively, some gaps include:\n- A deeper dive into the specific types of data collected and their impact on specific policies.\n- More detailed analysis of the challenges faced by stakeholders in utilizing the available data.\n- Further exploration of the long-term sustainability of the Regional Data Hub and its activities.',
     framework_name='SRF',
     framework_category='Enablers',
     framework_theme_id='4'
 )]

Pipeline Orchestrator


source

PipelineResults

 PipelineResults ()
Exported source
class PipelineResults(dict):
    def __init__(self):
        super().__init__()
        self[Phase.STAGE1] = defaultdict(lambda: defaultdict(dict))
        self[Phase.STAGE2] = defaultdict(lambda: defaultdict(dict))
        self[Phase.STAGE3] = defaultdict(lambda: defaultdict(dict))

source

PipelineResults.__call__

 PipelineResults.__call__ (stage=<Phase.STAGE1: 'stage1'>,
                           filter_type='all')

Call self as a function.

Exported source
@patch
def __call__(self:PipelineResults, stage=Phase.STAGE1, filter_type="all"):
    themes = []
    for frameworks in self[stage].values():
        for categories in frameworks.values():
            for theme in categories.values():
                if filter_type == "all" or \
                   (filter_type == "covered" and theme.theme_covered) or \
                   (filter_type == "uncovered" and not theme.theme_covered):
                    themes.append(theme)
    return themes

source

PipelineOrchestrator

 PipelineOrchestrator (report_id:str, headings:dict,
                       get_content_fn:Callable,
                       eval_data:evaluatr.frameworks.EvalData,
                       verbosity:int=2)

Orchestrator for the IOM evaluation report mapping pipeline

Type Default Details
report_id str Report identifier
headings dict Report headings
get_content_fn Callable Function to get the content of a section
eval_data EvalData Evaluation data
verbosity int 2 Verbosity level
Exported source
class PipelineOrchestrator:
    "Orchestrator for the IOM evaluation report mapping pipeline"
    def __init__(self, 
                 report_id:str, # Report identifier
                 headings:dict, # Report headings
                 get_content_fn:Callable, # Function to get the content of a section
                 eval_data:EvalData, # Evaluation data
                 verbosity:int=2, # Verbosity level
                 ):
        store_attr()
        setup_trace_logging(report_id, verbosity)
        self.results = PipelineResults()

source

PipelineOrchestrator.run_stage1

 PipelineOrchestrator.run_stage1 (semaphore)

Run stage 1 of the pipeline

Exported source
@patch
async def run_stage1(self:PipelineOrchestrator, semaphore):
    "Run stage 1 of the pipeline"
    setup_trace_logging(self.report_id, self.verbosity)
    analyzers = []
    
    collections = [
        (self.eval_data.srf_enablers, FrameworkCat.ENABLERS, format_enabler_theme),
        (self.eval_data.srf_crosscutting_priorities, FrameworkCat.CROSSCUT, format_crosscutting_theme)
    ]

    for items, framework_cat, format_fn in collections:
        for item in items:
            trace_ctx = TraceContext(self.report_id, Phase.STAGE1, FrameworkInfo(Framework.SRF, framework_cat, item.id))
            theme = format_fn(item)
            analyzer = ThemeAnalyzer(Overview, Exploration, Assessment, Synthesis, trace_ctx, semaphore=semaphore)
            analyzers.append((analyzer, theme))

    results = await gather(*[analyzer.acall(theme, self.headings, self.get_content_fn) 
                             for analyzer, theme in analyzers])
    for result in results: 
        self.results[Phase.STAGE1][result.framework_name][result.framework_category][result.framework_theme_id] = result
report_id = "49d2fba781b6a7c0d94577479636ee6f"
hdgs = create_heading_dict(report)
get_content_fn = get_content_tool
eval_data = IOMEvalData()

orchestrator = PipelineOrchestrator(report_id, hdgs, get_content_fn, eval_data)
await orchestrator.run_stage1(Semaphore(1))
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 1 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 1 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 1 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 2 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 3 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 5 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 6 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 7 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 1 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 2 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 3 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 4 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 2 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 3 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 5 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 6 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 7 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 1 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 2 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 3 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 4 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 2 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 3 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 5 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 6 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 7 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 2 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 3 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 2 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 3 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 5 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 6 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 7 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 2 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 3 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 2 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 3 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 5 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 6 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 7 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 7 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 2 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 3 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 2 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 3 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 5 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 6 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 7 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 2 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 3 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 2 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 2 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 3 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 5 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 5 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 6 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 2 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 3 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 2 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 3 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 5 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 6 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 2 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 3 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 3 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 6 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 6 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 2 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 3 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 3 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 3 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 6 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 2 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 3 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 3 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 2 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 3 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 4 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 2 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Enablers - 3 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 1 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 2 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage1 - SRF - Crosscutting Priorities - 4 - Synthesis
print(orchestrator.results(Phase.STAGE1, filter_type="covered"))
[
    Prediction(
    reasoning="The theme focuses on building long-term partnerships based on trust to deliver solutions, equitable 
partnerships with national and local actors, and leveraging IOM's convening role. The evidence provided discusses 
partnerships with governments, other stakeholders (including service providers), and other initiatives. It 
highlights the importance of IOM's role in capacity building, avoiding duplication, and creating complementarity 
with other organizations. The evidence also points to the need for strengthening partnerships with service 
providers who can function without significant IOM funding. Overall, the evidence strongly supports the theme of 
partnership.",
    theme_covered=True,
    confidence_explanation="High confidence. The evidence directly addresses the various aspects of the partnership
theme, including the types of partnerships, their benefits, and areas for improvement. The evidence is drawn from 
multiple sources, including interviews, surveys, and reports, providing a comprehensive view of IOM's partnership 
efforts.",
    evidence_summary="Key evidence includes:\n*   Governments of participating countries were highly interested in 
the JI-HoA and committed to its objectives.\n*   82% of partners believed IOM's local capacity building activities 
were useful.\n*   IOM put sufficient efforts in mapping activities of different actors to avoid duplication.\n*   
The JI-HoA programme is well aligned with the objectives of key regional actors, such as IGAD and African Union.\n*
The need to strengthen partnerships with service providers who can function without significant IOM funding.",
    gaps_identified='While the evidence covers various aspects of partnerships, it could benefit from more specific
examples of successful long-term partnerships and their impact. Additionally, more information on the challenges 
faced in building and maintaining these partnerships would be valuable.',
    framework_name='SRF',
    framework_category='Enablers',
    framework_theme_id='2'
),
    Prediction(
    reasoning='The provided evidence strongly supports the coverage of the theme "Enabler 4: Data and evidence." 
The evaluation highlights the Joint Initiative\'s (JI) significant contributions to data availability, capacity 
building for stakeholders in data collection and usage, and the application of data in policymaking related to 
migration and reintegration. The evidence details specific achievements, such as exceeding targets for field 
studies and surveys, increasing stakeholder knowledge on return and reintegration issues, and the use of data in 
developing evidence-based policies. While challenges remain, such as staff turnover and financial constraints, the 
overall impact on data availability and its use is evident. The recommendations also emphasize the importance of 
continuing support for data collection and analysis.',
    theme_covered=True,
    confidence_explanation='Confidence is high (90%) due to the substantial evidence from multiple sources, 
including the evaluation report, stakeholder surveys, and IOM reports. The evidence provides specific examples of 
data collection efforts, capacity building activities, and the use of data in policymaking. The report also 
acknowledges challenges, providing a balanced perspective. The recommendations further reinforce the importance of 
data and evidence in future programming.',
    evidence_summary="Key evidence includes:\n*   The JI exceeded targets for field studies and surveys, increasing
migration data availability.\n*   Stakeholders reported increased knowledge on return and reintegration issues due 
to capacity building efforts.\n*   136 stakeholders reported that data produced supported evidence-based policies, 
procedures, and program design.\n*   The Regional Data Hub's work was appreciated for data production and capacity 
building.\n*   Recommendations emphasize continued support for data collection, analysis, and use in 
decision-making.",
    gaps_identified='While the evidence supports the theme, some gaps exist. The report mentions challenges such as
staff turnover, financial constraints, and the need for further capacity building. More detailed information on the
specific types of data collected, the methodologies used, and the impact of data-driven policies would further 
strengthen the analysis. Additionally, a deeper dive into the sustainability of data collection efforts and the 
long-term impact of capacity building would be beneficial.',
    framework_name='SRF',
    framework_category='Enablers',
    framework_theme_id='4'
),
    Prediction(
    reasoning="The theme focuses on learning, innovation, knowledge management, and the use of technology to 
address migration challenges. The evidence provided discusses the Joint Initiative's (JI) effectiveness in data 
collection, capacity building, and the use of data in policymaking. It also touches upon the efficiency of the 
program, including the use of resources and partnerships. The conclusions and recommendations highlight the 
importance of data, research, and capacity building for sustainable reintegration. The evidence suggests that the 
JI has contributed to learning and innovation in the migration space, particularly through the Regional Data Hub 
and the use of data for decision-making. The recommendations also emphasize the need for continued support and 
capacity building to ensure the sustainability of these efforts.",
    theme_covered=True,
    confidence_explanation='High Confidence: The evidence directly addresses the components of the theme, such as 
knowledge management (through the Regional Data Hub), the use of data for decision-making, and capacity building. 
The evaluation highlights the importance of these aspects for sustainable reintegration, indicating that the JI has
made contributions to learning and innovation in the migration space.',
    evidence_summary="Key evidence includes:\n- The JI exceeded targets for field studies and research 
conducted.\n- Stakeholders reported increased knowledge on return and reintegration issues.\n- The Regional Data 
Hub's work was appreciated for data production and capacity building.\n- The JI's research provided important 
evidence for programming.\n- Recommendations emphasize continued support for capacity building and data-driven 
decision-making.",
    gaps_identified='While the evidence supports the theme, there is a lack of specific examples of the use of 
emerging technologies like AI and big data, as mentioned in the theme description. The evidence focuses more on 
data collection and capacity building than on technological innovation.',
    framework_name='SRF',
    framework_category='Enablers',
    framework_theme_id='5'
),
    Prediction(
    reasoning='The theme focuses on communication interventions, shaping narratives, providing platforms for 
migrant voices, positioning IOM as a leading authority, building awareness, inspiring support, and improving 
internal communication. The evidence provided touches upon several aspects of this theme, including awareness 
raising activities, providing migration-related information, and addressing the needs of migrants and returnees. 
The evidence suggests that IOM conducted awareness raising activities, provided information on the dangers of 
migration, and addressed the needs of migrants and returnees through various forms of support. However, there are 
gaps in the harmonization of awareness raising approaches and the specific objectives and impact studies related to
these activities. Additionally, the evidence highlights gaps in post-return psychosocial support and the 
integration of MHPSS into the program. Overall, the evidence indicates some coverage of the theme, particularly in 
the areas of awareness raising and addressing migrant needs, but there are also areas where communication and 
support could be improved.',
    theme_covered=True,
    confidence_explanation='The confidence score is moderate. The evidence directly addresses communication and 
awareness raising activities, which are key components of the theme. However, the evidence also points to gaps in 
the harmonization of approaches and the integration of psychosocial support, suggesting that the theme is not fully
covered. The evidence is drawn from multiple sections of the document, increasing confidence in the assessment.',
    evidence_summary='Key evidence includes:\n- IOM conducted five times more awareness raising activities/events 
addressing migrants in target countries than expected.\n- A stakeholder in Djibouti noted that the JI was effective
in providing migration related information.\n- IOM Ethiopia organised awareness raising on sexual and gender-based 
violence to migrant returnees and host community members.\n- The JI-HoA responded to a large extent to the needs of
returnees in terms of their reintegration.',
    gaps_identified='Gaps identified include:\n- Lack of guidelines for awareness raising and outreach to ensure a 
harmonized approach across countries.\n- No information found on the exact objectives of awareness raising or 
impact studies.\n- Gaps in post-return psychosocial support (e.g., lack of MHPSS service, unclear information about
compensation of the treatment, high cost, stigma, and low awareness about MHPSS needs among communities).\n- 
Post-return psychosocial support was not well-integrated into the main documents of the JI-HoA programme.',
    framework_name='SRF',
    framework_category='Enablers',
    framework_theme_id='6'
),
    Prediction(
    reasoning='The theme is "Protection-centred," focusing on human rights, well-being of migrants, and addressing 
vulnerabilities. The evidence suggests that the JI-HoA program addressed the needs of migrants and returnees, 
including providing essential resources, economic support, and psychosocial assistance. The program aimed to ensure
safe, humane, and dignified return processes. However, gaps were identified in the consistency and adequacy of 
support, particularly in psychosocial support and economic assistance. Satisfaction levels with reintegration 
support varied across countries. While the program made efforts to involve governments, its impact on broader 
return processes without IOM support remains unclear. Overall, the evidence indicates that the program made efforts
to be protection-centered, but there were inconsistencies and gaps in implementation.',
    theme_covered=True,
    confidence_explanation="Confidence: 8/10\nExplanation: The evidence provides a good overview of the program's 
activities related to protection, including direct assistance, safe return processes, and reintegration support. 
However, the identified gaps and inconsistencies in implementation, along with the lack of clarity on the program's
broader impact, reduce the confidence level slightly.",
    evidence_summary='Key evidence includes:\n- Provision of food, water, clothing, and shelter to migrants.\n- 
Economic, social, and psychosocial support to returnees.\n- Efforts to enhance safe, humane, and dignified return 
processes.\n- Awareness raising activities on migration dangers and SGBV.\n- Establishment and enhancement of 
MRCs.\n- Reintegration assistance to beneficiaries.',
    gaps_identified='Gaps identified include:\n- Inconsistencies in the adequacy of economic and psychosocial 
support.\n- Variable satisfaction levels with reintegration support across countries.\n- Lack of harmonized 
approach to awareness raising.\n- Unclear impact on broader return processes without IOM support.\n- Gaps in 
post-return psychosocial support.',
    framework_name='SRF',
    framework_category='Crosscutting Priorities',
    framework_theme_id='3'
)
]

source

get_stage1_covered_context

 get_stage1_covered_context (results:__main__.PipelineResults,
                             eval_data:evaluatr.frameworks.EvalData)

Get and format covered themes in Stage 1.

Exported source
def get_stage1_covered_context(results: PipelineResults, eval_data: EvalData) -> str:
    "Get and format covered themes in Stage 1."
    covered_themes = results(Phase.STAGE1, filter_type="covered")
    if not covered_themes: return ""
    
    context_parts = []
    for theme in covered_themes:
        if theme.framework_category == str(FrameworkCat.ENABLERS):
            theme_data = next(t for t in eval_data.srf_enablers if t.id == theme.framework_theme_id)
        elif theme.framework_category == str(FrameworkCat.CROSSCUT):
            theme_data = next(t for t in eval_data.srf_crosscutting_priorities if t.id == theme.framework_theme_id)
        
        context_parts.append(f"- **{theme.framework_category} {theme_data.id}**: {theme_data.title}")
    
    return f"### Report Preliminary Context\nThis evaluation report covers the following Strategic Results Framework themes:\n" + "\n".join(context_parts)

For instance:

print(get_stage1_covered_context(orchestrator.results, eval_data))
### Report Preliminary Context
This evaluation report covers the following Strategic Results Framework themes:
- **Enablers 2**: Partnership
- **Enablers 4**: Data and evidence
- **Enablers 5**: Learning and Innovation
- **Enablers 6**: Communication
- **Crosscutting Priorities 3**: Protection-centred

source

PipelineOrchestrator.run_stage2

 PipelineOrchestrator.run_stage2 (semaphore)

Run stage 2 of the pipeline - GCM objectives analysis

Exported source
@patch
async def run_stage2(self:PipelineOrchestrator, semaphore):
    "Run stage 2 of the pipeline - GCM objectives analysis"
    setup_trace_logging(self.report_id, self.verbosity)
    stage1_context = get_stage1_covered_context(self.results, self.eval_data)
    analyzers = []
    
    for gcm_obj in gcm_small:
        trace_ctx = TraceContext(self.report_id, Phase.STAGE2, FrameworkInfo(Framework.GCM, FrameworkCat.OBJS, gcm_obj["id"]))
        theme = format_gcm_theme(gcm_obj)
        analyzer = ThemeAnalyzer(Overview, Exploration, Assessment, Synthesis, trace_ctx, semaphore=semaphore)
        analyzers.append((analyzer, theme, stage1_context))

    results = await gather(*[analyzer.acall(theme, self.headings, self.get_content_fn, context) 
                             for analyzer, theme, context in analyzers])
    
    for result in results: 
        self.results[Phase.STAGE2][result.framework_name][result.framework_category][result.framework_theme_id] = result
await orchestrator.run_stage2(Semaphore(1))
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 1 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 2 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 3 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 4 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 5 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 6 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 7 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 8 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 9 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 10 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 11 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 12 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 13 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 14 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 15 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 16 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 17 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 18 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 19 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 20 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 21 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 22 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 23 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 1 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 2 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 3 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 4 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 5 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 6 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 7 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 8 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 9 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 10 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 11 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 12 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 13 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 14 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 15 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 16 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 17 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 18 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 19 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 20 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 21 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 22 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 23 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 2 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 3 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 5 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 6 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 7 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 8 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 9 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 10 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 14 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 15 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 16 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 17 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 18 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 19 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 20 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 23 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 1 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 2 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 3 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 4 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 5 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 6 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 7 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 8 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 9 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 10 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 14 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 15 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 16 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 17 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 18 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 19 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 20 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 21 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 23 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 2 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 3 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 5 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 6 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 7 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 8 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 9 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 10 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 14 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 15 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 16 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 17 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 18 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 19 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 20 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 23 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 1 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 2 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 3 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 4 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 5 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 6 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 7 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 8 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 9 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 10 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 14 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 15 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 16 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 17 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 18 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 19 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 20 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 21 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 23 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 2 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 3 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 5 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 6 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 7 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 8 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 9 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 10 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 10 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 14 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 15 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 16 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 16 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 17 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 18 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 18 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 19 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 20 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 23 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 1 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 2 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 3 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 4 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 5 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 6 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 7 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 8 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 9 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 10 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 13 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 14 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 15 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 16 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 17 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 18 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 19 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 20 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 21 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 22 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 23 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 1 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 2 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 3 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 5 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 6 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 7 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 8 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 8 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 9 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 9 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 14 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 15 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 17 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 19 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 20 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 23 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 23 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 1 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 2 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 3 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 4 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 5 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 6 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 7 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 8 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 9 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 11 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 14 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 15 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 17 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 19 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 20 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 21 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 23 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 2 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 3 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 3 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 5 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 6 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 6 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 7 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 7 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 14 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 14 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 15 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 15 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 17 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 19 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 20 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 2 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 3 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 4 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 5 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 6 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 7 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 14 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 15 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 17 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 19 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 20 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 2 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 2 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 4 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 5 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 17 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 19 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 19 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 20 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 2 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 4 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 12 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 17 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 19 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 17 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 17 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage2 - GCM - Objectives - 17 - Synthesis
print(orchestrator.results(Phase.STAGE2, filter_type="covered"))
[
    Prediction(
    reasoning='The evidence suggests that the JI-HoA program made substantial progress in improving data 
collection, analysis, and dissemination related to migration in the Horn of Africa. The program exceeded targets 
for field studies and stakeholder capacity building. There is evidence of increased data availability and use in 
policymaking, although challenges remain in fully utilizing this data due to factors like staff turnover, financial
constraints, and the COVID-19 pandemic. The program addressed the needs of governments and other stakeholders by 
providing capacity building activities and tools. However, some stakeholders felt that the capacity building was 
not always necessary. Overall, the program contributed to strengthening the evidence base on migration, but there 
are areas where further improvements are needed.',
    theme_covered=True,
    confidence_explanation='High Confidence: The evidence directly addresses the theme of strengthening the global 
evidence base on migration. The evaluation report provides specific examples of increased data availability, 
capacity building, and the use of data in policymaking. While challenges and limitations are acknowledged, the 
overall assessment indicates that the program made significant progress towards achieving this objective.',
    evidence_summary='- The JI exceeded targets for field studies and stakeholder capacity building.\n- Increased 
availability of migration data through the Regional Data Hub.\n- Stakeholders reported increased knowledge on 
return and reintegration issues.\n- Examples of increased use of data in policymaking.\n- Increased number of 
stakeholders involved in return and reintegration assistance.',
    gaps_identified='- The evaluation identifies challenges that hinder stakeholders from optimally benefitting 
from increased data and capacity, such as staff turnover, financial constraints, and the COVID-19 pandemic.\n- Some
stakeholders felt that the capacity building was not always necessary.\n- The evaluation notes that capacity alone 
is not sufficient for governments and stakeholders to continue working on, and improving, return and reintegration 
policies and processes.',
    framework_name='GCM',
    framework_category='Objectives',
    framework_theme_id='1'
),
    Prediction(
    reasoning="The provided evidence directly addresses GCM Objective 2, which focuses on minimizing adverse 
drivers of migration through sustainable development and crisis prevention. The evidence highlights the EU-IOM 
JI-HoA's efforts to create economic opportunities, support community-based reintegration projects, and build 
government capacity to address migration issues. Specifically, the program aimed to enhance livelihoods in 
communities, thereby reducing the need for migration due to economic necessity. The evaluation also acknowledges 
the importance of addressing the wider socio-economic context to achieve sustainable reintegration and reduce 
migration drivers. The recommendations further emphasize strengthening community-based reintegration efforts and 
building partnerships with service providers to address the root causes of migration.",
    theme_covered=True,
    confidence_explanation="Confidence is high (90%) because the evidence directly relates to the core theme of 
addressing root causes of migration through sustainable development and crisis prevention. The evaluation report 
explicitly mentions the program's efforts to create economic opportunities, support community-based reintegration, 
and build government capacity, all of which align with the objectives of GCM Objective 2. The recommendations also 
reinforce the need to address drivers of irregular migration and provide economic opportunities.",
    evidence_summary='Key evidence includes:\n- The program addressed community needs and the needs of returnees, 
with 95% of community members agreeing that the projects addressed community needs.\n- Community-based 
reintegration projects created business and employment opportunities, reducing the need to migrate for economic 
reasons.\n- The program built government capacity to work on return and reintegration, although sustainability 
remains a challenge.\n- Recommendations emphasize strengthening community-based reintegration efforts and building 
partnerships to address drivers of irregular migration.',
    gaps_identified="While the evidence demonstrates efforts to address the root causes of migration, there are 
gaps in the long-term sustainability of these efforts. The evaluation notes that the sustainability of the JI's 
results depends on the ability of governments to maintain the tools and mechanisms put in place by the JI. There is
also a need for continued support in terms of capacity-building and wider socio-economic development. The 
evaluation also points out that the program's impact was affected by external factors such as COVID-19, security 
issues, and economic crises.",
    framework_name='GCM',
    framework_category='Objectives',
    framework_theme_id='2'
),
    Prediction(
    reasoning='The theme focuses on providing accurate and timely information to migrants at all stages of 
migration. The evidence suggests that the JI-HoA program made efforts to provide information to migrants, 
particularly regarding the dangers of migration and SGBV. The program also exceeded targets for awareness-raising 
activities. However, the evaluation also notes a lack of harmonized guidelines for awareness raising and a lack of 
specific objectives, indicators, and impact studies related to awareness raising. Furthermore, 95% of surveyed 
migrants reported that they have been provided with sufficient and useful information to take an informed decision 
to return, which exceeded the target of 70%. The program also supported the development of a Regional MRC strategy 
with 40 partner organizations. Overall, the evidence indicates that the program addressed the theme, but there are 
areas for improvement in terms of the consistency, objectives, and evaluation of awareness-raising efforts.',
    theme_covered=True,
    confidence_explanation='High confidence. The evidence directly addresses the provision of information to 
migrants, with specific examples of awareness-raising activities and migrant satisfaction with the information 
provided. The evaluation also identifies areas for improvement, which further supports the conclusion that the 
theme was addressed, but not perfectly.',
    evidence_summary='- IOM conducted five times more awareness raising activities/events addressing migrants in 
target countries than expected.\n- A stakeholder in Djibouti noted that the JI was effective in providing migration
related information in Obock and outside.\n- 95% of surveyed migrants reported that they have been provided with 
sufficient and useful information to take an informed decision to return, which exceeded the target of 70%.',
    gaps_identified='- Lack of harmonized guidelines for awareness raising.\n- Lack of specific objectives, 
indicators, and impact studies related to awareness raising.\n- The evaluation did not find information on the 
exact objectives of awareness raising.',
    framework_name='GCM',
    framework_category='Objectives',
    framework_theme_id='3'
),
    Prediction(
    reasoning="The provided evidence suggests that the JI-HoA program addressed and reduced vulnerabilities in 
migration, aligning with GCM Objective 7. The program provided support to migrants in vulnerable situations, 
including returnees, through various means such as AVR, reintegration assistance, and MHPSS. The program also 
focused on safe, humane, and dignified return processes. However, there were gaps in the program's execution, such 
as insufficient economic support and MHPSS, and concerns about the sustainability of the program's results without 
continued IOM involvement. While the program made strides in addressing vulnerabilities, the gaps and 
sustainability concerns suggest that the coverage of this theme is not comprehensive.",
    theme_covered=True,
    confidence_explanation="The confidence level is moderate (7/10). The evidence clearly demonstrates that the 
JI-HoA program addressed vulnerabilities in migration through various interventions. However, the identified gaps 
in the program's execution, such as insufficient economic support and MHPSS, and concerns about the sustainability 
of the program's results without continued IOM involvement, reduce the confidence that the theme was 
comprehensively covered.",
    evidence_summary='Key evidence includes:\n- The JI-HoA enabled migrants to return from dangerous environments 
and provided essential support like food, water, clothing, and shelter.\n- The program offered integrated economic,
social, and psychosocial support to returnees.\n- The JI supported migrants with AVR and provided protection and 
direct assistance to migrants in transit.\n- The program conducted awareness-raising activities and events 
addressing migrants in target countries.\n- The JI provided reintegration assistance to beneficiaries and initiated
community-based reintegration projects.',
    gaps_identified="Gaps identified include:\n- Insufficient economic support for returnees.\n- Gaps in 
post-return psychosocial support.\n- Concerns about the sustainability of the program's results without continued 
IOM involvement.\n- Lack of harmonized approach to awareness raising across countries.\n- Long waiting times for 
AVR in some cases.",
    framework_name='GCM',
    framework_category='Objectives',
    framework_theme_id='7'
),
    Prediction(
    reasoning='The provided evidence strongly suggests that the EU-IOM Joint Initiative for Migrant Protection and 
Reintegration in the Horn of Africa addressed trafficking in persons in the context of international migration, 
aligning with GCM Objective 10. The initiative focused on providing support to migrants facing abuse, violence, and
exploitation, including those who were victims of trafficking. Key activities included victim identification, 
direct assistance, and safe return processes. The report highlights the importance of AVR (Assisted Voluntary 
Return) in rescuing and protecting migrants, including victims of trafficking. The recommendations also emphasize 
the need to continue supporting safe migration pathways and providing direct support to migrants in distress, which
directly relates to preventing trafficking and protecting victims.',
    theme_covered=True,
    confidence_explanation="High Confidence (90%): The evidence explicitly mentions the initiative's efforts to 
support migrants facing abuse, violence, and exploitation, which are common indicators of trafficking. The focus on
safe return processes and direct assistance to vulnerable migrants further supports the conclusion that the 
initiative addressed trafficking in persons. The recommendations to continue supporting safe migration pathways and
providing direct support to migrants in distress reinforces this assessment.",
    evidence_summary="Key evidence includes:\n- The initiative's focus on supporting migrants facing abuse, 
violence, and exploitation.\n- The provision of AVR assistance, which is crucial for rescuing and protecting 
migrants, including trafficking victims.\n- Recommendations to continue supporting safe migration pathways and 
providing direct support to migrants in distress.\n- Stakeholder feedback confirming the effectiveness of the 
initiative in reaching out to migrants in vulnerable situations.",
    gaps_identified='While the evidence indicates that the initiative addressed trafficking, there is limited 
specific information on dedicated anti-trafficking programs or specific strategies to prosecute traffickers. The 
focus is primarily on victim protection and safe return. More detailed information on prevention campaigns and 
prosecution efforts would strengthen the assessment.',
    framework_name='GCM',
    framework_category='Objectives',
    framework_theme_id='10'
),
    Prediction(
    reasoning="The provided evidence suggests that the JI-HoA program has made strides in strengthening migration 
procedures, particularly in the areas of data collection, capacity building, and providing safe, humane, and 
dignified return processes. The program has addressed the needs of governments and other stakeholders by developing
evidence-based return and reintegration procedures, enhancing awareness, and providing assistance to stranded 
migrants. The establishment of Migration Response Centers (MRCs) and the provision of reintegration assistance have
also contributed to the program's objectives.\n\nHowever, there are some gaps and areas for improvement. The 
evaluation found that the sustainability of these efforts is unclear, as key stakeholders still lack important 
capacity to work on return independently. Additionally, the economic support provided to returnees was sometimes 
insufficient, and there were variations in satisfaction levels across different countries. The evaluation also 
highlights the need for continued funding and partnerships to ensure the long-term impact of the 
program.\n\nOverall, the evidence indicates that the JI-HoA program has partially addressed the theme of 
strengthening certainty and predictability in migration procedures for appropriate screening, assessment, and 
referral. While the program has made significant progress in some areas, there are still challenges to be addressed
to ensure the sustainability and effectiveness of these efforts.",
    theme_covered=True,
    confidence_explanation='The confidence score is moderate. The evidence clearly shows that the JI-HoA program 
has implemented activities related to screening, assessment, and referral, such as capacity building, data 
collection, and the establishment of MRCs. However, the evidence also indicates that there are gaps in the 
sustainability of these efforts and variations in satisfaction levels across different countries. Therefore, while 
the program has made progress in addressing the theme, there are still challenges to be addressed.',
    evidence_summary="Key evidence includes:\n- The JI-HoA program addressed the needs of governments and other 
stakeholders by developing evidence-based return and reintegration procedures.\n- The program enhanced awareness 
and provided assistance to stranded migrants.\n- The establishment of MRCs and the provision of reintegration 
assistance contributed to the program's objectives.\n- The program implemented activities to harmonize the approach
to monitoring and measuring the impact of return and reintegration assistance.",
    gaps_identified="Gaps identified include:\n- The sustainability of the program's efforts is unclear, as key 
stakeholders still lack important capacity to work on return independently.\n- The economic support provided to 
returnees was sometimes insufficient.\n- There were variations in satisfaction levels across different 
countries.\n- There is a need for continued funding and partnerships to ensure the long-term impact of the 
program.\n- Lack of harmonized approach across countries for awareness raising and outreach.",
    framework_name='GCM',
    framework_category='Objectives',
    framework_theme_id='12'
),
    Prediction(
    reasoning="The provided evidence touches upon several aspects of GCM Objective 14. The report highlights 
efforts to enhance safe, humane, and dignified voluntary return processes (AVR), which directly relates to consular
protection and assistance for nationals abroad. The report also mentions capacity building for governments in 
migration management, which aligns with the objective's focus on strengthening consular services. Furthermore, the 
discussion of reintegration support and data collection systems indirectly contributes to the protection of 
migrants by improving the overall migration management framework. However, the evidence does not explicitly detail 
consular cooperation or specific consular protection activities beyond AVR.",
    theme_covered=True,
    confidence_explanation="The confidence level is moderate. The evidence directly supports the enhancement of AVR
processes and capacity building, which are components of consular protection and assistance. However, the lack of 
explicit details on consular cooperation and specific consular protection activities beyond AVR lowers the 
confidence. The evidence strongly suggests that the JI-HoA program contributed to the broader goals of GCM 
Objective 14, even if it didn't directly address every aspect.",
    evidence_summary="Key evidence includes:\n- The JI-HoA's support for safe, humane, and dignified voluntary 
return processes (AVR).\n- Capacity building activities for governments in migration management.\n- The 
establishment and strengthening of data collection and monitoring systems.\n- Provision of reintegration assistance
to returnees.",
    gaps_identified='The evidence lacks specific details on:\n- Consular cooperation initiatives.\n- Specific 
consular protection activities beyond AVR.\n- Direct engagement with consular officers.\n- Bilateral agreements 
related to consular protection.\n- Emergency assistance provided by consulates.',
    framework_name='GCM',
    framework_category='Objectives',
    framework_theme_id='14'
),
    Prediction(
    reasoning='The evidence suggests that the JI-HoA program addressed the needs of migrants by providing access to
basic services such as food, water, clothing, and shelter, particularly through Migration Response Centers (MRCs). 
The program also focused on enhancing safe, humane, and dignified voluntary return processes, and supported the 
reintegration of returnees into their communities. While the program faced challenges such as long waiting times 
for AVR and varying levels of satisfaction with reintegration support, it generally succeeded in reaching out to 
migrants and providing them with useful information and assistance. The program also contributed to capacity 
building of stakeholders and data collection on migration trends. The recommendations emphasize the need for 
continued support and capacity building, strengthening community-based reintegration efforts, and exploring 
opportunities for longer-term integration. Overall, the evidence indicates that the program made significant 
efforts to provide access to basic services for migrants, aligning with GCM Objective 15.',
    theme_covered=True,
    confidence_explanation='High Confidence: The evidence directly addresses the provision of basic services to 
migrants through the JI-HoA program. Multiple sections of the report detail the activities and achievements related
to providing assistance, protection, and reintegration support to migrants. The conclusions and recommendations 
further reinforce the importance of these efforts and the need for continued support.',
    evidence_summary='- The JI-HoA provided essential services like food, water, clothing, and shelter to migrants 
(Section 4.1.1.1).\n- The program enhanced safe, humane, and dignified voluntary return processes (Section 
4.3.2).\n- Reintegration assistance was provided to returnees, with varying levels of satisfaction (Section 
4.3.3).\n- The program built and enhanced MRCs to support migrants (Section 4.3.2).\n- Recommendations emphasize 
continued support and capacity building for stakeholders (Section 5).',
    gaps_identified="While the report provides evidence of the program's efforts to provide access to basic 
services, it also highlights challenges such as long waiting times for AVR and varying levels of satisfaction with 
reintegration support. The report also notes that the sustainability of these efforts is uncertain without 
continued support. Further information on the specific types of services provided and the extent to which they met 
the needs of all migrants would be beneficial.",
    framework_name='GCM',
    framework_category='Objectives',
    framework_theme_id='15'
),
    Prediction(
    reasoning="The provided evidence touches upon several aspects of GCM Objective 16. Section 4.1.1.3 highlights 
the program's efforts to address community needs and reintegrate returnees, with a high percentage of community 
members perceiving the projects as relevant and effective. Section 4.1.2 discusses the program's relevance to the 
needs of governments and other stakeholders, including capacity building activities. Section 4.3.3 focuses 
specifically on the reintegration of returnees and the enhancement of livelihoods in host communities. While the 
evidence doesn't explicitly mention all the key principles (social inclusion, community engagement, mutual respect)
in detail, the activities described (integration programs, community-based projects) align with the objective's 
core theme of promoting migrant integration and social cohesion.",
    theme_covered=True,
    confidence_explanation="I have high confidence in this assessment. The evidence directly addresses the 
program's activities related to reintegration, community needs, and stakeholder engagement, all of which are 
central to GCM Objective 16. The community survey results provide quantitative data supporting the perceived 
relevance and effectiveness of the projects. While there are some identified gaps (e.g., differing levels of 
support across communities), the overall evidence strongly suggests that the program is working towards achieving 
the objective.",
    evidence_summary='Key evidence includes:\n- 95% of community members agreed that the projects addressed 
community needs.\n- 92% agreed that the projects addressed the needs of returnees.\n- The program addressed gaps in
government capacity for migration management through capacity building activities and tools.\n- The program focused
on economic, social, and psychosocial reintegration of returnees.',
    gaps_identified='The evidence could be strengthened by providing more specific examples of activities promoting
social inclusion, community engagement, and mutual respect. Additionally, there is a lack of information on the 
long-term impact of the program on social cohesion. The differing levels of support across communities also 
represent a potential gap in equitable implementation.',
    framework_name='GCM',
    framework_category='Objectives',
    framework_theme_id='16'
),
    Prediction(
    reasoning='The evidence indicates that the JI-HoA program addressed the core theme of safe and dignified 
return, readmission, and sustainable reintegration of migrants, aligning with GCM Objective 21. The program 
provided reintegration assistance, supported voluntary returns, and enhanced data collection systems. However, gaps
exist in the long-term sustainability of reintegration, particularly in economic self-sufficiency and psychosocial 
support. While the program achieved many of its targets, some stakeholders noted issues with the sufficiency of 
economic support and the length of AVR procedures. The program also contributed to awareness raising activities and
provided assistance to stranded migrants. The evidence suggests a mixed picture, with significant achievements but 
also areas needing improvement.',
    theme_covered=True,
    confidence_explanation='High Confidence: The evidence directly addresses the core components of GCM Objective 
21, including safe return, reintegration support, and cooperation frameworks. Multiple sections of the report 
provide specific examples and data related to these areas. While gaps are identified, the overall evidence strongly
suggests that the theme was covered by the JI-HoA program.',
    evidence_summary='- The JI-HoA responded to the needs of returnees through economic, social, and psychosocial 
support (Section 4.1.1.2).\n- The program supported voluntary returns, exceeding targets for migrants assisted 
(Section 4.3.2).\n- The JI provided reintegration assistance to over 15,000 beneficiaries (Section 4.3.3).\n- The 
program implemented activities to harmonize the approach to monitoring and measuring the impact of return and 
reintegration assistance (Section 4.3.3).\n- Stakeholders confirmed that the JI allowed for safe, humane, and 
dignified return of migrants (Section 4.3.2).',
    gaps_identified="- Insufficient economic support for sustainable reintegration was a recurring concern 
(Sections 4.1.1.2, 4.3.3).\n- Gaps were found in the correspondence of specific activities to returnees' 
psychosocial needs (Section 4.1.1.2).\n- Long waiting times for AVR were noted by some stakeholders (Section 
4.3.2).\n- The evaluation did not find guidelines for awareness raising and outreach that would ensure a harmonized
approach across countries (Section 4.3.2).\n- The capacity of governments and stakeholders to continue AVR 
independently is unclear (Section 4.3.2, 5.2.2).",
    framework_name='GCM',
    framework_category='Objectives',
    framework_theme_id='21'
),
    Prediction(
    reasoning="The provided evidence strongly supports the coverage of GCM Objective 23, which focuses on 
strengthening international cooperation and global partnerships for safe, orderly, and regular migration. The 
evidence highlights the JI-HoA program's efforts in building partnerships with service providers, aligning with 
international frameworks like the Valletta Action Plan and the European Agenda on Migration, and coordinating with 
regional actors such as IGAD and the African Union. The program's emphasis on capacity building, data sharing, and 
avoiding duplication of efforts further demonstrates its commitment to enhancing international cooperation for 
effective migration governance.",
    theme_covered=True,
    confidence_explanation="Confidence is high (90%) due to the multiple pieces of evidence from different sections
of the report that directly address the theme of international cooperation and partnerships. The evidence includes 
specific examples of the JI-HoA program's activities, such as building partnerships with service providers, 
aligning with international and regional frameworks, and coordinating with other organizations to avoid 
duplication. The coherence section also provides a high-level overview of the program's alignment with 
international standards and objectives.",
    evidence_summary="Key evidence includes:\n- The JI-HoA program's focus on building partnerships with service 
providers to strengthen their capacity and referral systems (Section 5.2.1).\n- The program's alignment with 
international frameworks like the Valletta Action Plan and the European Agenda on Migration (Section 4.2.1).\n- The
program's coordination with regional actors such as IGAD and the African Union (Section 4.2).\n- The program's 
efforts to avoid duplication of activities by mapping activities of different actors (Section 4.2).\n- Stakeholder 
acknowledgement of the program's relevance and usefulness in capacity building (Section 4.1.2).",
    gaps_identified="While the evidence strongly supports the theme, there is a lack of specific details on the 
program's engagement with the private sector, which is one of the target groups mentioned in the theme description.
Further information on private sector partnerships would strengthen the assessment.",
    framework_name='GCM',
    framework_category='Objectives',
    framework_theme_id='23'
)
]

source

get_filtered_srf_output_ids

 get_filtered_srf_output_ids (results:__main__.PipelineResults,
                              eval_data:evaluatr.frameworks.EvalData)

Get filtered SRF output IDs based on covered GCM themes.

Type Details
results PipelineResults PipelineResults
eval_data EvalData EvalData
Returns list list of SRF output IDs
Exported source
def get_filtered_srf_output_ids(
    results: PipelineResults, # PipelineResults
    eval_data: EvalData # EvalData
    ) -> list: # list of SRF output IDs
    "Get filtered SRF output IDs based on covered GCM themes."
    covered_gcm = results(Phase.STAGE2, filter_type="covered")
    srf_output_ids = set()
    
    for gcm_theme in covered_gcm:
        gcm_id = gcm_theme.framework_theme_id
        if gcm_id in eval_data.gcm_srf_lut:
            srf_output_ids.update(eval_data.gcm_srf_lut[gcm_id])
    
    return list(srf_output_ids)

For instance:

get_filtered_srf_output_ids(orchestrator.results, eval_data)[:5]
['2b11', '3d22', '3c11', '3d31', '3c13']

source

get_combined_context

 get_combined_context (results:__main__.PipelineResults,
                       eval_data:evaluatr.frameworks.EvalData)

Get combined context from previous stages (1 and 2).

Type Details
results PipelineResults PipelineResults
eval_data EvalData EvalData
Returns str combined context

For instance:

combined_context = get_combined_context(orchestrator.results, eval_data)
print(combined_context)
### Report Preliminary Context
This evaluation report covers the following Strategic Results Framework themes:
- **Enablers 2**: Partnership
- **Enablers 4**: Data and evidence
- **Enablers 5**: Learning and Innovation
- **Enablers 6**: Communication
- **Crosscutting Priorities 3**: Protection-centred

### Covered GCM Objectives
- **GCM 1**: Collect and utilize accurate and disaggregated data as a basis for evidence-based policies
- **GCM 2**: Minimize the adverse drivers and structural factors that compel people to leave their country of 
origin
- **GCM 3**: Provide accurate and timely information at all stages of migration
- **GCM 7**: Address and reduce vulnerabilities in migration
- **GCM 10**: Prevent, combat and eradicate trafficking in persons in the context of international migration
- **GCM 12**: Strengthen certainty and predictability in migration procedures for appropriate screening, assessment
and referral
- **GCM 14**: Enhance consular protection, assistance and cooperation throughout the migration cycle
- **GCM 15**: Provide access to basic services for migrants
- **GCM 16**: Empower migrants and societies to realize full inclusion and social cohesion
- **GCM 21**: Cooperate in facilitating safe and dignified return and readmission, as well as sustainable 
reintegration
- **GCM 23**: Strengthen international cooperation and global partnerships for safe, orderly and regular migration

source

PipelineOrchestrator.run_stage3

 PipelineOrchestrator.run_stage3 (semaphore)

Run stage 3 of the pipeline - Targeted SRF outputs analysis

Exported source
@patch
async def run_stage3(self:PipelineOrchestrator, semaphore):
    "Run stage 3 of the pipeline - Targeted SRF outputs analysis"
    setup_trace_logging(self.report_id, self.verbosity)
    
    combined_context = get_combined_context(self.results, self.eval_data)
    filtered_output_ids = get_filtered_srf_output_ids(self.results, self.eval_data)
    analyzers = []
    
    for output_id in filtered_output_ids:
        output_context = find_srf_output_by_id(self.eval_data, output_id)
        if output_context:
            trace_ctx = TraceContext(self.report_id, Phase.STAGE3, FrameworkInfo(Framework.SRF, FrameworkCat.OUTPUTS, output_id))
            theme = format_srf_output(output_context)
            analyzer = ThemeAnalyzer(Overview, Exploration, Assessment, Synthesis, trace_ctx, semaphore=semaphore)
            analyzers.append((analyzer, theme, combined_context))

    results = await gather(*[analyzer.acall(theme, self.headings, self.get_content_fn, context) 
                             for analyzer, theme, context in analyzers])
    
    for result in results: 
        self.results[Phase.STAGE3][result.framework_name][result.framework_category][result.framework_theme_id] = result
await orchestrator.run_stage3(Semaphore(3))
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b11 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b11 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c11 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c11 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d31 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d31 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c13 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b11 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b21 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a43 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2c12 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a51 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b52 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c43 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d44 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b12 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a16 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c21 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a52 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b51 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2c11 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c42 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b61 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a21 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a32 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b54 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b31 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c23 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b43 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c11 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a42 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a31 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c41 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b22 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a22 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b13 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a11 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a44 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b32 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d43 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c31 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b11 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c52 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c22 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b33 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d33 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d42 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a12 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b31 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b12 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a22 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c21 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a11 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a33 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a13 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b21 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b12 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d41 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c12 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b21 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a21 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a18 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a15 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b22 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a12 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b43 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a41 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b32 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d32 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b42 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a17 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b31 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c51 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c15 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a14 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c32 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d34 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b22 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c22 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b62 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a19 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b63 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d35 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b13 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b53 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a34 - Starting Analysis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c13 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b11 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b21 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a43 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2c12 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c43 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b52 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a51 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b12 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a16 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d44 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c21 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a52 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b51 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2c11 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c42 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b61 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a32 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a21 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b54 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b31 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c23 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b43 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c11 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a42 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a31 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c41 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a22 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b22 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b13 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a11 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a44 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b32 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c31 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d43 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b11 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c52 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c22 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d33 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b33 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d42 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a12 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b31 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b12 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a22 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c21 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a11 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a33 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b21 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a13 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d41 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b12 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c12 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b21 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a21 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a18 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a15 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a12 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b22 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b43 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a41 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b32 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d32 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b42 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a17 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c51 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b31 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c15 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a14 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c32 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d34 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c22 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b22 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b62 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b63 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a19 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d35 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a34 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b13 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b53 - Overview
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d31 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2c12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b52 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a51 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a16 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d44 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a52 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b51 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2c11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b61 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b54 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c23 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a44 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c52 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d33 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b33 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a33 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a18 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a15 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a17 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c51 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c15 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a14 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d34 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b62 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b63 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a19 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d35 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a34 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b53 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b21 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a43 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2c12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c43 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a51 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b52 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a16 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d44 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a52 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b51 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2c11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b61 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a21 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b54 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c23 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b43 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a42 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c41 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a44 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d43 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c52 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d33 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b31 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b33 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c21 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a33 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b21 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d41 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b21 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a21 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a18 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a15 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b42 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b43 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c51 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a17 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b31 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c15 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a14 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d34 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b62 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b63 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a19 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a34 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d35 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d31 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b53 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2c12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a51 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b52 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a16 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d44 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a52 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b51 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b61 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2c11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b54 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c23 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a44 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c52 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d33 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b33 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a33 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a18 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a15 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c51 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a17 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c15 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a14 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d34 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b62 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b63 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a34 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a19 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d35 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b53 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a43 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a51 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b21 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2c12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c43 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b52 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a16 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d44 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a52 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b51 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b61 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2c11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a21 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c23 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b54 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b43 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a42 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c41 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a44 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d43 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d33 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c52 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b31 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c21 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b33 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a33 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d41 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b21 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b21 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a21 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a18 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a15 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b42 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b43 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c51 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a17 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b31 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c15 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a14 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d34 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b62 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b63 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a34 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a19 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d35 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d31 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a51 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b53 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2c12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2c12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b52 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a16 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d44 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b61 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a52 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b51 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c23 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b54 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b54 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2c11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a44 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a44 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d33 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c52 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b33 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b33 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a33 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a33 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a18 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a15 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c51 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a17 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c15 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a14 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d34 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b62 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b63 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a34 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a19 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d35 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a51 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b53 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a43 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b21 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c43 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2c12 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b52 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a16 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d44 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b61 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c23 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a52 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b51 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a21 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2c11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b54 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b43 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a42 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c41 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a44 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d43 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d33 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c52 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b31 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c21 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d41 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b33 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a33 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b21 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b21 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a21 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a18 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a15 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b42 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c51 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a17 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b31 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c15 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d34 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a14 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b62 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b63 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a34 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d35 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a19 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a51 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d31 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b53 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b52 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c11 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a16 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c23 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d44 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b61 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a52 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b51 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2c11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2c11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d33 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c52 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a18 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a15 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c51 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a17 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c15 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c15 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d34 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d34 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a14 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b62 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b63 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a34 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a34 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a51 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a19 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d35 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b53 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b21 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c43 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b52 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c23 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a16 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b12 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d44 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b61 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a52 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b51 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a42 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2c11 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a22 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c41 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a11 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d43 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d33 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d41 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c52 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b31 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c12 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a18 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b21 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a15 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b42 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c51 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a17 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b31 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c15 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d34 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a14 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b62 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a51 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b63 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a34 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a19 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d35 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b53 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d31 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c23 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b52 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b52 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a16 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a16 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d44 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b61 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a52 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a52 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b51 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d33 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c52 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c52 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a18 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a18 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a15 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a15 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c51 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c51 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a17 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a51 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a14 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a14 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c21 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b62 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b63 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a19 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d35 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b21 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c23 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b53 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c43 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b52 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d44 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a16 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b61 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b51 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a52 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d41 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d43 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b11 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d33 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c22 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c52 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b31 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a22 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a12 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b12 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a18 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b22 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a15 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b42 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a17 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c51 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b31 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a51 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b22 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a14 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c21 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b62 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b63 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c42 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a19 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a32 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d35 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b31 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3b13 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c23 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d31 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a31 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b53 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c31 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d44 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b61 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b61 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2a12 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d42 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b51 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b51 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a41 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d33 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d33 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c22 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a17 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a17 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b62 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b63 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a19 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c23 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d35 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b53 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d41 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d44 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b61 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d43 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b22 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b51 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d33 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a11 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b42 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b31 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a17 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b62 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c23 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b63 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a19 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d35 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d31 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b53 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d44 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b22 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c23 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b62 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b63 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a19 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a19 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d35 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d35 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d41 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c13 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d43 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d31 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b53 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b53 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d44 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b22 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b12 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a13 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c23 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b42 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d32 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b31 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b63 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b62 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1a19 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d35 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d31 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b53 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d44 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d44 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b11 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b12 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c23 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a13 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b42 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d41 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d43 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b63 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b62 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b62 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d44 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c23 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b13 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b12 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3a13 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b32 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b42 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c23 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c11 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d41 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d43 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c32 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c23 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c11 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d41 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d43 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c32 - Iterative Exploration
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b63 - Should stop exploring
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b62 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1b11 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c23 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 1c11 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b32 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d41 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3d43 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 3c32 - Synthesis
49d2fba781b6a7c0d94577479636ee6f - stage3 - SRF - Outputs - 2b63 - Synthesis
n_outputs = len(orchestrator.results(Phase.STAGE3, filter_type="covered"))
print(f"Number of outputs: {n_outputs}")
Number of outputs: 38
print(orchestrator.results(Phase.STAGE3, filter_type="covered"))
[
    Prediction(
    reasoning='The theme focuses on the active participation of affected populations, including vulnerable or 
marginalized groups, in the planning and implementation of recovery, peacebuilding, and resilience programs. The 
evidence suggests that the JI-HoA program made efforts to address the needs of migrants, returnees, and community 
members through various interventions, including economic, social, and psychosocial support. Community 
participation surveys indicate that a significant majority of respondents believed that the community projects 
addressed their needs and those of returnees. However, there were also instances where needs assessments were not 
conducted directly with community members, and some returnees felt that the economic support was insufficient or 
not tailored to their skills. Furthermore, gaps were identified in the post-return psychosocial support. While the 
program achieved some success in engaging affected populations, there is room for improvement in ensuring their 
active participation in the planning and implementation phases and addressing the identified gaps.',
    theme_covered=True,
    confidence_explanation='The confidence level is high because there is substantial evidence from desk research, 
interviews, focus group discussions, and surveys that directly addresses the theme. The evidence highlights both 
the successes and shortcomings of the JI-HoA program in engaging affected populations in recovery and reintegration
efforts. The community participation survey provides quantitative data on the perceived relevance of the projects, 
while qualitative data from interviews and FGDs offer insights into the challenges and areas for improvement.',
    evidence_summary='Key evidence includes:\n- Community participation survey results indicating that 95% of 
community members agreed that the projects addressed community needs, and 92% agreed that the projects addressed 
the needs of returnees.\n- Focus group discussions highlighting the importance of economic assistance for returnees
but also pointing out the insufficiency of the support in some cases.\n- Identification of gaps in post-return 
psychosocial support.\n- Instances where needs assessments were not conducted directly with community members.',
    gaps_identified='Gaps identified include:\n- Insufficient active participation of affected populations in the 
planning and implementation phases of the programs.\n- Inadequate tailoring of economic support to the skills and 
local context of returnees.\n- Gaps in post-return psychosocial support and integration of MHPSS into program 
documents.\n- Needs assessments not always conducted directly with community members.',
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='2b11'
),
    Prediction(
    reasoning="The provided evidence suggests that the JI-HoA program has made contributions towards governments' 
capacity to address inequalities and socio-economic drivers of migration, particularly through capacity building 
activities, data collection and research, and community-based reintegration projects. However, the evidence also 
highlights challenges such as political priorities, staff turnover, and the broader socio-economic context 
hindering the full realization of this capacity. The program has supported the development of tools and strategies,
but sustainability remains a concern.",
    theme_covered=True,
    confidence_explanation='I am moderately confident in this assessment. The evidence clearly indicates efforts to
build governmental capacity, but also acknowledges significant limitations and the need for continued support. The 
program has laid a foundation, but the extent to which governments can independently address these issues remains 
uncertain.',
    evidence_summary='Key evidence includes:\n- JI-HoA addressed the gap of limited frameworks or mechanisms for 
migration through capacity building activities and tools.\n- Efforts regarding migration data were of particular 
relevance and importance to the stakeholders.\n- Community-based reintegration projects were helpful in creating 
business and employment opportunities.\n- The Regional Data Hub enhanced knowledge on migration, harmonizing 
methodologies and indicators, and building capacities for data collection and management.\n- The evaluation found 
that the community-level approach to reintegration has been crucial for the achievements of the JI-HoA.',
    gaps_identified='Gaps include a lack of concrete examples demonstrating sustained governmental action 
independent of external support, and a more detailed analysis of the specific types of inequalities addressed and 
their impact on migration drivers. Further information on the long-term impact of capacity-building initiatives and
the integration of return and reintegration into policy documents and development plans would strengthen the 
assessment.',
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='3c11'
),
    Prediction(
    reasoning="The theme focuses on improving the knowledge, skills, and resources of government and civil society 
stakeholders to protect vulnerable migrants and apply a survivor-centered, gender-sensitive, human-rights based 
approach. The evidence suggests that the JI-HoA program addressed gaps in government capacity through capacity 
building activities and tools. It also highlights the importance of the program's efforts regarding migration data.
The program also addressed the needs of national stakeholders through local capacity building activities. The 
program also provided direct support to migrants in distress and built the capacities of key stakeholders involved 
in the process. The evaluation also found that the community-level approach to reintegration has been crucial for 
the achievements of the JI-HoA. The work of the Regional Data Hub was highly appreciated by stakeholders and the 
activities of the hub were effective in enhancing knowledge on migration, harmonizing methodologies and indicators,
and building capacities for data collection and management. However, the evaluation also found that governments and
stakeholders do not have the capacity to continue this work independently. Therefore, the theme is partially 
covered.",
    theme_covered=True,
    confidence_explanation='The confidence level is high because there is direct evidence from multiple sections of
the report that supports the conclusion that the JI-HoA program improved the knowledge, skills, and resources of 
government and civil society stakeholders to protect vulnerable migrants. The evidence includes specific examples 
of capacity building activities, data collection efforts, and support for reintegration. However, the 
sustainability of these improvements is questionable, as the evaluation also found that governments and 
stakeholders do not have the capacity to continue this work independently.',
    evidence_summary="Key evidence includes:\n- The JI-HoA program addressed gaps in government capacity through 
capacity building activities and tools.\n- The program's efforts regarding migration data were of particular 
relevance and importance to the stakeholders.\n- The program addressed the needs of national stakeholders through 
local capacity building activities.\n- The program provided direct support to migrants in distress and built the 
capacities of key stakeholders involved in the process.\n- The community-level approach to reintegration has been 
crucial for the achievements of the JI-HoA.\n- The work of the Regional Data Hub was highly appreciated by 
stakeholders and the activities of the hub were effective in enhancing knowledge on migration, harmonizing 
methodologies and indicators, and building capacities for data collection and management.",
    gaps_identified='The main gap identified is the lack of capacity of governments and stakeholders to continue 
the work independently. This suggests that the improvements made by the JI-HoA program may not be sustainable in 
the long term. There is also a need for continued investment in AVR and impact studies to closely monitor the 
impact of the integrated approach.',
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='3d31'
),
    Prediction(
    reasoning='The provided evidence suggests that the JI-HoA program made significant strides in providing 
governments with data and analysis on the socio-economic needs of people at risk of unsafe migration, particularly 
those from marginalized groups. The program focused on addressing the needs of migrants, returnees, and 
communities, and also aimed to build the capacity of governments to use data for policymaking. The Regional Data 
Hub played a crucial role in producing and disseminating migration data. However, challenges remain, including 
staff turnover, financial constraints, and the need for continued support to ensure the effective use of data in 
policymaking. While the program contributed to increased data availability and capacity building, the evidence also
indicates that governments are not always ready to fully utilize this data. Therefore, the theme is partially 
covered.',
    theme_covered=True,
    confidence_explanation="Confidence: 8/10\nThe evidence clearly demonstrates the program's efforts to provide 
data and analysis to governments. The evaluation highlights the increased availability of migration data and the 
capacity building activities undertaken. However, the evidence also points to limitations in the governments' 
ability to fully utilize this data due to various challenges. Therefore, I am confident that the theme is partially
covered, but not fully realized.",
    evidence_summary='Key evidence includes:\n- The JI-HoA exceeded targets for the number of field studies and 
research conducted.\n- Stakeholders appreciated the work of the Regional Data Hub in data production and capacity 
building.\n- A survey of stakeholders indicated that data produced has supported evidence-based policies, 
procedures, and program design.\n- The number of stakeholders involved in return and reintegration assistance 
increased significantly.\n- Stakeholders in Djibouti noted that additional steps still need to be taken to improve 
data gathering capacities.\n- Some stakeholders from Sudan and Somalia noted that shortage of finance and staff 
prevent the government from actively using increased capacities for policymaking.',
    gaps_identified="Gaps include:\n- The extent to which governments are consistently using the provided data and 
analysis to inform evidence-based solutions is not fully clear.\n- The long-term sustainability of the data 
collection and analysis efforts is uncertain.\n- The impact of staff turnover and financial constraints on the 
governments' ability to utilize the data needs further investigation.",
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='3c13'
),
    Prediction(
    reasoning='The evidence suggests that the JI-HoA program has made significant strides in addressing the 
immediate needs of returnees upon arrival in their countries of origin. This includes economic, social, and 
psychosocial support. Satisfaction surveys indicate a reasonable level of satisfaction with reintegration 
assistance. However, there are also indications that the economic assistance provided may not always be sufficient,
and that psychosocial support has gaps in its execution and integration within the program. Recommendations also 
point to the need for longer-term integration support. Overall, while immediate needs are being addressed to some 
extent, there are areas for improvement and a need for more comprehensive support for sustainable reintegration. 
Therefore, the theme is partially covered.',
    theme_covered=True,
    confidence_explanation='Confidence is moderate. The evidence provides a mixed picture. Satisfaction surveys and
FGDs suggest positive impacts on addressing immediate needs, particularly economic support. However, the evidence 
also highlights gaps in the adequacy of economic assistance, the relevance of microbusiness support, and the 
integration and effectiveness of psychosocial support. The recommendations further emphasize the need for 
longer-term integration strategies.',
    evidence_summary="Key evidence includes:\n- 56% of surveyed returnees were satisfied with reintegration 
assistance.\n- Economic assistance helps returnees develop income sources and restore dignity.\n- Some returnees 
felt the economic assistance was insufficient.\n- Gaps were found in the correspondence of specific activities to 
returnees' psychosocial needs.\n- Recommendations emphasize the need for longer-term integration support, including
education and entrepreneurial skills development.",
    gaps_identified="Gaps include:\n- Adequacy of economic assistance for long-term sustainability.\n- Relevance of
microbusiness support to the local context and returnees' skills.\n- Integration and effectiveness of psychosocial 
support services.\n- Lack of longer-term integration strategies, such as education and skills development.\n- 
Monitoring of MHPSS interventions.",
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='3a43'
),
    Prediction(
    reasoning='The theme focuses on the capacity of governments to implement solutions for persons on the move due 
to disasters, climate change, and environmental degradation, aligning with human rights standards. The evidence 
suggests that the JI-HoA program has contributed to building government capacity through capacity building 
activities, tools, and improved cooperation mechanisms. However, the sustainability of these efforts is 
questionable due to a lack of operational and financial capacity and resources from the government. The program 
also enhanced awareness and availability of support to stranded migrants, which should enhance access of migrants 
to safe, humane, and dignified AVR processes. Some evidence has been found of the involvement of governments in 
AVR, in terms of direct assistance to MRCs, cancelling exit fees and penalties in host countries, and direct 
contributions to return flights. The JI also supported the reintegration process through individual and 
community-based reintegration projects. Overall, the evidence indicates that the JI-HoA program has made some 
progress in enhancing the capacity of governments to implement solutions for persons on the move, but there are 
still significant challenges to overcome.',
    theme_covered=True,
    confidence_explanation='The confidence score is moderate (7/10). The evidence suggests that the JI-HoA program 
has contributed to building government capacity, but the sustainability of these efforts is questionable. The 
program also enhanced awareness and availability of support to stranded migrants, which should enhance access of 
migrants to safe, humane, and dignified AVR processes. However, it is unclear whether return processes have 
actually become safer, more humane and more dignified in general (without the support of IOM).',
    evidence_summary='Key evidence includes:\n- The JI-HoA program addressed the gap in limited frameworks or 
mechanism for migration, governments had no tools, and no national capacity building strategies through capacity 
building activities and tools such as the SOPs and various guidelines.\n- Government officials and other 
stakeholders have reported an increase in their capacity, and sometimes even resources, to work on return and 
reintegration.\n- A lack of operational and financial capacity and resources from the government remains some of 
the main barriers to creating sustainable capacity of governments to work on migrant protection and 
reintegration.\n- The JI effectively reached out to migrants who would otherwise not be in a position to return 
home (87%, exceeding the target of 70%).\n- Some evidence has been found of the involvement of governments in AVR, 
in terms of direct assistance to MRCs, cancelling exit fees and penalties in host countries, and direct 
contributions to return flights.',
    gaps_identified="Gaps include:\n- The sustainability of the JI's results is to a large extent dependent on the 
ability of key stakeholders mostly governments- to maintain the tools and mechanisms set in place by the JI and 
continue building on the results.\n- Whether return processes have actually become safer, more humane and more 
dignified in general (without the support of IOM) is unclear.\n- The current evaluation did not find guidelines for
awareness raising and outreach that would ensure a harmonized approach across countries.",
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='2c12'
),
    Prediction(
    reasoning='The theme focuses on inclusive systems and structures linking populations and government to 
strengthen social cohesion and resolve conflicts without violence. The evidence suggests that the JI-HoA program 
has addressed community needs and those of returnees, contributing to social cohesion by creating economic 
opportunities and fostering a sense of community. The program also supported the establishment and strengthening of
data collection and monitoring tools, which can contribute to evidence-based policies and better governance. 
However, the evidence also points to challenges in ensuring that all communities receive equal support and that 
projects are aligned with community skills and needs. External factors such as conflict and political instability 
have also hindered the full implementation of the integrated approach. Overall, while the program has made 
contributions to the theme, there are gaps and challenges that need to be addressed.',
    theme_covered=True,
    confidence_explanation="The confidence score is moderate. The evidence clearly shows that the JI-HoA program 
has addressed community needs and contributed to social cohesion through economic opportunities and community 
projects. The program's efforts to strengthen data collection and monitoring tools also support the theme. However,
the evidence also highlights challenges in ensuring equitable support and aligning projects with community needs, 
as well as the impact of external factors. These challenges suggest that the program's contribution to the theme is
not complete or fully realized.",
    evidence_summary='Key evidence includes:\n- 95% of community members agreed that the projects addressed 
community needs, while 92% agreed that the projects addressed the needs of returnees.\n- The creation of economic 
opportunities within the community reduces the risk of social conflict.\n- The program supported the establishment 
and strengthening of data collection and monitoring tools.\n- The integrated approach is of great importance to 
sustainable reintegration.',
    gaps_identified='Gaps identified include:\n- Unequal support across targeted communities.\n- Projects not 
always aligned with community skills and needs.\n- External factors such as conflict and political instability 
hindering the full implementation of the integrated approach.\n- The methodology to assess the sustainability of 
reintegration is rather new and still subject to testing and improvement.',
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='2b12'
),
    Prediction(
    reasoning="The provided evidence strongly supports the theme that crisis-affected populations in need receive 
movement assistance. The JI-HoA program demonstrably provided assistance to migrants and returnees, addressing 
their basic needs such as food, water, shelter, and clothing. The program also facilitated safe, humane, and 
dignified voluntary returns, exceeding targets for the number of migrants supported and their satisfaction with 
travel arrangements. While some gaps were identified, such as the sufficiency of economic support and the 
integration of psychosocial support, the overall evidence indicates that the program effectively provided movement 
assistance to crisis-affected populations. The conclusions and recommendations sections further reinforce this, 
highlighting the program's crucial importance in addressing the needs of migrants and returnees facing dire 
situations.",
    theme_covered=True,
    confidence_explanation="High confidence (90%). The evidence is consistent and comes from multiple sources, 
including desk research, interviews with stakeholders and returnees, focus group discussions, and project 
monitoring data. The program's achievements in terms of the number of migrants assisted, their satisfaction levels,
and the establishment of MRCs are well-documented. While some areas for improvement were identified, the overall 
evidence strongly supports the conclusion that the program effectively provided movement assistance to 
crisis-affected populations.",
    evidence_summary='Key evidence includes:\n- The JI-HoA provided food, water, clothing, and shelter to migrants 
in need.\n- The program supported 9025 migrants to return voluntarily to their countries of origin, exceeding the 
target of 8450.\n- 95% of assisted migrants were satisfied with travel arrangements made for them.\n- The JI built,
enhanced, rehabilitated, or rented a total of 15 MRCs, exceeding its target of 12.\n- Returnees involved in Focus 
Groups noted specifically that "their return would not have been possible without IOM".',
    gaps_identified='Gaps identified include:\n- Some returnees felt that the economic support was insufficient.\n-
Post-return psychosocial support was not well-integrated into the program.\n- There was a lack of harmonized 
approach to awareness raising across countries.\n- Long waiting times for AVR were a concern in some areas.',
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='1a16'
),
    Prediction(
    reasoning='The provided evidence strongly suggests that the JI-HoA program has made significant strides in 
providing pre-departure, post-arrival, and return assistance and counselling to migrants, with a focus on gender 
sensitivity. The program addressed pressing needs such as food, water, shelter, and psychosocial support. It also 
facilitated safe, humane, and dignified voluntary returns. While there were some gaps in the consistency and 
sufficiency of support, particularly regarding economic and psychosocial needs, the overall impact appears 
positive. The program also contributed to data collection and research on migration trends, which can inform future
interventions. The recommendations highlight the need for continued support and capacity building to ensure the 
sustainability of these efforts.',
    theme_covered=True,
    confidence_explanation='High Confidence: The evidence directly addresses the theme, providing specific examples
of pre-departure, post-arrival, and return assistance and counselling. The evidence includes both positive outcomes
and identified gaps, providing a balanced assessment. Multiple sources, including desk research, interviews, and 
focus group discussions, support the conclusion.',
    evidence_summary='Key evidence includes:\n- The JI-HoA provided essential resources like food, water, clothing,
and shelter to migrants in distress.\n- The program facilitated safe, humane, and dignified voluntary returns for 
migrants.\n- Returnees received economic, social, and psychosocial support to aid reintegration.\n- Awareness 
raising activities were conducted, including on SGBV.\n- The program built and enhanced MRCs to provide assistance 
to migrants.\n- Data collection and research efforts improved understanding of migration trends.',
    gaps_identified="Gaps identified include:\n- Some returnees felt that the economic support was insufficient.\n-
There were gaps in the post-return psychosocial support.\n- Awareness raising efforts lacked harmonized guidelines 
and specific objectives.\n- Waiting times for AVR could be lengthy.\n- Satisfaction with reintegration support 
varied across countries.\n- The sustainability of the program's impact is uncertain without continued support.",
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='3a52'
),
    Prediction(
    reasoning="The theme focuses on the management and availability of appropriate assistance in Resettlement 
Transit Centers and Resettlement Support Centers. The evidence provided discusses the Joint Initiative for the Horn
of Africa (JI-HoA)'s efforts in providing assistance to returnees, including economic, social, and psychosocial 
support. It also covers the enhancement of safe, humane, and dignified voluntary return processes, including the 
establishment and enhancement of Migrant Resource Centers (MRCs). The evidence suggests that the JI-HoA has made 
significant progress in providing assistance and improving return processes. However, there are also gaps 
identified, such as the sufficiency of economic support and the integration of post-return psychosocial support. 
Overall, the evidence indicates that the theme is partially covered, as the management and availability of 
assistance are discussed, but there are areas where improvements are needed.",
    theme_covered=True,
    confidence_explanation='The confidence level is moderate. The evidence directly addresses the provision of 
assistance to returnees and the improvement of return processes, which are relevant to the theme. However, the 
evidence also highlights gaps and areas for improvement, suggesting that the theme is not fully covered. The 
satisfaction rates with reintegration support vary across countries, indicating that the effectiveness of 
assistance is not consistent. The lack of specific guidelines for awareness raising and the unclear monitoring of 
MHPSS interventions also contribute to the moderate confidence level.',
    evidence_summary="Key evidence includes:\n- The JI-HoA's provision of economic, social, and psychosocial 
support to returnees.\n- The establishment and enhancement of MRCs.\n- High satisfaction rates with travel 
arrangements for voluntary returns.\n- The identification of gaps in the sufficiency of economic support and the 
integration of post-return psychosocial support.\n- Variable satisfaction rates with reintegration support across 
different countries.",
    gaps_identified='Gaps identified include:\n- The sufficiency of economic support for returnees.\n- The 
integration of post-return psychosocial support.\n- The lack of specific guidelines for awareness raising.\n- The 
unclear monitoring of MHPSS interventions.\n- The sustainability of return processes without IOM support.',
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='2c11'
),
    Prediction(
    reasoning='The theme focuses on communities impacted by crisis or vulnerability having the necessary resources 
and capacities to restore sustainable livelihoods. The evidence addresses the needs of migrants, returnees, and 
community members, and the extent to which the JI-HoA program met those needs. It covers material resources (food, 
water, shelter, economic assistance), technical capacities (skills training, business support), and access to 
markets (through microbusiness support). The evidence also discusses the sustainability of these interventions and 
the capacity building of local stakeholders. While there are gaps and areas for improvement, the evidence suggests 
that the program did address the theme to a significant extent.',
    theme_covered=True,
    confidence_explanation='Confidence is high (8/10). The evidence directly addresses the components of the theme:
material resources, technical capacities, and access to markets. It provides specific examples of how the JI-HoA 
program supported these aspects for migrants, returnees, and communities. The evidence includes data from surveys, 
focus group discussions, and interviews with stakeholders, providing a comprehensive picture. The identified gaps, 
such as the need for more substantial economic assistance and better integration of psychosocial support, do not 
negate the overall coverage of the theme but highlight areas for improvement.',
    evidence_summary='The JI-HoA program provided material resources (food, water, shelter) to migrants in crisis. 
It offered economic, social, and psychosocial support to returnees, including microbusiness assistance to restore 
livelihoods. Community-based projects aimed to create economic opportunities and address the needs of both 
communities and returnees. Data collection and analysis tools were strengthened to monitor the impact of 
reintegration assistance.',
    gaps_identified="Gaps include the need for quicker service provision and AVRR for migrants, more substantial 
economic assistance for returnees, better alignment of microbusiness assistance with recipients' knowledge and 
local context, and improved integration of post-return psychosocial support. The sustainability of the program's 
results is also a concern, as it depends on the continued capacity and resources of governments.",
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='2b61'
),
    Prediction(
    reasoning='The theme focuses on migrants having adequate knowledge and tailored information to make informed 
and voluntary decisions to return to their countries of origin. The evidence suggests that IOM conducted numerous 
awareness-raising activities, and a significant percentage of surveyed migrants reported receiving sufficient and 
useful information to make informed decisions about returning. However, the evaluation also notes a lack of 
harmonized guidelines for awareness raising and a lack of specific objectives and impact studies for these 
activities. There are also some concerns about the length of AVR procedures and the sufficiency of economic support
for reintegration. Overall, the evidence indicates that the JI-HoA made efforts to provide migrants with 
information, but there are areas for improvement in terms of tailoring information, harmonizing approaches, and 
ensuring the information leads to truly informed and voluntary decisions.',
    theme_covered=True,
    confidence_explanation='High Confidence: The evidence directly addresses the theme, with data on 
awareness-raising activities and migrant satisfaction with information provided. While there are identified gaps, 
the overall evidence supports the conclusion that the theme was addressed to a significant extent. The satisfaction
rate of 95% of surveyed migrants reporting sufficient and useful information is a strong indicator.',
    evidence_summary='Key evidence includes:\n*   IOM conducted five times more awareness-raising activities than 
expected.\n*   A stakeholder in Djibouti noted the effectiveness of providing migration-related information.\n*   
95% of surveyed migrants reported receiving sufficient and useful information to make an informed decision to 
return.',
    gaps_identified='Gaps include:\n*   Lack of harmonized guidelines for awareness raising.\n*   Lack of specific 
objectives and impact studies for awareness-raising activities.\n*   Concerns about the length of AVR 
procedures.\n*   Concerns about the sufficiency of economic support for reintegration.\n*   Unclear whether return 
processes have become safer, more humane, and more dignified in general (without IOM support).',
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='3a42'
),
    Prediction(
    reasoning="The theme focuses on governments and stakeholders having access to migration research and data 
analysis for evidence-informed dialogue and learning exchange. The evidence suggests that the JI-HoA program 
addressed the gap in migration data and capacity building, which was appreciated by stakeholders. The program also 
contributed to the availability of data and research on migration trends in the region, which stakeholders found 
valuable for decision-making. The Regional Data Hub's work was appreciated for enhancing knowledge on migration, 
harmonizing methodologies and indicators, and building capacities for data collection and management. The 
evaluation also found that the research done by the JI-HoA itself provided important evidence for programming. 
Therefore, the evidence supports the theme.",
    theme_covered=True,
    confidence_explanation="Confidence is high because the evidence directly addresses the theme's components: 
access to migration research, reliable data analysis, evidence-informed dialogue, and learning exchange. Multiple 
sections of the provided text highlight the program's efforts and the stakeholders' appreciation for the data and 
capacity building initiatives.",
    evidence_summary="The JI-HoA program addressed the lack of migration data and capacity building in 
participating countries. Stakeholders appreciated the program's efforts in providing data and research on migration
trends, which they found valuable for decision-making. The Regional Data Hub's work was also highly appreciated for
enhancing knowledge on migration, harmonizing methodologies and indicators, and building capacities for data 
collection and management.",
    gaps_identified="While the evidence suggests that the program contributed to the availability of data and 
research, it does not provide specific examples of how this data was used to engage in evidence-informed dialogue 
and learning exchange on policies and processes. Further evidence could strengthen the analysis by providing 
concrete examples of policy changes or learning exchanges that resulted from the program's data and research 
efforts.",
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='3c41'
),
    Prediction(
    reasoning="The theme focuses on the capacity of local stakeholders to contribute to the immediate and 
longer-term response. The evidence suggests that the JI-HoA program did address the needs of national stakeholders 
and governments by providing capacity building activities and tools. However, the sustainability of these efforts 
is questionable, as many stakeholders believe they cannot continue providing support without IOM funding. There's 
also a mention of some IPs feeling they already had sufficient capacity. The recommendation to increase attention 
on building partnerships with service providers who can function without significant funding from IOM further 
supports the theme. Overall, the evidence indicates a mixed picture: initial capacity building efforts were 
successful, but long-term sustainability and the ability of local stakeholders to function independently remain a 
concern.",
    theme_covered=True,
    confidence_explanation='High Confidence: The evidence directly addresses the capacity building efforts of the 
JI-HoA program and the perceived needs of local stakeholders. The sustainability section provides a clear 
assessment of the long-term prospects, and the recommendation section highlights the importance of independent 
service providers. The evidence is consistent and comes from multiple sources (interviews, reports, FGDs).',
    evidence_summary="- 82% of partners believed IOM's local capacity building activities were useful.\n- 
Governments reported increased capacity and resources to work on return and reintegration, leading to new policies 
and processes.\n- Lack of operational and financial capacity from the government remains a barrier to 
sustainability.\n- Vast majority of interview respondents do not believe that stakeholders could continue the 
provision of support without the involvement and funding provided by IOM.\n- Recommendation to increase attention 
on building partnerships with service providers who can function without significant funding from IOM.",
    gaps_identified="- More specific examples of capacity building activities and their impact on local 
stakeholders' ability to respond to crises independently.\n- Further details on the types of support stakeholders 
believe they cannot continue without IOM funding.\n- A deeper dive into the reasons why some IPs felt they already 
had sufficient capacity.\n- Metrics to quantify the increase in capacity reported by government officials.",
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='1a22'
),
    Prediction(
    reasoning='The theme focuses on governments receiving support to develop and implement migration policies and 
mainstream migration into related public policy domains. The evidence suggests that the JI-HoA program has 
addressed gaps in government capacity through capacity building activities and tools. The program also contributed 
to the introduction or strengthening of new policies and enhanced the capacity of government officials. The 
Regional Data Hub enhanced knowledge on migration, harmonized methodologies and indicators, and built capacities 
for data collection and management. However, external factors such as conflict, COVID-19, competing government 
priorities, and political instability have prevented this component of the integrated approach from functioning to 
its full extent. The evidence also suggests that governments and stakeholders do not have the capacity to continue 
independently the work of providing direct support to migrants in distress. Overall, the evidence indicates that 
the program has made progress towards the theme, but there are still challenges to overcome.',
    theme_covered=True,
    confidence_explanation="High confidence. The evidence directly addresses the theme's focus on government 
support for migration policy development and implementation. Multiple sections of the report highlight the JI-HoA's
contributions to capacity building, policy strengthening, and data harmonization, all of which are relevant to the 
theme. While external factors have hindered progress, the evidence clearly demonstrates that the program has made a
positive impact.",
    evidence_summary='- The JI-HoA program addressed gaps in government capacity through capacity building 
activities and tools.\n- The program contributed to the introduction or strengthening of new policies and enhanced 
the capacity of government officials.\n- The Regional Data Hub enhanced knowledge on migration, harmonized 
methodologies and indicators, and built capacities for data collection and management.\n- Stakeholders expressed a 
clear interest in continuing to work with the RDH on improving research and data in the region.',
    gaps_identified='The report mentions that external factors such as conflict, COVID-19, competing government 
priorities, and political instability have prevented the government component of the integrated approach from 
functioning to its full extent. The report also notes that governments and stakeholders do not have the capacity to
continue independently the work of providing direct support to migrants in distress. Further information on the 
specific types of support governments need and the challenges they face in mainstreaming migration into related 
public policy domains would be beneficial.',
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='3c52'
),
    Prediction(
    reasoning='The provided evidence suggests that the EU-IOM Joint Initiative for Migrant Protection and 
Reintegration in the Horn of Africa has made significant contributions to improving migration data collection, 
management, sharing, analysis, and use at national and regional levels. The Regional Data Hub (RDH) played a 
crucial role in producing and publishing migration data, engaging with National Statistical Offices (NSOs), and 
collaborating with regional migration data stakeholders like IGAD. The program exceeded targets for field studies 
and surveys conducted. Stakeholders reported increased knowledge on return and reintegration issues. The initiative
also led to an increase in the number of stakeholders involved in return and reintegration assistance.\n\nHowever, 
challenges remain. Stakeholders in Djibouti noted the need for further improvements in data gathering capacities. 
Some stakeholders in Sudan and Somalia cited shortages of finance and qualified staff as obstacles to using 
increased capacities for policymaking. Staff turnover and external factors like COVID-19 also hindered progress. 
Despite these challenges, the evaluation concludes that the JI-HoA has made important contributions to the 
availability of data and research on migration trends in the region. The dissemination and use of data in 
decision-making can have a long-term positive impact on return and reintegration.\n\nOverall, the evidence 
indicates that the program has contributed to the theme, but there are areas where further progress is needed.',
    theme_covered=True,
    confidence_explanation="High Confidence: The evidence directly addresses the theme, providing specific examples
of improvements in data collection, management, sharing, analysis, and use. The evaluation report explicitly 
mentions the contributions of the Regional Data Hub and the increased involvement of stakeholders. While challenges
are acknowledged, the overall assessment is positive regarding the program's impact on this theme.",
    evidence_summary='*   The JI exceeded targets for field studies and surveys conducted.\n*   The Regional Data 
Hub (RDH) played a crucial role in producing and publishing migration data.\n*   Stakeholders reported increased 
knowledge on return and reintegration issues.\n*   The number of stakeholders involved in return and reintegration 
assistance increased.\n*   The evaluation concludes that the JI-HoA has made important contributions to the 
availability of data and research on migration trends in the region.',
    gaps_identified='*   The evaluation acknowledges that additional steps still need to be taken to improve data 
gathering capacities in some countries.\n*   Shortages of finance and qualified staff hinder the use of increased 
capacities for policymaking in some areas.\n*   Staff turnover and external factors like COVID-19 also hindered 
progress.\n*   The evaluation notes that ownership and sustainability of the program cannot be expected after five 
years of implementation, suggesting a need for continued support.',
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='3c22'
),
    Prediction(
    reasoning='The theme focuses on the protection of vulnerable and at-risk persons through their sustained and 
meaningful participation within humanitarian protection. The evidence provided discusses activities related to 
awareness raising, assistance to stranded migrants, and reintegration support. Specifically, it highlights efforts 
to ensure safe, humane, and dignified voluntary return processes, as well as support for reintegration into host 
communities. The evidence suggests that the program has made efforts to reach out to migrants, provide them with 
information, and assist them in returning to their countries of origin. It also indicates that reintegration 
support has been provided, although satisfaction levels vary across countries. The evidence also mentions the 
establishment of data collection and monitoring tools to track the needs of returnees.\n\nBased on the evidence, 
the theme is partially covered. The program activities contribute to the protection of vulnerable migrants by 
providing them with assistance and support during their return and reintegration. However, the evidence does not 
explicitly address the "sustained and meaningful participation" aspect of the theme. While the program provides 
assistance, it is unclear whether migrants are actively involved in the design and implementation of protection 
measures.',
    theme_covered=True,
    confidence_explanation='Confidence: 7/10\nExplanation: The evidence clearly demonstrates activities related to 
the protection of vulnerable migrants through assistance and support. However, there is a lack of explicit evidence
regarding the "sustained and meaningful participation" of migrants in the design and implementation of protection 
measures. This limits the confidence in fully covering the theme. The evidence focuses more on the provision of 
services rather than the empowerment and active involvement of migrants in their own protection.',
    evidence_summary='Key evidence includes:\n- Awareness raising activities addressing migrants in target 
countries.\n- Support provided to migrants for voluntary return to their countries of origin.\n- Reintegration 
assistance provided to returnees, including economic, social, and psychosocial support.\n- Establishment of data 
collection and monitoring tools to track the needs of returnees.\n- Stakeholder feedback indicating the 
effectiveness of the program in reaching out to migrants and providing them with useful information.',
    gaps_identified='The main gap is the lack of evidence regarding the "sustained and meaningful participation" of
vulnerable and at-risk persons within humanitarian protection. The evidence focuses primarily on the provision of 
assistance and support, but it does not explicitly address how migrants are actively involved in the design, 
implementation, and monitoring of protection measures. Further information is needed to determine the extent to 
which migrants are empowered to participate in their own protection.',
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='1b33'
),
    Prediction(
    reasoning='The theme focuses on vulnerable groups and persons at risk receiving quality healthcare services in 
a humanitarian context. The evidence provided discusses the needs of migrants, returnees, and community members, 
and how the JI-HoA program addressed these needs. It covers the provision of basic needs like food, water, shelter,
and clothing, as well as economic, social, and psychosocial support. The evidence also highlights gaps in service 
provision, such as the insufficiency of economic support and the lack of integration of post-return psychosocial 
support. While the evidence doesn\'t explicitly focus on "healthcare services," it does discuss medical and 
psychosocial support, which can be considered components of healthcare. Given the focus on vulnerable populations 
and the provision of relevant support, the theme is partially covered.',
    theme_covered=True,
    confidence_explanation='Confidence is moderate. The evidence directly addresses the needs of vulnerable groups 
(migrants and returnees) and the support provided by the JI-HoA. However, the evidence doesn\'t explicitly detail 
the "quality" of healthcare services or comprehensively cover all aspects of healthcare. The focus is more on basic
needs, economic support, and psychosocial well-being, with some mention of medical support.',
    evidence_summary='The JI-HoA program addressed the needs of migrants and returnees by providing food, water, 
shelter, and clothing. It also offered economic, social, and psychosocial support to aid in reintegration. 
Satisfaction levels varied, with some returnees expressing dissatisfaction with the amount of economic support. 
Gaps were identified in post-return psychosocial support. Community members generally perceived the projects as 
beneficial.',
    gaps_identified="The evidence lacks specific details on the quality of healthcare services provided. It also 
doesn't comprehensively cover all aspects of healthcare, focusing more on basic needs and psychosocial support. 
Further information on the specific healthcare interventions and their effectiveness would strengthen the 
analysis.",
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='1b31'
),
    Prediction(
    reasoning='The provided evidence suggests that the JI-HoA program made efforts to involve crisis-affected 
populations in decision-making, particularly in the design and implementation of reintegration programs. The 
program addressed the needs of migrants, returnees, and communities, and sought to create economic opportunities 
and reduce stigma. The community participation survey indicates that a large majority of respondents believed that 
the community projects addressed the needs of the community and of returnees. However, there were also gaps in the 
process, such as needs assessments not always directly involving community members, and some returnees not being 
consulted about the type of support they received. The program also aimed to strengthen data collection and 
analysis to inform decision-making. While the evidence indicates some level of participation, it is not clear if 
this participation was systematic or comprehensive across all aspects of the program.',
    theme_covered=True,
    confidence_explanation='I am reasonably confident in this assessment. The evidence shows that the program 
addressed the needs of various stakeholders, including crisis-affected populations, and sought their input through 
surveys and focus group discussions. However, there are also indications that the participation was not always 
ideal, and there were gaps in the process. Therefore, while the theme is covered to some extent, there is room for 
improvement.',
    evidence_summary='Key evidence includes:\n*   The JI-HoA program responded to the most pressing needs of 
migrants, as confirmed by desk research and interviews.\n*   A community participation survey showed that the 
majority of respondents believed that the community projects addressed the needs of the community and of 
returnees.\n*   The program implemented activities to harmonize the approach to monitoring and measuring the impact
of return and reintegration assistance, and associated tools for data collection.\n*   The JI-HoA has made 
important contributions to the availability of data and research on migration trends in the region.',
    gaps_identified='Gaps identified include:\n*   Needs assessments were not always conducted directly with 
community members.\n*   Some returnees were not consulted about the type of support they received.\n*   The 
post-return psychosocial support was not well-integrated into the main documents of the JI-HoA program.\n*   The 
methodology to assess the sustainability of reintegration is rather new and still subject to testing and 
improvement.',
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='1b12'
),
    Prediction(
    reasoning='The provided evidence suggests that the JI-HoA program has made significant contributions to 
enhancing the capacities, tools, and systems of governments and civil society in the Horn of Africa to identify and
address the drivers of conflict and displacement. The program has focused on capacity building activities, 
providing tools such as SOPs and guidelines, and improving data collection and analysis on migration trends. The 
program also supported the establishment or strengthening of data collection, monitoring, and learning tools across
the participating countries. The IMPACT study, which measured the sustainability of reintegration, further 
contributed to the understanding of the effectiveness of the integrated approach. The recommendations from the 
evaluation team also highlight the need for continued support in terms of capacity-building and socio-economic 
development.',
    theme_covered=True,
    confidence_explanation="Based on the evidence, I am highly confident (90%) that the theme is covered. The 
evidence clearly demonstrates the program's efforts to enhance the capacities of governments and civil society in 
the region to address the drivers of conflict and displacement. The program has provided tools, built capacity, and
improved data collection and analysis, all of which contribute to the achievement of the theme's objective.",
    evidence_summary="Key evidence includes:\n- The JI-HoA program addressed the gap in limited frameworks or 
mechanisms for migration by providing capacity building activities and tools such as SOPs and various 
guidelines.\n- The program's efforts regarding migration data were of particular relevance and importance to the 
stakeholders, as there was a clear lack of data on migration and existing tools and methods to collect such data 
were not harmonized across the region.\n- A total of 36 planning, monitoring, learning, data collection and 
analysis tools were set up, implemented and/or strengthened across the four countries.\n- The EU-IOM Joint 
Initiative also strengthened data collection, analysis, and dissemination on reintegration through development of 
database applications, provision of equipment and training to the relevant government institutions.\n- The JI-HoA 
has made important contributions to the availability of data and research on migration trends in the region.",
    gaps_identified='While the evidence suggests that the program has made significant contributions to enhancing 
the capacities of governments and civil society, there are some gaps in the evidence. For example, the evidence 
does not provide specific examples of how the enhanced capacities, tools, and systems have been used to identify 
and address the drivers of conflict in practice. Additionally, the evidence notes that external factors such as 
conflict, COVID-19, competing government priorities, and political instability have hindered the integrated 
approach from functioning to its full extent. Therefore, further research may be needed to assess the long-term 
impact of the program and to identify any remaining gaps in the capacities of governments and civil society.',
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='2a22'
),
    Prediction(
    reasoning="The provided evidence suggests that the JI-HoA program made significant strides in providing 
dignified shelter and settlement support to crisis-affected populations, particularly migrants and returnees. The 
program addressed basic needs like food, water, clothing, and shelter, and offered integrated economic, social, and
psychosocial support relevant to the challenges faced by returnees. The program also focused on creating economic 
opportunities within communities to reduce the drive to migrate out of economic necessity.\n\nHowever, there were 
also gaps and areas for improvement. Some migrants reported that their needs were not fully met, and quicker 
service provision and AVRR were desired. Some returnees felt that the economic assistance was insufficient, and the
microbusiness assistance did not always align with their knowledge or the local context. There were also gaps in 
post-return psychosocial support. The sustainability of the program's results is also a concern, as it is heavily 
dependent on continued involvement and funding from IOM.\n\nOverall, the evidence indicates that the program made a
substantial contribution to providing dignified shelter and settlement support, but there were also areas where it 
fell short. Therefore, I will mark the theme as covered, but with caveats.",
    theme_covered=True,
    confidence_explanation="My confidence is moderate (7/10). The evidence clearly shows that the program addressed
the theme, but also highlights several shortcomings and areas for improvement. The evidence is drawn from multiple 
sources, including desk research, interviews, and surveys, which strengthens the conclusion. However, the gaps 
identified suggest that the program's impact was not uniform across all beneficiaries and contexts.",
    evidence_summary="Key evidence includes:\n- The JI-HoA provided food, water, clothing, and shelter to 
migrants.\n- The program offered integrated economic, social, and psychosocial support to returnees.\n- 
Community-based projects addressed the needs of both communities and returnees.\n- The program exceeded targets for
providing reintegration assistance.\n- Satisfaction rates with reintegration support varied across countries.\n- 
Some returnees felt that the economic assistance was insufficient.\n- There were gaps in post-return psychosocial 
support.\n- The sustainability of the program's results is a concern.",
    gaps_identified="Gaps identified include:\n- The need for quicker service provision and AVRR.\n- Insufficient 
economic assistance for some returnees.\n- Mismatches between microbusiness assistance and returnees' knowledge or 
the local context.\n- Gaps in post-return psychosocial support.\n- Concerns about the sustainability of the 
program's results without continued IOM involvement.\n- Lack of harmonized approach to awareness raising across 
countries.",
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='1a11'
),
    Prediction(
    reasoning='The provided evidence directly addresses the theme of governments and humanitarian actors having the
knowledge, capacity, and tools to effectively mainstream and implement protection. Section 4.1.2.1 highlights the 
initial lack of frameworks and capacity in participating countries before the JI-HoA program, and how the program 
addressed this gap through capacity building and tools. Section 4.3.1.2 provides quantitative data on the increased
number of stakeholders strengthened through capacity building and the increased knowledge on return and 
reintegration issues. It also acknowledges challenges such as staff turnover and financial constraints that hinder 
the optimal use of increased capacity. Section 5.2 provides recommendations to enhance capacity building efforts, 
ownership, and sustainability. The evidence demonstrates that the program has made progress in providing knowledge,
capacity, and tools, but also identifies challenges and areas for improvement.',
    theme_covered=True,
    confidence_explanation="Confidence is high (90%) because the evidence directly addresses the components of the 
theme: knowledge, capacity, and tools. The evidence includes quantitative data, stakeholder perspectives, and 
recommendations for improvement, providing a comprehensive picture of the program's impact on the theme. The 
identified challenges also contribute to a more nuanced understanding of the theme's coverage.",
    evidence_summary='The JI-HoA program has increased the knowledge and capacity of governments and humanitarian 
actors in the Horn of Africa region regarding migration management, return, and reintegration. This was achieved 
through capacity building activities, the provision of tools like SOPs and guidelines, and the establishment of 
networks and dialogues. However, challenges such as staff turnover, financial constraints, and the COVID-19 
pandemic have hindered the full utilization of these increased capacities.',
    gaps_identified='While the evidence indicates increased capacity and knowledge, it also highlights the need for
greater ownership and commitment from governments, as well as sustainable funding mechanisms to ensure the 
long-term impact of the program. Further investigation into the specific types of knowledge and tools provided, and
their actual application in policy and practice, would provide a more complete picture. The sustainability of the 
capacity building efforts in the face of staff turnover is also a concern.',
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='1b21'
),
    Prediction(
    reasoning='The provided evidence suggests that the EU-IOM Joint Initiative for Migrant Protection and 
Reintegration in the Horn of Africa (JI-HoA) has addressed the theme of providing populations at risk of engaging 
with violent extremist groups with social, political, and economic alternatives, although not explicitly stated in 
those terms. The program focuses on reintegration of returnees and addressing drivers of migration, which include 
lack of economic opportunities and social cohesion. By creating economic opportunities, supporting community-based 
projects, and enhancing social cohesion, the JI-HoA provides alternatives to migration driven by desperation, which
can make individuals vulnerable to extremist groups. The evidence highlights the importance of community-based 
reintegration projects in creating business and employment opportunities, reducing the need to migrate for economic
reasons, and fostering social cohesion, all of which contribute to providing alternatives to vulnerable 
populations. The recommendations also emphasize strengthening community-based reintegration efforts to address 
drivers of irregular migration and provide economic opportunities.',
    theme_covered=True,
    confidence_explanation='High confidence. The evidence directly supports the conclusion that the JI-HoA 
addresses the theme by providing economic and social alternatives to migration, which can reduce vulnerability to 
extremist groups. The community participation survey results, the focus on reintegration, and the recommendations 
to strengthen community-based projects all point to a concerted effort to provide alternatives to vulnerable 
populations.',
    evidence_summary='Key evidence includes:\n- Community participation survey showing high agreement that projects
addressed community and returnee needs (95% and 92% respectively).\n- Emphasis on creating economic opportunities 
within communities to reduce the drive to migrate.\n- Recognition of the importance of community-based 
reintegration projects in creating business and employment opportunities and fostering social cohesion.\n- 
Recommendations to strengthen community-based reintegration efforts to address drivers of irregular migration and 
provide economic opportunities.',
    gaps_identified="While the evidence supports the theme, there is no explicit mention of violent extremist 
groups. The connection is inferred through the program's focus on addressing drivers of migration and providing 
alternatives to vulnerable populations. Further evidence directly linking the program to reducing engagement with 
violent extremist groups would strengthen the analysis.",
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='2a21'
),
    Prediction(
    reasoning="The theme focuses on the provision of quality health, mental health, and psychosocial support 
(MHPSS) services to crisis-affected populations in a timely manner. The evidence suggests that the JI-HoA program 
addressed the needs of migrants and returnees, including their psychosocial needs. Research indicated a higher 
incidence of Common Mental Disorders (CMD) among JI-HoA beneficiaries, highlighting the relevance of the program's 
MHPSS focus. However, gaps were identified in the execution, particularly in post-return psychosocial support, 
integration of MHPSS into program documents, and monitoring of MHPSS interventions. While the program provided 
MHPSS, the quality and timeliness aspects are less clearly demonstrated, and gaps in post-return support raise 
concerns about the overall effectiveness in meeting the theme's objectives. The evidence also highlights the 
importance of economic and social support in addressing the needs of returnees, which indirectly contributes to 
their mental health and psychosocial well-being.",
    theme_covered=True,
    confidence_explanation='Confidence: 8/10. The evidence confirms that the JI-HoA program addressed the MHPSS 
needs of crisis-affected populations. The program provided psychosocial support, and research indicated the 
relevance of this support due to the high prevalence of CMD among returnees. However, the evidence also reveals 
gaps in the execution of MHPSS activities, particularly in post-return support and monitoring. While the program 
addressed MHPSS needs, the gaps identified suggest that the quality and timeliness of these services could be 
improved. The high satisfaction rates with reintegration support in some countries (e.g., Somalia) and lower rates 
in others (e.g., Sudan, Ethiopia) also indicate variability in the effectiveness of the program.',
    evidence_summary='Key evidence includes:\n- Desk research and interviews confirming the program responded to 
pressing needs of migrants, including those returning from dangerous environments.\n- Research indicating a 
significantly higher incidence of Common Mental Disorders (CMD) among JI-HoA beneficiaries.\n- Focus Group 
Discussions highlighting the importance of economic assistance in restoring dignity and self-trust.\n- 
Identification of gaps in post-return psychosocial support, integration of MHPSS into program documents, and 
monitoring of MHPSS interventions.\n- Satisfaction rates with reintegration support varying across countries.',
    gaps_identified='Gaps identified include:\n- Lack of clarity on the quality and timeliness of MHPSS 
services.\n- Insufficient post-return psychosocial support.\n- Unclear integration of MHPSS into program documents 
and monitoring of MHPSS interventions.\n- Variability in satisfaction rates with reintegration support across 
countries.\n- The microbusiness assistance did not always correspond to the knowledge of the recipient or the local
context.',
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='1a15'
),
    Prediction(
    reasoning='The evidence suggests that the JI-HoA program has made strides in providing governments and local 
actors with resources, skills, and tools to deliver assistance equitably. Capacity building activities, SOPs, and 
guidelines have addressed gaps in migration management frameworks. Data collection and harmonization efforts have 
also been relevant. Stakeholder surveys indicate increased knowledge on return and reintegration issues. However, 
challenges remain, including staff turnover, financial constraints, and the impact of external factors like 
COVID-19. While capacity has increased, the sustainability of these gains is questionable, as many stakeholders 
believe continued support relies on IOM funding. The evidence points to progress but also highlights limitations in
ensuring long-term equitable assistance delivery.',
    theme_covered=True,
    confidence_explanation='Confidence: 8/10. The evidence clearly demonstrates that the program has provided 
resources, skills, and tools. The logframe data and stakeholder surveys support this. However, the sustainability 
section and stakeholder interviews reveal significant concerns about the long-term impact and equitable delivery 
without continued external support. This lowers the confidence slightly, as the "ensure" aspect of the theme is not
fully met.',
    evidence_summary='Key evidence includes:\n*   JI-HoA provided capacity building activities and tools (SOPs, 
guidelines) to governments.\n*   Stakeholder surveys show increased knowledge on return and reintegration 
issues.\n*   The program exceeded the targeted number of stakeholders strengthened through capacity building.\n*   
Increased number of actors involved in return and reintegration assistance.\n*   Concerns about sustainability due 
to financial constraints and reliance on IOM funding.',
    gaps_identified='Gaps include:\n*   Limited information on the specific types of resources and tools 
provided.\n*   Lack of detailed analysis on how the increased capacity translates into actual equitable assistance 
delivery.\n*   Insufficient data on the long-term impact of the program beyond the project period.\n*   Limited 
information on the specific mechanisms used to ensure equitable delivery.',
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='1a12'
),
    Prediction(
    reasoning="The theme focuses on strengthened protection referral pathways leading to humanitarian services and 
assistance. The evidence suggests that the JI-HoA program did contribute to this theme, particularly through its 
focus on addressing the needs of migrants and returnees, including their economic, social, and psychosocial 
well-being. The program facilitated returns from dangerous situations, provided essential services like food, 
water, and shelter, and offered reintegration support. The program also worked to build the capacity of governments
and other stakeholders through training and tools. However, there were gaps in the program's implementation, such 
as the adequacy of economic assistance, the integration of psychosocial support, and the consistency of support 
across communities. The evidence also suggests that the program's impact on government capacity and the 
sustainability of return processes without IOM support is unclear. Overall, the evidence indicates a positive 
contribution towards the theme, but with limitations and areas for improvement.",
    theme_covered=True,
    confidence_explanation="My confidence is moderate (70%) because while there is evidence that the JI-HoA program
strengthened protection referral pathways and facilitated access to humanitarian services, the evidence also 
highlights gaps in the program's implementation and the sustainability of its impact. The program's reliance on IOM
staff and funding raises questions about the long-term impact on government capacity and the overall strengthening 
of protection referral pathways.",
    evidence_summary='Key evidence includes:\n- The JI-HoA enabled migrants to return from dangerous environments 
and provided essential services.\n- The program addressed the economic, social, and psychosocial needs of returnees
through an integrated approach.\n- The program built the capacity of governments and other stakeholders through 
training and tools.\n- A significant percentage of returnees reported sufficient levels of economic 
self-sufficiency, social stability, and psychosocial well-being.',
    gaps_identified='Gaps identified include:\n- The adequacy of economic assistance for returnees.\n- The 
integration of post-return psychosocial support.\n- The consistency of support across communities.\n- The 
sustainability of return processes without IOM support.\n- The impact of the program on government capacity.\n- 
Clarity on whether return processes have become safer, more humane, and more dignified in general (without the 
support of IOM).',
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='1b32'
),
    Prediction(
    reasoning='The SRF Output 3d32 focuses on the access of protection and essential service providers to tools and
guidelines for effectively responding to the protection needs and rights of vulnerable migrants and 
displacement-affected populations.\n\nThe evidence suggests that the JI-HoA program made efforts to address the 
needs of migrants, returnees, and communities, including providing essential services and protection. The program 
also aimed to build the capacity of stakeholders, including governments and other national actors, by providing 
tools and guidelines. However, there were gaps in the implementation and sustainability of these 
efforts.\n\nSpecifically, the program provided life-saving assistance to migrants in dire situations, supported 
voluntary returns, and offered reintegration assistance. It also contributed to data collection and research on 
migration trends. However, the program faced challenges related to the context in which it operated, including 
political instability, economic crises, and staff turnover. These challenges undermined the ownership and 
sustainability of the program.\n\nWhile the program provided capacity-building activities and tools, such as SOPs 
and guidelines, some stakeholders lacked the capacity to work independently on return processes. Additionally, 
there were gaps in the design, M&E, and relevance of some community-based reintegration projects.\n\nOverall, the 
evidence suggests that the JI-HoA program made progress towards achieving SRF Output 3d32, but there were 
limitations in its effectiveness and sustainability. The program provided tools and guidelines to stakeholders, but
further efforts are needed to ensure that these stakeholders have the capacity and resources to effectively respond
to the protection needs and rights of vulnerable migrants and displacement-affected populations.',
    theme_covered=True,
    confidence_explanation='I am reasonably confident in this assessment. The evidence indicates that the JI-HoA 
program did provide tools and guidelines to protection and essential service providers. However, the evidence also 
highlights gaps in the implementation and sustainability of these efforts. The program faced challenges related to 
the context in which it operated, and some stakeholders lacked the capacity to work independently on return 
processes. Therefore, while the program made progress towards achieving SRF Output 3d32, further efforts are needed
to ensure that stakeholders have the capacity and resources to effectively respond to the protection needs and 
rights of vulnerable migrants and displacement-affected populations.',
    evidence_summary='Key evidence includes:\n- The JI-HoA program provided life-saving assistance to migrants in 
dire situations, supported voluntary returns, and offered reintegration assistance.\n- The program contributed to 
data collection and research on migration trends.\n- The program provided capacity-building activities and tools, 
such as SOPs and guidelines, to stakeholders.\n- The program faced challenges related to the context in which it 
operated, including political instability, economic crises, and staff turnover.\n- Some stakeholders lacked the 
capacity to work independently on return processes.\n- There were gaps in the design, M&E, and relevance of some 
community-based reintegration projects.',
    gaps_identified="Gaps identified include:\n- The sustainability of the program's efforts.\n- The capacity of 
stakeholders to work independently on return processes.\n- The design, M&E, and relevance of some community-based 
reintegration projects.\n- The lack of harmonized approach across countries for awareness raising and outreach.\n- 
The need for longer-term integration support for returnees.",
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='3d32'
),
    Prediction(
    reasoning='The provided evidence suggests that the JI-HoA program made significant strides in equipping 
governments with the knowledge, skills, and tools necessary to include migrants, displaced persons, and 
crisis-affected populations in policy processes and programs. This is evidenced by capacity building activities, 
the development of SOPs and guidelines, and the increased use of data in policymaking. The program exceeded its 
target for stakeholders strengthened through capacity building and operational support. However, challenges such as
staff turnover, financial constraints, and external factors like COVID-19 and political instability hindered the 
full utilization of these enhanced capacities. While progress was made, sustainability remains a concern, 
indicating that continued support is needed.',
    theme_covered=True,
    confidence_explanation="Confidence: 9/10\nExplanation: The evidence strongly supports the conclusion that the 
program contributed to the theme. The report explicitly mentions capacity building activities, the development of 
tools, and increased stakeholder knowledge. While challenges to sustainability exist, the initial progress is 
well-documented. The main limitation is the external factors that impacted the full realization of the program's 
potential.",
    evidence_summary='Key evidence includes:\n*   The program exceeded its target for stakeholders strengthened 
through capacity building (665 vs. 434).\n*   Stakeholders reported increased knowledge on return and reintegration
issues (97% average across four countries).\n*   136 stakeholders reported that data produced supported 
evidence-based policies, exceeding the target of 42.\n*   The number of stakeholders involved in return and 
reintegration assistance increased from 25 to 180.\n*   The JI-HoA addressed the gap of limited frameworks or 
mechanisms for migration, governments had no tools, and no national capacity building strategies which in turn led 
to limited capacity to facilitate return and reintegration.',
    gaps_identified='Gaps include:\n*   Sustainability concerns due to staff turnover, financial constraints, and 
external factors.\n*   Not all stakeholders allocated additional budget or resources for migration issues.\n*   
Local governments are not always ready to overtake national migration data management.\n*   The microbusiness 
assistance did not always correspond to the knowledge of the recipient or the local context.',
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='2b42'
),
    Prediction(
    reasoning="The provided evidence suggests that the JI-HoA program has made significant strides in addressing 
the needs of crisis-affected populations in camps and camp-like settings, particularly concerning access to 
assistance, protection, and services in displacement sites. The program has demonstrably improved the quality of 
life and dignity of migrants and returnees through various interventions, including providing basic needs, 
reintegration support, and community-based projects. However, gaps remain in the consistency and adequacy of 
support, particularly in psychosocial support and economic assistance. While the program has achieved many of its 
targets, satisfaction levels vary across countries, indicating the need for more tailored and context-specific 
approaches. The program's contributions to data collection and research have also been valuable in informing future
programming. Overall, the evidence supports the conclusion that the theme is substantially covered, although with 
areas for improvement.",
    theme_covered=True,
    confidence_explanation="My confidence in this assessment is high (85%). The evidence base is relatively strong,
with multiple sources including desk research, interviews, focus group discussions, and project monitoring data. 
The evidence provides a comprehensive overview of the program's achievements and shortcomings. The identified gaps 
are also well-supported by the evidence. The main limitation is that the evaluation focuses on the JI-HoA program, 
and it is unclear whether the improvements are sustainable without continued external support.",
    evidence_summary='Key evidence includes:\n- The JI-HoA provided essential support to migrants and returnees, 
addressing their basic needs and facilitating safe returns.\n- Reintegration assistance, including economic, 
social, and psychosocial support, was provided to returnees.\n- Community-based projects addressed the needs of 
both returnees and host communities.\n- The program contributed to data collection and research on migration 
trends.\n- Satisfaction levels with reintegration support varied across countries.\n- Gaps were identified in 
psychosocial support and the adequacy of economic assistance.',
    gaps_identified="Gaps identified include:\n- Inconsistencies in the quality and adequacy of psychosocial 
support.\n- Insufficient economic assistance in some cases.\n- Variations in satisfaction levels across different 
countries, suggesting a need for more tailored approaches.\n- Sustainability of the program's achievements without 
continued external support.\n- Lack of harmonized approach across countries for awareness raising and outreach.",
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='1a17'
),
    Prediction(
    reasoning="The provided evidence suggests that the JI-HoA program has made significant strides in enhancing the
skills, knowledge, resources, and evidence available to governments and stakeholders for mainstreaming migration 
into policies and strategies. The program has demonstrably increased capacity through training, provided tools like
SOPs and guidelines, and improved data collection and analysis. However, challenges remain, including staff 
turnover, financial constraints, and the need for continued support to ensure sustainability. The program has also 
contributed to the development of regional frameworks and policies related to migration. While progress has been 
made, the evidence also suggests that external factors such as COVID-19, security issues, and economic crises have 
hindered the full realization of the program's objectives. The recommendations section emphasizes the need for 
continued capacity building, ownership by local authorities, and financial resources to sustain the progress made. 
Overall, the evidence indicates that the theme has been addressed, but with caveats regarding the sustainability 
and full impact of the interventions.",
    theme_covered=True,
    confidence_explanation="High Confidence: The evidence directly addresses the theme, providing specific examples
of capacity building, data collection improvements, and policy alignment. The evaluation report explicitly mentions
the program's contributions to these areas, although it also acknowledges the challenges and limitations. The 
coherence section further strengthens the confidence by highlighting the alignment of the JI-HoA with IOM's 
objectives, EU foreign policy, and regional frameworks.",
    evidence_summary="Key evidence includes:\n- Increased capacity of stakeholders through training and operational
support.\n- Development and strengthening of data collection and analysis tools.\n- Alignment of the JI-HoA with 
IOM's objectives, EU foreign policy, and regional frameworks.\n- Increased number of actors involved in return and 
reintegration assistance.\n- Stakeholders reporting increased knowledge on return and reintegration issues.",
    gaps_identified="Gaps include:\n- Sustainability of the program's impact due to staff turnover and financial 
constraints.\n- Full utilization of increased capacity due to external factors such as COVID-19 and security 
issues.\n- Need for continued support to ensure ownership and commitment of governments and stakeholders.\n- 
Limited financial allocations for migration issues in some cases.",
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='3c51'
),
    Prediction(
    reasoning="The provided evidence suggests that the JI-HoA program made significant strides in providing WASH 
programming to crisis-affected populations, particularly migrants and returnees. The program addressed basic needs 
like food, water, clothing, and shelter, and also focused on longer-term reintegration through economic, social, 
and psychosocial support. While satisfaction levels varied across countries and some gaps were identified in the 
sufficiency of economic support and the integration of MHPSS, the program generally contributed to improved living 
conditions and access to services for vulnerable populations. The evidence supports the theme's focus on quality, 
comprehensive WASH programming, ensuring the human right to water and sanitation, and empowering crisis-affected 
populations.",
    theme_covered=True,
    confidence_explanation="Confidence is high (90%) because the evidence directly addresses the components of the 
theme. The evidence details the provision of basic needs (including water), reintegration support, and the overall 
impact on the well-being of migrants and returnees. While there are identified gaps, the overall trend indicates a 
positive contribution towards the theme's objectives.",
    evidence_summary='Key evidence includes:\n- The JI-HoA provided food, water, clothing, and shelter to migrants,
addressing their most urgent needs.\n- The program offered integrated economic, social, and psychosocial support to
returnees, relevant to the challenges they faced.\n- The JI supported voluntary return processes, with high 
satisfaction rates among assisted migrants regarding travel arrangements and safety.\n- Community-based 
reintegration projects supported community and returnee beneficiaries, focusing on capacity building and livelihood
support.\n- Data collection and analysis tools were strengthened to monitor the impact of return and reintegration 
assistance.',
    gaps_identified='Gaps identified include:\n- Some returnees felt that the economic support was insufficient.\n-
There were gaps in the post-return psychosocial support, including a lack of integration into program documents and
unclear monitoring of MHPSS interventions.\n- Satisfaction levels with reintegration support varied across 
countries, with lower satisfaction in Sudan and Ethiopia compared to Somalia.\n- The methodology for assessing the 
sustainability of reintegration is relatively new and still subject to testing and improvement.',
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='1a14'
),
    Prediction(
    reasoning='The evidence suggests that the JI-HoA program made substantial progress in providing governments and
other stakeholders with access to relevant data resources, including data standards, best practices, research 
methods, and survey instruments. The program exceeded targets for conducting field studies and surveys, and 
stakeholders reported increased knowledge on return and reintegration issues. The program also supported the 
development of evidence-based policies and increased the number of actors involved in return and reintegration 
assistance. However, challenges remain, including staff turnover, financial constraints, and the need for further 
capacity building to effectively utilize the available data. While progress has been made, some stakeholders still 
lack the capacity to fully utilize the data for policymaking.',
    theme_covered=True,
    confidence_explanation='High Confidence: The evidence from multiple sources (IOM logframe, stakeholder surveys,
interviews, and reports) consistently points to increased data availability and capacity building efforts. While 
challenges remain, the program demonstrably improved access to data resources for governments and other 
stakeholders.',
    evidence_summary='- The JI-HoA program exceeded targets for field studies and surveys.\n- Stakeholders reported
increased knowledge on return and reintegration issues (97% average across four countries).\n- 136 stakeholders 
reported that data produced has supported evidence-based policies, procedures, and programme design.\n- The number 
of stakeholders involved in return and reintegration assistance increased significantly.\n- The Regional Data Hub 
(RDH) played a key role in increasing data availability.',
    gaps_identified='- Some stakeholders still lack the capacity to fully utilize the available data for 
policymaking.\n- Staff turnover and financial constraints hinder the effective use of data.\n- Further capacity 
building is needed to strengthen data gathering capacities.\n- COVID-19 impacted the organization of workshops to 
design or validate mechanisms.',
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='3c32'
),
    Prediction(
    reasoning='The evidence suggests that the JI-HoA program made significant strides in addressing the needs of 
migrants, returnees, and communities, particularly in providing immediate, life-saving support and promoting 
reintegration. The program addressed economic, social, and psychosocial needs through an integrated approach. 
However, challenges remain in ensuring the sustainability of reintegration, particularly in economic 
self-sufficiency. The program also faced limitations due to external factors such as economic conditions, political
instability, and COVID-19. While the program contributed to policy development and capacity building, the long-term
impact is uncertain without continued support. The evidence indicates that the program partially covered the theme,
with notable achievements but also areas needing improvement.',
    theme_covered=True,
    confidence_explanation="Confidence is moderate (7/10). The evidence provides a good overview of the program's 
activities and results, including both successes and challenges. Satisfaction surveys, focus group discussions, and
monitoring data offer multiple perspectives. However, the sustainability of the program's impact remains a concern,
and there are gaps in the long-term economic reintegration of returnees. Further, the reliance on external funding 
raises questions about the program's long-term viability.",
    evidence_summary="Key evidence includes:\n- The JI-HoA provided essential support to migrants, addressing 
immediate needs like hunger, thirst, and shelter (Section 4.1.1.1).\n- The integrated approach to economic, social,
and psychosocial support was relevant to the challenges faced by returnees (Section 4.1.1.2).\n- Community projects
addressed the needs of both communities and returnees, with high levels of perceived relevance (Section 
4.1.1.3).\n- The program exceeded targets for setting up and strengthening planning, monitoring, and data 
collection tools (Section 4.3.3.2).\n- A significant percentage of returnees reported sufficient levels of economic
self-sufficiency, social stability, and psychosocial wellbeing (Section: Overall achievement of reintegration).\n- 
The sustainability of the program's results is dependent on the ability of governments to maintain the tools and 
mechanisms put in place (Section 4.5).",
    gaps_identified='Gaps identified include:\n- The need for quicker service provision and AVRR (Section 
4.1.1.1).\n- Insufficient economic assistance for returnees to achieve sustainable livelihoods (Section 
4.1.1.2).\n- Gaps in post-return psychosocial support (Section 4.1.1.2).\n- Uneven support across targeted 
communities (Section 4.1.1.3).\n- Challenges in ensuring the sustainability of reintegration, particularly economic
self-sufficiency (Section 4.5).\n- Dependence on external funding for continued support (Section 4.5).\n- The need 
for further research into the factors influencing the success of businesses initiated by returnees (Section 
5.2.2).',
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='2b62'
),
    Prediction(
    reasoning="The theme focuses on improved living conditions and wellbeing for victims of human rights violations
in the context of reparations and restitution mechanisms. The evidence suggests that the JI-HoA program addressed 
the needs of returnees through economic, social, and psychosocial support, contributing to their reintegration. 
Satisfaction levels with reintegration assistance were generally high, although some returnees felt the economic 
support was insufficient. Community-based reintegration projects also contributed positively to economic and 
employment opportunities. The program also focused on data collection and analysis to track the needs of returnees.
However, external factors such as economic decline, political instability, and conflict hindered the full 
achievement of the program's objectives. While the program made important contributions, the sustainability of 
these efforts is questionable without continued support. The evidence indicates that the program contributed to 
improved living conditions and wellbeing for returnees, but the extent to which this improvement is sustainable and
addresses the root causes of their vulnerabilities is limited.",
    theme_covered=True,
    confidence_explanation="Confidence is moderate. The evidence clearly shows that the JI-HoA program provided 
support to returnees, addressing their immediate needs and contributing to their reintegration. Satisfaction 
surveys and focus group discussions indicate positive outcomes in terms of economic, social, and psychosocial 
wellbeing. However, the evidence also highlights limitations in the scope and sustainability of the program's 
impact, as well as external factors that hindered its effectiveness. The evidence supports the conclusion that the 
program contributed to improved living conditions and wellbeing, but the extent and sustainability of this 
improvement are uncertain.",
    evidence_summary='Key evidence includes:\n- 56% of surveyed returnees were satisfied with reintegration 
assistance.\n- Economic assistance helped returnees develop income sources and restore their dignity.\n- 
Community-based reintegration projects contributed to economic and employment opportunities.\n- The program 
strengthened data collection and analysis on reintegration.\n- 89% of returnees reported sufficient levels of 
economic self-sufficiency, social stability, and psychosocial wellbeing.',
    gaps_identified="Gaps include:\n- Limited information on the long-term sustainability of the program's 
impact.\n- Insufficient economic support for some returnees.\n- External factors such as economic decline, 
political instability, and conflict hindered the program's effectiveness.\n- Lack of clarity on whether return 
processes have become safer, more humane, and more dignified in general, without the support of IOM.",
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='1a19'
),
    Prediction(
    reasoning='The provided evidence directly addresses the theme of reintegration assistance for returning 
migrants and displaced persons. The evidence details the types of assistance provided (economic, social, 
psychosocial), the satisfaction levels of beneficiaries, and the impact on both returnees and the broader 
community. It also highlights gaps in the assistance, such as the insufficiency of economic support and the lack of
integration of post-return psychosocial support. The evidence also covers the needs of the community members and 
how the program addressed them. The overall achievement of reintegration is discussed, including the sustainability
of the reintegration efforts.',
    theme_covered=True,
    confidence_explanation="Confidence is high (90%) because the evidence directly addresses the core components of
the theme, including the types of assistance provided, the beneficiaries targeted, and the outcomes achieved. The 
evidence is drawn from multiple sources, including desk research, interviews, focus group discussions, and surveys,
providing a comprehensive picture of the program's impact. The identified gaps and limitations are also clearly 
articulated, contributing to a balanced assessment.",
    evidence_summary='Key evidence includes:\n- The JI-HoA addressed the pressing needs of migrants, providing 
food, water, clothing, and shelter.\n- The integrated approach to economic, social, and psychosocial support was 
relevant to the challenges faced by returnees.\n- Economic assistance helped returnees develop income sources and 
restore their dignity.\n- Community projects addressed the needs of both the community and returnees.\n- The 
program strengthened data collection, analysis, and dissemination on reintegration.\n- The majority of returnees 
reported sufficient levels of economic self-sufficiency, social stability, and psychosocial wellbeing.\n- 
Community-based reintegration projects contributed positively to economic and employment opportunities.',
    gaps_identified='Gaps identified include:\n- Some returnees felt the economic assistance was insufficient.\n- 
Microbusiness assistance did not always correspond to the knowledge of the recipient or the local context.\n- Gaps 
existed in post-return psychosocial support.\n- Not all targeted communities received the same support.\n- The 
methodology to assess the sustainability of reintegration is relatively new and still subject to testing and 
improvement.\n- External factors such as conflict, COVID-19, competing government priorities, and political 
instability hindered the integrated approach.',
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='2b63'
),
    Prediction(
    reasoning='The theme focuses on whether internal and international environmental migrants have access to 
multidimensional protection interventions. The evidence suggests that the JI-HoA program addressed the needs of 
migrants and returnees through various interventions, including providing basic necessities, economic assistance, 
and psychosocial support. However, there were gaps in the provision of services, such as the timeliness of AVRR 
support, the adequacy of economic assistance, and the integration of post-return psychosocial support. While the 
program contributed to the safe, humane, and dignified return of migrants, the sustainability of reintegration 
remains a challenge. The evidence indicates that the program provided access to multidimensional protection 
interventions, but the effectiveness and comprehensiveness of these interventions could be improved.',
    theme_covered=True,
    confidence_explanation="The confidence score is moderate. The evidence clearly shows that the JI-HoA program 
provided various protection interventions to migrants and returnees. However, the evidence also highlights gaps and
areas for improvement in the program's implementation and effectiveness. The program addressed the immediate needs 
of migrants and returnees, but the long-term sustainability of reintegration remains a challenge.",
    evidence_summary='Key evidence includes:\n- The JI-HoA provided migrants with basic necessities, economic 
assistance, and psychosocial support.\n- Stakeholders confirmed that the program addressed the most pressing needs 
of migrants.\n- Returnees reported that the economic support helped restore their dignity and self-trust.\n- 
Research indicated that the incidence of Common Mental Disorders (CMD) is significantly higher among JI-HoA 
beneficiaries.\n- Gaps were found in the timeliness of AVRR support, the adequacy of economic assistance, and the 
integration of post-return psychosocial support.',
    gaps_identified='Gaps identified include:\n- Timeliness of AVRR support\n- Adequacy of economic assistance\n- 
Integration of post-return psychosocial support\n- Sustainability of reintegration\n- Capacity of governments and 
stakeholders to continue the work independently',
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='3d35'
),
    Prediction(
    reasoning='The theme focuses on key stakeholders having access to data and evidence to detect and report human 
trafficking and smuggling networks. The evidence suggests that the JI made substantial progress in increasing the 
availability of migration data through the Regional Data Hub and engagement with National Statistical Offices. 
Stakeholders reported increased knowledge on return and reintegration issues. The number of stakeholders involved 
in return and reintegration assistance has also increased. However, challenges remain, including staff turnover, 
shortage of finance and qualified staff, and the impact of COVID-19. While data availability has increased, the 
capacity to use this data could still be strengthened. The evaluation also found examples of the increased use of 
data in policymaking, strategies, processes and plans for return and reintegration. The Regional Data Hub was 
effective in enhancing knowledge on migration, harmonizing methodologies and indicators, and building capacities 
for data collection and management. Overall, the evidence indicates that the JI has contributed to improving access
to data and evidence for key stakeholders, but further efforts are needed to address the remaining challenges and 
ensure the sustainable use of this data.',
    theme_covered=True,
    confidence_explanation='The confidence score is high because there is direct evidence from the evaluation 
report, including stakeholder interviews, IOM logframe data, and project monitoring data, that supports the 
conclusion that the JI has improved access to data and evidence for key stakeholders. However, the report also 
acknowledges the challenges and limitations that remain, which prevents a perfect confidence score.',
    evidence_summary="Key evidence includes:\n- The JI exceeded targets for the number of field studies and 
research conducted.\n- Stakeholders reported increased knowledge on return and reintegration issues.\n- The number 
of stakeholders involved in return and reintegration assistance increased.\n- IOM's survey of stakeholders reported
that data produced has supported evidence-based policies, procedures, and programme design.\n- The Regional Data 
Hub was effective in enhancing knowledge on migration, harmonizing methodologies and indicators, and building 
capacities for data collection and management.",
    gaps_identified='Gaps identified include:\n- Additional steps still need to be taken to improve data gathering 
capacities.\n- Capacity to use the available data could still be strengthened further.\n- Turnover of government 
staff undoes the positive results of trainings.\n- Shortage of finance and qualified staff prevent the government 
from actively using increased capacities for policymaking.\n- COVID-19 prevented the organization of workshops to 
design or validate mechanisms.',
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='3b13'
),
    Prediction(
    reasoning="The provided evidence suggests that the JI-HoA program made efforts to equip systems and service 
providers at national and local levels with the capacities and infrastructure to ensure the inclusion of migrants, 
displaced persons, and broader communities in the provision of basic services. This is evidenced by capacity 
building activities, development of tools like SOPs and guidelines, and efforts to improve data collection and 
harmonization. However, the sustainability of these efforts is questionable due to a lack of operational and 
financial capacity from governments and the reliance on IOM funding. The program addressed the needs of migrants, 
returnees, and communities through various interventions, including economic, social, and psychosocial support. The
program also focused on building the capacity of national stakeholders and improving cooperation mechanisms. 
Despite these efforts, gaps were identified in the correspondence of specific activities to returnees' psychosocial
needs, the value of economic assistance, and the relevance of projects to community members' skills. The evaluation
concludes that continued support is needed in terms of capacity-building and wider socio-economic development.",
    theme_covered=True,
    confidence_explanation="High Confidence: The evidence directly addresses the theme, showing both successes and 
limitations in equipping systems and service providers. Multiple sections of the report discuss the program's 
efforts to build capacity, provide infrastructure, and ensure inclusion. The conclusions and recommendations 
further reinforce the assessment of the program's impact and sustainability.",
    evidence_summary="Key evidence includes:\n- Capacity building activities and tools (SOPs, guidelines) provided 
to governments.\n- Efforts to improve migration data collection and harmonization.\n- Provision of economic, 
social, and psychosocial support to migrants, returnees, and communities.\n- Community-based reintegration projects
aimed at creating economic opportunities and reducing the drive to migrate.\n- Stakeholder feedback on the 
usefulness of IOM's local capacity building activities.\n- Identified gaps in psychosocial support, economic 
assistance, and project relevance.\n- Concerns about the sustainability of the program due to reliance on IOM 
funding and lack of government capacity.",
    gaps_identified='Gaps include:\n- The extent to which the capacity building activities led to sustained 
improvements in service provision.\n- The long-term impact of the program on the inclusion of migrants and 
displaced persons in basic services.\n- Detailed metrics on the actual increase in infrastructure capacity at 
national and local levels.\n- Specific examples of policies and processes introduced as a direct result of the 
program.\n- The degree to which the program addressed the root causes of migration and displacement.',
    framework_name='SRF',
    framework_category='Outputs',
    framework_theme_id='2b53'
)
]