From 577d51f145f5a24f133d3c280d55f9d55666f128 Mon Sep 17 00:00:00 2001 From: frank-2077 Date: Mon, 31 Aug 2026 14:21:49 +0000 Subject: [PATCH 01/30] Add VIME Qwen3-8B 200-round consistency experiment --- examples/vime_qwen3_8b_tp2_cp2_200/README.md | 150 ++++++ .../aligned_python_entrypoint.sh | 101 ++++ .../collect_results.py | 240 +++++++++ .../experiment_matrix.json | 39 ++ .../vime_qwen3_8b_tp2_cp2_200/plot_results.py | 192 +++++++ .../prepare_dapo_data.py | 126 +++++ .../qwen3_8b_multiround_math.jsonl | 32 ++ .../qwen3_8b_tp2_cp2.json | 43 ++ examples/vime_qwen3_8b_tp2_cp2_200/run.py | 315 +++++++++++ examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py | 500 ++++++++++++++++++ .../validate_artifacts.py | 225 ++++++++ .../vime_qwen3_8b_tp2_cp2_200/validate_run.py | 338 ++++++++++++ rl_engine/integrations/runtime.py | 100 +++- .../integrations/vime/linear_logp_provider.py | 67 ++- tests/test_framework_runtime_adapters.py | 61 ++- tests/test_vime_linear_logp_provider.py | 38 +- 16 files changed, 2535 insertions(+), 32 deletions(-) create mode 100644 examples/vime_qwen3_8b_tp2_cp2_200/README.md create mode 100755 examples/vime_qwen3_8b_tp2_cp2_200/aligned_python_entrypoint.sh create mode 100644 examples/vime_qwen3_8b_tp2_cp2_200/collect_results.py create mode 100644 examples/vime_qwen3_8b_tp2_cp2_200/experiment_matrix.json create mode 100644 examples/vime_qwen3_8b_tp2_cp2_200/plot_results.py create mode 100644 examples/vime_qwen3_8b_tp2_cp2_200/prepare_dapo_data.py create mode 100644 examples/vime_qwen3_8b_tp2_cp2_200/qwen3_8b_multiround_math.jsonl create mode 100644 examples/vime_qwen3_8b_tp2_cp2_200/qwen3_8b_tp2_cp2.json create mode 100644 examples/vime_qwen3_8b_tp2_cp2_200/run.py create mode 100755 examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py create mode 100644 examples/vime_qwen3_8b_tp2_cp2_200/validate_artifacts.py create mode 100755 examples/vime_qwen3_8b_tp2_cp2_200/validate_run.py diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/README.md b/examples/vime_qwen3_8b_tp2_cp2_200/README.md new file mode 100644 index 00000000..d2482749 --- /dev/null +++ b/examples/vime_qwen3_8b_tp2_cp2_200/README.md @@ -0,0 +1,150 @@ +# VIME Qwen3-8B TP2/CP2 200-round consistency experiment + +This example measures train/rollout numerical consistency at two independent +layers: VIME's framework-level reuse of rollout log-probabilities and +RL-Kernel's operator-level alignment of Attention, dense FFN, and linear logp. +It is designed for one 8×H100 node with four Megatron training GPUs and four +vLLM rollout GPUs. + +The experiment is fail-closed. A run is accepted only when its Ray job +succeeds, every expected operator route has CUDA execution readback, no +fallback or Triton route is observed for an R/R arm, the requested number of +steps is present, and vLLM CUDA Graph evidence matches the manifest. + +## Ablation matrix + +| Group | VIME `--use-rollout-logprobs` | Attention / FFN / logp | Purpose | +|---|---:|---|---| +| G00 | off | P/P | Production baseline | +| G10 | on | P/P | Framework-level consistency only | +| G01 | off | R/R | RL-Kernel operator-level consistency only | +| G11 | on | R/R | Framework-level plus operator-level consistency | + +`P/P` selects the production implementation on training and rollout. `R/R` +selects RL-Kernel on both sides. All four groups use the same prompts, initial +checkpoint, sampling settings, seeds, TP2/CP2 topology, and batch sizes. + +Do not interpret G10/G11 as evidence that train and rollout recomputation is +bitwise equal: framework reuse changes which stored logp enters the RL loss. +The direct numerical claim comes from G01/G11 and the runtime comparison +metrics. + +## Required gates + +- NVIDIA H100 × 8; actor GPUs 4; rollout GPUs 4; TP=2; CP=2; PP=1. +- BF16, `top_p=1.0`, temperature 1, no dropout, fixed training and rollout seeds. +- vLLM CUDA Graph mode `FULL_DECODE_ONLY`, not eager, with exact capture sizes + `1..(rollout_batch_size × n_samples_per_prompt)`. +- Megatron and vLLM readbacks for Attention, FFN, and logp, with positive call + counts and the expected case/implementation. +- R/R runs must report zero bitwise mismatches, zero max absolute logp + difference, CUDA execution, and no fallback or Triton provenance. +- Append-only run directories. A passing validator creates `COMPLETE`; failed + attempts remain available for audit and are not overwritten. + +The current VIME debug dump does not include training `log_probs` in +`rollout_data`. `validate_run.py` therefore uses VIME's runtime `torch.ne`, +maximum, and mean absolute-difference metrics. Counts are reconstructed from +the sample means and global batch size. The report marks offline tensor +comparison as unavailable instead of claiming it was performed. + +## Recommended phases + +The phase definitions are frozen in `experiment_matrix.json`. + +| Phase | Steps | Seeds | Decision | +|---|---:|---|---| +| smoke | 1 | 1234 | Validate launch, routes, CUDA Graph, and artifacts | +| short | 8 | 1234 | Catch state transition, weight-update, and cache issues | +| precision | 30 | 1234, 2345, 3456 | Estimate drift distribution before the long run | +| convergence | 200 | 1234, 2345, 3456 | Primary PR evidence and learning/performance curves | + +Use 200 steps for the main claim. One seed is enough to demonstrate a strict +bitwise invariant, but three paired seeds are recommended for reward, +throughput, and overhead claims. Run groups in the same seed order and compare +paired seeds; report the mean and a 95% confidence interval. Never merge runs +from different code revisions, checkpoints, prompt hashes, or CUDA Graph +settings in one estimate. + +## Prepare DAPO-Math-17k + +`prepare_dapo_data.py` downloads or converts the official Parquet file and +emits VIME `prompt`/`label` JSONL. It deduplicates by `extra_info.index` and +writes source/output hashes and row counts to a sibling manifest. + +```bash +python examples/vime_qwen3_8b_tp2_cp2_200/prepare_dapo_data.py \ + --download \ + --source /data/dapo-math-17k.parquet \ + --output /data/dapo-math-17k.vime.jsonl +``` + +The converter requires `pyarrow`. The small +`qwen3_8b_multiround_math.jsonl` fixture is for smoke testing only and must not +be used for convergence or reward claims. + +## Run one arm + +Start a Ray cluster appropriate for the host, then invoke `run_arm.py`. The +example below is schematic; every path is recorded in `manifest.json`. + +```bash +python examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py \ + --group G01 \ + --num-rollout 8 \ + --seed 1234 \ + --rollout-seed 1234 \ + --output-root /data/vime-200/runs/short \ + --rl-kernel-root /path/to/RL-Kernel \ + --vime-root /path/to/vime \ + --megatron-root /path/to/Megatron-LM \ + --model-root /models/Qwen3-8B \ + --ref-load /models/Qwen3-8B_torch_dist \ + --prompt-data /data/dapo-math-17k.vime.jsonl \ + --python /path/to/python \ + --ray-bin /path/to/ray \ + --wait +``` + +`run_arm.py` refuses to reuse an existing run ID. It records repository +revisions, command line, environment, data hash, GPU inventory, topology, +seeds, batch parameters, and CUDA Graph contract before submission. + +After the Ray job finishes, save its combined log as `run.log` in the run +directory and validate it: + +```bash +python examples/vime_qwen3_8b_tp2_cp2_200/validate_run.py \ + --run-dir /data/vime-200/runs/short/ \ + --seal +``` + +## Aggregate and plot + +Only sealed runs are collected. `collect_results.py` writes one row per run, +one row per training step, and group-level summaries. + +```bash +python examples/vime_qwen3_8b_tp2_cp2_200/collect_results.py \ + --runs-root /data/vime-200/runs \ + --output-dir /data/vime-200/results + +python examples/vime_qwen3_8b_tp2_cp2_200/plot_results.py \ + --rounds-csv /data/vime-200/results/rounds.csv \ + --phase convergence \ + --output-dir /data/vime-200/results/figures +``` + +The plotting step requires Matplotlib. It produces: + +- `consistency.png`: mean/max absolute logp difference, mismatch rate, and + mismatch count per step; +- `learning.png`: raw reward with moving average, PPO KL, entropy, and response + truncation ratio; +- `performance.png`: end-to-end step time, rollout time, and actor throughput. + +The summary table also reports total active-token exposure, cumulative +bitwise mismatch count, token-weighted mean absolute difference, maximum +absolute difference, reward, truncation, step time, and throughput. For R/R, +the strongest claim is `mismatch_count = 0` over the stated token exposure; +reward and speed are secondary quality and cost measurements. diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/aligned_python_entrypoint.sh b/examples/vime_qwen3_8b_tp2_cp2_200/aligned_python_entrypoint.sh new file mode 100755 index 00000000..302c891a --- /dev/null +++ b/examples/vime_qwen3_8b_tp2_cp2_200/aligned_python_entrypoint.sh @@ -0,0 +1,101 @@ +#!/usr/bin/env bash +set -euo pipefail + +REAL_PYTHON="${RL_KERNEL_REAL_PYTHON:?RL_KERNEL_REAL_PYTHON must name the real Python executable}" +RL_KERNEL_ROOT="${RL_KERNEL_ROOT:-$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)}" +export RL_KERNEL_ROOT +export PYTHONPATH="${RL_KERNEL_ROOT}:${PYTHONPATH:-}" + +if [[ "${1:-}" == "train.py" || "${1:-}" == */train.py ]]; then + # Ray job submission does not always forward the shell exports used by the + # outer launcher. A strict linear-logp job must still install the matching + # vLLM hooks; otherwise it silently falls back to native attention/FFN and + # loses the R/R performance path. Preserve explicit ablation selections. + strict_linear_logp=0 + rollout_batch_size="" + n_samples_per_prompt="1" + explicit_vllm_execution_config=0 + previous_arg="" + for current_arg in "$@"; do + if [[ "${previous_arg}" == "--linear-logp-provider-mode" && "${current_arg}" == "strict" ]]; then + strict_linear_logp=1 + elif [[ "${previous_arg}" == "--rollout-batch-size" ]]; then + rollout_batch_size="${current_arg}" + elif [[ "${previous_arg}" == "--n-samples-per-prompt" ]]; then + n_samples_per_prompt="${current_arg}" + fi + + case "${current_arg}" in + --linear-logp-provider-mode=strict) + strict_linear_logp=1 + ;; + --rollout-batch-size=*) + rollout_batch_size="${current_arg#*=}" + ;; + --n-samples-per-prompt=*) + n_samples_per_prompt="${current_arg#*=}" + ;; + --vllm-enforce-eager|--vllm-optimization-level|--vllm-optimization-level=*|--vllm-compilation-config|--vllm-compilation-config=*) + explicit_vllm_execution_config=1 + ;; + esac + previous_arg="${current_arg}" + done + + strict_cudagraph_args=() + if [[ "${strict_linear_logp}" == "1" ]]; then + export RL_KERNEL_VLLM_INTEGRATION="${RL_KERNEL_VLLM_INTEGRATION:-1}" + export RL_KERNEL_CUDA_ONLY="${RL_KERNEL_CUDA_ONLY:-1}" + export VIME_RL_KERNEL_STRICT="${VIME_RL_KERNEL_STRICT:-1}" + export RL_KERNEL_ATTENTION_CASE="${RL_KERNEL_ATTENTION_CASE:-R/R}" + export RL_KERNEL_FFN_CASE="${RL_KERNEL_FFN_CASE:-R/R}" + export RL_KERNEL_LOGP_CASE="${RL_KERNEL_LOGP_CASE:-R/R}" + + # Strict rollout kernels preserve their arithmetic order under CUDA Graph. + # Capturing the complete decode graph removes the per-layer host-launch + # gaps that otherwise dominate small decode batches. Capture every exact + # batch size: padding a strict custom kernel to a larger sparse graph can + # access invalid slots and, more importantly, changes the tested contract. + # Explicit vLLM execution flags always win so callers can opt out. + if [[ "${explicit_vllm_execution_config}" == "0" ]]; then + if [[ "${rollout_batch_size}" =~ ^[1-9][0-9]*$ && "${n_samples_per_prompt}" =~ ^[1-9][0-9]*$ ]]; then + max_capture_size=$((rollout_batch_size * n_samples_per_prompt)) + if [[ -n "${RL_KERNEL_VLLM_CUDAGRAPH_MAX_CAPTURE_SIZE:-}" ]]; then + max_capture_size="${RL_KERNEL_VLLM_CUDAGRAPH_MAX_CAPTURE_SIZE}" + fi + if ! [[ "${max_capture_size}" =~ ^[1-9][0-9]*$ ]]; then + echo "RL_KERNEL_VLLM_CUDAGRAPH_MAX_CAPTURE_SIZE must be a positive integer" >&2 + exit 2 + fi + + capture_sizes="[" + for ((batch_size = 1; batch_size <= max_capture_size; batch_size++)); do + if ((batch_size > 1)); then + capture_sizes+="," + fi + capture_sizes+="${batch_size}" + done + capture_sizes+="]" + compilation_config="{\"cudagraph_mode\":\"FULL_DECODE_ONLY\",\"cudagraph_capture_sizes\":${capture_sizes},\"max_cudagraph_capture_size\":${max_capture_size}}" + strict_cudagraph_args=( + --vllm-optimization-level 0 + --vllm-compilation-config "${compilation_config}" + ) + echo "[RL-Kernel] strict vLLM full-decode CUDA Graph capture sizes: ${capture_sizes}" >&2 + else + echo "[RL-Kernel] strict CUDA Graph disabled: rollout batch size is unavailable" >&2 + fi + fi + fi + exec "${REAL_PYTHON}" "$@" \ + --seed "${RL_KERNEL_SEED:-1234}" \ + --rollout-seed "${RL_KERNEL_ROLLOUT_SEED:-42}" \ + --vllm-enable-deterministic-inference \ + --vllm-attention-backend flash_attn \ + --vllm-disable-custom-all-reduce \ + --deterministic-mode \ + --accumulate-allreduce-grads-in-fp32 \ + "${strict_cudagraph_args[@]}" +fi + +exec "${REAL_PYTHON}" "$@" diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/collect_results.py b/examples/vime_qwen3_8b_tp2_cp2_200/collect_results.py new file mode 100644 index 00000000..a145163a --- /dev/null +++ b/examples/vime_qwen3_8b_tp2_cp2_200/collect_results.py @@ -0,0 +1,240 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Collect sealed VIME ablation runs into reproducible CSV and JSON tables.""" + +from __future__ import annotations + +import argparse +import ast +import csv +import json +import math +import re +from collections import defaultdict +from pathlib import Path +from statistics import mean +from typing import Any + + +RECORD_RE = re.compile(r"\b(rollout|step|perf)\s+(\d+):\s+(\{.*\})\s*$") + + +def _load(path: Path) -> dict[str, Any]: + value = json.loads(path.read_text(encoding="utf-8")) + if not isinstance(value, dict): + raise ValueError(f"expected a JSON object in {path}") + return value + + +def _records(path: Path) -> dict[str, dict[int, dict[str, Any]]]: + result: dict[str, dict[int, dict[str, Any]]] = { + "rollout": {}, + "step": {}, + "perf": {}, + } + for line in path.read_text(encoding="utf-8", errors="replace").splitlines(): + match = RECORD_RE.search(line) + if not match: + continue + try: + value = ast.literal_eval(match.group(3)) + except (SyntaxError, ValueError): + continue + if isinstance(value, dict): + result[match.group(1)].setdefault(int(match.group(2)), {}).update(value) + return result + + +def _value(mapping: dict[str, Any], name: str) -> float | None: + value = mapping.get(name) + if isinstance(value, (int, float)) and not isinstance(value, bool): + return float(value) + return None + + +def _run_rows(run_dir: Path) -> tuple[dict[str, Any], list[dict[str, Any]]]: + manifest = _load(run_dir / "manifest.json") + validation = _load(run_dir / "run-validation.json") + if not validation.get("passed"): + raise ValueError(f"sealed run has a failed validation: {run_dir}") + records = _records(run_dir / "run.log") + validation_rows = { + int(row["step"]): row for row in validation["train_rollout_logprob"]["rows"] + } + steps = sorted( + set(records["rollout"]) | set(records["step"]) | set(records["perf"]) + ) + rows = [] + for index in steps: + rollout = records["rollout"].get(index, {}) + step = records["step"].get(index, {}) + perf = records["perf"].get(index, {}) + exact = validation_rows.get(index, {}) + rows.append( + { + "phase": run_dir.parent.name, + "run_id": manifest["run_id"], + "group": manifest["arm"]["group"], + "seed": manifest["seed"], + "rollout_seed": manifest["rollout_seed"], + "step": index, + "framework_consistency": manifest["arm"][ + "framework_use_rollout_logprobs" + ], + "operator_case": manifest["arm"]["logp_case"], + "reward": _value(rollout, "rollout/rewards"), + "raw_reward": _value(rollout, "rollout/raw_reward"), + "response_length": _value(rollout, "rollout/response_lengths"), + "truncated_ratio": _value(rollout, "rollout/truncated"), + "rollout_kl": _value(rollout, "rollout/kl"), + "train_loss": _value(step, "train/loss"), + "pg_loss": _value(step, "train/pg_loss"), + "entropy": _value(step, "train/entropy_loss"), + "ppo_kl": _value(step, "train/ppo_kl"), + "grad_norm": _value(step, "train/grad_norm"), + "mean_abs_dlogp": _value(step, "train/train_rollout_logprob_abs_diff"), + "max_abs_dlogp": _value( + step, "train/train_current_rollout_logprob_max_abs_diff" + ), + "mismatch_count": exact.get("bitwise_mismatch_count"), + "active_token_count": exact.get("active_token_count"), + "rollout_time": _value(perf, "perf/rollout_time"), + "train_time": _value(perf, "perf/train_time"), + "step_time": _value(perf, "perf/step_time"), + "update_weights_time": _value(perf, "perf/update_weights_time"), + "actor_tokens_per_second": _value(perf, "perf/actor_train_tok_per_s"), + "actor_train_tflops": _value(perf, "perf/actor_train_tflops"), + } + ) + run = { + "phase": run_dir.parent.name, + "run_id": manifest["run_id"], + "group": manifest["arm"]["group"], + "seed": manifest["seed"], + "rollout_seed": manifest["rollout_seed"], + "num_rollout": manifest["num_rollout"], + "rl_kernel_revision": manifest["revisions"]["rl_kernel"], + "vime_revision": manifest["revisions"]["vime"], + "prompt_data_sha256": manifest["prompt_data_sha256"], + "cudagraph_passed": validation["cudagraph"]["passed"], + "validation_passed": validation["passed"], + "offline_tensor_comparison": validation["offline_tensor_comparison"]["status"], + "rounds_observed": len(rows), + } + return run, rows + + +def _finite(rows: list[dict[str, Any]], name: str) -> list[float]: + values = [] + for row in rows: + value = row.get(name) + if isinstance(value, (int, float)) and math.isfinite(float(value)): + values.append(float(value)) + return values + + +def _summaries(rows: list[dict[str, Any]]) -> list[dict[str, Any]]: + grouped: dict[tuple[str, str], list[dict[str, Any]]] = defaultdict(list) + for row in rows: + grouped[(str(row["phase"]), str(row["group"]))].append(row) + summaries = [] + for (phase, group), items in sorted(grouped.items()): + mismatches = _finite(items, "mismatch_count") + tokens = _finite(items, "active_token_count") + mean_abs = _finite(items, "mean_abs_dlogp") + weighted_abs_numerator = sum( + float(item["mean_abs_dlogp"]) * float(item["active_token_count"]) + for item in items + if item.get("mean_abs_dlogp") is not None + and item.get("active_token_count") is not None + ) + token_total = sum(tokens) + summaries.append( + { + "phase": phase, + "group": group, + "run_count": len({str(item["run_id"]) for item in items}), + "round_count": len(items), + "active_token_exposure": token_total, + "bitwise_mismatch_count": sum(mismatches), + "bitwise_mismatch_rate": ( + sum(mismatches) / token_total if token_total else None + ), + "mean_abs_dlogp_token_weighted": ( + weighted_abs_numerator / token_total if token_total else None + ), + "max_abs_dlogp": max(_finite(items, "max_abs_dlogp"), default=None), + "reward_mean": ( + mean(_finite(items, "reward")) if _finite(items, "reward") else None + ), + "truncated_ratio_mean": ( + mean(_finite(items, "truncated_ratio")) + if _finite(items, "truncated_ratio") + else None + ), + "step_time_mean": ( + mean(_finite(items, "step_time")) + if _finite(items, "step_time") + else None + ), + "actor_tokens_per_second_mean": ( + mean(_finite(items, "actor_tokens_per_second")) + if _finite(items, "actor_tokens_per_second") + else None + ), + "unweighted_mean_abs_dlogp": mean(mean_abs) if mean_abs else None, + } + ) + return summaries + + +def _write_csv(path: Path, rows: list[dict[str, Any]]) -> None: + if not rows: + raise ValueError(f"no rows to write to {path}") + with path.open("w", encoding="utf-8", newline="") as handle: + writer = csv.DictWriter(handle, fieldnames=list(rows[0])) + writer.writeheader() + writer.writerows(rows) + + +def main() -> int: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--runs-root", type=Path, required=True) + parser.add_argument("--output-dir", type=Path, required=True) + args = parser.parse_args() + run_dirs = sorted( + path.parent + for path in args.runs_root.rglob("COMPLETE") + if (path.parent / "manifest.json").is_file() + and (path.parent / "run-validation.json").is_file() + and (path.parent / "run.log").is_file() + ) + if not run_dirs: + raise ValueError(f"no sealed runs found under {args.runs_root}") + runs: list[dict[str, Any]] = [] + rounds: list[dict[str, Any]] = [] + for run_dir in run_dirs: + run, run_rounds = _run_rows(run_dir) + runs.append(run) + rounds.extend(run_rounds) + summaries = _summaries(rounds) + args.output_dir.mkdir(parents=True, exist_ok=True) + _write_csv(args.output_dir / "runs.csv", runs) + _write_csv(args.output_dir / "rounds.csv", rounds) + _write_csv(args.output_dir / "summary.csv", summaries) + report = { + "schema_version": "rlkernel.vime_qwen3_8b_tp2_cp2_200.results.v1", + "sealed_run_count": len(runs), + "round_count": len(rounds), + "summaries": summaries, + } + (args.output_dir / "summary.json").write_text( + json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8" + ) + print(json.dumps(report, indent=2, sort_keys=True)) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/experiment_matrix.json b/examples/vime_qwen3_8b_tp2_cp2_200/experiment_matrix.json new file mode 100644 index 00000000..c76771ff --- /dev/null +++ b/examples/vime_qwen3_8b_tp2_cp2_200/experiment_matrix.json @@ -0,0 +1,39 @@ +{ + "schema_version": "rlkernel.vime_qwen3_8b_tp2_cp2_200.matrix.v1", + "groups": { + "G00": { + "framework_use_rollout_logprobs": false, + "attention_case": "P/P", + "ffn_case": "P/P", + "logp_case": "P/P", + "description": "native VIME baseline" + }, + "G10": { + "framework_use_rollout_logprobs": true, + "attention_case": "P/P", + "ffn_case": "P/P", + "logp_case": "P/P", + "description": "VIME framework-level consistency only" + }, + "G01": { + "framework_use_rollout_logprobs": false, + "attention_case": "R/R", + "ffn_case": "R/R", + "logp_case": "R/R", + "description": "RL-Kernel operator-level consistency only" + }, + "G11": { + "framework_use_rollout_logprobs": true, + "attention_case": "R/R", + "ffn_case": "R/R", + "logp_case": "R/R", + "description": "framework-level and operator-level consistency" + } + }, + "phases": { + "smoke": {"num_rollout": 1, "seeds": [1234]}, + "short": {"num_rollout": 8, "seeds": [1234]}, + "precision": {"num_rollout": 30, "seeds": [1234, 2345, 3456]}, + "convergence": {"num_rollout": 200, "seeds": [1234, 2345, 3456]} + } +} diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/plot_results.py b/examples/vime_qwen3_8b_tp2_cp2_200/plot_results.py new file mode 100644 index 00000000..b9a6051f --- /dev/null +++ b/examples/vime_qwen3_8b_tp2_cp2_200/plot_results.py @@ -0,0 +1,192 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Render consistency, learning, and throughput figures from rounds.csv.""" + +from __future__ import annotations + +import argparse +import csv +import math +from collections import defaultdict +from pathlib import Path +from statistics import mean, pstdev +from typing import Any + + +COLORS = {"G00": "#6b7280", "G10": "#2563eb", "G01": "#dc2626", "G11": "#059669"} +LABELS = { + "G00": "G00: production", + "G10": "G10: framework", + "G01": "G01: operator", + "G11": "G11: framework + operator", +} + + +def _parse(value: str) -> Any: + if value == "": + return None + if value in {"True", "False"}: + return value == "True" + try: + return float(value) + except ValueError: + return value + + +def _load(path: Path, phase: str | None) -> list[dict[str, Any]]: + with path.open(encoding="utf-8", newline="") as handle: + rows = [ + {key: _parse(value) for key, value in row.items()} + for row in csv.DictReader(handle) + ] + if phase is not None: + rows = [row for row in rows if row["phase"] == phase] + if not rows: + raise ValueError("no rows match the requested phase") + return rows + + +def _series( + rows: list[dict[str, Any]], metric: str +) -> dict[str, tuple[list[int], list[float], list[float]]]: + grouped: dict[tuple[str, int], list[float]] = defaultdict(list) + for row in rows: + value = row.get(metric) + if isinstance(value, (int, float)) and math.isfinite(float(value)): + grouped[(str(row["group"]), int(row["step"]))].append(float(value)) + result = {} + for group in sorted({key[0] for key in grouped}): + steps = sorted(step for candidate, step in grouped if candidate == group) + centers = [mean(grouped[(group, step)]) for step in steps] + spreads = [pstdev(grouped[(group, step)]) for step in steps] + result[group] = (steps, centers, spreads) + return result + + +def _moving_average(values: list[float], window: int) -> list[float]: + return [ + mean(values[max(0, index - window + 1) : index + 1]) + for index in range(len(values)) + ] + + +def _plot_series(axis, rows, metric, title, *, moving_average=1, symlog=False): + for group, (steps, values, spreads) in _series(rows, metric).items(): + centers = _moving_average(values, moving_average) + color = COLORS.get(group) + axis.plot( + steps, centers, label=LABELS.get(group, group), color=color, linewidth=2 + ) + if any(spreads): + lower = [ + center - spread for center, spread in zip(centers, spreads, strict=True) + ] + upper = [ + center + spread for center, spread in zip(centers, spreads, strict=True) + ] + axis.fill_between(steps, lower, upper, color=color, alpha=0.15) + if symlog: + axis.set_yscale("symlog", linthresh=1e-9) + axis.set_title(title) + axis.set_xlabel("training step") + axis.grid(alpha=0.25) + + +def _mismatch_rate_rows(rows: list[dict[str, Any]]) -> list[dict[str, Any]]: + result = [] + for row in rows: + updated = dict(row) + mismatch = row.get("mismatch_count") + tokens = row.get("active_token_count") + updated["mismatch_rate"] = ( + float(mismatch) / float(tokens) + if isinstance(mismatch, (int, float)) + and isinstance(tokens, (int, float)) + and tokens + else None + ) + result.append(updated) + return result + + +def _save_consistency(rows, output, dpi): + import matplotlib.pyplot as plt + + derived = _mismatch_rate_rows(rows) + figure, axes = plt.subplots(2, 2, figsize=(13, 8), constrained_layout=True) + _plot_series( + axes[0, 0], + derived, + "mean_abs_dlogp", + "Mean |train logp - rollout logp|", + symlog=True, + ) + _plot_series(axes[0, 1], derived, "max_abs_dlogp", "Maximum |Δlogp|", symlog=True) + _plot_series(axes[1, 0], derived, "mismatch_rate", "Bitwise mismatch rate") + _plot_series( + axes[1, 1], + derived, + "mismatch_count", + "Bitwise mismatch count per step", + symlog=True, + ) + handles, labels = axes[0, 0].get_legend_handles_labels() + figure.legend(handles, labels, loc="outside upper center", ncol=max(1, len(labels))) + figure.savefig(output / "consistency.png", dpi=dpi) + plt.close(figure) + + +def _save_learning(rows, output, dpi, window): + import matplotlib.pyplot as plt + + figure, axes = plt.subplots(2, 2, figsize=(13, 8), constrained_layout=True) + _plot_series( + axes[0, 0], + rows, + "raw_reward", + f"Raw reward ({window}-step MA)", + moving_average=window, + ) + _plot_series(axes[0, 1], rows, "ppo_kl", "Training PPO KL", symlog=True) + _plot_series(axes[1, 0], rows, "entropy", "Token entropy") + _plot_series(axes[1, 1], rows, "truncated_ratio", "Truncated response ratio") + handles, labels = axes[0, 0].get_legend_handles_labels() + figure.legend(handles, labels, loc="outside upper center", ncol=max(1, len(labels))) + figure.savefig(output / "learning.png", dpi=dpi) + plt.close(figure) + + +def _save_performance(rows, output, dpi): + import matplotlib.pyplot as plt + + figure, axes = plt.subplots(1, 3, figsize=(15, 4.5), constrained_layout=True) + _plot_series(axes[0], rows, "step_time", "End-to-end step time (s)") + _plot_series(axes[1], rows, "rollout_time", "Rollout time (s)") + _plot_series(axes[2], rows, "actor_tokens_per_second", "Actor tokens/s") + handles, labels = axes[0].get_legend_handles_labels() + figure.legend(handles, labels, loc="outside upper center", ncol=max(1, len(labels))) + figure.savefig(output / "performance.png", dpi=dpi) + plt.close(figure) + + +def main() -> int: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--rounds-csv", type=Path, required=True) + parser.add_argument("--output-dir", type=Path, required=True) + parser.add_argument("--phase", default=None) + parser.add_argument("--moving-average", type=int, default=10) + parser.add_argument("--dpi", type=int, default=180) + args = parser.parse_args() + if args.moving_average <= 0: + raise ValueError("--moving-average must be positive") + rows = _load(args.rounds_csv, args.phase) + args.output_dir.mkdir(parents=True, exist_ok=True) + _save_consistency(rows, args.output_dir, args.dpi) + _save_learning(rows, args.output_dir, args.dpi, args.moving_average) + _save_performance(rows, args.output_dir, args.dpi) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/prepare_dapo_data.py b/examples/vime_qwen3_8b_tp2_cp2_200/prepare_dapo_data.py new file mode 100644 index 00000000..8027b182 --- /dev/null +++ b/examples/vime_qwen3_8b_tp2_cp2_200/prepare_dapo_data.py @@ -0,0 +1,126 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Download and convert DAPO-Math-17k to VIME prompt/label JSONL.""" + +from __future__ import annotations + +import argparse +import hashlib +import json +import urllib.request +from pathlib import Path +from typing import Any + + +DEFAULT_URL = ( + "https://huggingface.co/datasets/BytedTsinghua-SIA/DAPO-Math-17k/" + "resolve/main/data/train-00000-of-00001.parquet" +) + + +def _sha256(path: Path) -> str: + digest = hashlib.sha256() + with path.open("rb") as handle: + for chunk in iter(lambda: handle.read(8 * 1024 * 1024), b""): + digest.update(chunk) + return digest.hexdigest() + + +def _download(url: str, destination: Path) -> None: + destination.parent.mkdir(parents=True, exist_ok=True) + partial = destination.with_suffix(destination.suffix + ".partial") + with urllib.request.urlopen(url) as response, partial.open("wb") as output: + while chunk := response.read(8 * 1024 * 1024): + output.write(chunk) + partial.replace(destination) + + +def _index(row: dict[str, Any]) -> str: + extra = row.get("extra_info") or {} + value = extra.get("index") if isinstance(extra, dict) else None + if not isinstance(value, str) or not value: + raise ValueError("DAPO row is missing extra_info.index") + return value + + +def convert(source: Path, output: Path) -> dict[str, Any]: + try: + import pyarrow.parquet as parquet + except ImportError as exc: + raise RuntimeError("prepare_dapo_data.py requires pyarrow") from exc + + output.parent.mkdir(parents=True, exist_ok=True) + partial = output.with_suffix(output.suffix + ".partial") + seen: set[str] = set() + rows_read = 0 + rows_written = 0 + with partial.open("w", encoding="utf-8") as destination: + parquet_file = parquet.ParquetFile(source) + for batch in parquet_file.iter_batches( + batch_size=4096, + columns=["data_source", "prompt", "ability", "reward_model", "extra_info"], + ): + for row in batch.to_pylist(): + rows_read += 1 + row_id = _index(row) + if row_id in seen: + continue + seen.add(row_id) + reward_model = row.get("reward_model") or {} + label = reward_model.get("ground_truth") + prompt = row.get("prompt") + if ( + not isinstance(prompt, list) + or not isinstance(label, str) + or not label + ): + raise ValueError(f"invalid prompt or ground truth for row {row_id}") + record = { + "prompt": prompt, + "label": label, + "data_source": row.get("data_source"), + "ability": row.get("ability"), + "source_index": row_id, + "reward_style": reward_model.get("style"), + } + destination.write( + json.dumps(record, ensure_ascii=False, separators=(",", ":")) + ) + destination.write("\n") + rows_written += 1 + partial.replace(output) + return { + "schema_version": "rlkernel.dapo_math_17k.v1", + "source": str(source.resolve()), + "source_sha256": _sha256(source), + "rows_read": rows_read, + "rows_written": rows_written, + "duplicates_removed": rows_read - rows_written, + "output": str(output.resolve()), + "output_sha256": _sha256(output), + } + + +def main() -> int: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--source", type=Path, required=True) + parser.add_argument("--output", type=Path, required=True) + parser.add_argument("--download-url", default=DEFAULT_URL) + parser.add_argument("--download", action="store_true") + args = parser.parse_args() + if args.download and not args.source.exists(): + _download(args.download_url, args.source) + if not args.source.is_file(): + raise FileNotFoundError(args.source) + manifest = convert(args.source, args.output) + manifest_path = args.output.with_suffix(args.output.suffix + ".manifest.json") + manifest_path.write_text( + json.dumps(manifest, indent=2, sort_keys=True) + "\n", encoding="utf-8" + ) + print(json.dumps(manifest, indent=2, sort_keys=True)) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/qwen3_8b_multiround_math.jsonl b/examples/vime_qwen3_8b_tp2_cp2_200/qwen3_8b_multiround_math.jsonl new file mode 100644 index 00000000..64d5ae24 --- /dev/null +++ b/examples/vime_qwen3_8b_tp2_cp2_200/qwen3_8b_multiround_math.jsonl @@ -0,0 +1,32 @@ +{"prompt":[{"role":"user","content":"Solve 1+1. Give a concise solution and end with the final answer in \\boxed{}."}],"label":"2"} +{"prompt":[{"role":"user","content":"Solve 12*13. Give a concise solution and end with the final answer in \\boxed{}."}],"label":"156"} +{"prompt":[{"role":"user","content":"Compute 3/4 + 1/8. Give a concise solution and end with the final answer in \\boxed{}."}],"label":"7/8"} +{"prompt":[{"role":"user","content":"Solve 2x+3=11. Give a concise solution and end with the final answer in \\boxed{}."}],"label":"4"} +{"prompt":[{"role":"user","content":"What is 15 percent of 80? Give a concise solution and end with the final answer in \\boxed{}."}],"label":"12"} +{"prompt":[{"role":"user","content":"A rectangle has sides 7 and 4. What is its perimeter? Give a concise solution and end with the final answer in \\boxed{}."}],"label":"22"} +{"prompt":[{"role":"user","content":"What is the average of 6, 8, and 10? Give a concise solution and end with the final answer in \\boxed{}."}],"label":"8"} +{"prompt":[{"role":"user","content":"Compute 2^5+3. Give a concise solution and end with the final answer in \\boxed{}."}],"label":"35"} +{"prompt":[{"role":"user","content":"What is the positive square root of 144? Give a concise solution and end with the final answer in \\boxed{}."}],"label":"12"} +{"prompt":[{"role":"user","content":"If x^2=49 and x is positive, find x. Give a concise solution and end with the final answer in \\boxed{}."}],"label":"7"} +{"prompt":[{"role":"user","content":"Compute 17*19. Give a concise solution and end with the final answer in \\boxed{}."}],"label":"323"} +{"prompt":[{"role":"user","content":"Compute (2/3)/(4/5). Give a concise solution and end with the final answer in \\boxed{}."}],"label":"5/6"} +{"prompt":[{"role":"user","content":"An item costs 80 and is discounted by 25 percent. What is the sale price? Give a concise solution and end with the final answer in \\boxed{}."}],"label":"60"} +{"prompt":[{"role":"user","content":"What is the probability of getting heads twice in two fair coin flips? Give a concise solution and end with the final answer in \\boxed{}."}],"label":"1/4"} +{"prompt":[{"role":"user","content":"The sequence is 2,5,8,11,... What is its 10th term? Give a concise solution and end with the final answer in \\boxed{}."}],"label":"29"} +{"prompt":[{"role":"user","content":"Solve 3x+2=20. Give a concise solution and end with the final answer in \\boxed{}."}],"label":"6"} +{"prompt":[{"role":"user","content":"A triangle has base 10 and height 6. What is its area? Give a concise solution and end with the final answer in \\boxed{}."}],"label":"30"} +{"prompt":[{"role":"user","content":"Five workers finish a job in 12 days at the same rate. How many days would ten workers need? Give a concise solution and end with the final answer in \\boxed{}."}],"label":"6"} +{"prompt":[{"role":"user","content":"Write 0.125 as a reduced fraction. Give a concise solution and end with the final answer in \\boxed{}."}],"label":"1/8"} +{"prompt":[{"role":"user","content":"Solve x/3+2=7. Give a concise solution and end with the final answer in \\boxed{}."}],"label":"15"} +{"prompt":[{"role":"user","content":"What is the sum of the first 10 positive integers? Give a concise solution and end with the final answer in \\boxed{}."}],"label":"55"} +{"prompt":[{"role":"user","content":"What is 30 percent of 250? Give a concise solution and end with the final answer in \\boxed{}."}],"label":"75"} +{"prompt":[{"role":"user","content":"A right triangle has legs 3 and 4. What is its hypotenuse? Give a concise solution and end with the final answer in \\boxed{}."}],"label":"5"} +{"prompt":[{"role":"user","content":"Two numbers are in the ratio 2:3 and sum to 25. What is the larger number? Give a concise solution and end with the final answer in \\boxed{}."}],"label":"15"} +{"prompt":[{"role":"user","content":"Reduce 18/24 to lowest terms. Give a concise solution and end with the final answer in \\boxed{}."}],"label":"3/4"} +{"prompt":[{"role":"user","content":"Compute 4^3-2^3. Give a concise solution and end with the final answer in \\boxed{}."}],"label":"56"} +{"prompt":[{"role":"user","content":"A car travels at 40 km/h for 2.5 hours. How far does it travel? Give a concise solution and end with the final answer in \\boxed{}."}],"label":"100"} +{"prompt":[{"role":"user","content":"What is the probability that a fair six-sided die shows an even number? Give a concise solution and end with the final answer in \\boxed{}."}],"label":"1/2"} +{"prompt":[{"role":"user","content":"Compute 9^2-7^2. Give a concise solution and end with the final answer in \\boxed{}."}],"label":"32"} +{"prompt":[{"role":"user","content":"Solve 5x-4=31. Give a concise solution and end with the final answer in \\boxed{}."}],"label":"7"} +{"prompt":[{"role":"user","content":"What is the sum of the first 20 positive integers? Give a concise solution and end with the final answer in \\boxed{}."}],"label":"210"} +{"prompt":[{"role":"user","content":"If a number is increased by 7 to become 19, what was the original number? Give a concise solution and end with the final answer in \\boxed{}."}],"label":"12"} diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/qwen3_8b_tp2_cp2.json b/examples/vime_qwen3_8b_tp2_cp2_200/qwen3_8b_tp2_cp2.json new file mode 100644 index 00000000..2351e554 --- /dev/null +++ b/examples/vime_qwen3_8b_tp2_cp2_200/qwen3_8b_tp2_cp2.json @@ -0,0 +1,43 @@ +{ + "schema_version": "rlkernel.vime_qwen3_8b_tp2_cp2.v1", + "model": "Qwen/Qwen3-8B", + "training": { + "framework": "megatron", + "tensor_model_parallel_size": 2, + "context_parallel_size": 2, + "pipeline_model_parallel_size": 1, + "world_size": 4, + "dtype": "bf16" + }, + "rollout": { + "framework": "vllm", + "top_p": 1.0, + "logprobs_mode": "processed_logprobs" + }, + "linear_logp_provider": { + "path": "rl_engine.integrations.vime.linear_logp_provider.provider", + "mode": "strict", + "backend_id": "pytorch-vocab-parallel-logp-ws2", + "real_vocab_size": 151936, + "padded_vocab_size": 152064, + "num_vocab_tiles": 64 + }, + "operator_evidence": { + "logp": { + "training": "rl-kernel-provider", + "rollout": "vllm-native-processed-logprobs", + "required_runtime_marker": "linear_logp provider active" + }, + "attention": { + "training": "runtime-readback-required", + "rollout": "runtime-readback-required", + "status": "not_claimed_without_Megatron_and_vLLM_readback" + }, + "ffn": { + "training": "runtime-readback-required", + "rollout": "runtime-readback-required", + "status": "not_claimed_without_Megatron_and_vLLM_readback" + } + }, + "vime_script": "scripts/run-qwen3-8B-rlkernel-tp2-cp2.sh" +} diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/run.py b/examples/vime_qwen3_8b_tp2_cp2_200/run.py new file mode 100644 index 00000000..464fec13 --- /dev/null +++ b/examples/vime_qwen3_8b_tp2_cp2_200/run.py @@ -0,0 +1,315 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Run and archive the Vime Qwen3-8B TP=2/CP=2 validation entry point. + +This is an integration example, not a synthetic pass generator. A dry run +only records the exact launch contract. ``--run`` executes Vime and records +whether the strict RL-Kernel provider was actually observed in the log. The +report deliberately leaves attention/FFN unclaimed until both framework +readbacks are supplied. +""" + +from __future__ import annotations + +import argparse +import json +import os +import subprocess +from datetime import datetime, timezone +from pathlib import Path +from typing import Any, Mapping + +DEFAULT_CONFIG = Path(__file__).with_name("qwen3_8b_tp2_cp2.json") +PROVIDER_MARKER = "linear_logp provider active" +FALLBACK_MARKERS = ("using native path", "fallback=True", "fallback=true") +RUNTIME_EVIDENCE_SCHEMA = "rlkernel.operator_runtime_evidence.v1" +_OPERATOR_METRICS = { + "attention": ( + "out_max_abs", + "lse_max_abs", + "dq_max_abs", + "dk_max_abs", + "dv_max_abs", + ), + "ffn": ("out_max_abs", "dx_max_abs", "dw_max_abs"), +} + + +def load_config(path: Path) -> dict[str, Any]: + with path.open(encoding="utf-8") as handle: + value = json.load(handle) + if not isinstance(value, dict): + raise ValueError("example config must contain a JSON object") + return value + + +def validate_config(config: Mapping[str, Any]) -> None: + training = config.get("training") + rollout = config.get("rollout") + provider = config.get("linear_logp_provider") + if ( + not isinstance(training, Mapping) + or not isinstance(rollout, Mapping) + or not isinstance(provider, Mapping) + ): + raise ValueError( + "training, rollout, and linear_logp_provider sections are required" + ) + expected = { + "tensor_model_parallel_size": 2, + "context_parallel_size": 2, + "pipeline_model_parallel_size": 1, + "world_size": 4, + } + for name, value in expected.items(): + if training.get(name) != value: + raise ValueError(f"training.{name} must be {value!r}") + if rollout.get("top_p") != 1.0: + raise ValueError( + "rollout.top_p must remain 1.0 for the strict provider contract" + ) + if provider.get("mode") != "strict": + raise ValueError("linear_logp_provider.mode must be strict") + if ( + provider.get("path") + != "rl_engine.integrations.vime.linear_logp_provider.provider" + ): + raise ValueError("example must use the RL-Kernel Vime provider") + if provider.get("backend_id") != "pytorch-vocab-parallel-logp-ws2": + raise ValueError("example must pin the WS2 vocab-parallel backend") + + +def load_runtime_evidence(path: Path | None) -> dict[str, Any] | None: + """Load post-execution readback without treating configuration as evidence.""" + + if path is None: + return None + with path.open(encoding="utf-8") as handle: + value = json.load(handle) + if ( + not isinstance(value, dict) + or value.get("schema_version") != RUNTIME_EVIDENCE_SCHEMA + ): + raise ValueError( + f"runtime evidence must use schema {RUNTIME_EVIDENCE_SCHEMA!r}" + ) + return value + + +def _operator_evidence_status(evidence: Mapping[str, Any] | None, operator: str) -> str: + if evidence is None: + return "unclaimed" + operators = evidence.get("operators") + item = operators.get(operator) if isinstance(operators, Mapping) else None + if not isinstance(item, Mapping): + return "unclaimed" + training = item.get("training") + rollout = item.get("rollout") + comparison = item.get("comparison") + if not isinstance(training, Mapping) or not isinstance(rollout, Mapping): + return "unclaimed" + if not isinstance(comparison, Mapping) or comparison.get("passed") is not True: + return "failed" + required_identity = ("implementation_id", "backend_id", "contract_id") + if any( + not training.get(name) or not rollout.get(name) for name in required_identity + ): + return "failed" + if training["implementation_id"] != rollout["implementation_id"]: + return "failed" + for metric in _OPERATOR_METRICS[operator]: + value = comparison.get(metric) + if ( + not isinstance(value, (int, float)) + or isinstance(value, bool) + or value != 0.0 + ): + return "failed" + return "passed" + + +def validate_runtime_evidence(evidence: Mapping[str, Any] | None) -> None: + """Reject malformed evidence before it can affect a report.""" + + if evidence is None: + return + for operator in _OPERATOR_METRICS: + status = _operator_evidence_status(evidence, operator) + if status == "failed": + raise ValueError( + f"runtime evidence for {operator} is incomplete or non-zero" + ) + + +def _revision(path: Path) -> str | None: + try: + result = subprocess.run( + ["git", "-C", str(path), "rev-parse", "HEAD"], + check=True, + capture_output=True, + text=True, + ) + except (OSError, subprocess.CalledProcessError): + return None + return result.stdout.strip() or None + + +def build_environment(vime_root: Path, rl_kernel_root: Path) -> dict[str, str]: + env = dict(os.environ) + existing = [str(vime_root), str(rl_kernel_root), "/root/Megatron-LM"] + if env.get("PYTHONPATH"): + existing.append(env["PYTHONPATH"]) + env["PYTHONPATH"] = os.pathsep.join(existing) + env["RL_KERNEL_ROOT"] = str(rl_kernel_root) + env["TP_SIZE"] = "2" + env["CP_SIZE"] = "2" + env["ROLLOUT_TOP_P"] = "1.0" + return env + + +def build_command(config: Mapping[str, Any], vime_root: Path) -> list[str]: + script = vime_root / str(config.get("vime_script", "")) + if not script.is_file(): + raise FileNotFoundError(f"Vime entry script does not exist: {script}") + return ["bash", str(script)] + + +def build_report( + config: Mapping[str, Any], + *, + vime_root: Path, + rl_kernel_root: Path, + command: list[str], + status: str, + returncode: int | None, + log_text: str, + log_path: Path | None, + runtime_evidence: Mapping[str, Any] | None = None, + runtime_evidence_path: Path | None = None, +) -> dict[str, Any]: + provider_active = PROVIDER_MARKER in log_text + fallback_observed = any(marker in log_text for marker in FALLBACK_MARKERS) + strict_provider_passed = ( + status == "passed" and provider_active and not fallback_observed + ) + effective_status = ( + "passed" + if strict_provider_passed + else ("failed" if status == "passed" else status) + ) + attention_status = _operator_evidence_status(runtime_evidence, "attention") + ffn_status = _operator_evidence_status(runtime_evidence, "ffn") + return { + "schema_version": "rlkernel.vime_validation_report.v1", + "created_at": datetime.now(timezone.utc).isoformat(), + "status": effective_status, + "claim_boundary": { + "qwen3_8b_tp2_cp2_vime_training": strict_provider_passed, + "attention_train_infer_consistency": attention_status, + "ffn_train_infer_consistency": ffn_status, + "reason": ( + "attention and FFN require executed Megatron/vLLM runtime readbacks; " + "the evidence contract accepts only exact-zero comparison metrics" + ), + }, + "config": dict(config), + "topology": config["training"], + "provider": { + "configured_path": config["linear_logp_provider"]["path"], + "configured_mode": config["linear_logp_provider"]["mode"], + "backend_id": config["linear_logp_provider"]["backend_id"], + "active_observed": provider_active, + "fallback_observed": fallback_observed, + }, + "command": command, + "returncode": returncode, + "artifacts": { + "log": None if log_path is None else str(log_path), + "runtime_evidence": ( + None if runtime_evidence_path is None else str(runtime_evidence_path) + ), + }, + "runtime_evidence": ( + None if runtime_evidence is None else dict(runtime_evidence) + ), + "revisions": { + "vime": _revision(vime_root), + "rl_kernel": _revision(rl_kernel_root), + }, + } + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--config", type=Path, default=DEFAULT_CONFIG) + parser.add_argument( + "--vime-root", type=Path, default=Path(os.environ.get("VIME_ROOT", ".")) + ) + parser.add_argument( + "--rl-kernel-root", + type=Path, + default=Path(os.environ.get("RL_KERNEL_ROOT", ".")), + ) + parser.add_argument( + "--output", type=Path, default=Path("qwen3_8b_tp2_cp2.validation.json") + ) + parser.add_argument( + "--runtime-evidence", + type=Path, + default=None, + help="post-execution Megatron/vLLM operator readback JSON (strict exact-zero contract)", + ) + parser.add_argument("--run", action="store_true", help="execute the Vime script") + args = parser.parse_args(argv) + + config = load_config(args.config) + validate_config(config) + runtime_evidence = load_runtime_evidence(args.runtime_evidence) + validate_runtime_evidence(runtime_evidence) + vime_root = args.vime_root.resolve() + rl_kernel_root = args.rl_kernel_root.resolve() + command = build_command(config, vime_root) + + status = "not_run" + returncode: int | None = None + log_text = "" + log_path: Path | None = None + if args.run: + args.output.parent.mkdir(parents=True, exist_ok=True) + log_path = args.output.with_suffix(".log") + env = build_environment(vime_root, rl_kernel_root) + with log_path.open("w", encoding="utf-8") as log_handle: + process = subprocess.run( + command, + cwd=vime_root, + env=env, + stdout=log_handle, + stderr=subprocess.STDOUT, + ) + returncode = process.returncode + log_text = log_path.read_text(encoding="utf-8", errors="replace") + status = "passed" if returncode == 0 else "failed" + + report = build_report( + config, + vime_root=vime_root, + rl_kernel_root=rl_kernel_root, + command=command, + status=status, + returncode=returncode, + log_text=log_text, + log_path=log_path, + runtime_evidence=runtime_evidence, + runtime_evidence_path=args.runtime_evidence, + ) + args.output.parent.mkdir(parents=True, exist_ok=True) + args.output.write_text( + json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8" + ) + print(json.dumps(report, indent=2, sort_keys=True)) + return 0 if report["status"] in {"passed", "not_run"} else 1 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py b/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py new file mode 100755 index 00000000..46201aae --- /dev/null +++ b/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py @@ -0,0 +1,500 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Submit one append-only VIME × RL-Kernel experiment arm to Ray.""" + +from __future__ import annotations + +import argparse +import hashlib +import json +import os +import re +import subprocess +import sys +from dataclasses import asdict, dataclass +from datetime import datetime, timezone +from pathlib import Path +from typing import Any + + +@dataclass(frozen=True) +class Arm: + group: str + framework_use_rollout_logprobs: bool + attention_case: str + ffn_case: str + logp_case: str + description: str + + +ARMS = { + "G00": Arm("G00", False, "P/P", "P/P", "P/P", "native VIME baseline"), + "G10": Arm( + "G10", True, "P/P", "P/P", "P/P", "VIME framework-level consistency only" + ), + "G01": Arm( + "G01", False, "R/R", "R/R", "R/R", "RL-Kernel operator-level consistency only" + ), + "G11": Arm( + "G11", + True, + "R/R", + "R/R", + "R/R", + "framework-level and operator-level consistency", + ), +} + +MODEL_ARGS = ( + "--swiglu", + "--num-layers", + "36", + "--hidden-size", + "4096", + "--ffn-hidden-size", + "12288", + "--num-attention-heads", + "32", + "--group-query-attention", + "--num-query-groups", + "8", + "--use-rotary-position-embeddings", + "--disable-bias-linear", + "--normalization", + "RMSNorm", + "--norm-epsilon", + "1e-6", + "--rotary-base", + "1000000", + "--vocab-size", + "151936", + "--kv-channels", + "128", + "--qk-layernorm", + "--untie-embeddings-and-output-weights", +) + + +def _path(value: str | None, label: str) -> Path: + if not value: + raise ValueError(f"{label} is required (argument or environment variable)") + path = Path(value).expanduser().resolve() + if not path.exists(): + raise FileNotFoundError(f"{label} does not exist: {path}") + return path + + +def _sha256(path: Path) -> str: + digest = hashlib.sha256() + with path.open("rb") as handle: + for chunk in iter(lambda: handle.read(1024 * 1024), b""): + digest.update(chunk) + return digest.hexdigest() + + +def _revision(path: Path) -> str: + return subprocess.run( + ["git", "-C", str(path), "rev-parse", "HEAD"], + check=True, + capture_output=True, + text=True, + ).stdout.strip() + + +def _repository_state(path: Path) -> dict[str, Any]: + status = subprocess.run( + ["git", "-C", str(path), "status", "--porcelain=v1", "--untracked-files=all"], + check=True, + capture_output=True, + text=True, + ).stdout.splitlines() + tracked_diff = subprocess.run( + ["git", "-C", str(path), "diff", "--binary", "HEAD"], + check=True, + capture_output=True, + ).stdout + return { + "revision": _revision(path), + "dirty": bool(status), + "status": status, + "tracked_diff_sha256": hashlib.sha256(tracked_diff).hexdigest(), + } + + +def _gpu_inventory() -> list[dict[str, str]]: + result = subprocess.run( + [ + "nvidia-smi", + "--query-gpu=index,name,memory.total,driver_version", + "--format=csv,noheader,nounits", + ], + check=True, + capture_output=True, + text=True, + ) + inventory = [] + for line in result.stdout.splitlines(): + index, name, memory, driver = (field.strip() for field in line.split(",", 3)) + inventory.append( + {"index": index, "name": name, "memory_mib": memory, "driver": driver} + ) + return inventory + + +def _default_run_id(group: str, num_rollout: int, seed: int) -> str: + stamp = datetime.now(timezone.utc).strftime("%Y%m%dT%H%M%SZ") + return f"{group.lower()}-n{num_rollout}-s{seed}-{stamp}" + + +def _write_json(path: Path, value: Any) -> None: + path.write_text( + json.dumps(value, indent=2, sort_keys=True) + "\n", encoding="utf-8" + ) + + +def build_parser() -> argparse.ArgumentParser: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--group", choices=tuple(ARMS), required=True) + parser.add_argument("--num-rollout", type=int, required=True) + parser.add_argument("--seed", type=int, default=1234) + parser.add_argument("--rollout-seed", type=int, default=42) + parser.add_argument("--run-id", default=None) + parser.add_argument("--output-root", type=Path, required=True) + parser.add_argument("--rl-kernel-root", default=os.environ.get("RL_KERNEL_ROOT")) + parser.add_argument("--vime-root", default=os.environ.get("VIME_ROOT")) + parser.add_argument("--megatron-root", default=os.environ.get("MEGATRON_ROOT")) + parser.add_argument("--model-root", default=os.environ.get("MODEL_ROOT")) + parser.add_argument("--ref-load", default=os.environ.get("TORCH_DIST_ROOT")) + parser.add_argument("--prompt-data", default=os.environ.get("PROMPT_DATA")) + parser.add_argument( + "--python", default=os.environ.get("RL_KERNEL_REAL_PYTHON", sys.executable) + ) + parser.add_argument("--ray-bin", default=os.environ.get("RAY_BIN")) + parser.add_argument( + "--ray-address", + default=os.environ.get("RAY_API_SERVER_ADDRESS", "http://127.0.0.1:8265"), + ) + parser.add_argument("--rollout-batch-size", type=int, default=4) + parser.add_argument("--n-samples-per-prompt", type=int, default=2) + parser.add_argument("--global-batch-size", type=int, default=8) + parser.add_argument("--max-response-len", type=int, default=512) + parser.add_argument("--max-tokens-per-gpu", type=int, default=2048) + parser.add_argument("--vllm-gpu-memory-utilization", type=float, default=0.4) + parser.add_argument("--extra-pythonpath", action="append", default=[]) + parser.add_argument( + "--ld-library-path", default=os.environ.get("LD_LIBRARY_PATH", "") + ) + parser.add_argument( + "--wait", action="store_true", help="stream logs until the Ray job exits" + ) + parser.add_argument( + "--allow-dirty", + action="store_true", + help="permit development runs from dirty repository states", + ) + parser.add_argument( + "--dry-run", action="store_true", help="write the manifest without submitting" + ) + return parser + + +def main(argv: list[str] | None = None) -> int: + args = build_parser().parse_args(argv) + if args.num_rollout <= 0: + raise ValueError("--num-rollout must be positive") + arm = ARMS[args.group] + + script_dir = Path(__file__).resolve().parent + rl_kernel_root = _path(args.rl_kernel_root, "RL-Kernel root") + vime_root = _path(args.vime_root, "VIME root") + megatron_root = _path(args.megatron_root, "Megatron root") + model_root = _path(args.model_root, "HF model root") + ref_load = _path(args.ref_load, "Megatron torch-dist checkpoint") + prompt_data = _path(args.prompt_data, "prompt data") + python = _path(args.python, "Python executable") + ray_bin = _path(args.ray_bin or str(python.parent / "ray"), "Ray executable") + entrypoint = _path( + str(script_dir / "aligned_python_entrypoint.sh"), "aligned Python entrypoint" + ) + repository_state = { + "rl_kernel": _repository_state(rl_kernel_root), + "vime": _repository_state(vime_root), + "megatron": _repository_state(megatron_root), + } + dirty_repositories = [ + name for name, state in repository_state.items() if state["dirty"] + ] + if dirty_repositories and not args.allow_dirty: + raise RuntimeError( + "refusing a non-reproducible run from dirty repositories: " + + ", ".join(dirty_repositories) + + "; commit the changes or pass --allow-dirty for a development run" + ) + + run_id = args.run_id or _default_run_id(args.group, args.num_rollout, args.seed) + if not re.fullmatch(r"[A-Za-z0-9][A-Za-z0-9._-]*", run_id): + raise ValueError( + "--run-id may contain only letters, digits, dot, underscore, and dash" + ) + run_dir = args.output_root.expanduser().resolve() / run_id + run_dir.mkdir(parents=True, exist_ok=False) + + pythonpath = [str(rl_kernel_root), str(vime_root), str(megatron_root)] + pythonpath.extend( + str(Path(item).expanduser().resolve()) for item in args.extra_pythonpath + ) + if os.environ.get("PYTHONPATH"): + pythonpath.extend( + item for item in os.environ["PYTHONPATH"].split(os.pathsep) if item + ) + + env_vars = { + "RL_KERNEL_ROOT": str(rl_kernel_root), + "RL_KERNEL_REAL_PYTHON": str(python), + "PYTHONPATH": os.pathsep.join(dict.fromkeys(pythonpath)), + "LD_LIBRARY_PATH": args.ld_library_path, + "PYTHONUNBUFFERED": "1", + "PYTHONHASHSEED": str(args.seed), + "CUDA_DEVICE_MAX_CONNECTIONS": "1", + "NCCL_ALGO": "Ring", + "NVTE_ALLOW_NONDETERMINISTIC_ALGO": "0", + "CUBLAS_WORKSPACE_CONFIG": ":16:8", + "CUBLASLT_WORKSPACE_SIZE": "1", + "VLLM_BATCH_INVARIANT": "1", + "RL_KERNEL_VLLM_INTEGRATION": "1", + "RL_KERNEL_CUDA_ONLY": "1", + "VIME_RL_KERNEL_STRICT": "1", + "RL_KERNEL_ATTENTION_CASE": arm.attention_case, + "RL_KERNEL_FFN_CASE": arm.ffn_case, + "RL_KERNEL_LOGP_CASE": arm.logp_case, + "RL_KERNEL_READBACK_DIR": str(run_dir / "readbacks"), + "RL_KERNEL_VLLM_REAL_VOCAB_SIZE": "151936", + "RL_KERNEL_VLLM_PADDED_VOCAB_SIZE": "152064", + "RL_KERNEL_VLLM_TEMPERATURE": "1.0", + "RL_KERNEL_VLLM_CUDAGRAPH_MAX_CAPTURE_SIZE": str( + args.rollout_batch_size * args.n_samples_per_prompt + ), + "RL_KERNEL_SEED": str(args.seed), + "RL_KERNEL_ROLLOUT_SEED": str(args.rollout_seed), + "RL_KERNEL_RUN_ID": run_id, + } + if os.environ.get("CUDNN_FRONTEND_CUDART_LIB_NAME"): + env_vars["CUDNN_FRONTEND_CUDART_LIB_NAME"] = os.environ[ + "CUDNN_FRONTEND_CUDART_LIB_NAME" + ] + + train_command = [ + str(entrypoint), + "train.py", + "--train-backend", + "megatron", + "--actor-num-nodes", + "1", + "--actor-num-gpus-per-node", + "4", + "--rollout-num-gpus", + "4", + *MODEL_ARGS, + "--hf-checkpoint", + str(model_root), + "--ref-load", + str(ref_load), + "--load", + str(run_dir / "initial-load"), + "--prompt-data", + str(prompt_data), + "--input-key", + "prompt", + "--label-key", + "label", + "--apply-chat-template", + "--rollout-shuffle", + "--rm-type", + "deepscaler", + "--num-rollout", + str(args.num_rollout), + "--rollout-batch-size", + str(args.rollout_batch_size), + "--n-samples-per-prompt", + str(args.n_samples_per_prompt), + "--rollout-max-response-len", + str(args.max_response_len), + "--rollout-temperature", + "1.0", + "--rollout-top-p", + "1.0", + "--global-batch-size", + str(args.global_batch_size), + "--balance-data", + "--tensor-model-parallel-size", + "2", + "--context-parallel-size", + "2", + "--cp-comm-type", + "p2p", + "--pipeline-model-parallel-size", + "1", + "--expert-model-parallel-size", + "1", + "--expert-tensor-parallel-size", + "1", + "--use-dynamic-batch-size", + "--max-tokens-per-gpu", + str(args.max_tokens_per_gpu), + "--custom-megatron-init-path", + "rl_engine.integrations.megatron_runtime.initialize_from_environment", + "--save-debug-train-data", + str(run_dir / "train-data" / "{rollout_id}.rank{rank}.pt"), + "--update-weight-mode", + "full", + "--update-weight-transport", + "disk", + "--update-weight-disk-dir", + str(run_dir / "weight-updates"), + "--linear-logp-provider", + "rl_engine.integrations.vime.linear_logp_provider.provider", + "--linear-logp-provider-mode", + "strict", + "--no-save-optim", + "--attention-dropout", + "0.0", + "--hidden-dropout", + "0.0", + "--transformer-impl", + "transformer_engine", + "--no-persist-layer-norm", + "--no-gradient-accumulation-fusion", + "--no-rope-fusion", + "--attention-softmax-in-fp32", + "--attention-backend", + "auto", + "--router-policy", + "cache_aware", + "--rollout-num-gpus-per-engine", + "2", + "--vllm-gpu-memory-utilization", + str(args.vllm_gpu_memory_utilization), + ] + if arm.framework_use_rollout_logprobs: + train_command.append("--use-rollout-logprobs") + if {arm.attention_case, arm.ffn_case, arm.logp_case} == {"R/R"}: + train_command.extend( + [ + "--ci-test", + "--ci-disable-kl-checker", + "--ci-train-rollout-logprob-abs-diff-threshold", + "0", + ] + ) + + submission_id = f"vime200-{run_id}" + runtime_env = {"env_vars": env_vars} + ray_command = [ + str(ray_bin), + "job", + "submit", + f"--address={args.ray_address}", + "--submission-id", + submission_id, + "--runtime-env-json", + json.dumps(runtime_env, separators=(",", ":")), + "--metadata-json", + json.dumps({"group": args.group, "run_id": run_id}), + "--working-dir", + str(vime_root), + ] + if not args.wait: + ray_command.append("--no-wait") + ray_command.extend(["--", *train_command]) + + manifest = { + "schema_version": "rlkernel.vime_qwen3_8b_tp2_cp2_200.run.v1", + "created_at": datetime.now(timezone.utc).isoformat(), + "status": "planned" if args.dry_run else "submitting", + "run_id": run_id, + "submission_id": submission_id, + "arm": asdict(arm), + "num_rollout": args.num_rollout, + "seed": args.seed, + "rollout_seed": args.rollout_seed, + "topology": { + "gpus": 8, + "actor_gpus": 4, + "rollout_gpus": 4, + "tp": 2, + "cp": 2, + "pp": 1, + }, + "batching": { + "rollout_batch_size": args.rollout_batch_size, + "n_samples_per_prompt": args.n_samples_per_prompt, + "global_batch_size": args.global_batch_size, + "max_response_len": args.max_response_len, + }, + "vllm_execution": { + "cudagraph_required": True, + "cudagraph_mode": "FULL_DECODE_ONLY", + "capture_sizes": list( + range(1, args.rollout_batch_size * args.n_samples_per_prompt + 1) + ), + "enforce_eager": False, + }, + "paths": { + "run_dir": str(run_dir), + "rl_kernel_root": str(rl_kernel_root), + "vime_root": str(vime_root), + "megatron_root": str(megatron_root), + "model_root": str(model_root), + "ref_load": str(ref_load), + "prompt_data": str(prompt_data), + }, + "revisions": { + name: state["revision"] for name, state in repository_state.items() + }, + "repository_state": repository_state, + "prompt_data_sha256": _sha256(prompt_data), + "gpu_inventory": _gpu_inventory(), + "runtime_env": runtime_env, + "train_command": train_command, + "ray_command": ray_command, + } + manifest_path = run_dir / "manifest.json" + _write_json(manifest_path, manifest) + + if args.dry_run: + print( + json.dumps( + { + "status": "planned", + "run_dir": str(run_dir), + "manifest": str(manifest_path), + } + ) + ) + return 0 + + result = subprocess.run(ray_command, capture_output=True, text=True) + manifest["submission"] = { + "returncode": result.returncode, + "stdout": result.stdout, + "stderr": result.stderr, + } + manifest["status"] = "submitted" if result.returncode == 0 else "submission_failed" + _write_json(manifest_path, manifest) + print(result.stdout, end="") + print(result.stderr, end="", file=sys.stderr) + print( + json.dumps( + { + "status": manifest["status"], + "submission_id": submission_id, + "run_dir": str(run_dir), + } + ) + ) + return result.returncode + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/validate_artifacts.py b/examples/vime_qwen3_8b_tp2_cp2_200/validate_artifacts.py new file mode 100644 index 00000000..670087fc --- /dev/null +++ b/examples/vime_qwen3_8b_tp2_cp2_200/validate_artifacts.py @@ -0,0 +1,225 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Validate CUDA-only framework readbacks and Vime train/rollout Logp dumps.""" + +from __future__ import annotations + +import argparse +import json +import math +from pathlib import Path +from typing import Any, Mapping + +import torch + +from rl_engine.integrations.runtime import _contains_triton, _runtime_platform + +_FRAMEWORKS = (("megatron", "training"), ("vllm", "rollout")) +_MODULES = ("attention", "ffn", "logp") +_STRICT_LOGP_BACKEND = "rlkernel.linear_logp.bitwise.v1" +_BACKEND_PREFIXES = ("rlkernel.", "pytorch-vocab-parallel-logp") + + +def load_readbacks(directory: Path) -> list[dict[str, Any]]: + values: list[dict[str, Any]] = [] + for path in sorted(directory.glob("*.json")): + value = json.loads(path.read_text(encoding="utf-8")) + if not isinstance(value, dict): + raise ValueError(f"readback must contain an object: {path}") + value["_path"] = str(path) + values.append(value) + if not values: + raise ValueError(f"no framework readbacks found in {directory}") + return values + + +def validate_readbacks(readbacks: list[dict[str, Any]]) -> dict[str, Any]: + errors: list[str] = [] + frameworks: dict[str, Any] = {} + for framework, target in _FRAMEWORKS: + matching = [ + value + for value in readbacks + if value.get("framework") == framework and value.get("target") == target + ] + label = f"{framework}/{target}" + if not matching: + errors.append(f"missing {label} readback") + continue + module_summary: dict[str, Any] = {} + for value in matching: + if value.get("fallbacks"): + errors.append(f"{label} recorded fallback: {value['fallbacks']}") + for module in _MODULES: + hook_count = sum( + module in value.get("installed_hooks", {}) for value in matching + ) + records = [ + value["operators"][module] + for value in matching + if isinstance(value.get("operators"), Mapping) + and module in value["operators"] + ] + call_count = sum(int(record.get("call_count", 0)) for record in records) + if hook_count == 0: + errors.append(f"{label} {module} hook was not installed") + if call_count == 0: + errors.append(f"{label} {module} had zero calls") + backends = sorted({str(record.get("backend_id", "")) for record in records}) + for record in records: + backend = str(record.get("backend_id", "")) + if module == "logp" and backend != _STRICT_LOGP_BACKEND: + errors.append( + f"{label} logp used {backend!r}, expected {_STRICT_LOGP_BACKEND!r}" + ) + elif not backend.startswith(_BACKEND_PREFIXES): + errors.append( + f"{label} {module} used unexpected backend {backend!r}" + ) + if _contains_triton(record): + errors.append(f"{label} {module} used Triton") + if _runtime_platform(record.get("provenance")) != "cuda": + errors.append(f"{label} {module} did not report CUDA execution") + module_summary[module] = { + "installed_processes": hook_count, + "call_count": call_count, + "backend_ids": backends, + } + frameworks[label] = { + "readback_count": len(matching), + "modules": module_summary, + } + return {"passed": not errors, "errors": errors, "frameworks": frameworks} + + +def _load_train_dump(path: Path) -> Mapping[str, Any]: + value = torch.load(path, map_location="cpu", weights_only=False) + if not isinstance(value, Mapping): + raise ValueError(f"train dump must contain a mapping: {path}") + return value + + +def compare_train_rollout_logps(paths: list[Path]) -> dict[str, Any]: + sample_count = 0 + element_count = 0 + mismatch_count = 0 + max_abs_diff = 0.0 + errors: list[str] = [] + for path in paths: + payload = _load_train_dump(path) + samples = payload.get("samples") + if not isinstance(samples, list): + rollout_data = payload.get("rollout_data") + if not isinstance(rollout_data, Mapping): + errors.append(f"{path} has neither samples nor rollout_data") + continue + training_values = rollout_data.get("log_probs") + rollout_values = rollout_data.get("rollout_log_probs") + if not isinstance(training_values, (list, tuple)) or not isinstance( + rollout_values, (list, tuple) + ): + errors.append( + f"{path} rollout_data lacks list log_probs/rollout_log_probs" + ) + continue + if len(training_values) != len(rollout_values): + errors.append( + f"{path} logprob list length mismatch: " + f"{len(training_values)} != {len(rollout_values)}" + ) + samples = [ + {"log_probs": training, "rollout_log_probs": rollout} + for training, rollout in zip( + training_values, rollout_values, strict=False + ) + ] + for sample_index, sample in enumerate(samples): + if not isinstance(sample, Mapping): + errors.append(f"{path} sample {sample_index} is not a mapping") + continue + training = sample.get("log_probs") + rollout = sample.get("rollout_log_probs") + if not isinstance(training, torch.Tensor) or not isinstance( + rollout, torch.Tensor + ): + errors.append( + f"{path} sample {sample_index} lacks tensor log_probs/rollout_log_probs" + ) + continue + sample_count += 1 + if training.shape != rollout.shape: + errors.append( + f"{path} sample {sample_index} shape mismatch: " + f"{tuple(training.shape)} != {tuple(rollout.shape)}" + ) + continue + if training.dtype != rollout.dtype: + errors.append( + f"{path} sample {sample_index} dtype mismatch: " + f"{training.dtype} != {rollout.dtype}" + ) + element_count += training.numel() + mismatch_count += int(torch.ne(training, rollout).sum().item()) + if training.numel(): + diff = (training.float() - rollout.float()).abs() + if not bool(torch.isfinite(diff).all().item()): + errors.append(f"{path} sample {sample_index} has non-finite drift") + else: + max_abs_diff = max(max_abs_diff, float(diff.max().item())) + if not paths: + errors.append("no Vime train dump was found") + if sample_count == 0: + errors.append("no comparable train/rollout samples were found") + torch_equal = not errors and mismatch_count == 0 + return { + "passed": torch_equal and max_abs_diff == 0.0, + "torch_equal": torch_equal, + "mismatch_count": mismatch_count, + "max_abs_diff": max_abs_diff if math.isfinite(max_abs_diff) else None, + "sample_count": sample_count, + "element_count": element_count, + "errors": errors, + "artifacts": [str(path) for path in paths], + } + + +def validate_artifacts(readback_dir: Path, train_data_dir: Path) -> dict[str, Any]: + readbacks = validate_readbacks(load_readbacks(readback_dir)) + train_paths = sorted(train_data_dir.glob("*.pt")) + bitwise = compare_train_rollout_logps(train_paths) + return { + "schema_version": "rlkernel.vime_cuda_bitwise_validation.v1", + "passed": bool(readbacks["passed"] and bitwise["passed"]), + "runtime_policy": {"platform": "cuda", "triton_allowed": False}, + "readbacks": readbacks, + "train_rollout_logp": bitwise, + } + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--readback-dir", type=Path, required=True) + parser.add_argument("--train-data-dir", type=Path, required=True) + parser.add_argument("--output", type=Path, required=True) + args = parser.parse_args(argv) + + try: + report = validate_artifacts(args.readback_dir, args.train_data_dir) + except Exception as exc: + report = { + "schema_version": "rlkernel.vime_cuda_bitwise_validation.v1", + "passed": False, + "runtime_policy": {"platform": "cuda", "triton_allowed": False}, + "error": str(exc), + } + args.output.parent.mkdir(parents=True, exist_ok=True) + args.output.write_text( + json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8" + ) + print(json.dumps(report, indent=2, sort_keys=True)) + return 0 if report["passed"] else 1 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/validate_run.py b/examples/vime_qwen3_8b_tp2_cp2_200/validate_run.py new file mode 100755 index 00000000..13a85880 --- /dev/null +++ b/examples/vime_qwen3_8b_tp2_cp2_200/validate_run.py @@ -0,0 +1,338 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +"""Validate and optionally seal one append-only 200-rollout experiment arm.""" + +from __future__ import annotations + +import argparse +import ast +import json +import math +import re +from collections.abc import Mapping +from pathlib import Path +from typing import Any + +import torch + +from rl_engine.integrations.runtime import _contains_triton, _runtime_platform + + +RECORD_RE = re.compile(r"\b(rollout|step|perf)\s+(\d+):\s+(\{.*\})\s*$") +FRAMEWORKS = (("megatron", "training"), ("vllm", "rollout")) +MODULES = ("attention", "ffn", "logp") +CASE_FIELDS = { + "attention": "attention_case", + "ffn": "ffn_case", + "logp": "logp_case", +} + + +def _load_json(path: Path) -> dict[str, Any]: + value = json.loads(path.read_text(encoding="utf-8")) + if not isinstance(value, dict): + raise ValueError(f"expected a JSON object: {path}") + return value + + +def _parse_runtime_records(log_text: str) -> dict[str, dict[int, dict[str, Any]]]: + records: dict[str, dict[int, dict[str, Any]]] = { + "rollout": {}, + "step": {}, + "perf": {}, + } + for line in log_text.splitlines(): + match = RECORD_RE.search(line) + if not match: + continue + try: + value = ast.literal_eval(match.group(3)) + except (SyntaxError, ValueError): + continue + if isinstance(value, dict): + records[match.group(1)][int(match.group(2))] = value + return records + + +def _validate_cudagraph(log_text: str, manifest: Mapping[str, Any]) -> dict[str, Any]: + execution = manifest.get("vllm_execution", {}) + capture_sizes = ( + execution.get("capture_sizes", []) if isinstance(execution, Mapping) else [] + ) + compact_sizes = "[" + ",".join(str(value) for value in capture_sizes) + "]" + checks = { + "launcher_marker": f"strict vLLM full-decode CUDA Graph capture sizes: {compact_sizes}" + in log_text, + "engine_mode": bool(re.search(r"cudagraph_mode.*FULL_DECODE_ONLY", log_text)), + "not_eager": "enforce_eager=False" in log_text, + "capture_sizes": ( + f"'cudagraph_capture_sizes': {capture_sizes}" in log_text + or f'"cudagraph_capture_sizes":{compact_sizes}' in log_text + ), + } + return { + "passed": all(checks.values()), + "checks": checks, + "expected_capture_sizes": capture_sizes, + } + + +def _side(case_id: str, target: str) -> str: + training, rollout = case_id.split("/", 1) + selected = training if target == "training" else rollout + return "rl_kernel" if selected == "R" else "production" + + +def _load_readbacks(directory: Path) -> list[dict[str, Any]]: + values = [] + for path in sorted(directory.glob("*.json")): + value = _load_json(path) + value["_path"] = str(path) + values.append(value) + if not values: + raise ValueError(f"no framework readbacks found in {directory}") + return values + + +def _validate_readbacks( + readbacks: list[dict[str, Any]], arm: Mapping[str, Any] +) -> dict[str, Any]: + errors: list[str] = [] + frameworks: dict[str, Any] = {} + for framework, target in FRAMEWORKS: + matching = [ + value + for value in readbacks + if value.get("framework") == framework and value.get("target") == target + ] + label = f"{framework}/{target}" + if not matching: + errors.append(f"missing {label} readback") + continue + for value in matching: + if value.get("fallbacks"): + errors.append(f"{label} recorded fallback in {value['_path']}") + + module_summary: dict[str, Any] = {} + for module in MODULES: + case_id = str(arm[CASE_FIELDS[module]]) + expected = _side(case_id, target) + records = [ + value["operators"][module] + for value in matching + if isinstance(value.get("operators"), Mapping) + and module in value["operators"] + ] + installed_count = sum( + module in value.get("installed_hooks", {}) for value in matching + ) + call_count = sum(int(record.get("call_count", 0)) for record in records) + implementations = sorted( + {str(record.get("implementation", "")) for record in records} + ) + backend_ids = sorted( + {str(record.get("backend_id", "")) for record in records} + ) + case_ids = sorted({str(record.get("case_id", "")) for record in records}) + if installed_count == 0: + errors.append(f"{label} {module} hook was not installed") + if call_count == 0: + errors.append(f"{label} {module} had zero calls") + if any(value != expected for value in implementations): + errors.append( + f"{label} {module} implementation {implementations!r} != {expected!r}" + ) + if any(value != case_id for value in case_ids): + errors.append(f"{label} {module} case IDs {case_ids!r} != {case_id!r}") + for record in records: + if _contains_triton(record): + errors.append(f"{label} {module} used Triton") + if _runtime_platform(record.get("provenance")) != "cuda": + errors.append(f"{label} {module} did not report CUDA execution") + if record.get("provenance", {}).get("fallback") is True: + errors.append(f"{label} {module} provenance recorded fallback") + if expected == "rl_kernel" and not str( + record.get("backend_id", "") + ).startswith("rlkernel."): + errors.append(f"{label} {module} did not use an RL-Kernel backend") + module_summary[module] = { + "case_id": case_id, + "expected_implementation": expected, + "installed_processes": installed_count, + "call_count": call_count, + "implementations": implementations, + "backend_ids": backend_ids, + } + frameworks[label] = {"readback_count": len(matching), "modules": module_summary} + return {"passed": not errors, "errors": errors, "frameworks": frameworks} + + +def _numeric(value: Any, label: str, errors: list[str]) -> float | None: + if not isinstance(value, (int, float)) or isinstance(value, bool): + errors.append(f"{label} is missing or non-numeric") + return None + result = float(value) + if not math.isfinite(result): + errors.append(f"{label} is non-finite") + return None + return result + + +def _validate_runtime_logprobs( + records: Mapping[int, Mapping[str, Any]], + expected_rounds: int, + global_batch_size: int, + require_zero: bool, +) -> dict[str, Any]: + errors: list[str] = [] + rows: list[dict[str, Any]] = [] + for step in sorted(records): + record = records[step] + mismatch = _numeric( + record.get("train/train_current_rollout_logprob_mismatch_count"), + f"step {step} mismatch_count", + errors, + ) + maximum = _numeric( + record.get("train/train_current_rollout_logprob_max_abs_diff"), + f"step {step} max_abs_diff", + errors, + ) + mean_abs = _numeric( + record.get("train/train_rollout_logprob_abs_diff"), + f"step {step} mean_abs_diff", + errors, + ) + numel = _numeric( + record.get("train/train_current_rollout_logprob_numel"), + f"step {step} active_token_count", + errors, + ) + if numel is not None and numel <= 0: + errors.append(f"step {step} has no active tokens") + total_mismatches = None if mismatch is None else mismatch * global_batch_size + total_active_tokens = None if numel is None else numel * global_batch_size + rows.append( + { + "step": step, + "bitwise_mismatch_count": total_mismatches, + "max_abs_dlogp": maximum, + "mean_abs_dlogp": mean_abs, + "active_token_count": total_active_tokens, + "vime_mean_mismatch_count_per_sample": mismatch, + "vime_mean_active_tokens_per_sample": numel, + } + ) + if len(rows) != expected_rounds: + errors.append(f"observed {len(rows)} train steps, expected {expected_rounds}") + bitwise_zero = bool(rows) and all( + row["bitwise_mismatch_count"] == 0.0 and row["max_abs_dlogp"] == 0.0 + for row in rows + ) + if require_zero and not bitwise_zero: + errors.append("R/R arm did not achieve bitwise-zero runtime metrics") + return { + "passed": not errors, + "errors": errors, + "evidence_source": ( + "VIME runtime torch.ne/max metrics; VIME reports sample means, converted " + "to counts with global_batch_size" + ), + "bitwise_zero": bitwise_zero, + "rows": rows, + "total_active_token_exposure": sum( + row["active_token_count"] or 0.0 for row in rows + ), + } + + +def _inspect_offline_dumps(directory: Path) -> dict[str, Any]: + paths = sorted(directory.glob("*.pt")) + comparable = 0 + for path in paths: + payload = torch.load(path, map_location="cpu", weights_only=False) + rollout_data = ( + payload.get("rollout_data", {}) if isinstance(payload, Mapping) else {} + ) + if isinstance(rollout_data, Mapping) and "log_probs" in rollout_data: + comparable += 1 + return { + "status": "available" if paths and comparable == len(paths) else "unavailable", + "artifact_count": len(paths), + "comparable_artifact_count": comparable, + "reason": ( + None + if paths and comparable == len(paths) + else "current VIME dump lacks captured training log_probs; runtime exact metrics are used" + ), + } + + +def validate_run(run_dir: Path) -> dict[str, Any]: + manifest = _load_json(run_dir / "manifest.json") + arm = manifest.get("arm") + if not isinstance(arm, Mapping): + raise ValueError("manifest.arm is missing") + log_text = (run_dir / "run.log").read_text(encoding="utf-8", errors="replace") + records = _parse_runtime_records(log_text) + require_zero = all(str(arm[CASE_FIELDS[module]]) == "R/R" for module in MODULES) + cudagraph = _validate_cudagraph(log_text, manifest) + readbacks = _validate_readbacks(_load_readbacks(run_dir / "readbacks"), arm) + logprobs = _validate_runtime_logprobs( + records["step"], + int(manifest["num_rollout"]), + int(manifest["batching"]["global_batch_size"]), + require_zero, + ) + global_errors = [] + if re.search(r"fallback=true", log_text, re.IGNORECASE): + global_errors.append("run log contains fallback=true") + if "Traceback (most recent call last)" in log_text: + global_errors.append("run log contains a traceback") + report = { + "schema_version": "rlkernel.vime_qwen3_8b_tp2_cp2_200.validation.v1", + "run_id": manifest.get("run_id"), + "group": arm.get("group"), + "passed": bool( + cudagraph["passed"] + and readbacks["passed"] + and logprobs["passed"] + and not global_errors + ), + "errors": global_errors, + "cudagraph": cudagraph, + "runtime_readbacks": readbacks, + "train_rollout_logprob": logprobs, + "offline_tensor_comparison": _inspect_offline_dumps(run_dir / "train-data"), + } + return report + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--run-dir", type=Path, required=True) + parser.add_argument("--output", type=Path, default=None) + parser.add_argument("--seal", action="store_true") + args = parser.parse_args(argv) + run_dir = args.run_dir.resolve() + output = args.output.resolve() if args.output else run_dir / "run-validation.json" + try: + report = validate_run(run_dir) + except Exception as exc: + report = { + "schema_version": "rlkernel.vime_qwen3_8b_tp2_cp2_200.validation.v1", + "passed": False, + "errors": [f"{type(exc).__name__}: {exc}"], + } + output.write_text( + json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8" + ) + print(json.dumps(report, indent=2, sort_keys=True)) + if args.seal and report["passed"]: + (run_dir / "COMPLETE").touch(exist_ok=False) + return 0 if report["passed"] else 1 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/rl_engine/integrations/runtime.py b/rl_engine/integrations/runtime.py index db651bce..3cc09cc2 100644 --- a/rl_engine/integrations/runtime.py +++ b/rl_engine/integrations/runtime.py @@ -124,7 +124,16 @@ def execute( if _contains_profile_only(raw_provenance): self.record_profile_call(normalized) else: - self.record_execution(normalized, selected) + self.record_execution( + normalized, + selected, + execution_provenance=_execution_provenance( + selected=selected, + args=args, + kwargs=kwargs, + result=result, + ), + ) return result def record_profile_call(self, module: str) -> None: @@ -145,6 +154,7 @@ def record_execution( selected: Callable[..., Any], *, execution_mode: str = "eager", + execution_provenance: Mapping[str, Any] | None = None, ) -> None: """Record one eager or custom-op execution outside Dynamo tracing.""" @@ -166,8 +176,13 @@ def record_execution( if implementation is Implementation.PRODUCTION else f"rlkernel.{normalized}.unidentified" ) - raw_provenance = getattr(selected, "provenance", {}) - provenance = dict(raw_provenance) if isinstance(raw_provenance, Mapping) else {} + if execution_provenance is None: + raw_provenance = getattr(selected, "provenance", {}) + provenance = ( + dict(raw_provenance) if isinstance(raw_provenance, Mapping) else {} + ) + else: + provenance = dict(execution_provenance) actual_backend = _actual_backend(provenance) or backend_id fallback = _contains_fallback(provenance) should_report = False @@ -210,7 +225,9 @@ def record_execution( flush=True, ) if implementation is Implementation.RL_KERNEL and fallback: - self.record_fallback(normalized, f"operator provenance selected {actual_backend}") + self.record_fallback( + normalized, f"operator provenance selected {actual_backend}" + ) raise RuntimeError( f"{self.framework} {normalized} strict RL-Kernel route reported fallback" ) @@ -225,7 +242,8 @@ def readback(self) -> dict[str, Any]: "fallbacks": list(self._fallbacks), "profile_calls": dict(self._profile_counts), "operators": { - module: readback.to_dict() for module, readback in self._readbacks.items() + module: readback.to_dict() + for module, readback in self._readbacks.items() }, } @@ -371,4 +389,76 @@ def _runtime_platform(value: Any) -> str | None: return None +def _execution_provenance( + *, + selected: Callable[..., Any], + args: tuple[Any, ...], + kwargs: Mapping[str, Any], + result: Any, +) -> dict[str, Any]: + """Capture backend evidence from the callable, result, and real tensors.""" + + raw = getattr(selected, "provenance", {}) + provenance = dict(raw) if isinstance(raw, Mapping) else {} + result_provenance = getattr(result, "provenance", {}) + if isinstance(result_provenance, Mapping) and result_provenance: + if not provenance: + provenance.update(result_provenance) + else: + provenance.setdefault("result", dict(result_provenance)) + if _runtime_platform(provenance) is None: + inferred = _infer_runtime_platform((args, kwargs, result)) + if inferred is not None: + provenance["runtime_platform"] = inferred + return provenance + + +def _infer_runtime_platform(value: Any) -> str | None: + """Infer the device from bounded traversal of execution inputs and outputs.""" + + platforms: set[str] = set() + seen: set[int] = set() + structural_fields = ( + "context", + "hidden", + "hidden_states", + "logits", + "target_ids", + "logp", + "entropy", + ) + + def visit(item: Any, depth: int) -> None: + if depth > 4 or len(seen) > 256: + return + if isinstance(item, torch.Tensor): + platforms.add(item.device.type) + return + item_id = id(item) + if item_id in seen: + return + seen.add(item_id) + if isinstance(item, Mapping): + for nested in item.values(): + visit(nested, depth + 1) + return + if isinstance(item, (list, tuple)): + for nested in item: + visit(nested, depth + 1) + return + for field_name in structural_fields: + try: + nested = getattr(item, field_name) + except (AttributeError, RuntimeError): + continue + visit(nested, depth + 1) + + visit(value, 0) + if "cuda" in platforms: + return "cuda" + if len(platforms) == 1: + return next(iter(platforms)) + return None + + __all__ = ["FrameworkOperatorIntegration", "OperatorReadback"] diff --git a/rl_engine/integrations/vime/linear_logp_provider.py b/rl_engine/integrations/vime/linear_logp_provider.py index d70bf6c7..91a43bde 100644 --- a/rl_engine/integrations/vime/linear_logp_provider.py +++ b/rl_engine/integrations/vime/linear_logp_provider.py @@ -64,7 +64,9 @@ def _default_strict_linear_logp() -> Any: def _as_positive_int(value: Any, name: str) -> int: if isinstance(value, bool) or not isinstance(value, int) or value <= 0: - raise LinearLogpProviderUnavailable(f"{name} must be a positive integer; got {value!r}") + raise LinearLogpProviderUnavailable( + f"{name} must be a positive integer; got {value!r}" + ) return value @@ -96,7 +98,9 @@ def _tp_coordinates(tp_group: Any) -> tuple[int, int]: def _tile_count(metadata: Mapping[str, Any], padded_vocab_size: int) -> int: - configured = metadata.get("num_vocab_tiles", os.getenv("RL_KERNEL_LOGPROB_NUM_VOCAB_TILES")) + configured = metadata.get( + "num_vocab_tiles", os.getenv("RL_KERNEL_LOGPROB_NUM_VOCAB_TILES") + ) if configured is None or configured == "": configured = DEFAULT_NUM_VOCAB_TILES try: @@ -144,7 +148,9 @@ def _vocab_partition( f"{logits.shape[1]} * {tp_world_size} != {padded_vocab_size}" ) if real_vocab_size > padded_vocab_size: - raise LinearLogpProviderUnavailable("real_vocab_size must not exceed padded_vocab_size") + raise LinearLogpProviderUnavailable( + "real_vocab_size must not exceed padded_vocab_size" + ) return local_start, logits.shape[1], real_vocab_size, padded_vocab_size @@ -159,10 +165,14 @@ def _contract_for_request(request: Any) -> tuple[LogprobContract, int]: if logits.dtype not in (torch.bfloat16, torch.float16, torch.float32): raise LinearLogpProviderUnavailable(f"unsupported logit dtype {logits.dtype}") if targets.device != logits.device: - raise LinearLogpProviderUnavailable("target_ids must share the local logits device") + raise LinearLogpProviderUnavailable( + "target_ids must share the local logits device" + ) layout = getattr(request, "token_layout", None) - cp_world_size = _as_positive_int(getattr(layout, "world_size", None), "token_layout.world_size") + cp_world_size = _as_positive_int( + getattr(layout, "world_size", None), "token_layout.world_size" + ) cp_rank = getattr(layout, "rank", None) if ( isinstance(cp_rank, bool) @@ -175,9 +185,13 @@ def _contract_for_request(request: Any) -> tuple[LogprobContract, int]: if getattr(layout, "layout", None) not in ( {"single"} if cp_world_size == 1 else {"zigzag", "allgather"} ): - raise LinearLogpProviderUnavailable("token_layout does not describe local token ownership") + raise LinearLogpProviderUnavailable( + "token_layout does not describe local token ownership" + ) - tp_rank, tp_world_size = _tp_coordinates(getattr(request, "tensor_parallel_group", None)) + tp_rank, tp_world_size = _tp_coordinates( + getattr(request, "tensor_parallel_group", None) + ) declared_tp_rank = metadata.get("tp_rank") declared_tp_world_size = metadata.get("tp_world_size") if declared_tp_rank is not None and declared_tp_rank != tp_rank: @@ -193,7 +207,9 @@ def _contract_for_request(request: Any) -> tuple[LogprobContract, int]: local_start, local_size, real_vocab_size, padded_vocab_size = _vocab_partition( request, logits, tp_rank, tp_world_size ) - bounds = tuple((rank * local_size, (rank + 1) * local_size) for rank in range(tp_world_size)) + bounds = tuple( + (rank * local_size, (rank + 1) * local_size) for rank in range(tp_world_size) + ) contract = LogprobContract( role=LogprobRole.TRAIN, dtype={ @@ -201,7 +217,9 @@ def _contract_for_request(request: Any) -> tuple[LogprobContract, int]: torch.float16: LogprobDType.FP16, torch.float32: LogprobDType.FP32, }[logits.dtype], - mask=MaskSpec(num_tokens=logits.shape[0], active_mask=(True,) * logits.shape[0]), + mask=MaskSpec( + num_tokens=logits.shape[0], active_mask=(True,) * logits.shape[0] + ), sharding=ShardingSpec( tp_rank=tp_rank, tp_world_size=tp_world_size, @@ -230,13 +248,19 @@ def _provider_impl(request: Any, *, linear_logp: Any = None) -> LinearLogpResult projection = getattr(context, "projection", None) partition = getattr(context, "vocab_partition", None) if strict and not isinstance(hidden, torch.Tensor): - raise RuntimeError("strict Vime linear_logp request is missing structural context") + raise RuntimeError( + "strict Vime linear_logp request is missing structural context" + ) if strict and getattr(request, "log_prob_keep_mask", None) is not None: - raise RuntimeError("strict Vime linear_logp does not support top-p replay in this contract") + raise RuntimeError( + "strict Vime linear_logp does not support top-p replay in this contract" + ) if linear_logp is None and strict and isinstance(hidden, torch.Tensor): linear_logp = _default_strict_linear_logp() if linear_logp is not None and isinstance(hidden, torch.Tensor): - if projection is None or not isinstance(getattr(projection, "weight", None), torch.Tensor): + if projection is None or not isinstance( + getattr(projection, "weight", None), torch.Tensor + ): raise RuntimeError("linear_logp context must expose projection.weight") if partition is None: raise RuntimeError("linear_logp context must expose vocab_partition") @@ -292,7 +316,9 @@ def _provider_impl(request: Any, *, linear_logp: Any = None) -> LinearLogpResult "hidden_shape": list(hidden.shape), "hidden_dtype": str(hidden.dtype).replace("torch.", ""), "target_shape": list(request.target_ids.shape), - "tp_world_size": int(getattr(request, "metadata", {}).get("tp_world_size", 1)), + "tp_world_size": int( + getattr(request, "metadata", {}).get("tp_world_size", 1) + ), "tp_rank": int(getattr(request, "metadata", {}).get("tp_rank", 0)), "cp_world_size": int(getattr(request, "token_layout").world_size), "cp_rank": int(getattr(request, "token_layout").rank), @@ -319,8 +345,13 @@ def _provider_impl(request: Any, *, linear_logp: Any = None) -> LinearLogpResult contract, num_vocab_tiles = _contract_for_request(request) dispatch = kernel_registry.get_logprob_op(contract, requested_backend=BACKEND_ID) - if dispatch.provenance["actual_backend"] != BACKEND_ID or dispatch.provenance["fallback"]: - raise RuntimeError("explicit WS2 backend dispatch changed during materialization") + if ( + dispatch.provenance["actual_backend"] != BACKEND_ID + or dispatch.provenance["fallback"] + ): + raise RuntimeError( + "explicit WS2 backend dispatch changed during materialization" + ) if getattr(request, "with_entropy", False): logp, _lse, entropy = dispatch.op.apply_with_entropy( request.logits, @@ -381,15 +412,15 @@ def provider(request: Any) -> LinearLogpResult: """Route Vime training logp through the active Megatron integration.""" case = operator_ablation_case("logp", os.getenv("RL_KERNEL_LOGP_CASE", "P/P")) - if case.training is Implementation.PRODUCTION: - return _provider_impl(request) - from rl_engine.integrations.state import get_active_integration integration = get_active_integration("megatron") if integration is None: return _provider_impl(request) + if case.training is Implementation.PRODUCTION: + return integration.execute("logp", _provider_impl, request) + def native_unavailable(_request: Any) -> LinearLogpResult: raise RuntimeError( "the structural provider was invoked for a production Megatron logp route" diff --git a/tests/test_framework_runtime_adapters.py b/tests/test_framework_runtime_adapters.py index 27d54eed..ee6ff339 100644 --- a/tests/test_framework_runtime_adapters.py +++ b/tests/test_framework_runtime_adapters.py @@ -47,12 +47,17 @@ ReductionSpec, ShardingSpec, ) -from rl_engine.kernels.ops.cuda.attention.strict_runtime import StrictCUDAAttentionRuntime +from rl_engine.kernels.ops.cuda.attention.strict_runtime import ( + StrictCUDAAttentionRuntime, +) def test_framework_adapters_do_not_construct_registered_kernels_directly(): source_path = ( - Path(__file__).parents[1] / "rl_engine" / "integrations" / "framework_operators.py" + Path(__file__).parents[1] + / "rl_engine" + / "integrations" + / "framework_operators.py" ) tree = ast.parse(source_path.read_text(encoding="utf-8")) forbidden = { @@ -218,8 +223,12 @@ def get(self, tensor, *, topology): get_tensor_model_parallel_rank=lambda: 0, get_context_parallel_group=lambda: "cp-group", ) - monkeypatch.setattr(framework_operators, "_megatron_parallel_state", lambda: parallel_state) - monkeypatch.setattr(framework_operators, "_require_nvidia_cuda", lambda tensor, module: None) + monkeypatch.setattr( + framework_operators, "_megatron_parallel_state", lambda: parallel_state + ) + monkeypatch.setattr( + framework_operators, "_require_nvidia_cuda", lambda tensor, module: None + ) packed = SimpleNamespace( qkv_format="thd", cu_seqlens_q=torch.tensor([0, 8, 16], dtype=torch.int32), @@ -246,7 +255,7 @@ def get(self, tensor, *, topology): assert calls[0]["query_position_ids"].tolist() == [ [0, 1, 6, 7], [0, 1, 6, 7], - ] + ] def test_vllm_current_flash_attention_kv_cache_layout_is_materialized(): @@ -463,7 +472,7 @@ def forward_bshd_with_lse(self, q, k, v, *, causal, **kwargs): ) assert calls == [(4, 4, True)] - assert result.provenance["query_schedule"] == "full_sequence_causal_single_launch" + assert result.provenance["query_schedule"] == "full_sequence_causal_single_launch" class _ReadbackOperator: @@ -519,3 +528,43 @@ def test_strict_readback_accepts_cuda_without_triton(): integration.execute("attention", lambda value: value, "x") integration.assert_strict_ready() + + +def test_production_readback_infers_platform_from_real_execution_tensors(): + plan = IntegrationPlan.from_case_ids(attention="P/P") + integration = FrameworkOperatorIntegration( + framework="megatron", + target="training", + plan=plan, + rl_kernel_operators={}, + ) + value = torch.zeros(2) + + integration.execute("attention", lambda tensor: tensor + 1, value) + + readback = integration.readback()["operators"]["attention"] + assert readback["implementation"] == "production" + assert readback["provenance"]["runtime_platform"] == "cpu" + + +def test_production_readback_uses_structural_result_provenance(): + plan = IntegrationPlan.from_case_ids(logp="P/P") + integration = FrameworkOperatorIntegration( + framework="megatron", + target="training", + plan=plan, + rl_kernel_operators={}, + ) + request = SimpleNamespace(logits=torch.zeros(2, 4), target_ids=torch.zeros(2)) + + def native(actual_request): + return SimpleNamespace( + logp=actual_request.logits[:, :1], + provenance={"actual_backend": "production.logp.test"}, + ) + + integration.execute("logp", native, request) + + provenance = integration.readback()["operators"]["logp"]["provenance"] + assert provenance["actual_backend"] == "production.logp.test" + assert provenance["runtime_platform"] == "cpu" diff --git a/tests/test_vime_linear_logp_provider.py b/tests/test_vime_linear_logp_provider.py index 681aad67..4f50f3c7 100644 --- a/tests/test_vime_linear_logp_provider.py +++ b/tests/test_vime_linear_logp_provider.py @@ -12,6 +12,12 @@ from rl_engine.integrations import framework_operators from rl_engine.integrations.framework_operators import MegatronLogpOperator +from rl_engine.integrations.ablation import IntegrationPlan +from rl_engine.integrations.megatron import MegatronIntegration +from rl_engine.integrations.state import ( + clear_active_integration, + set_active_integration, +) from rl_engine.integrations.vime.linear_logp_provider import ( LinearLogpProviderUnavailable, LinearLogpResult, @@ -95,7 +101,9 @@ def test_provider_entropy_preserves_vime_semantics_and_autograd(): result = provider(request) reference_logits = request.logits.detach().clone().requires_grad_(True) log_probs = torch.log_softmax(reference_logits[:, :7], dim=-1) - reference_logp = log_probs[torch.arange(reference_logits.size(0)), request.target_ids] + reference_logp = log_probs[ + torch.arange(reference_logits.size(0)), request.target_ids + ] reference_entropy = -(log_probs.exp() * log_probs).sum(dim=-1) torch.testing.assert_close(result.logp.squeeze(-1), reference_logp) @@ -123,7 +131,9 @@ def __call__(self, hidden, weight, target_ids, bias, **_kwargs): import rl_engine.integrations.vime.linear_logp_provider as provider_module - monkeypatch.setattr(provider_module, "_default_strict_linear_logp", lambda: FakeLinearLogp()) + monkeypatch.setattr( + provider_module, "_default_strict_linear_logp", lambda: FakeLinearLogp() + ) request = _structural_request() result = provider(request) @@ -148,7 +158,9 @@ def provider(actual_request, *, linear_logp): ) wrapper = SimpleNamespace(backend_id="fake-linear-logp", provenance={}) - monkeypatch.setattr(framework_operators, "_require_nvidia_cuda", lambda *_args: None) + monkeypatch.setattr( + framework_operators, "_require_nvidia_cuda", lambda *_args: None + ) result = MegatronLogpOperator(provider, linear_logp=wrapper)(request) assert observed["context"] is request.context @@ -169,3 +181,23 @@ def test_provider_rejects_local_vocab_metadata_that_cannot_describe_tp_ownership with pytest.raises(LinearLogpProviderUnavailable, match="cover padded_vocab_size"): provider(request) + + +def test_production_provider_records_execution_in_active_integration(monkeypatch): + monkeypatch.setenv("RL_KERNEL_LOGP_CASE", "P/P") + integration = MegatronIntegration( + IntegrationPlan.from_case_ids(logp="P/P"), + rl_kernel_operators={}, + ) + clear_active_integration("megatron") + set_active_integration("megatron", integration) + try: + result = provider(_request()) + finally: + clear_active_integration("megatron") + + assert result.logp.shape == (3, 1) + readback = integration.readback()["operators"]["logp"] + assert readback["implementation"] == "production" + assert readback["call_count"] == 1 + assert readback["provenance"]["runtime_platform"] == "cpu" From f12b1548583eef1e7cf1bab2e9f937520d3b5e3c Mon Sep 17 00:00:00 2001 From: frank-2077 Date: Mon, 31 Aug 2026 14:38:26 +0000 Subject: [PATCH 02/30] Show single-step ablation points in plots --- examples/vime_qwen3_8b_tp2_cp2_200/plot_results.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/plot_results.py b/examples/vime_qwen3_8b_tp2_cp2_200/plot_results.py index b9a6051f..29916959 100644 --- a/examples/vime_qwen3_8b_tp2_cp2_200/plot_results.py +++ b/examples/vime_qwen3_8b_tp2_cp2_200/plot_results.py @@ -15,6 +15,7 @@ COLORS = {"G00": "#6b7280", "G10": "#2563eb", "G01": "#dc2626", "G11": "#059669"} +MARKERS = {"G00": "o", "G10": "x", "G01": "D", "G11": "+"} LABELS = { "G00": "G00: production", "G10": "G10: framework", @@ -76,7 +77,13 @@ def _plot_series(axis, rows, metric, title, *, moving_average=1, symlog=False): centers = _moving_average(values, moving_average) color = COLORS.get(group) axis.plot( - steps, centers, label=LABELS.get(group, group), color=color, linewidth=2 + steps, + centers, + label=LABELS.get(group, group), + color=color, + linewidth=2, + marker=MARKERS.get(group, "o"), + markersize=5, ) if any(spreads): lower = [ From 7a93b1f7e2873d0a2c36d1c648dc4bbf842780af Mon Sep 17 00:00:00 2001 From: frank-2077 Date: Mon, 31 Aug 2026 14:50:01 +0000 Subject: [PATCH 03/30] Make GRPO explicit in VIME experiments --- examples/vime_qwen3_8b_tp2_cp2_200/README.md | 7 ++++++- examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py | 11 +++++++++-- examples/vime_qwen3_8b_tp2_cp2_200/validate_run.py | 13 +++++++++++++ 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/README.md b/examples/vime_qwen3_8b_tp2_cp2_200/README.md index d2482749..93a1d062 100644 --- a/examples/vime_qwen3_8b_tp2_cp2_200/README.md +++ b/examples/vime_qwen3_8b_tp2_cp2_200/README.md @@ -6,6 +6,11 @@ RL-Kernel's operator-level alignment of Attention, dense FFN, and linear logp. It is designed for one 8×H100 node with four Megatron training GPUs and four vLLM rollout GPUs. +The optimization algorithm is explicitly fixed to GRPO with +`--advantage-estimator grpo`. DAPO-Math-17k is only the prompt/answer dataset; +it does not select the DAPO training algorithm. The rule reward is computed by +VIME's `deepscaler` reward implementation. + The experiment is fail-closed. A run is accepted only when its Ray job succeeds, every expected operator route has CUDA execution readback, no fallback or Triton route is observed for an R/R arm, the requested number of @@ -32,7 +37,7 @@ metrics. ## Required gates - NVIDIA H100 × 8; actor GPUs 4; rollout GPUs 4; TP=2; CP=2; PP=1. -- BF16, `top_p=1.0`, temperature 1, no dropout, fixed training and rollout seeds. +- GRPO, BF16, `top_p=1.0`, temperature 1, no dropout, fixed training and rollout seeds. - vLLM CUDA Graph mode `FULL_DECODE_ONLY`, not eager, with exact capture sizes `1..(rollout_batch_size × n_samples_per_prompt)`. - Megatron and vLLM readbacks for Attention, FFN, and logp, with positive call diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py b/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py index 46201aae..f0744cec 100755 --- a/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py +++ b/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py @@ -178,8 +178,8 @@ def build_parser() -> argparse.ArgumentParser: parser.add_argument("--rollout-batch-size", type=int, default=4) parser.add_argument("--n-samples-per-prompt", type=int, default=2) parser.add_argument("--global-batch-size", type=int, default=8) - parser.add_argument("--max-response-len", type=int, default=512) - parser.add_argument("--max-tokens-per-gpu", type=int, default=2048) + parser.add_argument("--max-response-len", type=int, default=4096) + parser.add_argument("--max-tokens-per-gpu", type=int, default=4096) parser.add_argument("--vllm-gpu-memory-utilization", type=float, default=0.4) parser.add_argument("--extra-pythonpath", action="append", default=[]) parser.add_argument( @@ -312,6 +312,8 @@ def main(argv: list[str] | None = None) -> int: "--rollout-shuffle", "--rm-type", "deepscaler", + "--advantage-estimator", + "grpo", "--num-rollout", str(args.num_rollout), "--rollout-batch-size", @@ -431,6 +433,11 @@ def main(argv: list[str] | None = None) -> int: "n_samples_per_prompt": args.n_samples_per_prompt, "global_batch_size": args.global_batch_size, "max_response_len": args.max_response_len, + "max_tokens_per_gpu": args.max_tokens_per_gpu, + }, + "algorithm": { + "advantage_estimator": "grpo", + "reward_model": "deepscaler", }, "vllm_execution": { "cudagraph_required": True, diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/validate_run.py b/examples/vime_qwen3_8b_tp2_cp2_200/validate_run.py index 13a85880..c92e2b24 100755 --- a/examples/vime_qwen3_8b_tp2_cp2_200/validate_run.py +++ b/examples/vime_qwen3_8b_tp2_cp2_200/validate_run.py @@ -286,6 +286,19 @@ def validate_run(run_dir: Path) -> dict[str, Any]: require_zero, ) global_errors = [] + algorithm = manifest.get("algorithm", {}) + if ( + not isinstance(algorithm, Mapping) + or algorithm.get("advantage_estimator") != "grpo" + ): + global_errors.append("manifest does not explicitly select GRPO") + train_command = manifest.get("train_command", []) + expected_algorithm_pair = ["--advantage-estimator", "grpo"] + if not isinstance(train_command, list) or not any( + train_command[index : index + 2] == expected_algorithm_pair + for index in range(max(0, len(train_command) - 1)) + ): + global_errors.append("train command does not explicitly select GRPO") if re.search(r"fallback=true", log_text, re.IGNORECASE): global_errors.append("run log contains fallback=true") if "Traceback (most recent call last)" in log_text: From b4fc7e81a2d73942a95cedb8235615dc68286b1b Mon Sep 17 00:00:00 2001 From: frank-2077 Date: Mon, 31 Aug 2026 14:58:46 +0000 Subject: [PATCH 04/30] Enable activation recompute for long GRPO responses --- examples/vime_qwen3_8b_tp2_cp2_200/README.md | 2 ++ examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py | 13 +++++++++++++ examples/vime_qwen3_8b_tp2_cp2_200/validate_run.py | 10 ++++++++++ 3 files changed, 25 insertions(+) diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/README.md b/examples/vime_qwen3_8b_tp2_cp2_200/README.md index 93a1d062..69106916 100644 --- a/examples/vime_qwen3_8b_tp2_cp2_200/README.md +++ b/examples/vime_qwen3_8b_tp2_cp2_200/README.md @@ -38,6 +38,8 @@ metrics. - NVIDIA H100 × 8; actor GPUs 4; rollout GPUs 4; TP=2; CP=2; PP=1. - GRPO, BF16, `top_p=1.0`, temperature 1, no dropout, fixed training and rollout seeds. +- A 4096-token response budget with full uniform activation recomputation + (`recompute-num-layers=1`) and expandable CUDA allocator segments. - vLLM CUDA Graph mode `FULL_DECODE_ONLY`, not eager, with exact capture sizes `1..(rollout_batch_size × n_samples_per_prompt)`. - Megatron and vLLM readbacks for Attention, FFN, and logp, with positive call diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py b/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py index f0744cec..6d46d9c1 100755 --- a/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py +++ b/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py @@ -256,6 +256,7 @@ def main(argv: list[str] | None = None) -> int: "LD_LIBRARY_PATH": args.ld_library_path, "PYTHONUNBUFFERED": "1", "PYTHONHASHSEED": str(args.seed), + "PYTORCH_CUDA_ALLOC_CONF": "expandable_segments:True", "CUDA_DEVICE_MAX_CONNECTIONS": "1", "NCCL_ALGO": "Ring", "NVTE_ALLOW_NONDETERMINISTIC_ALGO": "0", @@ -344,6 +345,12 @@ def main(argv: list[str] | None = None) -> int: "--use-dynamic-batch-size", "--max-tokens-per-gpu", str(args.max_tokens_per_gpu), + "--recompute-granularity", + "full", + "--recompute-method", + "uniform", + "--recompute-num-layers", + "1", "--custom-megatron-init-path", "rl_engine.integrations.megatron_runtime.initialize_from_environment", "--save-debug-train-data", @@ -439,6 +446,12 @@ def main(argv: list[str] | None = None) -> int: "advantage_estimator": "grpo", "reward_model": "deepscaler", }, + "training_memory": { + "recompute_granularity": "full", + "recompute_method": "uniform", + "recompute_num_layers": 1, + "pytorch_cuda_alloc_conf": "expandable_segments:True", + }, "vllm_execution": { "cudagraph_required": True, "cudagraph_mode": "FULL_DECODE_ONLY", diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/validate_run.py b/examples/vime_qwen3_8b_tp2_cp2_200/validate_run.py index c92e2b24..d792b426 100755 --- a/examples/vime_qwen3_8b_tp2_cp2_200/validate_run.py +++ b/examples/vime_qwen3_8b_tp2_cp2_200/validate_run.py @@ -299,6 +299,16 @@ def validate_run(run_dir: Path) -> dict[str, Any]: for index in range(max(0, len(train_command) - 1)) ): global_errors.append("train command does not explicitly select GRPO") + expected_recompute = { + "recompute_granularity": "full", + "recompute_method": "uniform", + "recompute_num_layers": 1, + "pytorch_cuda_alloc_conf": "expandable_segments:True", + } + if manifest.get("training_memory") != expected_recompute: + global_errors.append( + "manifest does not contain the required recompute configuration" + ) if re.search(r"fallback=true", log_text, re.IGNORECASE): global_errors.append("run log contains fallback=true") if "Traceback (most recent call last)" in log_text: From 64a41f3f7b5131cd17d1fdca2c97c39ceec8d28e Mon Sep 17 00:00:00 2001 From: frank-2077 Date: Mon, 31 Aug 2026 15:06:32 +0000 Subject: [PATCH 05/30] Keep deterministic collective staging IPC compatible --- examples/vime_qwen3_8b_tp2_cp2_200/README.md | 3 ++- examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py | 2 -- examples/vime_qwen3_8b_tp2_cp2_200/validate_run.py | 1 - 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/README.md b/examples/vime_qwen3_8b_tp2_cp2_200/README.md index 69106916..8d45afd2 100644 --- a/examples/vime_qwen3_8b_tp2_cp2_200/README.md +++ b/examples/vime_qwen3_8b_tp2_cp2_200/README.md @@ -39,7 +39,8 @@ metrics. - NVIDIA H100 × 8; actor GPUs 4; rollout GPUs 4; TP=2; CP=2; PP=1. - GRPO, BF16, `top_p=1.0`, temperature 1, no dropout, fixed training and rollout seeds. - A 4096-token response budget with full uniform activation recomputation - (`recompute-num-layers=1`) and expandable CUDA allocator segments. + (`recompute-num-layers=1`). Do not enable expandable CUDA allocator segments: + deterministic TP collectives require CUDA IPC-capable staging allocations. - vLLM CUDA Graph mode `FULL_DECODE_ONLY`, not eager, with exact capture sizes `1..(rollout_batch_size × n_samples_per_prompt)`. - Megatron and vLLM readbacks for Attention, FFN, and logp, with positive call diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py b/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py index 6d46d9c1..21e7e3f3 100755 --- a/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py +++ b/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py @@ -256,7 +256,6 @@ def main(argv: list[str] | None = None) -> int: "LD_LIBRARY_PATH": args.ld_library_path, "PYTHONUNBUFFERED": "1", "PYTHONHASHSEED": str(args.seed), - "PYTORCH_CUDA_ALLOC_CONF": "expandable_segments:True", "CUDA_DEVICE_MAX_CONNECTIONS": "1", "NCCL_ALGO": "Ring", "NVTE_ALLOW_NONDETERMINISTIC_ALGO": "0", @@ -450,7 +449,6 @@ def main(argv: list[str] | None = None) -> int: "recompute_granularity": "full", "recompute_method": "uniform", "recompute_num_layers": 1, - "pytorch_cuda_alloc_conf": "expandable_segments:True", }, "vllm_execution": { "cudagraph_required": True, diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/validate_run.py b/examples/vime_qwen3_8b_tp2_cp2_200/validate_run.py index d792b426..f8c17a45 100755 --- a/examples/vime_qwen3_8b_tp2_cp2_200/validate_run.py +++ b/examples/vime_qwen3_8b_tp2_cp2_200/validate_run.py @@ -303,7 +303,6 @@ def validate_run(run_dir: Path) -> dict[str, Any]: "recompute_granularity": "full", "recompute_method": "uniform", "recompute_num_layers": 1, - "pytorch_cuda_alloc_conf": "expandable_segments:True", } if manifest.get("training_memory") != expected_recompute: global_errors.append( From c4040cd9000157c57a515022f2724721f1d4a652 Mon Sep 17 00:00:00 2001 From: frank-2077 Date: Mon, 31 Aug 2026 16:04:10 +0000 Subject: [PATCH 06/30] Tune GRPO experiment for long math responses --- examples/vime_qwen3_8b_tp2_cp2_200/README.md | 24 ++++++++++--------- .../collect_results.py | 6 +++++ .../experiment_matrix.json | 3 +-- .../vime_qwen3_8b_tp2_cp2_200/plot_results.py | 17 +++++++++++++ examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py | 6 ++--- 5 files changed, 40 insertions(+), 16 deletions(-) diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/README.md b/examples/vime_qwen3_8b_tp2_cp2_200/README.md index 8d45afd2..f1d5efc1 100644 --- a/examples/vime_qwen3_8b_tp2_cp2_200/README.md +++ b/examples/vime_qwen3_8b_tp2_cp2_200/README.md @@ -38,7 +38,8 @@ metrics. - NVIDIA H100 × 8; actor GPUs 4; rollout GPUs 4; TP=2; CP=2; PP=1. - GRPO, BF16, `top_p=1.0`, temperature 1, no dropout, fixed training and rollout seeds. -- A 4096-token response budget with full uniform activation recomputation +- An 8192-token response budget, one prompt with eight GRPO samples per step, + and full uniform activation recomputation (`recompute-num-layers=1`). Do not enable expandable CUDA allocator segments: deterministic TP collectives require CUDA IPC-capable staging allocations. - vLLM CUDA Graph mode `FULL_DECODE_ONLY`, not eager, with exact capture sizes @@ -62,17 +63,16 @@ The phase definitions are frozen in `experiment_matrix.json`. | Phase | Steps | Seeds | Decision | |---|---:|---|---| -| smoke | 1 | 1234 | Validate launch, routes, CUDA Graph, and artifacts | | short | 8 | 1234 | Catch state transition, weight-update, and cache issues | | precision | 30 | 1234, 2345, 3456 | Estimate drift distribution before the long run | -| convergence | 200 | 1234, 2345, 3456 | Primary PR evidence and learning/performance curves | +| convergence | 200 | 1234 | Primary PR evidence and learning/performance curves | -Use 200 steps for the main claim. One seed is enough to demonstrate a strict -bitwise invariant, but three paired seeds are recommended for reward, -throughput, and overhead claims. Run groups in the same seed order and compare -paired seeds; report the mean and a 95% confidence interval. Never merge runs -from different code revisions, checkpoints, prompt hashes, or CUDA Graph -settings in one estimate. +Use the paired 200-step runs for the main claim. A bitwise invariant does not +need seed averaging; the three paired 30-step seeds test repeatability and +provide uncertainty estimates for reward, throughput, and overhead. Run groups +in the same seed order and compare paired seeds; report the mean and a 95% +confidence interval. Never merge runs from different code revisions, +checkpoints, prompt hashes, or CUDA Graph settings in one estimate. ## Prepare DAPO-Math-17k @@ -88,8 +88,8 @@ python examples/vime_qwen3_8b_tp2_cp2_200/prepare_dapo_data.py \ ``` The converter requires `pyarrow`. The small -`qwen3_8b_multiround_math.jsonl` fixture is for smoke testing only and must not -be used for convergence or reward claims. +`qwen3_8b_multiround_math.jsonl` file is a developer fixture and must not be +used for experiment or reward claims. ## Run one arm @@ -149,6 +149,8 @@ The plotting step requires Matplotlib. It produces: mismatch count per step; - `learning.png`: raw reward with moving average, PPO KL, entropy, and response truncation ratio; +- `optimization.png`: GRPO policy-gradient loss, clipped ratio fraction, PPO + KL, and gradient norm; - `performance.png`: end-to-end step time, rollout time, and actor throughput. The summary table also reports total active-token exposure, cumulative diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/collect_results.py b/examples/vime_qwen3_8b_tp2_cp2_200/collect_results.py index a145163a..b45efecb 100644 --- a/examples/vime_qwen3_8b_tp2_cp2_200/collect_results.py +++ b/examples/vime_qwen3_8b_tp2_cp2_200/collect_results.py @@ -90,6 +90,7 @@ def _run_rows(run_dir: Path) -> tuple[dict[str, Any], list[dict[str, Any]]]: "rollout_kl": _value(rollout, "rollout/kl"), "train_loss": _value(step, "train/loss"), "pg_loss": _value(step, "train/pg_loss"), + "pg_clipfrac": _value(step, "train/pg_clipfrac"), "entropy": _value(step, "train/entropy_loss"), "ppo_kl": _value(step, "train/ppo_kl"), "grad_norm": _value(step, "train/grad_norm"), @@ -168,6 +169,11 @@ def _summaries(rows: list[dict[str, Any]]) -> list[dict[str, Any]]: "reward_mean": ( mean(_finite(items, "reward")) if _finite(items, "reward") else None ), + "raw_reward_mean": ( + mean(_finite(items, "raw_reward")) + if _finite(items, "raw_reward") + else None + ), "truncated_ratio_mean": ( mean(_finite(items, "truncated_ratio")) if _finite(items, "truncated_ratio") diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/experiment_matrix.json b/examples/vime_qwen3_8b_tp2_cp2_200/experiment_matrix.json index c76771ff..f8f7fd94 100644 --- a/examples/vime_qwen3_8b_tp2_cp2_200/experiment_matrix.json +++ b/examples/vime_qwen3_8b_tp2_cp2_200/experiment_matrix.json @@ -31,9 +31,8 @@ } }, "phases": { - "smoke": {"num_rollout": 1, "seeds": [1234]}, "short": {"num_rollout": 8, "seeds": [1234]}, "precision": {"num_rollout": 30, "seeds": [1234, 2345, 3456]}, - "convergence": {"num_rollout": 200, "seeds": [1234, 2345, 3456]} + "convergence": {"num_rollout": 200, "seeds": [1234]} } } diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/plot_results.py b/examples/vime_qwen3_8b_tp2_cp2_200/plot_results.py index 29916959..f2fa4fbd 100644 --- a/examples/vime_qwen3_8b_tp2_cp2_200/plot_results.py +++ b/examples/vime_qwen3_8b_tp2_cp2_200/plot_results.py @@ -164,6 +164,22 @@ def _save_learning(rows, output, dpi, window): plt.close(figure) +def _save_optimization(rows, output, dpi): + import matplotlib.pyplot as plt + + figure, axes = plt.subplots(2, 2, figsize=(13, 8), constrained_layout=True) + _plot_series( + axes[0, 0], rows, "pg_loss", "GRPO policy-gradient loss", symlog=True + ) + _plot_series(axes[0, 1], rows, "pg_clipfrac", "Policy ratio clipped fraction") + _plot_series(axes[1, 0], rows, "ppo_kl", "Training PPO KL", symlog=True) + _plot_series(axes[1, 1], rows, "grad_norm", "Gradient norm", symlog=True) + handles, labels = axes[0, 0].get_legend_handles_labels() + figure.legend(handles, labels, loc="outside upper center", ncol=max(1, len(labels))) + figure.savefig(output / "optimization.png", dpi=dpi) + plt.close(figure) + + def _save_performance(rows, output, dpi): import matplotlib.pyplot as plt @@ -191,6 +207,7 @@ def main() -> int: args.output_dir.mkdir(parents=True, exist_ok=True) _save_consistency(rows, args.output_dir, args.dpi) _save_learning(rows, args.output_dir, args.dpi, args.moving_average) + _save_optimization(rows, args.output_dir, args.dpi) _save_performance(rows, args.output_dir, args.dpi) return 0 diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py b/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py index 21e7e3f3..91f9e3dc 100755 --- a/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py +++ b/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py @@ -175,10 +175,10 @@ def build_parser() -> argparse.ArgumentParser: "--ray-address", default=os.environ.get("RAY_API_SERVER_ADDRESS", "http://127.0.0.1:8265"), ) - parser.add_argument("--rollout-batch-size", type=int, default=4) - parser.add_argument("--n-samples-per-prompt", type=int, default=2) + parser.add_argument("--rollout-batch-size", type=int, default=1) + parser.add_argument("--n-samples-per-prompt", type=int, default=8) parser.add_argument("--global-batch-size", type=int, default=8) - parser.add_argument("--max-response-len", type=int, default=4096) + parser.add_argument("--max-response-len", type=int, default=8192) parser.add_argument("--max-tokens-per-gpu", type=int, default=4096) parser.add_argument("--vllm-gpu-memory-utilization", type=float, default=0.4) parser.add_argument("--extra-pythonpath", action="append", default=[]) From 08180283d3a5ca7e03bd814e70eb0bb8e7cb512b Mon Sep 17 00:00:00 2001 From: frank-2077 Date: Mon, 31 Aug 2026 16:16:01 +0000 Subject: [PATCH 07/30] Cap GRPO responses below CP attention OOM threshold --- examples/vime_qwen3_8b_tp2_cp2_200/README.md | 2 +- examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/README.md b/examples/vime_qwen3_8b_tp2_cp2_200/README.md index f1d5efc1..3cfa7a1f 100644 --- a/examples/vime_qwen3_8b_tp2_cp2_200/README.md +++ b/examples/vime_qwen3_8b_tp2_cp2_200/README.md @@ -38,7 +38,7 @@ metrics. - NVIDIA H100 × 8; actor GPUs 4; rollout GPUs 4; TP=2; CP=2; PP=1. - GRPO, BF16, `top_p=1.0`, temperature 1, no dropout, fixed training and rollout seeds. -- An 8192-token response budget, one prompt with eight GRPO samples per step, +- A 7168-token response budget, one prompt with eight GRPO samples per step, and full uniform activation recomputation (`recompute-num-layers=1`). Do not enable expandable CUDA allocator segments: deterministic TP collectives require CUDA IPC-capable staging allocations. diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py b/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py index 91f9e3dc..6df8d2a5 100755 --- a/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py +++ b/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py @@ -178,7 +178,7 @@ def build_parser() -> argparse.ArgumentParser: parser.add_argument("--rollout-batch-size", type=int, default=1) parser.add_argument("--n-samples-per-prompt", type=int, default=8) parser.add_argument("--global-batch-size", type=int, default=8) - parser.add_argument("--max-response-len", type=int, default=8192) + parser.add_argument("--max-response-len", type=int, default=7168) parser.add_argument("--max-tokens-per-gpu", type=int, default=4096) parser.add_argument("--vllm-gpu-memory-utilization", type=float, default=0.4) parser.add_argument("--extra-pythonpath", action="append", default=[]) From 9caf032359264bf674a217933e97303f12c2b488 Mon Sep 17 00:00:00 2001 From: lamentropetion <3051000145@qq.com> Date: Tue, 1 Sep 2026 01:23:33 +0800 Subject: [PATCH 08/30] Run VIME consistency matrix with TP4 CP2 --- .../README.md | 21 ++++++------ .../aligned_python_entrypoint.sh | 0 .../collect_results.py | 2 +- .../experiment_matrix.json | 2 +- .../plot_results.py | 0 .../prepare_dapo_data.py | 0 .../qwen3_8b_multiround_math.jsonl | 0 .../qwen3_8b_tp4_cp2.json} | 10 +++--- .../run.py | 18 +++++----- .../run_arm.py | 34 +++++++++++-------- .../validate_artifacts.py | 0 .../validate_run.py | 33 ++++++++++++++++-- 12 files changed, 78 insertions(+), 42 deletions(-) rename examples/{vime_qwen3_8b_tp2_cp2_200 => vime_qwen3_8b_tp4_cp2_200}/README.md (90%) rename examples/{vime_qwen3_8b_tp2_cp2_200 => vime_qwen3_8b_tp4_cp2_200}/aligned_python_entrypoint.sh (100%) rename examples/{vime_qwen3_8b_tp2_cp2_200 => vime_qwen3_8b_tp4_cp2_200}/collect_results.py (99%) rename examples/{vime_qwen3_8b_tp2_cp2_200 => vime_qwen3_8b_tp4_cp2_200}/experiment_matrix.json (94%) rename examples/{vime_qwen3_8b_tp2_cp2_200 => vime_qwen3_8b_tp4_cp2_200}/plot_results.py (100%) rename examples/{vime_qwen3_8b_tp2_cp2_200 => vime_qwen3_8b_tp4_cp2_200}/prepare_dapo_data.py (100%) rename examples/{vime_qwen3_8b_tp2_cp2_200 => vime_qwen3_8b_tp4_cp2_200}/qwen3_8b_multiround_math.jsonl (100%) rename examples/{vime_qwen3_8b_tp2_cp2_200/qwen3_8b_tp2_cp2.json => vime_qwen3_8b_tp4_cp2_200/qwen3_8b_tp4_cp2.json} (82%) rename examples/{vime_qwen3_8b_tp2_cp2_200 => vime_qwen3_8b_tp4_cp2_200}/run.py (95%) rename examples/{vime_qwen3_8b_tp2_cp2_200 => vime_qwen3_8b_tp4_cp2_200}/run_arm.py (97%) rename examples/{vime_qwen3_8b_tp2_cp2_200 => vime_qwen3_8b_tp4_cp2_200}/validate_artifacts.py (100%) rename examples/{vime_qwen3_8b_tp2_cp2_200 => vime_qwen3_8b_tp4_cp2_200}/validate_run.py (91%) diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/README.md b/examples/vime_qwen3_8b_tp4_cp2_200/README.md similarity index 90% rename from examples/vime_qwen3_8b_tp2_cp2_200/README.md rename to examples/vime_qwen3_8b_tp4_cp2_200/README.md index 3cfa7a1f..d4bd8033 100644 --- a/examples/vime_qwen3_8b_tp2_cp2_200/README.md +++ b/examples/vime_qwen3_8b_tp4_cp2_200/README.md @@ -1,10 +1,10 @@ -# VIME Qwen3-8B TP2/CP2 200-round consistency experiment +# VIME Qwen3-8B TP4/CP2 200-round consistency experiment This example measures train/rollout numerical consistency at two independent layers: VIME's framework-level reuse of rollout log-probabilities and RL-Kernel's operator-level alignment of Attention, dense FFN, and linear logp. -It is designed for one 8×H100 node with four Megatron training GPUs and four -vLLM rollout GPUs. +It is designed for one 8×H100 node. Megatron uses TP4/CP2 across all eight +GPUs; two TP4 vLLM engines share those GPUs through VIME colocated offload. The optimization algorithm is explicitly fixed to GRPO with `--advantage-estimator grpo`. DAPO-Math-17k is only the prompt/answer dataset; @@ -27,7 +27,7 @@ steps is present, and vLLM CUDA Graph evidence matches the manifest. `P/P` selects the production implementation on training and rollout. `R/R` selects RL-Kernel on both sides. All four groups use the same prompts, initial -checkpoint, sampling settings, seeds, TP2/CP2 topology, and batch sizes. +checkpoint, sampling settings, seeds, TP4/CP2 topology, and batch sizes. Do not interpret G10/G11 as evidence that train and rollout recomputation is bitwise equal: framework reuse changes which stored logp enters the RL loss. @@ -36,7 +36,8 @@ metrics. ## Required gates -- NVIDIA H100 × 8; actor GPUs 4; rollout GPUs 4; TP=2; CP=2; PP=1. +- NVIDIA H100 × 8; colocated actor/rollout GPUs 8; actor TP=4, CP=2, PP=1; + two rollout engines with TP=4 each. - GRPO, BF16, `top_p=1.0`, temperature 1, no dropout, fixed training and rollout seeds. - A 7168-token response budget, one prompt with eight GRPO samples per step, and full uniform activation recomputation @@ -81,7 +82,7 @@ emits VIME `prompt`/`label` JSONL. It deduplicates by `extra_info.index` and writes source/output hashes and row counts to a sibling manifest. ```bash -python examples/vime_qwen3_8b_tp2_cp2_200/prepare_dapo_data.py \ +python examples/vime_qwen3_8b_tp4_cp2_200/prepare_dapo_data.py \ --download \ --source /data/dapo-math-17k.parquet \ --output /data/dapo-math-17k.vime.jsonl @@ -97,7 +98,7 @@ Start a Ray cluster appropriate for the host, then invoke `run_arm.py`. The example below is schematic; every path is recorded in `manifest.json`. ```bash -python examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py \ +python examples/vime_qwen3_8b_tp4_cp2_200/run_arm.py \ --group G01 \ --num-rollout 8 \ --seed 1234 \ @@ -122,7 +123,7 @@ After the Ray job finishes, save its combined log as `run.log` in the run directory and validate it: ```bash -python examples/vime_qwen3_8b_tp2_cp2_200/validate_run.py \ +python examples/vime_qwen3_8b_tp4_cp2_200/validate_run.py \ --run-dir /data/vime-200/runs/short/ \ --seal ``` @@ -133,11 +134,11 @@ Only sealed runs are collected. `collect_results.py` writes one row per run, one row per training step, and group-level summaries. ```bash -python examples/vime_qwen3_8b_tp2_cp2_200/collect_results.py \ +python examples/vime_qwen3_8b_tp4_cp2_200/collect_results.py \ --runs-root /data/vime-200/runs \ --output-dir /data/vime-200/results -python examples/vime_qwen3_8b_tp2_cp2_200/plot_results.py \ +python examples/vime_qwen3_8b_tp4_cp2_200/plot_results.py \ --rounds-csv /data/vime-200/results/rounds.csv \ --phase convergence \ --output-dir /data/vime-200/results/figures diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/aligned_python_entrypoint.sh b/examples/vime_qwen3_8b_tp4_cp2_200/aligned_python_entrypoint.sh similarity index 100% rename from examples/vime_qwen3_8b_tp2_cp2_200/aligned_python_entrypoint.sh rename to examples/vime_qwen3_8b_tp4_cp2_200/aligned_python_entrypoint.sh diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/collect_results.py b/examples/vime_qwen3_8b_tp4_cp2_200/collect_results.py similarity index 99% rename from examples/vime_qwen3_8b_tp2_cp2_200/collect_results.py rename to examples/vime_qwen3_8b_tp4_cp2_200/collect_results.py index b45efecb..cd5ef359 100644 --- a/examples/vime_qwen3_8b_tp2_cp2_200/collect_results.py +++ b/examples/vime_qwen3_8b_tp4_cp2_200/collect_results.py @@ -230,7 +230,7 @@ def main() -> int: _write_csv(args.output_dir / "rounds.csv", rounds) _write_csv(args.output_dir / "summary.csv", summaries) report = { - "schema_version": "rlkernel.vime_qwen3_8b_tp2_cp2_200.results.v1", + "schema_version": "rlkernel.vime_qwen3_8b_tp4_cp2_200.results.v1", "sealed_run_count": len(runs), "round_count": len(rounds), "summaries": summaries, diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/experiment_matrix.json b/examples/vime_qwen3_8b_tp4_cp2_200/experiment_matrix.json similarity index 94% rename from examples/vime_qwen3_8b_tp2_cp2_200/experiment_matrix.json rename to examples/vime_qwen3_8b_tp4_cp2_200/experiment_matrix.json index f8f7fd94..59cc66c9 100644 --- a/examples/vime_qwen3_8b_tp2_cp2_200/experiment_matrix.json +++ b/examples/vime_qwen3_8b_tp4_cp2_200/experiment_matrix.json @@ -1,5 +1,5 @@ { - "schema_version": "rlkernel.vime_qwen3_8b_tp2_cp2_200.matrix.v1", + "schema_version": "rlkernel.vime_qwen3_8b_tp4_cp2_200.matrix.v1", "groups": { "G00": { "framework_use_rollout_logprobs": false, diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/plot_results.py b/examples/vime_qwen3_8b_tp4_cp2_200/plot_results.py similarity index 100% rename from examples/vime_qwen3_8b_tp2_cp2_200/plot_results.py rename to examples/vime_qwen3_8b_tp4_cp2_200/plot_results.py diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/prepare_dapo_data.py b/examples/vime_qwen3_8b_tp4_cp2_200/prepare_dapo_data.py similarity index 100% rename from examples/vime_qwen3_8b_tp2_cp2_200/prepare_dapo_data.py rename to examples/vime_qwen3_8b_tp4_cp2_200/prepare_dapo_data.py diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/qwen3_8b_multiround_math.jsonl b/examples/vime_qwen3_8b_tp4_cp2_200/qwen3_8b_multiround_math.jsonl similarity index 100% rename from examples/vime_qwen3_8b_tp2_cp2_200/qwen3_8b_multiround_math.jsonl rename to examples/vime_qwen3_8b_tp4_cp2_200/qwen3_8b_multiround_math.jsonl diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/qwen3_8b_tp2_cp2.json b/examples/vime_qwen3_8b_tp4_cp2_200/qwen3_8b_tp4_cp2.json similarity index 82% rename from examples/vime_qwen3_8b_tp2_cp2_200/qwen3_8b_tp2_cp2.json rename to examples/vime_qwen3_8b_tp4_cp2_200/qwen3_8b_tp4_cp2.json index 2351e554..b749c46e 100644 --- a/examples/vime_qwen3_8b_tp2_cp2_200/qwen3_8b_tp2_cp2.json +++ b/examples/vime_qwen3_8b_tp4_cp2_200/qwen3_8b_tp4_cp2.json @@ -1,12 +1,12 @@ { - "schema_version": "rlkernel.vime_qwen3_8b_tp2_cp2.v1", + "schema_version": "rlkernel.vime_qwen3_8b_tp4_cp2.v1", "model": "Qwen/Qwen3-8B", "training": { "framework": "megatron", - "tensor_model_parallel_size": 2, + "tensor_model_parallel_size": 4, "context_parallel_size": 2, "pipeline_model_parallel_size": 1, - "world_size": 4, + "world_size": 8, "dtype": "bf16" }, "rollout": { @@ -17,7 +17,7 @@ "linear_logp_provider": { "path": "rl_engine.integrations.vime.linear_logp_provider.provider", "mode": "strict", - "backend_id": "pytorch-vocab-parallel-logp-ws2", + "backend_id": "rlkernel.linear_logp.bitwise.v1", "real_vocab_size": 151936, "padded_vocab_size": 152064, "num_vocab_tiles": 64 @@ -39,5 +39,5 @@ "status": "not_claimed_without_Megatron_and_vLLM_readback" } }, - "vime_script": "scripts/run-qwen3-8B-rlkernel-tp2-cp2.sh" + "vime_script": "scripts/run-qwen3-8B-rlkernel-tp4-cp2.sh" } diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/run.py b/examples/vime_qwen3_8b_tp4_cp2_200/run.py similarity index 95% rename from examples/vime_qwen3_8b_tp2_cp2_200/run.py rename to examples/vime_qwen3_8b_tp4_cp2_200/run.py index 464fec13..5bb0af6a 100644 --- a/examples/vime_qwen3_8b_tp2_cp2_200/run.py +++ b/examples/vime_qwen3_8b_tp4_cp2_200/run.py @@ -1,7 +1,7 @@ # SPDX-License-Identifier: Apache-2.0 # Copyright (c) 2026 RL-Kernel Contributors -"""Run and archive the Vime Qwen3-8B TP=2/CP=2 validation entry point. +"""Run and archive the Vime Qwen3-8B TP=4/CP=2 validation entry point. This is an integration example, not a synthetic pass generator. A dry run only records the exact launch contract. ``--run`` executes Vime and records @@ -20,7 +20,7 @@ from pathlib import Path from typing import Any, Mapping -DEFAULT_CONFIG = Path(__file__).with_name("qwen3_8b_tp2_cp2.json") +DEFAULT_CONFIG = Path(__file__).with_name("qwen3_8b_tp4_cp2.json") PROVIDER_MARKER = "linear_logp provider active" FALLBACK_MARKERS = ("using native path", "fallback=True", "fallback=true") RUNTIME_EVIDENCE_SCHEMA = "rlkernel.operator_runtime_evidence.v1" @@ -57,10 +57,10 @@ def validate_config(config: Mapping[str, Any]) -> None: "training, rollout, and linear_logp_provider sections are required" ) expected = { - "tensor_model_parallel_size": 2, + "tensor_model_parallel_size": 4, "context_parallel_size": 2, "pipeline_model_parallel_size": 1, - "world_size": 4, + "world_size": 8, } for name, value in expected.items(): if training.get(name) != value: @@ -76,8 +76,8 @@ def validate_config(config: Mapping[str, Any]) -> None: != "rl_engine.integrations.vime.linear_logp_provider.provider" ): raise ValueError("example must use the RL-Kernel Vime provider") - if provider.get("backend_id") != "pytorch-vocab-parallel-logp-ws2": - raise ValueError("example must pin the WS2 vocab-parallel backend") + if provider.get("backend_id") != "rlkernel.linear_logp.bitwise.v1": + raise ValueError("example must pin the deterministic vocab-parallel backend") def load_runtime_evidence(path: Path | None) -> dict[str, Any] | None: @@ -162,7 +162,7 @@ def build_environment(vime_root: Path, rl_kernel_root: Path) -> dict[str, str]: existing.append(env["PYTHONPATH"]) env["PYTHONPATH"] = os.pathsep.join(existing) env["RL_KERNEL_ROOT"] = str(rl_kernel_root) - env["TP_SIZE"] = "2" + env["TP_SIZE"] = "4" env["CP_SIZE"] = "2" env["ROLLOUT_TOP_P"] = "1.0" return env @@ -205,7 +205,7 @@ def build_report( "created_at": datetime.now(timezone.utc).isoformat(), "status": effective_status, "claim_boundary": { - "qwen3_8b_tp2_cp2_vime_training": strict_provider_passed, + "qwen3_8b_tp4_cp2_vime_training": strict_provider_passed, "attention_train_infer_consistency": attention_status, "ffn_train_infer_consistency": ffn_status, "reason": ( @@ -252,7 +252,7 @@ def main(argv: list[str] | None = None) -> int: default=Path(os.environ.get("RL_KERNEL_ROOT", ".")), ) parser.add_argument( - "--output", type=Path, default=Path("qwen3_8b_tp2_cp2.validation.json") + "--output", type=Path, default=Path("qwen3_8b_tp4_cp2.validation.json") ) parser.add_argument( "--runtime-evidence", diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py b/examples/vime_qwen3_8b_tp4_cp2_200/run_arm.py similarity index 97% rename from examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py rename to examples/vime_qwen3_8b_tp4_cp2_200/run_arm.py index 6df8d2a5..a6871dab 100755 --- a/examples/vime_qwen3_8b_tp2_cp2_200/run_arm.py +++ b/examples/vime_qwen3_8b_tp4_cp2_200/run_arm.py @@ -46,6 +46,18 @@ class Arm: ), } +TOPOLOGY = { + "gpus": 8, + "actor_gpus": 8, + "rollout_gpus": 8, + "tp": 4, + "cp": 2, + "pp": 1, + "colocate": True, + "rollout_gpus_per_engine": 4, + "rollout_engines": 2, +} + MODEL_ARGS = ( "--swiglu", "--num-layers", @@ -292,9 +304,10 @@ def main(argv: list[str] | None = None) -> int: "--actor-num-nodes", "1", "--actor-num-gpus-per-node", - "4", + str(TOPOLOGY["actor_gpus"]), "--rollout-num-gpus", - "4", + str(TOPOLOGY["rollout_gpus"]), + "--colocate", *MODEL_ARGS, "--hf-checkpoint", str(model_root), @@ -330,9 +343,9 @@ def main(argv: list[str] | None = None) -> int: str(args.global_batch_size), "--balance-data", "--tensor-model-parallel-size", - "2", + str(TOPOLOGY["tp"]), "--context-parallel-size", - "2", + str(TOPOLOGY["cp"]), "--cp-comm-type", "p2p", "--pipeline-model-parallel-size", @@ -380,7 +393,7 @@ def main(argv: list[str] | None = None) -> int: "--router-policy", "cache_aware", "--rollout-num-gpus-per-engine", - "2", + str(TOPOLOGY["rollout_gpus_per_engine"]), "--vllm-gpu-memory-utilization", str(args.vllm_gpu_memory_utilization), ] @@ -417,7 +430,7 @@ def main(argv: list[str] | None = None) -> int: ray_command.extend(["--", *train_command]) manifest = { - "schema_version": "rlkernel.vime_qwen3_8b_tp2_cp2_200.run.v1", + "schema_version": "rlkernel.vime_qwen3_8b_tp4_cp2_200.run.v1", "created_at": datetime.now(timezone.utc).isoformat(), "status": "planned" if args.dry_run else "submitting", "run_id": run_id, @@ -426,14 +439,7 @@ def main(argv: list[str] | None = None) -> int: "num_rollout": args.num_rollout, "seed": args.seed, "rollout_seed": args.rollout_seed, - "topology": { - "gpus": 8, - "actor_gpus": 4, - "rollout_gpus": 4, - "tp": 2, - "cp": 2, - "pp": 1, - }, + "topology": dict(TOPOLOGY), "batching": { "rollout_batch_size": args.rollout_batch_size, "n_samples_per_prompt": args.n_samples_per_prompt, diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/validate_artifacts.py b/examples/vime_qwen3_8b_tp4_cp2_200/validate_artifacts.py similarity index 100% rename from examples/vime_qwen3_8b_tp2_cp2_200/validate_artifacts.py rename to examples/vime_qwen3_8b_tp4_cp2_200/validate_artifacts.py diff --git a/examples/vime_qwen3_8b_tp2_cp2_200/validate_run.py b/examples/vime_qwen3_8b_tp4_cp2_200/validate_run.py similarity index 91% rename from examples/vime_qwen3_8b_tp2_cp2_200/validate_run.py rename to examples/vime_qwen3_8b_tp4_cp2_200/validate_run.py index f8c17a45..126610a2 100755 --- a/examples/vime_qwen3_8b_tp2_cp2_200/validate_run.py +++ b/examples/vime_qwen3_8b_tp4_cp2_200/validate_run.py @@ -22,6 +22,17 @@ RECORD_RE = re.compile(r"\b(rollout|step|perf)\s+(\d+):\s+(\{.*\})\s*$") FRAMEWORKS = (("megatron", "training"), ("vllm", "rollout")) MODULES = ("attention", "ffn", "logp") +EXPECTED_TOPOLOGY = { + "gpus": 8, + "actor_gpus": 8, + "rollout_gpus": 8, + "tp": 4, + "cp": 2, + "pp": 1, + "colocate": True, + "rollout_gpus_per_engine": 4, + "rollout_engines": 2, +} CASE_FIELDS = { "attention": "attention_case", "ffn": "ffn_case", @@ -299,6 +310,24 @@ def validate_run(run_dir: Path) -> dict[str, Any]: for index in range(max(0, len(train_command) - 1)) ): global_errors.append("train command does not explicitly select GRPO") + if manifest.get("topology") != EXPECTED_TOPOLOGY: + global_errors.append("manifest does not contain the required TP4/CP2 colocated topology") + required_command_pairs = ( + ("--actor-num-gpus-per-node", "8"), + ("--rollout-num-gpus", "8"), + ("--tensor-model-parallel-size", "4"), + ("--context-parallel-size", "2"), + ("--rollout-num-gpus-per-engine", "4"), + ) + if isinstance(train_command, list): + for flag, value in required_command_pairs: + if not any( + train_command[index : index + 2] == [flag, value] + for index in range(max(0, len(train_command) - 1)) + ): + global_errors.append(f"train command does not contain {flag} {value}") + if "--colocate" not in train_command: + global_errors.append("train command does not enable colocated execution") expected_recompute = { "recompute_granularity": "full", "recompute_method": "uniform", @@ -313,7 +342,7 @@ def validate_run(run_dir: Path) -> dict[str, Any]: if "Traceback (most recent call last)" in log_text: global_errors.append("run log contains a traceback") report = { - "schema_version": "rlkernel.vime_qwen3_8b_tp2_cp2_200.validation.v1", + "schema_version": "rlkernel.vime_qwen3_8b_tp4_cp2_200.validation.v1", "run_id": manifest.get("run_id"), "group": arm.get("group"), "passed": bool( @@ -343,7 +372,7 @@ def main(argv: list[str] | None = None) -> int: report = validate_run(run_dir) except Exception as exc: report = { - "schema_version": "rlkernel.vime_qwen3_8b_tp2_cp2_200.validation.v1", + "schema_version": "rlkernel.vime_qwen3_8b_tp4_cp2_200.validation.v1", "passed": False, "errors": [f"{type(exc).__name__}: {exc}"], } From bcb5e6963d5130cc425b2093a114318a0a28c398 Mon Sep 17 00:00:00 2001 From: lamentropetion <3051000145@qq.com> Date: Tue, 1 Sep 2026 01:47:53 +0800 Subject: [PATCH 09/30] Keep colocated TP4 actor resident --- examples/vime_qwen3_8b_tp4_cp2_200/README.md | 3 +++ examples/vime_qwen3_8b_tp4_cp2_200/run_arm.py | 4 ++++ examples/vime_qwen3_8b_tp4_cp2_200/validate_run.py | 6 ++++++ 3 files changed, 13 insertions(+) diff --git a/examples/vime_qwen3_8b_tp4_cp2_200/README.md b/examples/vime_qwen3_8b_tp4_cp2_200/README.md index d4bd8033..cd7b59c1 100644 --- a/examples/vime_qwen3_8b_tp4_cp2_200/README.md +++ b/examples/vime_qwen3_8b_tp4_cp2_200/README.md @@ -38,6 +38,9 @@ metrics. - NVIDIA H100 × 8; colocated actor/rollout GPUs 8; actor TP=4, CP=2, PP=1; two rollout engines with TP=4 each. +- Keep the TP4 Megatron actor resident and offload rollout during training. + This avoids remapping live NCCL parameter buffers while still fitting Qwen3-8B + on each 80GB H100. - GRPO, BF16, `top_p=1.0`, temperature 1, no dropout, fixed training and rollout seeds. - A 7168-token response budget, one prompt with eight GRPO samples per step, and full uniform activation recomputation diff --git a/examples/vime_qwen3_8b_tp4_cp2_200/run_arm.py b/examples/vime_qwen3_8b_tp4_cp2_200/run_arm.py index a6871dab..8f942fb9 100755 --- a/examples/vime_qwen3_8b_tp4_cp2_200/run_arm.py +++ b/examples/vime_qwen3_8b_tp4_cp2_200/run_arm.py @@ -54,6 +54,8 @@ class Arm: "cp": 2, "pp": 1, "colocate": True, + "offload_train": False, + "offload_rollout": True, "rollout_gpus_per_engine": 4, "rollout_engines": 2, } @@ -308,6 +310,8 @@ def main(argv: list[str] | None = None) -> int: "--rollout-num-gpus", str(TOPOLOGY["rollout_gpus"]), "--colocate", + "--no-offload-train", + "--offload-rollout", *MODEL_ARGS, "--hf-checkpoint", str(model_root), diff --git a/examples/vime_qwen3_8b_tp4_cp2_200/validate_run.py b/examples/vime_qwen3_8b_tp4_cp2_200/validate_run.py index 126610a2..7fe153be 100755 --- a/examples/vime_qwen3_8b_tp4_cp2_200/validate_run.py +++ b/examples/vime_qwen3_8b_tp4_cp2_200/validate_run.py @@ -30,6 +30,8 @@ "cp": 2, "pp": 1, "colocate": True, + "offload_train": False, + "offload_rollout": True, "rollout_gpus_per_engine": 4, "rollout_engines": 2, } @@ -328,6 +330,10 @@ def validate_run(run_dir: Path) -> dict[str, Any]: global_errors.append(f"train command does not contain {flag} {value}") if "--colocate" not in train_command: global_errors.append("train command does not enable colocated execution") + if "--no-offload-train" not in train_command: + global_errors.append("train command does not keep the TP4 actor resident") + if "--offload-rollout" not in train_command: + global_errors.append("train command does not offload rollout during training") expected_recompute = { "recompute_granularity": "full", "recompute_method": "uniform", From 5403df6e3c5244343438916248ccfcc597dd96f6 Mon Sep 17 00:00:00 2001 From: lamentropetion <3051000145@qq.com> Date: Tue, 1 Sep 2026 02:08:06 +0800 Subject: [PATCH 10/30] Align Megatron TP4 attention reduction tree --- rl_engine/integrations/framework_operators.py | 3 + rl_engine/integrations/megatron_runtime.py | 46 ++++++++++++- tests/test_framework_runtime_adapters.py | 67 +++++++++++++++++++ 3 files changed, 114 insertions(+), 2 deletions(-) diff --git a/rl_engine/integrations/framework_operators.py b/rl_engine/integrations/framework_operators.py index b1b5f970..12083ad3 100644 --- a/rl_engine/integrations/framework_operators.py +++ b/rl_engine/integrations/framework_operators.py @@ -637,6 +637,9 @@ def execute_sequence( "tp_world_size": tp_world, "runtime_platform": "cuda", "triton_used": False, + "tp_output_projection_collective": ( + "deterministic_all_reduce.ipc_localized_fixed_tree.v1" + ), **execution_provenance, } return output diff --git a/rl_engine/integrations/megatron_runtime.py b/rl_engine/integrations/megatron_runtime.py index 72ac8919..a8c23b3d 100644 --- a/rl_engine/integrations/megatron_runtime.py +++ b/rl_engine/integrations/megatron_runtime.py @@ -31,6 +31,37 @@ _STRICT_TE_RMS_NORM_PATCH_MARKER = "__rl_kernel_original_strict_rms_norm_forward__" +class _DeterministicTensorParallelReduce(torch.autograd.Function): + """Megatron ``reduce_from_tp`` semantics with the shared fixed tree.""" + + @staticmethod + def forward(ctx: Any, input_value: torch.Tensor, tp_group: Any) -> torch.Tensor: + del ctx + from rl_engine.distributed.collectives import collective_for_group + + collective = collective_for_group( + tp_group, + min_size_bytes=input_value.numel() * input_value.element_size(), + ) + if collective is None: + return input_value + return collective.all_reduce(input_value.contiguous()) + + @staticmethod + def backward(ctx: Any, grad_output: torch.Tensor) -> tuple[torch.Tensor, None]: + del ctx + # ``reduce_from_tensor_model_parallel_region`` is an all-reduce in the + # forward pass and identity in the backward pass. + return grad_output, None + + +def _deterministic_reduce_from_tensor_model_parallel_region( + input_value: torch.Tensor, + tp_group: Any, +) -> torch.Tensor: + return _DeterministicTensorParallelReduce.apply(input_value, tp_group) + + def _optional_class(path: str) -> type[Any] | None: module_name, _, class_name = path.rpartition(".") try: @@ -125,6 +156,17 @@ def tp_mappings() -> tuple[ reduce_from_tensor_model_parallel_region, ) + def strict_tp_reduce(input_value: torch.Tensor) -> torch.Tensor: + if reduce_from_tp is not None: + return reduce_from_tp(input_value) + from megatron.core import parallel_state + + tp_group = parallel_state.get_tensor_model_parallel_group() + return _deterministic_reduce_from_tensor_model_parallel_region( + input_value, + tp_group, + ) + def deterministic_projection( input_value: torch.Tensor, weight: torch.Tensor, @@ -147,7 +189,7 @@ def attention_init_wrapped(instance: Any, *args: Any, **kwargs: Any) -> None: setattr(qkv, _STRICT_ATTENTION_PROJECTION_MARKER, "qkv") setattr(projection, _STRICT_ATTENTION_PROJECTION_MARKER, "o_proj") if hasattr(qkv, "layer_norm_weight"): - tp_copy, tp_reduce = tp_mappings() + tp_copy, _native_tp_reduce = tp_mappings() def te_qkv_forward(module: Any, input_value: torch.Tensor) -> Any: normalized = _fused_rms_norm_input(module, input_value, "linear_qkv") @@ -156,7 +198,7 @@ def te_qkv_forward(module: Any, input_value: torch.Tensor) -> Any: def te_projection_forward(module: Any, input_value: torch.Tensor) -> Any: output = deterministic_projection(input_value, module.weight, None) - return tp_reduce(output), None + return strict_tp_reduce(output), None qkv.forward = MethodType(te_qkv_forward, qkv) projection.forward = MethodType(te_projection_forward, projection) diff --git a/tests/test_framework_runtime_adapters.py b/tests/test_framework_runtime_adapters.py index ee6ff339..f117e760 100644 --- a/tests/test_framework_runtime_adapters.py +++ b/tests/test_framework_runtime_adapters.py @@ -28,6 +28,7 @@ _vllm_kv_cache_views, ) from rl_engine.integrations.megatron_runtime import ( + _deterministic_reduce_from_tensor_model_parallel_region, _patch_strict_attention_projections, install_megatron_integration, ) @@ -312,6 +313,72 @@ def __init__(self): assert attention.linear_qkv.allreduce_dgrad is False +def test_megatron_te_attention_projection_uses_injected_strict_tp_reduce(): + calls: list[torch.Tensor] = [] + + class ColumnLinear: + def __init__(self): + self.layer_norm_weight = torch.ones(2) + self.weight = torch.tensor([[1.0, 0.0], [0.0, 1.0]]) + + def _forward_impl(self, input, weight, *args, **kwargs): + del args, kwargs + return input @ weight.t() + + class RowLinear: + def __init__(self): + self.weight = torch.tensor([[1.0, 0.0], [0.0, 1.0]]) + + def _forward_impl(self, input, weight, *args, **kwargs): + del args, kwargs + return input @ weight.t() + + class SelfAttention: + def __init__(self): + self.linear_qkv = ColumnLinear() + self.linear_proj = RowLinear() + + def reduce_from_tp(value: torch.Tensor) -> torch.Tensor: + calls.append(value) + return value * 4 + + _patch_strict_attention_projections( + self_attention_cls=SelfAttention, + column_linear_cls=ColumnLinear, + row_linear_cls=RowLinear, + det_gemm=lambda lhs, rhs: lhs @ rhs, + copy_to_tp=lambda value: value, + reduce_from_tp=reduce_from_tp, + ) + attention = SelfAttention() + value = torch.tensor([[1.0, 2.0]]) + + output, bias = attention.linear_proj.forward(value) + + assert bias is None + assert len(calls) == 1 + assert torch.equal(calls[0], value) + assert torch.equal(output, value * 4) + + +def test_megatron_deterministic_tp_reduce_keeps_identity_backward(monkeypatch): + class Collective: + def all_reduce(self, value): + return value * 4 + + monkeypatch.setattr( + "rl_engine.distributed.collectives.collective_for_group", + lambda group, min_size_bytes: Collective(), + ) + value = torch.tensor([1.0, 2.0], requires_grad=True) + + output = _deterministic_reduce_from_tensor_model_parallel_region(value, object()) + output.sum().backward() + + assert torch.equal(output, value.detach() * 4) + assert torch.equal(value.grad, torch.ones_like(value)) + + def test_vllm_qwen3_strict_model_installs_without_debug_environment(monkeypatch): monkeypatch.delenv("RL_KERNEL_MODEL_DEBUG_DIR", raising=False) From 77c9d775562560da4c26dc67719cb164f40a095a Mon Sep 17 00:00:00 2001 From: frank-2077 Date: Tue, 1 Sep 2026 01:37:51 +0000 Subject: [PATCH 11/30] Pin VIME Qwen3 production attention backend --- examples/vime_qwen3_8b_tp4_cp2_200/README.md | 3 +++ examples/vime_qwen3_8b_tp4_cp2_200/run_arm.py | 7 ++++++- tests/test_vime_tp4_example.py | 10 ++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 tests/test_vime_tp4_example.py diff --git a/examples/vime_qwen3_8b_tp4_cp2_200/README.md b/examples/vime_qwen3_8b_tp4_cp2_200/README.md index cd7b59c1..2c8fcc82 100644 --- a/examples/vime_qwen3_8b_tp4_cp2_200/README.md +++ b/examples/vime_qwen3_8b_tp4_cp2_200/README.md @@ -41,6 +41,9 @@ metrics. - Keep the TP4 Megatron actor resident and offload rollout during training. This avoids remapping live NCCL parameter buffers while still fitting Qwen3-8B on each 80GB H100. +- Pin Megatron's production attention backend to `flash`, matching the upstream + VIME Qwen3 recipes. Backend auto-selection is host-dependent and would make + G00/G10 incomparable across environments. - GRPO, BF16, `top_p=1.0`, temperature 1, no dropout, fixed training and rollout seeds. - A 7168-token response budget, one prompt with eight GRPO samples per step, and full uniform activation recomputation diff --git a/examples/vime_qwen3_8b_tp4_cp2_200/run_arm.py b/examples/vime_qwen3_8b_tp4_cp2_200/run_arm.py index 8f942fb9..10e8e5b2 100755 --- a/examples/vime_qwen3_8b_tp4_cp2_200/run_arm.py +++ b/examples/vime_qwen3_8b_tp4_cp2_200/run_arm.py @@ -60,6 +60,11 @@ class Arm: "rollout_engines": 2, } +# Match the upstream VIME Qwen3 recipes explicitly. Leaving this as ``auto`` +# makes the production arms host-dependent because Transformer Engine may pick +# either FlashAttention or cuDNN fused attention. +MEGATRON_ATTENTION_BACKEND = "flash" + MODEL_ARGS = ( "--swiglu", "--num-layers", @@ -393,7 +398,7 @@ def main(argv: list[str] | None = None) -> int: "--no-rope-fusion", "--attention-softmax-in-fp32", "--attention-backend", - "auto", + MEGATRON_ATTENTION_BACKEND, "--router-policy", "cache_aware", "--rollout-num-gpus-per-engine", diff --git a/tests/test_vime_tp4_example.py b/tests/test_vime_tp4_example.py new file mode 100644 index 00000000..e97b3cfa --- /dev/null +++ b/tests/test_vime_tp4_example.py @@ -0,0 +1,10 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 RL-Kernel Contributors + +from examples.vime_qwen3_8b_tp4_cp2_200.run_arm import ( + MEGATRON_ATTENTION_BACKEND, +) + + +def test_tp4_formal_matrix_pins_the_vime_qwen3_attention_backend(): + assert MEGATRON_ATTENTION_BACKEND == "flash" From 07aede06bdd84c1feddc3a66a049c616a360aeec Mon Sep 17 00:00:00 2001 From: frank-2077 Date: Tue, 1 Sep 2026 01:59:37 +0000 Subject: [PATCH 12/30] Use fused attention for TP4 CP2 production arms --- examples/vime_qwen3_8b_tp4_cp2_200/README.md | 8 +++++--- examples/vime_qwen3_8b_tp4_cp2_200/run_arm.py | 8 ++++---- tests/test_vime_tp4_example.py | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/examples/vime_qwen3_8b_tp4_cp2_200/README.md b/examples/vime_qwen3_8b_tp4_cp2_200/README.md index 2c8fcc82..59894f2a 100644 --- a/examples/vime_qwen3_8b_tp4_cp2_200/README.md +++ b/examples/vime_qwen3_8b_tp4_cp2_200/README.md @@ -41,9 +41,11 @@ metrics. - Keep the TP4 Megatron actor resident and offload rollout during training. This avoids remapping live NCCL parameter buffers while still fitting Qwen3-8B on each 80GB H100. -- Pin Megatron's production attention backend to `flash`, matching the upstream - VIME Qwen3 recipes. Backend auto-selection is host-dependent and would make - G00/G10 incomparable across environments. +- Pin Megatron's production attention backend to Transformer Engine `fused` for + CP2/P2P. Backend auto-selection is host-dependent and would make G00/G10 + incomparable across environments. On hosts exposing multiple CUDA runtime + majors, use Transformer Engine 2.18 or newer and select the CUDA 12 runtime + explicitly with `CUDNN_FRONTEND_CUDART_LIB_NAME`. - GRPO, BF16, `top_p=1.0`, temperature 1, no dropout, fixed training and rollout seeds. - A 7168-token response budget, one prompt with eight GRPO samples per step, and full uniform activation recomputation diff --git a/examples/vime_qwen3_8b_tp4_cp2_200/run_arm.py b/examples/vime_qwen3_8b_tp4_cp2_200/run_arm.py index 10e8e5b2..194d7240 100755 --- a/examples/vime_qwen3_8b_tp4_cp2_200/run_arm.py +++ b/examples/vime_qwen3_8b_tp4_cp2_200/run_arm.py @@ -60,10 +60,10 @@ class Arm: "rollout_engines": 2, } -# Match the upstream VIME Qwen3 recipes explicitly. Leaving this as ``auto`` -# makes the production arms host-dependent because Transformer Engine may pick -# either FlashAttention or cuDNN fused attention. -MEGATRON_ATTENTION_BACKEND = "flash" +# CP2/P2P requires Transformer Engine's fused attention on this topology. +# Pinning the choice keeps the production arms independent of host-specific +# backend auto-selection. +MEGATRON_ATTENTION_BACKEND = "fused" MODEL_ARGS = ( "--swiglu", diff --git a/tests/test_vime_tp4_example.py b/tests/test_vime_tp4_example.py index e97b3cfa..480398f6 100644 --- a/tests/test_vime_tp4_example.py +++ b/tests/test_vime_tp4_example.py @@ -7,4 +7,4 @@ def test_tp4_formal_matrix_pins_the_vime_qwen3_attention_backend(): - assert MEGATRON_ATTENTION_BACKEND == "flash" + assert MEGATRON_ATTENTION_BACKEND == "fused" From 576741fd7f17e43cfead6ba14f2ac20fda723a3a Mon Sep 17 00:00:00 2001 From: frank-2077 Date: Tue, 1 Sep 2026 04:24:26 +0000 Subject: [PATCH 13/30] fix-native-production-logp-route --- examples/vime_qwen3_8b_tp4_cp2_200/README.md | 17 ++- examples/vime_qwen3_8b_tp4_cp2_200/run_arm.py | 24 +++- .../vime_qwen3_8b_tp4_cp2_200/validate_run.py | 104 ++++++++++++++- rl_engine/integrations/megatron_runtime.py | 7 +- .../integrations/vime/linear_logp_provider.py | 10 +- tests/test_vime_linear_logp_provider.py | 16 +-- tests/test_vime_tp4_example.py | 119 ++++++++++++++++++ 7 files changed, 273 insertions(+), 24 deletions(-) diff --git a/examples/vime_qwen3_8b_tp4_cp2_200/README.md b/examples/vime_qwen3_8b_tp4_cp2_200/README.md index 59894f2a..1819d99b 100644 --- a/examples/vime_qwen3_8b_tp4_cp2_200/README.md +++ b/examples/vime_qwen3_8b_tp4_cp2_200/README.md @@ -12,7 +12,7 @@ it does not select the DAPO training algorithm. The rule reward is computed by VIME's `deepscaler` reward implementation. The experiment is fail-closed. A run is accepted only when its Ray job -succeeds, every expected operator route has CUDA execution readback, no +succeeds, every expected operator route has runtime execution evidence, no fallback or Triton route is observed for an R/R arm, the requested number of steps is present, and vLLM CUDA Graph evidence matches the manifest. @@ -25,8 +25,11 @@ steps is present, and vLLM CUDA Graph evidence matches the manifest. | G01 | off | R/R | RL-Kernel operator-level consistency only | | G11 | on | R/R | Framework-level plus operator-level consistency | -`P/P` selects the production implementation on training and rollout. `R/R` -selects RL-Kernel on both sides. All four groups use the same prompts, initial +`P/P` selects the production implementation on training and rollout. For +Megatron linear logp this means that no external provider is configured and +VIME calls its native `calculate_log_probs_and_entropy` implementation +directly. `R/R` selects RL-Kernel on both sides and installs the strict +RL-Kernel linear-logp provider. All four groups use the same prompts, initial checkpoint, sampling settings, seeds, TP4/CP2 topology, and batch sizes. Do not interpret G10/G11 as evidence that train and rollout recomputation is @@ -53,8 +56,12 @@ metrics. deterministic TP collectives require CUDA IPC-capable staging allocations. - vLLM CUDA Graph mode `FULL_DECODE_ONLY`, not eager, with exact capture sizes `1..(rollout_batch_size × n_samples_per_prompt)`. -- Megatron and vLLM readbacks for Attention, FFN, and logp, with positive call - counts and the expected case/implementation. +- Megatron and vLLM integration readbacks with positive call counts for every + configured route. A production Megatron logp route instead requires VIME's + native-backend runtime marker and rejects any provider hook or provider + readback. +- Production routes reject provenance whose actual backend is RL-Kernel, even + if an outer integration layer labeled the call as production. - R/R runs must report zero bitwise mismatches, zero max absolute logp difference, CUDA execution, and no fallback or Triton provenance. - Append-only run directories. A passing validator creates `COMPLETE`; failed diff --git a/examples/vime_qwen3_8b_tp4_cp2_200/run_arm.py b/examples/vime_qwen3_8b_tp4_cp2_200/run_arm.py index 194d7240..e91cb4ba 100755 --- a/examples/vime_qwen3_8b_tp4_cp2_200/run_arm.py +++ b/examples/vime_qwen3_8b_tp4_cp2_200/run_arm.py @@ -64,6 +64,9 @@ class Arm: # Pinning the choice keeps the production arms independent of host-specific # backend auto-selection. MEGATRON_ATTENTION_BACKEND = "fused" +RL_KERNEL_LINEAR_LOGP_PROVIDER = ( + "rl_engine.integrations.vime.linear_logp_provider.provider" +) MODEL_ARGS = ( "--swiglu", @@ -95,6 +98,22 @@ class Arm: ) +def _linear_logp_provider_args(arm: Arm) -> tuple[str, ...]: + """Install the RL-Kernel provider only on a training-side R route.""" + + training_side, _rollout_side = arm.logp_case.split("/", 1) + if training_side == "P": + return () + if training_side == "R": + return ( + "--linear-logp-provider", + RL_KERNEL_LINEAR_LOGP_PROVIDER, + "--linear-logp-provider-mode", + "strict", + ) + raise ValueError(f"unsupported training logp route: {arm.logp_case!r}") + + def _path(value: str | None, label: str) -> Path: if not value: raise ValueError(f"{label} is required (argument or environment variable)") @@ -382,10 +401,7 @@ def main(argv: list[str] | None = None) -> int: "disk", "--update-weight-disk-dir", str(run_dir / "weight-updates"), - "--linear-logp-provider", - "rl_engine.integrations.vime.linear_logp_provider.provider", - "--linear-logp-provider-mode", - "strict", + *_linear_logp_provider_args(arm), "--no-save-optim", "--attention-dropout", "0.0", diff --git a/examples/vime_qwen3_8b_tp4_cp2_200/validate_run.py b/examples/vime_qwen3_8b_tp4_cp2_200/validate_run.py index 7fe153be..74e04210 100755 --- a/examples/vime_qwen3_8b_tp4_cp2_200/validate_run.py +++ b/examples/vime_qwen3_8b_tp4_cp2_200/validate_run.py @@ -40,6 +40,14 @@ "ffn": "ffn_case", "logp": "logp_case", } +RL_KERNEL_LINEAR_LOGP_PROVIDER = ( + "rl_engine.integrations.vime.linear_logp_provider.provider" +) +VIME_NATIVE_LINEAR_LOGP_MARKER = ( + "linear_logp native active: " + "backend_id=vime.utils.ppo_utils.calculate_log_probs_and_entropy " + "contract_id=vime.native.linear_logp.v1 route=unconfigured device=cuda" +) def _load_json(path: Path) -> dict[str, Any]: @@ -108,8 +116,21 @@ def _load_readbacks(directory: Path) -> list[dict[str, Any]]: return values +def _reported_backend_ids(value: Any) -> set[str]: + backend_ids: set[str] = set() + if isinstance(value, Mapping): + for key, nested in value.items(): + if key in {"actual_backend", "backend_id"} and isinstance(nested, str): + backend_ids.add(nested) + backend_ids.update(_reported_backend_ids(nested)) + elif isinstance(value, (list, tuple)): + for nested in value: + backend_ids.update(_reported_backend_ids(nested)) + return backend_ids + + def _validate_readbacks( - readbacks: list[dict[str, Any]], arm: Mapping[str, Any] + readbacks: list[dict[str, Any]], arm: Mapping[str, Any], log_text: str ) -> dict[str, Any]: errors: list[str] = [] frameworks: dict[str, Any] = {} @@ -148,6 +169,39 @@ def _validate_readbacks( {str(record.get("backend_id", "")) for record in records} ) case_ids = sorted({str(record.get("case_id", "")) for record in records}) + native_megatron_logp = ( + framework == "megatron" + and target == "training" + and module == "logp" + and expected == "production" + ) + if native_megatron_logp: + marker_present = VIME_NATIVE_LINEAR_LOGP_MARKER in log_text + if installed_count: + errors.append( + f"{label} production logp unexpectedly installed an RL-Kernel hook" + ) + if records: + errors.append( + f"{label} production logp unexpectedly entered provider readback" + ) + if not marker_present: + errors.append( + f"{label} production logp did not report Vime's native backend marker" + ) + module_summary[module] = { + "case_id": case_id, + "expected_implementation": expected, + "installed_processes": installed_count, + "call_count": call_count, + "implementations": implementations, + "backend_ids": backend_ids, + "native_marker_present": marker_present, + "native_backend_id": ( + "vime.utils.ppo_utils.calculate_log_probs_and_entropy" + ), + } + continue if installed_count == 0: errors.append(f"{label} {module} hook was not installed") if call_count == 0: @@ -169,6 +223,26 @@ def _validate_readbacks( record.get("backend_id", "") ).startswith("rlkernel."): errors.append(f"{label} {module} did not use an RL-Kernel backend") + provenance = record.get("provenance", {}) + reported_backend_ids = _reported_backend_ids(record) + strict_execution = ( + isinstance(provenance, Mapping) + and ( + provenance.get("deterministic_linear_logp") is True + or ( + isinstance(provenance.get("execution"), Mapping) + and provenance["execution"].get("strict_backend") is True + ) + ) + ) + if expected == "production" and ( + any(value.startswith("rlkernel.") for value in reported_backend_ids) + or strict_execution + ): + errors.append( + f"{label} {module} production route executed an RL-Kernel backend: " + f"{sorted(reported_backend_ids)!r}" + ) module_summary[module] = { "case_id": case_id, "expected_implementation": expected, @@ -291,7 +365,9 @@ def validate_run(run_dir: Path) -> dict[str, Any]: records = _parse_runtime_records(log_text) require_zero = all(str(arm[CASE_FIELDS[module]]) == "R/R" for module in MODULES) cudagraph = _validate_cudagraph(log_text, manifest) - readbacks = _validate_readbacks(_load_readbacks(run_dir / "readbacks"), arm) + readbacks = _validate_readbacks( + _load_readbacks(run_dir / "readbacks"), arm, log_text + ) logprobs = _validate_runtime_logprobs( records["step"], int(manifest["num_rollout"]), @@ -334,6 +410,30 @@ def validate_run(run_dir: Path) -> dict[str, Any]: global_errors.append("train command does not keep the TP4 actor resident") if "--offload-rollout" not in train_command: global_errors.append("train command does not offload rollout during training") + training_logp_implementation = _side(str(arm["logp_case"]), "training") + provider_pair = ["--linear-logp-provider", RL_KERNEL_LINEAR_LOGP_PROVIDER] + strict_mode_pair = ["--linear-logp-provider-mode", "strict"] + has_provider = any( + train_command[index : index + 2] == provider_pair + for index in range(max(0, len(train_command) - 1)) + ) + has_strict_mode = any( + train_command[index : index + 2] == strict_mode_pair + for index in range(max(0, len(train_command) - 1)) + ) + if training_logp_implementation == "production": + if "--linear-logp-provider" in train_command: + global_errors.append( + "production Megatron logp must not configure a linear_logp provider" + ) + if "--linear-logp-provider-mode" in train_command: + global_errors.append( + "production Megatron logp must not configure provider mode" + ) + elif not has_provider or not has_strict_mode: + global_errors.append( + "RL-Kernel Megatron logp must configure the strict RL-Kernel provider" + ) expected_recompute = { "recompute_granularity": "full", "recompute_method": "uniform", diff --git a/rl_engine/integrations/megatron_runtime.py b/rl_engine/integrations/megatron_runtime.py index a8c23b3d..f5816055 100644 --- a/rl_engine/integrations/megatron_runtime.py +++ b/rl_engine/integrations/megatron_runtime.py @@ -322,9 +322,10 @@ def install_megatron_integration( "ffn", ",".join(f"{cls.__module__}.{cls.__name__}.forward" for cls in resolved_ffn), ) - integration.record_installed_hook( - "logp", "rl_engine.integrations.vime.linear_logp_provider.provider" - ) + if plan.implementation_for("logp", "training") is Implementation.RL_KERNEL: + integration.record_installed_hook( + "logp", "rl_engine.integrations.vime.linear_logp_provider.provider" + ) return integration diff --git a/rl_engine/integrations/vime/linear_logp_provider.py b/rl_engine/integrations/vime/linear_logp_provider.py index 91a43bde..fd73ac54 100644 --- a/rl_engine/integrations/vime/linear_logp_provider.py +++ b/rl_engine/integrations/vime/linear_logp_provider.py @@ -412,15 +412,19 @@ def provider(request: Any) -> LinearLogpResult: """Route Vime training logp through the active Megatron integration.""" case = operator_ablation_case("logp", os.getenv("RL_KERNEL_LOGP_CASE", "P/P")) + if case.training is Implementation.PRODUCTION: + raise RuntimeError( + "the RL-Kernel linear_logp provider must not be configured for a " + "production Megatron logp route; omit --linear-logp-provider so " + "Vime executes calculate_log_probs_and_entropy directly" + ) + from rl_engine.integrations.state import get_active_integration integration = get_active_integration("megatron") if integration is None: return _provider_impl(request) - if case.training is Implementation.PRODUCTION: - return integration.execute("logp", _provider_impl, request) - def native_unavailable(_request: Any) -> LinearLogpResult: raise RuntimeError( "the structural provider was invoked for a production Megatron logp route" diff --git a/tests/test_vime_linear_logp_provider.py b/tests/test_vime_linear_logp_provider.py index 4f50f3c7..47f3041e 100644 --- a/tests/test_vime_linear_logp_provider.py +++ b/tests/test_vime_linear_logp_provider.py @@ -25,6 +25,11 @@ ) +@pytest.fixture(autouse=True) +def _select_rlkernel_logp_route(monkeypatch): + monkeypatch.setenv("RL_KERNEL_LOGP_CASE", "R/R") + + def _request(*, cp_rank: int = 0, with_entropy: bool = False, keep_mask=None): logits = torch.tensor( [[0.25, -0.5, 1.0, 0.1, -0.3, 0.6, -0.7, 0.4] for _ in range(3)], @@ -183,7 +188,7 @@ def test_provider_rejects_local_vocab_metadata_that_cannot_describe_tp_ownership provider(request) -def test_production_provider_records_execution_in_active_integration(monkeypatch): +def test_production_route_rejects_rlkernel_provider_configuration(monkeypatch): monkeypatch.setenv("RL_KERNEL_LOGP_CASE", "P/P") integration = MegatronIntegration( IntegrationPlan.from_case_ids(logp="P/P"), @@ -192,12 +197,9 @@ def test_production_provider_records_execution_in_active_integration(monkeypatch clear_active_integration("megatron") set_active_integration("megatron", integration) try: - result = provider(_request()) + with pytest.raises(RuntimeError, match="omit --linear-logp-provider"): + provider(_request()) finally: clear_active_integration("megatron") - assert result.logp.shape == (3, 1) - readback = integration.readback()["operators"]["logp"] - assert readback["implementation"] == "production" - assert readback["call_count"] == 1 - assert readback["provenance"]["runtime_platform"] == "cpu" + assert "logp" not in integration.readback()["operators"] diff --git a/tests/test_vime_tp4_example.py b/tests/test_vime_tp4_example.py index 480398f6..ba7d2db3 100644 --- a/tests/test_vime_tp4_example.py +++ b/tests/test_vime_tp4_example.py @@ -1,10 +1,129 @@ # SPDX-License-Identifier: Apache-2.0 # Copyright (c) 2026 RL-Kernel Contributors +from dataclasses import asdict + from examples.vime_qwen3_8b_tp4_cp2_200.run_arm import ( + ARMS, MEGATRON_ATTENTION_BACKEND, + RL_KERNEL_LINEAR_LOGP_PROVIDER, + _linear_logp_provider_args, +) +from examples.vime_qwen3_8b_tp4_cp2_200.validate_run import ( + VIME_NATIVE_LINEAR_LOGP_MARKER, + _validate_readbacks, ) +def _production_operator(framework: str, target: str, module: str) -> dict: + return { + "framework": framework, + "target": target, + "module": module, + "case_id": "P/P", + "implementation": "production", + "backend_id": f"{framework}.production.{module}", + "call_count": 1, + "provenance": {"runtime_platform": "cuda"}, + } + + +def _production_readbacks() -> list[dict]: + megatron_modules = ("attention", "ffn") + vllm_modules = ("attention", "ffn", "logp") + return [ + { + "framework": "megatron", + "target": "training", + "installed_hooks": {module: module for module in megatron_modules}, + "operators": { + module: _production_operator("megatron", "training", module) + for module in megatron_modules + }, + "fallbacks": [], + }, + { + "framework": "vllm", + "target": "rollout", + "installed_hooks": {module: module for module in vllm_modules}, + "operators": { + module: _production_operator("vllm", "rollout", module) + for module in vllm_modules + }, + "fallbacks": [], + }, + ] + + def test_tp4_formal_matrix_pins_the_vime_qwen3_attention_backend(): assert MEGATRON_ATTENTION_BACKEND == "fused" + + +def test_production_arms_do_not_install_the_rlkernel_logp_provider(): + assert _linear_logp_provider_args(ARMS["G00"]) == () + assert _linear_logp_provider_args(ARMS["G10"]) == () + + +def test_rlkernel_arms_install_the_strict_logp_provider(): + expected = ( + "--linear-logp-provider", + RL_KERNEL_LINEAR_LOGP_PROVIDER, + "--linear-logp-provider-mode", + "strict", + ) + + assert _linear_logp_provider_args(ARMS["G01"]) == expected + assert _linear_logp_provider_args(ARMS["G11"]) == expected + + +def test_validator_accepts_native_vime_logp_evidence_for_production_arm(): + report = _validate_readbacks( + _production_readbacks(), + asdict(ARMS["G10"]), + VIME_NATIVE_LINEAR_LOGP_MARKER, + ) + + assert report["passed"] + training_logp = report["frameworks"]["megatron/training"]["modules"]["logp"] + assert training_logp["native_marker_present"] + assert training_logp["call_count"] == 0 + + +def test_validator_rejects_provider_readback_on_production_megatron_logp(): + readbacks = _production_readbacks() + contaminated = _production_operator("megatron", "training", "logp") + contaminated["backend_id"] = "pytorch-vocab-parallel-logp-ws2" + contaminated["provenance"] = { + "runtime_platform": "cuda", + "actual_backend": "rlkernel.linear_logp.bitwise.v1", + "deterministic_linear_logp": True, + "execution": {"strict_backend": True}, + } + readbacks[0]["installed_hooks"]["logp"] = "rlkernel-provider" + readbacks[0]["operators"]["logp"] = contaminated + + report = _validate_readbacks( + readbacks, + asdict(ARMS["G10"]), + VIME_NATIVE_LINEAR_LOGP_MARKER, + ) + + assert not report["passed"] + assert any("unexpectedly entered provider readback" in error for error in report["errors"]) + + +def test_validator_rejects_production_label_over_rlkernel_actual_backend(): + readbacks = _production_readbacks() + readbacks[1]["operators"]["logp"]["provenance"] = { + "runtime_platform": "cuda", + "actual_backend": "rlkernel.linear_logp.bitwise.v1", + } + + report = _validate_readbacks( + readbacks, + asdict(ARMS["G10"]), + VIME_NATIVE_LINEAR_LOGP_MARKER, + ) + + assert not report["passed"] + assert any("production route executed an RL-Kernel backend" in error for error in report["errors"]) From d2173e8d948e8cf062ac36be32bdf53bac75daa0 Mon Sep 17 00:00:00 2001 From: frank-2077 Date: Tue, 1 Sep 2026 04:34:44 +0000 Subject: [PATCH 14/30] decouple-cuda-graph-from-logp-route --- .../aligned_python_entrypoint.sh | 69 +++++++++---------- .../vime_qwen3_8b_tp4_cp2_200/validate_run.py | 10 ++- tests/test_vime_tp4_example.py | 40 +++++++++++ 3 files changed, 82 insertions(+), 37 deletions(-) diff --git a/examples/vime_qwen3_8b_tp4_cp2_200/aligned_python_entrypoint.sh b/examples/vime_qwen3_8b_tp4_cp2_200/aligned_python_entrypoint.sh index 302c891a..2b611b6b 100755 --- a/examples/vime_qwen3_8b_tp4_cp2_200/aligned_python_entrypoint.sh +++ b/examples/vime_qwen3_8b_tp4_cp2_200/aligned_python_entrypoint.sh @@ -42,7 +42,7 @@ if [[ "${1:-}" == "train.py" || "${1:-}" == */train.py ]]; then previous_arg="${current_arg}" done - strict_cudagraph_args=() + required_cudagraph_args=() if [[ "${strict_linear_logp}" == "1" ]]; then export RL_KERNEL_VLLM_INTEGRATION="${RL_KERNEL_VLLM_INTEGRATION:-1}" export RL_KERNEL_CUDA_ONLY="${RL_KERNEL_CUDA_ONLY:-1}" @@ -50,41 +50,40 @@ if [[ "${1:-}" == "train.py" || "${1:-}" == */train.py ]]; then export RL_KERNEL_ATTENTION_CASE="${RL_KERNEL_ATTENTION_CASE:-R/R}" export RL_KERNEL_FFN_CASE="${RL_KERNEL_FFN_CASE:-R/R}" export RL_KERNEL_LOGP_CASE="${RL_KERNEL_LOGP_CASE:-R/R}" + fi - # Strict rollout kernels preserve their arithmetic order under CUDA Graph. - # Capturing the complete decode graph removes the per-layer host-launch - # gaps that otherwise dominate small decode batches. Capture every exact - # batch size: padding a strict custom kernel to a larger sparse graph can - # access invalid slots and, more importantly, changes the tested contract. - # Explicit vLLM execution flags always win so callers can opt out. - if [[ "${explicit_vllm_execution_config}" == "0" ]]; then - if [[ "${rollout_batch_size}" =~ ^[1-9][0-9]*$ && "${n_samples_per_prompt}" =~ ^[1-9][0-9]*$ ]]; then - max_capture_size=$((rollout_batch_size * n_samples_per_prompt)) - if [[ -n "${RL_KERNEL_VLLM_CUDAGRAPH_MAX_CAPTURE_SIZE:-}" ]]; then - max_capture_size="${RL_KERNEL_VLLM_CUDAGRAPH_MAX_CAPTURE_SIZE}" - fi - if ! [[ "${max_capture_size}" =~ ^[1-9][0-9]*$ ]]; then - echo "RL_KERNEL_VLLM_CUDAGRAPH_MAX_CAPTURE_SIZE must be a positive integer" >&2 - exit 2 - fi - - capture_sizes="[" - for ((batch_size = 1; batch_size <= max_capture_size; batch_size++)); do - if ((batch_size > 1)); then - capture_sizes+="," - fi - capture_sizes+="${batch_size}" - done - capture_sizes+="]" - compilation_config="{\"cudagraph_mode\":\"FULL_DECODE_ONLY\",\"cudagraph_capture_sizes\":${capture_sizes},\"max_cudagraph_capture_size\":${max_capture_size}}" - strict_cudagraph_args=( - --vllm-optimization-level 0 - --vllm-compilation-config "${compilation_config}" - ) - echo "[RL-Kernel] strict vLLM full-decode CUDA Graph capture sizes: ${capture_sizes}" >&2 - else - echo "[RL-Kernel] strict CUDA Graph disabled: rollout batch size is unavailable" >&2 + # CUDA Graph is a frozen matrix setting, independent of the linear-logp + # provider route. Capturing the complete decode graph removes per-layer + # host-launch gaps and keeps P/P and R/R performance comparisons aligned. + # Capture every exact batch size; explicit execution flags still win. + if [[ "${explicit_vllm_execution_config}" == "0" ]]; then + if [[ "${rollout_batch_size}" =~ ^[1-9][0-9]*$ && "${n_samples_per_prompt}" =~ ^[1-9][0-9]*$ ]]; then + max_capture_size=$((rollout_batch_size * n_samples_per_prompt)) + if [[ -n "${RL_KERNEL_VLLM_CUDAGRAPH_MAX_CAPTURE_SIZE:-}" ]]; then + max_capture_size="${RL_KERNEL_VLLM_CUDAGRAPH_MAX_CAPTURE_SIZE}" fi + if ! [[ "${max_capture_size}" =~ ^[1-9][0-9]*$ ]]; then + echo "RL_KERNEL_VLLM_CUDAGRAPH_MAX_CAPTURE_SIZE must be a positive integer" >&2 + exit 2 + fi + + capture_sizes="[" + for ((batch_size = 1; batch_size <= max_capture_size; batch_size++)); do + if ((batch_size > 1)); then + capture_sizes+="," + fi + capture_sizes+="${batch_size}" + done + capture_sizes+="]" + compilation_config="{\"cudagraph_mode\":\"FULL_DECODE_ONLY\",\"cudagraph_capture_sizes\":${capture_sizes},\"max_cudagraph_capture_size\":${max_capture_size}}" + required_cudagraph_args=( + --vllm-optimization-level 0 + --vllm-compilation-config "${compilation_config}" + ) + echo "[RL-Kernel] required vLLM full-decode CUDA Graph capture sizes: ${capture_sizes}" >&2 + else + echo "[RL-Kernel] required CUDA Graph configuration lacks rollout batch sizes" >&2 + exit 2 fi fi exec "${REAL_PYTHON}" "$@" \ @@ -95,7 +94,7 @@ if [[ "${1:-}" == "train.py" || "${1:-}" == */train.py ]]; then --vllm-disable-custom-all-reduce \ --deterministic-mode \ --accumulate-allreduce-grads-in-fp32 \ - "${strict_cudagraph_args[@]}" + "${required_cudagraph_args[@]}" fi exec "${REAL_PYTHON}" "$@" diff --git a/examples/vime_qwen3_8b_tp4_cp2_200/validate_run.py b/examples/vime_qwen3_8b_tp4_cp2_200/validate_run.py index 74e04210..70e56ca9 100755 --- a/examples/vime_qwen3_8b_tp4_cp2_200/validate_run.py +++ b/examples/vime_qwen3_8b_tp4_cp2_200/validate_run.py @@ -48,6 +48,10 @@ "backend_id=vime.utils.ppo_utils.calculate_log_probs_and_entropy " "contract_id=vime.native.linear_logp.v1 route=unconfigured device=cuda" ) +CUDA_GRAPH_LAUNCHER_MARKERS = ( + "required vLLM full-decode CUDA Graph capture sizes", + "strict vLLM full-decode CUDA Graph capture sizes", +) def _load_json(path: Path) -> dict[str, Any]: @@ -83,8 +87,10 @@ def _validate_cudagraph(log_text: str, manifest: Mapping[str, Any]) -> dict[str, ) compact_sizes = "[" + ",".join(str(value) for value in capture_sizes) + "]" checks = { - "launcher_marker": f"strict vLLM full-decode CUDA Graph capture sizes: {compact_sizes}" - in log_text, + "launcher_marker": any( + f"{marker}: {compact_sizes}" in log_text + for marker in CUDA_GRAPH_LAUNCHER_MARKERS + ), "engine_mode": bool(re.search(r"cudagraph_mode.*FULL_DECODE_ONLY", log_text)), "not_eager": "enforce_eager=False" in log_text, "capture_sizes": ( diff --git a/tests/test_vime_tp4_example.py b/tests/test_vime_tp4_example.py index ba7d2db3..adfdf803 100644 --- a/tests/test_vime_tp4_example.py +++ b/tests/test_vime_tp4_example.py @@ -2,6 +2,9 @@ # Copyright (c) 2026 RL-Kernel Contributors from dataclasses import asdict +import os +from pathlib import Path +import subprocess from examples.vime_qwen3_8b_tp4_cp2_200.run_arm import ( ARMS, @@ -59,6 +62,43 @@ def test_tp4_formal_matrix_pins_the_vime_qwen3_attention_backend(): assert MEGATRON_ATTENTION_BACKEND == "fused" +def test_launcher_forces_cuda_graph_without_a_logp_provider(): + root = Path(__file__).parents[1] + launcher = ( + root + / "examples" + / "vime_qwen3_8b_tp4_cp2_200" + / "aligned_python_entrypoint.sh" + ) + env = os.environ.copy() + env.update( + RL_KERNEL_REAL_PYTHON="/bin/echo", + RL_KERNEL_ROOT=str(root), + RL_KERNEL_VLLM_CUDAGRAPH_MAX_CAPTURE_SIZE="8", + ) + + result = subprocess.run( + [ + str(launcher), + "train.py", + "--rollout-batch-size", + "1", + "--n-samples-per-prompt", + "8", + ], + check=True, + capture_output=True, + text=True, + env=env, + ) + + assert "--linear-logp-provider" not in result.stdout + assert "--vllm-optimization-level 0" in result.stdout + assert '"cudagraph_mode":"FULL_DECODE_ONLY"' in result.stdout + assert '"cudagraph_capture_sizes":[1,2,3,4,5,6,7,8]' in result.stdout + assert "required vLLM full-decode CUDA Graph capture sizes" in result.stderr + + def test_production_arms_do_not_install_the_rlkernel_logp_provider(): assert _linear_logp_provider_args(ARMS["G00"]) == () assert _linear_logp_provider_args(ARMS["G10"]) == () From 09695b04ee2ce6e6fcc5b9031b779b022f5ad5cf Mon Sep 17 00:00:00 2001 From: frank-2077 Date: Tue, 1 Sep 2026 11:36:21 +0000 Subject: [PATCH 15/30] docs: publish VIME TP4 CP2 consistency results --- examples/vime_qwen3_8b_tp4_cp2_200/README.md | 10 + .../collect_results.py | 6 +- .../convergence_s1234_g10_g11/README.md | 88 ++++ .../figures/consistency-summary.pdf | Bin 0 -> 36281 bytes .../figures/consistency-summary.png | Bin 0 -> 244122 bytes .../figures/consistency-trajectories.pdf | Bin 0 -> 43294 bytes .../figures/consistency-trajectories.png | Bin 0 -> 611185 bytes .../figures/training-dynamics.pdf | Bin 0 -> 41384 bytes .../figures/training-dynamics.png | Bin 0 -> 1099205 bytes .../convergence_s1234_g10_g11/plot_report.py | 359 ++++++++++++++++ .../convergence_s1234_g10_g11/rounds.csv | 401 ++++++++++++++++++ .../convergence_s1234_g10_g11/runs.csv | 3 + .../convergence_s1234_g10_g11/summary.csv | 3 + .../convergence_s1234_g10_g11/summary.json | 41 ++ 14 files changed, 910 insertions(+), 1 deletion(-) create mode 100644 examples/vime_qwen3_8b_tp4_cp2_200/results/convergence_s1234_g10_g11/README.md create mode 100644 examples/vime_qwen3_8b_tp4_cp2_200/results/convergence_s1234_g10_g11/figures/consistency-summary.pdf create mode 100644 examples/vime_qwen3_8b_tp4_cp2_200/results/convergence_s1234_g10_g11/figures/consistency-summary.png create mode 100644 examples/vime_qwen3_8b_tp4_cp2_200/results/convergence_s1234_g10_g11/figures/consistency-trajectories.pdf create mode 100644 examples/vime_qwen3_8b_tp4_cp2_200/results/convergence_s1234_g10_g11/figures/consistency-trajectories.png create mode 100644 examples/vime_qwen3_8b_tp4_cp2_200/results/convergence_s1234_g10_g11/figures/training-dynamics.pdf create mode 100644 examples/vime_qwen3_8b_tp4_cp2_200/results/convergence_s1234_g10_g11/figures/training-dynamics.png create mode 100644 examples/vime_qwen3_8b_tp4_cp2_200/results/convergence_s1234_g10_g11/plot_report.py create mode 100644 examples/vime_qwen3_8b_tp4_cp2_200/results/convergence_s1234_g10_g11/rounds.csv create mode 100644 examples/vime_qwen3_8b_tp4_cp2_200/results/convergence_s1234_g10_g11/runs.csv create mode 100644 examples/vime_qwen3_8b_tp4_cp2_200/results/convergence_s1234_g10_g11/summary.csv create mode 100644 examples/vime_qwen3_8b_tp4_cp2_200/results/convergence_s1234_g10_g11/summary.json diff --git a/examples/vime_qwen3_8b_tp4_cp2_200/README.md b/examples/vime_qwen3_8b_tp4_cp2_200/README.md index 1819d99b..f211f51a 100644 --- a/examples/vime_qwen3_8b_tp4_cp2_200/README.md +++ b/examples/vime_qwen3_8b_tp4_cp2_200/README.md @@ -174,3 +174,13 @@ bitwise mismatch count, token-weighted mean absolute difference, maximum absolute difference, reward, truncation, step time, and throughput. For R/R, the strongest claim is `mismatch_count = 0` over the stated token exposure; reward and speed are secondary quality and cost measurements. + +## Published convergence results + +The sealed 200-step G10/G11 results, per-step data, reproducible plotting +script, and consistency figures are published in +[`results/convergence_s1234_g10_g11`](results/convergence_s1234_g10_g11/README.md). +G00 and G01 were paused, so the publication is explicitly a two-arm interim +result rather than a completed four-arm ablation. Performance is omitted +because the immutable G11 and final G10 runs used different repository and +Transformer Engine revisions. diff --git a/examples/vime_qwen3_8b_tp4_cp2_200/collect_results.py b/examples/vime_qwen3_8b_tp4_cp2_200/collect_results.py index cd5ef359..70366da5 100644 --- a/examples/vime_qwen3_8b_tp4_cp2_200/collect_results.py +++ b/examples/vime_qwen3_8b_tp4_cp2_200/collect_results.py @@ -199,7 +199,11 @@ def _write_csv(path: Path, rows: list[dict[str, Any]]) -> None: if not rows: raise ValueError(f"no rows to write to {path}") with path.open("w", encoding="utf-8", newline="") as handle: - writer = csv.DictWriter(handle, fieldnames=list(rows[0])) + writer = csv.DictWriter( + handle, + fieldnames=list(rows[0]), + lineterminator="\n", + ) writer.writeheader() writer.writerows(rows) diff --git a/examples/vime_qwen3_8b_tp4_cp2_200/results/convergence_s1234_g10_g11/README.md b/examples/vime_qwen3_8b_tp4_cp2_200/results/convergence_s1234_g10_g11/README.md new file mode 100644 index 00000000..e6256bbb --- /dev/null +++ b/examples/vime_qwen3_8b_tp4_cp2_200/results/convergence_s1234_g10_g11/README.md @@ -0,0 +1,88 @@ +# G10/G11 200-step convergence results + +This directory publishes the completed half of the Qwen3-8B TP4/CP2 +consistency matrix. It contains one sealed 200-step run for G10 and one for +G11. G00 and G01 were paused and are intentionally not represented here, so +these artifacts must not be interpreted as a completed four-arm ablation. + +## Result + +Both runs used one 8xH100 node, a TP4/CP2 Megatron actor, two colocated TP4 +vLLM engines, seed 1234, eight samples per prompt, and the same DAPO-Math-17k +data hash. Both validators passed the `FULL_DECODE_ONLY` CUDA Graph contract +with capture sizes 1 through 8 and found no fallback or runtime-route error. + +| Group | Runtime route | Active tokens | Bitwise mismatches | Mismatch rate | Token-weighted mean abs dlogp | Max abs dlogp | Mean raw reward | +|---|---|---:|---:|---:|---:|---:|---:| +| G11 | strict RL-Kernel R/R | 9,806,995 | 0 | 0 | 0 | 0 | 0.3950 | +| G10 | VIME-native P/P | 9,927,045 | 5,764,529 | 58.0689% | 0.012567 | 1.191781 | 0.3794 | + +G11 therefore satisfies the strongest claim supported by this experiment: +zero runtime bitwise train/rollout log-probability mismatches over 9.81 million +active tokens. G10 is the native production comparison, not a failure gate; +its nonzero drift measures the train/rollout numerical gap of that route. +The result table reports a token-weighted mean absolute difference, while the +summary figure labels its separate unweighted mean across the 200 step means. + +The raw-reward curves are close because both runs start from the same model, +prompt order, sampling seed, reward function, and rollout topology. Reward is +an outcome-level, relatively coarse metric; it is much less sensitive than the +token-level log-probability comparison. With one seed, the small reward-mean +difference is descriptive rather than a statistical quality claim. + +## Figures + +![Per-step consistency trajectories](figures/consistency-trajectories.png) + +![Consistency summary](figures/consistency-summary.png) + +![Reward and optimization dynamics](figures/training-dynamics.png) + +The near-zero G11 scalar training loss and PPO KL do not mean that gradients +were absent. With rollout log-probability reuse, the pre-update policy ratio is +exactly one; GRPO group-centers advantages, so positive and negative terms can +cancel in the reported scalar while their parameter derivatives remain +nonzero. The plotted PPO KL is the old/rollout-policy diagnostic, not KL to a +reference model. + +Neither run activated a reference model: `kl_coef=0`, `use_kl_loss=false`, and +`kl_loss_coef=0`. A `ref_load` path was recorded, but VIME does not load the +reference checkpoint under those settings. This is intentional for the +train/rollout consistency study and keeps reference regularization from +changing its objective. + +## Provenance and limitations + +| Group | Run ID | RL-Kernel | VIME | Megatron | Transformer Engine | +|---|---|---|---|---|---| +| G11 | `g11-convergence-s1234-tp4-20260901e` | `5403df6` | `a013293` | `1dcf0da` | 2.11 | +| G10 | `g10-convergence-s1234-tp4-20260901j` | `d2173e8` | `1a113710` | `1dcf0da` | 2.18 | + +The G11 run is the immutable sealed run selected by the experiment protocol. +The later G10 run includes production-route verification and CUDA Graph/provider +decoupling fixes. Because the repository revisions and Transformer Engine +versions differ, these two artifacts establish route-specific consistency but +are not used for a performance comparison. No performance figure is published. + +Stopped G10h and G10i attempts are audit-only and excluded. Offline tensor +comparison is unavailable because the VIME debug dump did not capture training +`log_probs`; the accepted consistency evidence is VIME's runtime `torch.ne`, +maximum, and mean absolute-difference instrumentation recorded by the sealed +validator. + +## Artifacts + +- `runs.csv`: run identities, revisions, hashes, and validation status. +- `rounds.csv`: 400 per-step records (200 each for G10 and G11). +- `summary.csv` and `summary.json`: machine-readable aggregate results. +- `plot_report.py`: reproduces the three PNG/PDF figures from `rounds.csv`. +- `figures/`: publication-ready PNG and PDF outputs. + +Regenerate the figures from this directory with: + +```bash +python3 plot_report.py --rounds-csv rounds.csv --output-dir figures +``` + +The plotting command requires Matplotlib; the CSV/JSON artifacts themselves +use only standard text formats. diff --git a/examples/vime_qwen3_8b_tp4_cp2_200/results/convergence_s1234_g10_g11/figures/consistency-summary.pdf b/examples/vime_qwen3_8b_tp4_cp2_200/results/convergence_s1234_g10_g11/figures/consistency-summary.pdf new file mode 100644 index 0000000000000000000000000000000000000000..95517951814c4b8caf275a6d14aad9ea53b432a0 GIT binary patch literal 36281 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™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�)< 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 {zTWhu)Er z^40})b&!U`eE^oFS*pp(eq_(@->Ysv5@6Vt5+J>DWao7%EIa?6+`T&UXu!-vgGoG@ zn`?M94@5wswo2 zfu83Fbo)aICe5)GNN^2QF5SAKTH~JF>27Y*?b~cHkDHk}nI-))G7QEFnsA}l3|_1+ z^5y%k{B$;lQpueyTB{!lbKoWGXGq+bCdrv~*Gm?k)_;nC6C%tjPlBu#e2Oq5D_J$q zWU?b8?)>@lh~fm88u}0_M%dJIu z$H!+J8RTIzXjy`{%1QuIQ7f3bakZ@M#$SqeUgfss=j$5-BoK6deus+p+qX@Uy!dD8 zv0M<;>(|n>(~YYZmJ0~r>+!QvVD-zXL@dcz6Yx*t9CofUnRVQ~{DXK>{{?{EE68fSNRWse zmXWwyDU5fi5(4hk-!9voOxHIuJgyrIo;>Bco{S|%3M}Hn+o_K)+cwR`WkofQvZe^<+Pb9yf!pWbTiiLTZkyZ@cl#|>8d(6!2<6{Du*=&GbV-5O!Th#&xt=P71v$OMGq@Hd8{u- zJV18lYBj|>|LqoRLhqq$Gq`Fw6wYt}DG2)z-GK=4fYpYSj7)#e=Y)rU*iB%MnG~%Z zR!~%&9QLa;m)^ex_yCHW`E$8=#-b6n1c#OC%s;WN15RVNoDI7WAGsI)O z{;<%NNp(R8Yb#gfZ5{QRW4GZi88a&_LTV=awYhI3I&UoFbU=()Jcu5IIiz+hJE#52 zeouF2qmh(0fDa3zwi5{H3QlU_RT-|E1;7g!k8#F(i)2SR*AiVjw0EjK(aG=Wg}V4_ zx&Tr4C><^k*yxc7#;dzH_%F{96z?@Ub_DDT(!}xa1ESpKWfK||rk$B>Jbeg<%N=zZ zMz`>AtnAt_PxV3_;-agot1%v{fardeGLV_IFzQaLBJ9^l&&lKCgFM$iSLurA(5$}( zJYjF4$qK(P6E6$|Io8rOy}IMCOYu=ax98Kzsi;h5tI4aSdRAAfRK0%vhpM{pUoC8( zlJdVzub1BzHCkADo1By+Z~nIMgvhH`2L!&!Cw({m3uc;z^r$|T-ymHLVQ>@u$=(8^ zB^#?{L5Ulg>wfZ1ZDe8cU%L7A*0Lx_Q?CUC6ng(d+>*F&5VDKh>JGlSfB%6F?FSDO zG-L*@RsI|UVtzk)i4S^_mm9Itz2AbXY6Wc+YR7WcdTi*9JrfewsQ81N`AZ)-{*ak; zEV~n7U~=#ot)8d@o&PZrMtLRC)807H?zEgn%tu)m41-zmVdb6|w=Y=gU1q8D3m+ny z7T<-fJ^)>79GMbm8EPHLk`ozs0H)BrNshEk(R#r5n%wP@fHz0F%~Xr5kJp3MD|2s= zA8g+MvZ$asq9153f3jXs*8BEBO@NVc z_}%?(O-DO>ni2o2z8serFMFw2K8pYJ76uoL3Gt9AVp><&Rpld}D9Nm(MQA@F^%jiq zEsRzrw&=DM6t`h*-|lgC90}BG2w{-Z^KU)b5|^*KNNnNC6GYV)1q)}*Fm$K(#yKud zD{SwJ3}Lj?(*4oHukEmM#k&_BM2cpbj(aABcTH~*ZZ4^o2;&pbZD1=EPP*^FKEW3d z!e4xGv|jU(UaeaRy2=n=I2tGt!NWDmktC1|N21YGj0)?=orm3MeXi8RYjd58 zPFwQrQ(Q_3&z6g(vebhj(bn%=ifcBKL$byy-z$%ZTu!~89$C?pcst4u7sXvTP$LfeX(7DcHe|8u({NUENZP=jP|20B(iq@3_Q!s!M9koQnFIqVTi_Pd2!?3q^TF`YKKA& zWWG5jLVAlzE4Tzq(PX2ZIVel{9Fw{cbI|AKjudST@ApS@5T(f0+Jtg^+98}Khxh9C zN~qR95@t53ij#Y)KbFbuHN&X4O$BnC6YNX!Ko@XFhLhxxN*UzK*T z98?O|y_VC0J>;9x#eMyfBqm%WVKcuvfrGw7MB#Z@Yqay8&la+M0{ONh6wh=3rpm&W zn36+-F2^m~!tkpZ^-RxL>nize0eqZe`?z9Em$9)cisgX#V-&O=Q9q?^fATLULWUH*M8#p_CRspq-9-mXqwl2g}f8HvV_O-A@BQ9 z6R&~F)yioq(YAd-;j@XpM9LLGt4DPK^)=Lr(}`H?xAhV8OL75yC^U^NM*eA`FsIPF zLY+3;>G?=0g&%S`ORrbt4iPM6D;7Oz8VSezQW7|bowLGBOL7nS+26mlzPq>aM04uV zX~z}gW9@fY4)S_g9nxG{N?U!bpyM;9`ZM5htG;-UHLdb(6c*r(!N;fNZM!Qr@lo7PW zv?wSPFD9JjZ~Hj@*Uh2(&Zf>AQ~pJY+|Svf{NE^YpJX$Y*oZZ}pSAYv2TJmY9OKhm zVSXMNiIP8NM&JJk%2u|NsJiQ8FwuVZkQcL>Z*bX*akY-d;Ii?aFAM|m&!S^rSEfFS zk_*OnNr|)x$2!+cSypRNsF&}%-fivVA?UiIT9YGlD}do*lijJ0!>s3i3Im>0+&gOW z%yx6D{&D6rgTTi!ttHNCW=)LTX)8So9P)-i7+$B<&mGQr>7!jb!Xa1B5ldLpxSTpd zS(pClVko|H;tKc~9DFuJ-bzP-z4^;Zg==xP1}DjWv|uW5Ds#cR;Nn0|`>6ocF^J?F z3L}&>Sv3>2uI$7V@Xc8DmL&t(60c$F_Y*hFZsMS>I>-66?3+q^1h1)vAgL@r6<=UE z)?x9kF5K|f%iK8rykF)urBu3U?=(Ae+TN6Dt3O{&!Y~N$I-$vtlwB-TvYn&00YizB ztxI|F7OJ&TrDsvZqM>Ew*j?==yqV@-AKg_$F8JKI0;a&wobV>0@UoSi zV;aFZ?>s$O7|-tNwaLgDmua|H_B38Cc3kq*Bu&!J`9(z@hY|KZ+TH@p%RSC{9l8We zZ1m@=m0pg_Gce=mic0onRnqV=AD<%^UJKOy`Uqs2XW^g6IF~HdJ^uXU>E<$NJD71_ zpLK&srm7f-W6d`+#C3MNhw!SB#}^Og$wK6P)2Mh!(Y#zT?;A+&PeQxl?MQr09MI)6 zmK3!IznBtffy`}U$*^03gV)yG{AfmLKL55#FYon<+|kC>kp^k6d;fa#)ub^U)cWy}amia~_=D)FrH-GkR^ht;PhIJHfwb`2#d^Vo z+I)bMYuAVK9r88>V)Q@%$&G*KSflT6L00JPyn^Qi2MH~}b?SwYH@bP@!#_uO(=X(P zxfaY{5LSL+76Q)5ic4WeM~fYnJeQ}t^S&z$J@=sZ&amx0mR_>#AQ8dO29)6Aq8@2S z3THCqoW|U?;*gmF4p9s)i!wcSEyi;lL(<=df5>Td&g*pA_pR5!+2306f@8FO1Zr;ZI(xqc`lLb&Y7scMo@*8MYARgBy@O`)}#+w(zJZskJ_v8mLRln*XuEpXy~ z4^)k{N@XIgCeHPX`p9El*WaJ)oURDc@J6K0i05g8L>jeo^8D;}z z4^~`fzj|~|Cxn^4JLV&DNow<}IjdFCSh(%e_&;@&H z{DIeO%TpYxxmUbJ=ERYYri%duCNxv=k7QAFq zy0(6T&*ILzuCb27nYS%cBuO0m<;!n`Z2Qq{?# zc=Ye8GtPHjdh;sqm26g{GHt*nr@g(opLOYHf80$$d}p;ujso22N6G=$5mrrurh{ca z*z$UPAL1nMV|mqVbrvV^0xPTM$X%K0*SDeu=ULOdKYr|-d)MN6EU(wf_+97N;sn>= zdrcBg&{?M+6=N0b0@J~cPEo}xo?FYE0*BXo2Qr>~eX&|oK>LloaEkiEYbtbm2D@_R zMJeP#uC>4}Ks*7KvbTCsjxO<$KjrbCC#h4*z|W7YstDN^X4fo+zaMu_kR2r0(`tmP z3U4%&ru(O=j_M_DUWQc=k-D`>IW#!O6luu0Q8eX=)~fF*P~Ipcr+dtNE5CNU>2#Hk zl<+wehdTCpeQC54X-&;;u5S>s+P5=!Y(+?^aB=TX;rq>&UzhFVwP*L1i9IC7^j!G{ zA<}K9<<8dB;*sNFRR;*^N<$9F&M|(Dd@PVyuu^h7tHF`Dp_Jyl`qZNp+XvT@18X%A zo&zd$-^cl8PkXhu{x9y{JF3aFdmClOSAEq{XH-O~mO+#%D!u6_I`lz$ABprP(g`7s zj5>mW8M?F}y#=IqumBM$p(b<`L^`1+Kp;8$36AgYeZTMbopaV%>zuPb|B?mC^W4vK zm%XojUDu|Xxe={c-X>(`^aYh*SQMXkYV~o^UuP(#j#dgSWpIeQf+~LPmH_$;WhAiL zW!Bt>F<*8e488UAcp(W8LkR%dB1>)mX)Bc( zu@91`%!AF!cf1`cPCD_@N*Ox%&N)V21p&A0EMjK&cG+vhzgn^ET#RL)K@Dw_rxRrU z>)USFqtJh(r5c00y5wn2skb|=)Yl(!OIqJZ07%KbNB34E5&`-yzTS&U#YqQ8+itBN z_Lx5%j$0xSN z?N~wFyepjzq@tN7DU<&;Z7lLqk9`L@Q{+v8T-NQb8+EafX;Rixua;vQHI|#weoVh} zUAaIpF--zQsESfluDg(m#h4}4-_zAhxK!I7E1sy(#J!90IeN0q>O_P}Zgr7&Ic$@Q z4<-@S0$FemZ8pj*>9S8?fHcN1Q8L$y%DrndTBs|gHHoX+mb_&t(d|*{ z+F9U38d`4c_dqq}RjG{D`X9fA?`=`hao9E~o+O`)AnUl>WRMd01U)`ePIedggiTeN z(ubByP6|rejXab`ZPKStDg{?hM0d++6zE!X`Dss9Yx=t^V_wTwV5w8&QV&PB@)(jd*BcA9~v3&$?Jb%O5Xxr6m89 zavQT5wpuAJ>P$(F4c@*bp8>J^1|uQTw}Slgb<~l$mBzGB`F}Yba{fgn>PXgONK(ra z>eiXQT|Il&^rkV=cixxOSiL;Vr~iUv^71^I+LP`Sqb+&&Dt^zJ+;Fvb=(TM~C3jNu z#L*7fsV9<4N0$?YLK|DJXg-Nv2A-Ev$ogEr1lnlYA|<;y44ykCs~}fpq%ML z8k@3sf#0klJvXw`9Jn=L^t=b#o}^HJ4b$E;E!e-2uQ8LUhqd_J?Qj{zd|1UuxVDW} zrRPU6vIF*UPb>X7a^T=}W*3@ZeVf>Dp}UCmOVDQa1-+GX@);!UCl8mEg)rXBf@i~c zGAqPL0V9*Owg5>^yvFhF z7nmT_ZRlgsXk zW7X$#IO)qeZ-?tlZ8`$B(Y>+y=@MAY36utBHq0dTAx?w5^Jb&;YnaW4`i12$Bn`%S zMs#{JN!fwQ+(VOjS5o=sSz6UabUJtd_TMPA9?49wNB`Y`aW^e?AW1GGy?+W4E;SbD_X zS2@wPQTC(NZt)e;rg>jtBNtVZpHwxp_b+s%YeYr{C^ynmR6}wEiTb7Y?riAyK{V+? z!+6i%PC6A?7DaladcbMe&_6M7GsLR#;qC+0A6|X46d{m!0ynRbD$`uuo+7OG)Muto zQvS2rfH0#dbIkMOTHzVV3(W-|C3hbT{kNpkT+lsR*~*tw>Pkk|OVe-7Fh}?XWn?q5 zOs#(&iKVIb9_d?dKBC6W+pV1P+oLK4Lp4h$HOYfspE?vN+dbOMewZO{ zVV)9#$z=^;=iDvX@L9JSxg^ZOM&9<|=$7N7h-CIU$mo5EpJadIE3Q|IADx&(mAs`Sn6)?Z4AD0#1lmD{l(g%GmDj^T$b8L+UxHY>w zqcN>nugDuJY$-+sz3~{lgP9F5qt0_-`HPp2FzM#i zPBG#;d0FzwV^@gU>>xE+aBx9n@Y6t;67xpltn#M)#<+rWxl2gjWR~t(6ifmWMlGF4 z{C(e1r(tr9-^$nqSCh?rd!hm{+RVA^Cn7sAD-jjmN#d?@LIUHrI^C@RO-qlH6d3_E z%%=Fl*PF8j3OZn;5t3U_t6W|~krTiMLDZjCnU5n&@^_Pk#&jl{KMOT^F7*nsyW)WGU=Z+o`@ z(^I=yAC%%`TH2yQiRBP ze7*tQ_D1@^K&BDa9naeOp>>=7b6&f|joIU+q>);Go8BPoa(B1&#`1)FtGiHRQZ@DXpmVLkv17-ZD%>R+ z`B2ng)sW*hv-p6qB`_ISj0$8wk*h7Ic61#N&dER{DOs>Kumc-8)6|<~6_|w;f?E^p1LNf^I#KlGdOn)@ z*Km&EMP+7RY7q~z20FaIX4Qzxk2`pI8fqNU?)@!y#E7!3^}?(?-@P%Ni&!rZAlnpL zD`JV6UyGH--1M9skRltSeh%=WB#tZWT@Yv-t}gGx@CS5!QwWK1BXpTO5~jkutC^%I z7#$-X2EGa!ge+^~#6*}0c* z$5`9-EG{k!Pu=M6YXUZwV=voj2Y_SAQXeX;Q832*2$Y22X2@dV^;^q*Sk`v@7U!VX zBwz7h@PH4#w%AN>p*ZD^(;=J{bF1eMPp2PcM(=s0y0FJ?U-6K0$LHVy=ly=07@K{s zE}WDV{3jmp-_A@OyyL7Fbwo+J@7Ew%FmN1?GO~OME)r)ywu~jWn-ayB7Up0CXC>%lQX(F-V{R`X%V}A*3ul;FMU^EC1tK9qW%A5gm|2(NWQMrn=w6xApc5y#h z>}$Sif}Sr;Eh)L845l#Zba*RGl{A28j8Jo6s51WCE~$9{5E#e*@utf9tV8BT!Di&F z#&Pjtcoetl1GkG9NX6NA?5U7&qnK5lVkmT4kCk#V1V1ZrSO((;Y_usW=` za@*|o?IYt&xRzlnW8)Jgw9JxGL!rr z69PAPl1Vgp$Px$Y$rjL8x%RF;{B3 zaOd3_{{8OUp&Ix7UOvxXJOtQa-_=}$jxT^5@{&0?@=U+{Df_2n+y%#l9r*4;h!fcS zE)`(6MUvoQA@kT8)@7k{e-UE0D@-slHRT2((Ypa;*157j-lP3x3Ac>_<`$~5_3^Nz z%Rq^G^D9WjbITUMLJg_3ybBLTk~E~7!BGJ*$ukOt-DzJ2aclycQSpWquFM(IT%(Nu?PD`Z!9_($QgnK^?p{cbdZ`@${jAf;U z1|x46dJz`Lj~|ksN;YTIF&3O2epwE+UzdX=FjXqR&oTv~C`p*&CuCgB&F?o07J`RW zBSZtU&yX!K6%3=CkOp#Eo(=5r5+c6NI@l7P8+@+~7L)_VZnbMOeDOy@U?z`?GGVbe zH>9#LK>O{lSLFBm^w->IByY`lsDiX?;JZIh_tzg4(l(zUvfooj^xvCtvu5nY)4BiL zN|(SmJQ@QFv0^OPtyBkxu{~9iUA|zkfOM*018HvXJEQZ+(gcT_+|>&9Z4PjM#aTvb z(RQprTECshF;=?*RexZo93>U;H(q*D%26M9w`Z{c2+r@1w*u0OdfIhT5#}EQMa!wZ00AK4mPh>;C9fn`W!V6w6oq+A)*IN?}iOIAYO4Q_skI3*2scG4)?~->|n-J=If1rvujTSDUeo-pin&EyBN6Aca>`tRt~dm66!g+VH@Fk|VyaoKmr2jWEvkHb*|$9Ni#{cY{lAwv5ED;B zj|sO1z@p;>zeV==enN6`O}?u7x0WULx~_79oI?q@^($@!&e)mJ3e4x5iF{QenZ}F(xRS)EKN`C91a7oI3xu7!&d#b6DY_5G4401LhW^%M|Ku1> zhRFjAH{I5x%R=&Ab0;v2H5^W6;392cWp*jbrM%hT{kuu%Y8A}mRwc#{KwYe&pSq}7 zohaB=aG7EKGhFM5qCedf~C}g)`lU66V_VRlgZ*9|fQhf?6rCij`Cq>2AA*ll9CkW=W!kxUz(IzXNgE zWxm#EuADUD-a$VUw)?>G2CMekQ{MeHnI|LzjE^e*Z9xT(-1Oo5{+uhp_^qji3R+G} z(T$He``*~>Im~^6D}gaNv|LNy7SUKH%oK^_2g`X(+Rjt?J%3IA$Hz;lx7>JDx4a7lGF9nD)zxLO|_gQlrP9jLM<;Z?wuqkEK*FE>dEd_S7hrN9&9q0^!m}M%M}*xjhwiuo%$$Q z6N*aR1T%^``r{kbD1J13m~K7Rpk{*p^v6fZyYD{8mlto?#y24uj^KV32=5Drjmlga z&a(G`^FC|6Ms`nYaB4fJ#MSxzGrrHxmH94>0R=VeehV0qWUa0bQfuO!+)6t4_?4G; zKAxDZS@ZT|R}Zi1f#BCAk{z&dc)?(IS2B{Y4G@jwEpf=?nK(E6s9752KK1vY=y=@AcA&YX5Qh5eY)=vO{ksYf(Nt6E1( zNZUcR6}2$*(cHmYi+!8BjH4wovMvsAK?;3-fQvJlC~A46C0e53^11o5 z^SP}+UM#Bj@MiDqT;bh+-c_mlOG3uatBl#AJ+{ zKe<1DJmw4LI(=&^&wtv>0!}z<2%{WV-|y7xA|rkr`biV7d^V7k>2beBh}Xxn)XSD7 z@tf>)fAOsm7aD+zesgpEBA(`qIqWY%DCM|y6VIt%k}7mNP2cV@*entv#FOODKK?Xt z;lgPv%>m}X+m@qgdT$UEHTjBT+qJ0hbLX_4C(-*jj7x8iRy*tZJ+x5W0sGLC(UYz5 z0(k9sgGrj;!ow-|vu#d@ zHMvyY9y_8Gl1iVMz~*)hpxm%r@xu<6flFev~_R!%hI+up_hA@BLisJa^8(M-*j zBa*X4pFadfg{uo`K97^>bYJJ*m2&;sM*1=_BIC2xO@298?l*{==948EPN@Ns7k0i%_VFr7ER)_U6p;xqu4T(=T=a7UL~ivMCZ~H4jZwdj4lP4tm14S? zMU~eyZ_wUIy4e-0A7nk(eY|i_OMa6CABCIdQDfFmQPWtYw&S$ zXxG+Q119!S-0F-8FGhG(4nd7)7c#pxFXZ1>G4R2E0gN97I^I-keO{h?ZChX7ZW^iy z@}%j27_|Z|b!CynX_!26Y4wfs$D^z$rJtS7LIHmg!l7qCGL(fSKaL({Smr^*gsa#& z1j6Gq);iO=Vh$6N?%mhKGdH*f*o9cgEOQAmZh;$I%X|vaLd2d7J>s&2-RHJkg=w}$ z>8}Qx-FW6P9_N?WqE{1LA&`281fM1bNGjC;)lN#R91yUq*}LV-G5sU1whrn;de}gJ zgl^#MH^qH@ER5x2TXM{2$p89?SG1_f5d@(~-;XUdIFc`$_^V^47ta}kQYU-OI8!;S zX0>BC*Wo#Q&MPg)jyeuwxoj%mQ1$)YMVEH(j=~N`=8z5Z4w(&(;(~*#eVT=X$$Wa2 z^PMUH8Bju-9xLYxpFYEonRx+UWCxecq+QNlsq z1qvA$Kn@G9SQPgNZqMhLp1fi;F??uV#0aO|tH09ZnZ+BCqcJ(EGlAk6s@KWUq9jv1 zalc(S$GsYuOOn!H^SJc92Bua`fhB~=;Nk90*CW&c0$ ztFZ&@v`0s5y5izF^2vQyQ9l=}mr#exwaj_4f2?ubUMH%wyMn>-eRIrOuRA!!5kY5c zS-Ao3izHX%C5=Pd7=J?xUm(aA&{#XvR>OoJD7KMDOtl%kZe#h?)VAoohj_oISb3=C zm6>i_dBy29f14@DOi}gH*+>*M*H=~rc7T@Joh9orPY!{zzje8a?lY!AKP3sRR`c#_nM|Su{GXcK%^XII-_3>!>q%n{umw`$p zB3ta^repa(Yu>r$Dei2qdB-z9oWl(Ne}j`#=;&P3e9nELa?GKRYJszv zlF4oFs$nmRMLz*acmRWG@~LMG_kj~rLLfU{i_))5+p86KDq!=ZT~k~6P?Ff;sZkZz z8ru64ioU-PBpZiYMDBs^MTDws+a`J;OibKz8pX~jjCH5?T0$SWTSMN1E|N&hK9v$; z-6B@r+N9nMX_|xk$46YYbV5B78epj~CC_PJ(P2jxuY!T^_FdNldO;w@cIaNWSpR)i z;PzP4Y{9b^*C|<-UDp@yRMH?u`ZTQ5==J!pnMZo)N#v8i8bD+2TcErxT*9-qgdpf7 ztoM@wk3+4vS@63|Mj-TWBE~u8pR8V}avHk#_F&=N<|7j9YhK+21fz_9e4KULQoL4S zRbS^mzGl=Icm2s{oCTETDro>pB>8NEn6|db82QA5Xlp_#Ie2t?!Dk7?%uPXul~3#y z2)GBKk|2+UMVYgS_vq;-yhjS4Nq~m{o8o*m_cpLo7FD&sUl=Uc8S))AkaTX_0@lG7 zs8rIS>yz&nauV`zakK65G7?GHJLcpCNamd@8*OtJpR;c_&lED;5OB$rtZqwGkkJOd zUj@KIrmYTvz%Bx>fBN0VlL&@7T102Zms;b z)KXA$E^s^7s;6Q^t9vuTSZRuP!(AqAUKcg5c-gfr z5U_a1yL$Tb;202@o*u>CGbaqn(teK^XJS>1$7gkKUsA9X@jGjY-o{nT#LbQ)%qF`8 zW(ctMuLmWu&xn_fYDZkp*lpDpk8Sd}whR7q)N{L6(t7>n9=FMNXAgxy)+6;92)~r! zdwRf{itV$>Gum-z+#;fRn~U~Zs0C>$PrslULJ4GWJVY$Th;~m88(b{ zlaxbRSl+tPQ*7g3gh`?G0n#%rilq;Vti3Dc35NQ?m$kjrPY_4AVc&7fzU;yPgYA9J zUe>3~Oq(DAk=N(8bXIj6*-Z7?osHxLs3sMy=_oI)1ES=6R#^d=KMx+Oq2fW?fHjm_ zU#OX40RDf;&Lfn%hBMj?@5NWYYM7 z$E`*ZdiZp!KYi_>xsq$O?HGNchGL0UC5H0FuNmv9j;@H;$d(7t@K~!0CgrUp?G0V% zCv$y1>dkbZ#8Ai=CbS)zI@C-$7v*NyHYa@d@*5iN=ZCz!)$t*n{1>UwS&{NWhKk`v+Q+b8;3In2YWIR z;lUxk+M3TV2?EMrj*}iZ4`)$*L&MXf2)x-Q{7)I5hxe9&7}{Wm*J>L;3PH{# zbG)a1#PumZX6~su8dyjKkKy_9!3@QPB_Y!WWpEO%jg@u3P3D)g_WkbUr3$hO_@YZm zk2-hz&MgTcY_p{~4-(PaDjUrzb;~u&uf6v%g>!)YXkI#gDFeL{rUM$K08_mVc`4Dn z2|2qmgjfLaN%o!dEO@aD(fXA)mTH-8ix?5<^p(%W6rdB+EcP7c6hA|u> z-}EbsA{5`*kaw%K;2->j6Semscg34Q_NHT)q`s3hU5P`gN^mB|2>!F6Y`}2|E^AwE z@Uh{j&a~|n>=nQFlZ65S-`DyRM)DZED$JlgF1cg!<0|J> zLLXOsY>M}o=PP5q-|sg0pA;n4Wwh4~4!E}3jcfV^rd|e#^4{-8Le$hvtt#x@N9KJN zdL${9f5lF;XrMaB0wm{CJTeb)T1OKhDV+(mr--AKZKB1j_(OQOi=F*MExUl0R0t`p zJPK&#DX1s3N?@Z#HzG78i{n63;?pw*nv!sXs7aM5 zleA3)Hw;cjjL1xH7hjS*Fr&Lv17@bWi}lRZy8j=Mk+^%o!y4eBwF09JZ=TC)zO;n? zN^j5}Ea#6F-`bD|hM@znG?Ff7UK^b0^eEjwC=9RA_cMTdRG*Q=QUxg9+~TFx8teXh zuKcUvf1fKy5dJ+^UT#eLk?;c|=jZ_)M|kApgBvx=p5b*Bn|GIcYOMYw$W>Um`Z3?A zf-YoL9#!SJaKh=kxp=cA8SEWRX5Pa4f#E98(AT^CA-8U~`d%-iJ@0Zxg;~srz5*jx zza0^WiB}Vn1AjMVmh`jLCA6hxya^p$JLx!_Vnt1=oY>KFcwy_H>tm>LZVWc5YqQvv zM7Vqov>fj>@p1}~Xct`0u%hzALs+PsaJZ~)-ChIPHKLmFKjzaSmiceWj!%q-UiVld zodl;zkf9v@q#Ip{1{m4+;gL53OtR6h_i4 z2A;)@YmaWEZ>|bVdsrCvCwq#R<(lWs0nZg zx?IpEJ$S)F1o%@&u5_VK)pBun>7>(58`DCc>SfsAUjSiB4=@E!O?={^-4ht?&ACq+ zUjc?y0fcx|DQ#LxxtV@>mdV(4b^Pb?V}GaXsf~XZR&dLLQh8ayoY%PDZf#6Fl|Yj4 z-ysQql=he3%4aEt@}!if8J_~7XGtek_JX$Tv`{65(IbH8-DboH#j;CMS~_1SM~0OJ z0TUv)q<0!E7oEs?vQV@}ZLX4X?JzD-KYn?=zWVlH%{b^f@{8{_hs%CQzAj?0o=XV7 z*GRW^G|E#n5y&2MyNw?`uq6o6#GO;PGMfb z?3{azIo?v)vb%l4a~>MzEt}wD^-p^Gk+z_rJfR{6%e_GB6%P8$c>VMLu8bo>b846} zH^Brt1f-;WTDefiC1$EGCYO=(=s-*6n*~s_7gLL!VwV5$qJ$7|T->zcC!z|vJwf)< z%hWLd>|3JC`!`$M7y7ZmQETa)@t-X0bfdBx6rgCqxALP)6sBL#y=rmO_^;T=Pn5;j zhkJxw-Z9jm3T=C_fFI=i$}U7nA&vt)1EDym9yGj|W2?1ay7ct)=*K ze=I0Xiw$UwY&+TAK>{%JiV42>r)~Xf-K%;cJ(E{-RZ73bv=hg`n;%X&#t>Z?sl7HBCsmyGrtE##S+|FaFK#tC71aMFhV{!88!yrj&oW98 zN4}$D{YwGxD(BlL1<#$Zm+t&DvU2&w8+ovFXA_N-^R5l%RJ1SNnIJ;jw?+CP1z}6S zwNhulTuHNr32gOwd9NI_sVDMf$Fb-6`}2^LW{|f> zJX>5OvCM~gwJV{66w@Dk+Y>5#kNjRxwN=oWt`Xy}#HQ#cJAC0!JP-yjejHNEHZj(E zB%W9@-JP45sj@Yl;JZ@qW;5R=&Br(BVrF@;B4v{Q3O{>i^?@g5(p z@@^YI@yJzv&61@i`BP)&VdoQlM zB`0`&E->p+M$>0F>zTb0V?ruQV$flRA4$#TDjBYYJIUFdXFT-VLz1+7W2jD+F`I?> z1w37@-X&3adh3A(g5c>L8aT1aM6;5q6_Kh&})rq9`;FMIPZyLfWOH>)Wr z>$8t0o77a~1^EL%6~@YYnIZx(!1X%nvF7(i@F;@rS+gN!I#j=aZSrVoki|ene-}Ve zV!d-U5IG@$ozv|nNJ~6JU!aIzc+RJ?*-V;Q3rO<)G%D%4nCwqr7mvPj3XNxYsGZ5 z?-s=E%bzY3)_D4@&JW6zL0yk`eSX^-+7_>|al(Jels*;Cwkz0{bCyz-(RSq-Lw2ff z$-Lb4TN~LwOqYGD>`TWP+-KW8T^m<_>*^QI0{h4R2TG^2U)*=u-!pLH zOXZsVQ%BR6mCF9{estCnppF1%8y@r8mOcoO@9F)!z-@vFMAP3^0fu*9mfPZ{jjxZ^O$3p*7M5q z)i`wKkK)@zqWfZd(AXaZ1wTC6J)dBMTz=dbz}XrSVcz>B-%B>Lr3}5&4{MLTbG=#P1?_*Bc;pIkBczzzzr|)8 z$=V)VqB#1wHu#f2ezPc^c`em{_lA2ZBU)SpM^TO)cZR>edh`o*|`J z7j$Oo5hSl~dguF@39xtA2N_>@O&lCq-H|6l9BZ&^V~0wc@0jTv0}RgU1_ z3n8mJVYh};O}!ptpx$+^=f%q=#-w+nYwELJS`Z{lmCAnYyl=+?UljM? z>-*PER3Mvk`c4;hnWCb_2^)pld;zM6kB-)B)~lVh{6OAoR^KCh@nNHs(FyJ2;@KO8 z3yC2KF7QY8-+q03@@rPLdN?{Mwm6L(J6-G)n8%voOZ?A2A^^?Xo|3=0Er2acCdY;; zCt8hf&mNrr{GZP%8y%B!Lh_|XDPt6WMdfp=l_{!KgW8twZFT2b^?!NwfA27VQj$=c z2Gwpbkc#c4=H3PDbZxk=-J2Rmx?6eYOlPVY`agz#s$iJ78p1yuoHLB=#|RL;4r~75 zAQ*yLc$mHfb98JnrryA%)_eX;U2*p*J0wnt`+1Gk$RK&R1&s{D2ks;9SbzclV1#wex^b=m-k82Tv$)uJBJNpuJ8v;{iROV z!AqX4u7$(cecnr^;n8FwAJ8?1oQZ6^r;a%Gy^T!bWJbB|lGdIeQoMAA%KC@5bKc!; z<&95?0!M|IA1Z1Fq36<)``kVuVl}naYMOZg9~d{x?>D#PjODVrrwtOw>JbvVxMI8p z>foOc685;xmM#o7qW?a1q;~892vT*=-fGAT53iUUVT?TjZZXiy$6lTddphV=r+hP% zw{z$T8#eC9xq>{hk$-79wRAwz@k=}G zTvPn#6CoB+j09!O&4i`d(a%SIm#AE?K|p?wu*`pq{1L)$9AuRMU0;s$6d=g<393;Ycjg~ zl(Uvz+4fwd0Kj(n5v6!21t~Hc^tAjFU{-K&5KKItHRjJ?EWH~IB<&W4^0tSA4&_Cj zGPhlw!j0b&!v9$cxfJ)L)h~6d;1NJ9E9iAtn|WYFH?R`d;??)PQG;U6_)z`UY2b;* zidnh$mP&&Eu)hix`TAdbp$_+6k-l}HKhm`s`1<@jdG(gKS!l4*^x_F`f|<5n2YWZ{ zxKFe;T2pQb_m62*{+Fykh?s$Q_u*|=!<$D3oQA;Y+<~mTILNTs_gZRtwBBkC z04v*h{lxX(_6p>C)gu?YI?le}X5Z0D8Vw@n$*MuOaxK51@dfGa z|4ITfE$;=2P+vf?RxxdBLQ`%Ih~w^lRdjCs@}G*%VW;9Fwj{H;t#9(qZ0d8wz3JNBoB4jv)%yKn zUZUOx3m))UPzMIjK4T?=hD0qwhzJb&B5xLRI|V$Gyj-1LJz$z#S}L+>83V@M`|xLj z&`*(mB5NUnq^v^axDt9Aqo7dAab-WMn`5&#`ls-FBA3zabLQ1{Bz`{%wLdi=vA=lo ziZ528ZuLGmNl4@;$SObvJ@qo{I&K!o{-*~TCxc$6>w->nLZ@oJrx2B2dq%QFLnD_D zB9M}NKxJTz#MgacM2n0u+Z7$?CMvh(j^~D(d;Ag z8!83lN-++@k-5s16ilX^%h*8HjMwctC#`|94E_*{UWVp)$-#cZFz}G+Gu&|3AEwPH zp+65BR*5f=2~M!-wC7VMNq7NZ0^=U9p9#}4+G0`4+kH<{mA^4|4`bSBjx6z@x|=eN zqPoS#2eO*}iTr@m+7)o;WPH8=91NP=nqu9BZ+3gR$a@J}*^Sir9UK`|W(f3rh!rc_ zR1ZRNoa!IHHu=qiD1#)$@2(#8yH_ub&gniJD;!#|)Y#R7D$MoAuW(lpLc!6?aAG`1 zZeRIkq1XHH-&IB}-$win*XlSX-Ph;0=T`$s>4P1go@r4u{M4k7HMR3ES?d?Iil}KI z;^uF@fx4cs)=BdS1hl#DY@h!46I;%wopWYs_z}@e@M>?oU3;7Xzu8djYX+lhN(-<%5NPuWEko_Zx()UxRIQ(Ot3 zmeTR+9Jxd;azNYq-8aAIB{KP-cAq$_vp!m7GWYTh?!G286z!}OEjFHr7q^cjblLw4 ztf^e+ap<=0`gFmh8rUA4xs(}8_R;>}xcu>IVY-RCS;6Oi!?Jd#0?LW_v>!*oN$u`@ zd8s>D6{c*;Tt77EGMGh#2MifZH2a(%`d@0m z^d)^;#H4crod*pS%YJmTEl8I_}m z43wjz1XWl*Dk=RKXR1=ocdz4xRuSp{%O@P;Eyo}5(b;+A$)wKlWP8=TZeN)t; zs>D=vECRdL%?4fqfH`{uP#fGJ`b<;7|BsdKU18c!p9uJgBE%Ffb5FI>wLPm;0j>o4WZoP07&*kSum-3ecsI=D zbL7vY@1*C46lUE8J0d=S|ajC4bODdW9utEzprmB6xzBt0&EfB1SGD{Q<=st zwOaKhYBb&|CU~K+-w%}M%Wwa8s8CV%_TfDZn0T>&cGDDsk zip=#0c7zXS;3jRJ$IMOY+@UR6U?FpJmh5DfdK32yJA^?G-5=z0A5~!`3LYSdKj%|2 zqMn@1t2GQjk%q_PNBhn~8Pjli$Dl|g*8<|AX>~XDxgGEfA8b3IWLJVoBd-;Pi z@qW@EaVd=jnoet+oXGx=;1n>nDQx=lbs>;?8lKTPaXpgsjk zm(mxeR0z<^-sK0?d%R-y7na!=S$er3vIpQ)hEWB)fA$bK#BnvZJG=mm(~>z1F&0N# zt{{BXUFU(mD_1zx-dxQsgL9~2dB$nnEym&`C^`%3-h>OXO6i3hZR#|%@N4subRSDQ zam79v0FDRJ-osALRemSp_i)(r6Fzb)NlI_ap}IRfp;AB~=b03bH3%df0r`jLLfz}2 zy=+Pt%wF%+xk6J!1D8RHJvmMc3u7s+1k|Vm2DB#1NK~IUFAMNXpcU)oxItIvuHBXc zH*CoeP4z|ItEUaH+7=8+p8DHhL-!WObnvxP*Iq; zwY1tzYKUiHL=bWzl2IZ`9!o(YqKxY`%|}D5$-xouLrJugC#w6Z2WY-Z~8D+uJl6FuwLu6B&A|UAmx=g z&_c?;*|ljms{_liZ1@gEeXs&G2ei|i`22d|Cg)1%s){fYUIiU)89=PooU4F%wRQe0 zF#kRi-w4u+`(c8UNm$(kpVy7OWd;!wEipt4t44+2ck!byocz|C&!+n&zCo`}{bhg| z1V^`V9(14*nODAKU@20KAv|cMs-w6}bq@Xkp0q4w>Z`v|V!mMaGl5crKaeDSya$g} z-t`XnM&)nR-f$L_B0G%p2S3_ezx(h(8KMenjk>-bv9Ay!!xLBTU7dTm?d{(4*ArE$ zW$nz+=k>$N&)|t%LB#pKlZig?MD$Q#KBhZVEBpAc!0|!Xl?mCYS8l|aTzZ~lVEnw# z)2By;CZhGweOYU{1fwPSI_sh2Yr90Ws5GEP5yh)9XPw-nY(pxRs&bc;Vknl_vvq}Z zrU{xjUmhYNo*USf1ZHAVu2malzGK;$@4+faqVKJKk(|29r$d}>_# znOej-qbe472iTPt`V8~2x!ASjEbj5{!yAG3XCxd0oDst^F$0ylx#irkp<-5S?Kzyw zr*}UTc0QgZf>FQ^NYzg>PEn5f>lSSE?WJI!wDOPfoP6lgvfgdgjsr3)*q%W`A?fkC zWob-9g2-uPada|qC9}_UaG7#|<3mW`@F4Fqtz8@)J?vFE-E_y9dl|%wCGyA)nGfz! zXzAI)k{eiMMveKydj-8lVZ%Nw(>$sBcUPzS&jRLm?5Ohd?+a=+{Sh^taO2ucssGme z*b3q=;65;2-)z94(c7J4>ZIS+ynoy>Ku&yfHoY@{c#^YAdNiOL*d`u^^G+XLJ>E8@ zg4Y2qsGhzZtHN5j`+&KX~S4`)>dU3Q__P&aTEPW17^hu4^Y<5&Iqi}=Sh`04V6U=wZ>`Ip?b!A zLGHYWOLbjcDc#Z}{2l~GLw=N6_aVt!QZP69XbBRU@}SKb%an^QdB4ht%T+3v7Kl*}-SB z^*IlCwyL>86}uh5g>9Pm+1#Ee@U+4xK}6mOlG2KWnUfmk*HG%=GeDd zk`vuJ#k9~tH!izGzneG!GC>|YSG5u+4)KrvqH; zhmDG82xt!;M+CALal}g}f1BVIm^v^HOMffxjC;<#fC(EeBaQFHi~BRIf~}yBU|wS2 zVyy6iT^v^)lf8!rd%kQWgK)f0H$kv6b58Aqy@73eT$Gbh-Z8WITDsCjh_~y(#3HBC zgTVadv&wYg0i}%zY{RkkxX%g8Rmz1LsnLYo+p3`eazpfn$ z1cv^sT>9KeG`5)LK!sD)CjZES0=1_6HeE908Ha($5eeF z{iDHNZM~(8e>~6^oBJa*3>e!??PvY>R}dUOm5MEvz=Z+_mCz$?+ZM-(n3=e4PI>`8 z!O6!5E<5!=3O*InVHy$2r*PNc@NLd#;r$Z^VNT14#Uae{5F;y$m@@P3PtgrEcbmJo zDK5e4Z<-GcVg(hL&oA3G*0R>^5@;)W2v{0Lu0-lA2+7=AYhO2V&Zj%%vbJAc_oEL2 zmm^jQ?OnqdVdS!x-o>VjZ#a@|E=#*O$4Q7IyFph+b|BV!CM*>!C%Q28>k|biIBq%( zx9hD~m+DrAsYD1y#$G%TXmd@J_X@^I51o?U?mAc48!Lta>P*k`*q14e@!wXQ&Is5v z$yb8ZJZc0u1h`yS1DSWb!ox`sZh9$>b+coS4yfqZYE^m9S9LL{{l#`8Uhe}x7)AeV zW}v=@`B5h@I=9J80NFY-{siYykWu8p?X*Fw4J6c9j?Fn5^K znRwOuK#Y?G7C~jaM-d8mXS542u-!+Muwg3_6|&4F61EW#c55(dFp03DUqj~dk!Tm(m+4r(aRkdFZ)2gnTSRW<=5kO( z;E^yznlBklraX`+s*veFdjonqqteo6h zSQc#BiJnw9~QW_HZ$j;3kFi|={+$B2DIjAFu5eDa9q{sh=bP@&z_w> zIaMLE^9sBsFLn_6fy(udDvCiGgn)q3jfzMPC@^#=J#=^22oe$lN-8iQ3?bd1Qqo;RDcwWY zFz~Ly>$;!&-nM6Z-|xr!V(T<+dHqOnsVyEvzj(I=nMWEw33?rJ7ltU^SnM8Bn(q@-Ee50atB}Riqzvy ze%{N|rN_0NQIg}`af_Lxu$!ms_zP6NRul*uQwEL|58*&d;nms5=OM+8&3HY?p)(pG znV=)XXv=A-&UTi=@YCCgug;=6d+pE(td2z1mTP~0sn`?852K`G0OH!^C z+HBec$oMlH%XspJ5?n(*<;)Y|Q+#JFH>MMKa+ef;(}*PKVKhj*4tY+Y9Qix4B9&CT zsv$>%rRam;056mcIt}Tr&0xRM6+i}ly>kn&vMA>I2N!5p^j@y)1>94EkPsy9TeiOC zw6mhO*Q`ZkMPg!vovm__pu00HfPe9B6dJYN#m(T)Fp78f(ye3DupV?wMJ~_pR`}`e zff#I)((8>+e^t=_waZ_<2={$4Ic7JC1b7C_a)90rsk?2qapsE1%^t6W@TxO#n!EH& z{cizTg%yCET5Ijm2iG|*hQZv%w71m#HuUaLL54e>|m@x7$+MqI(b`i7aF61`*9 z)5qZMWT_SB!FA25Xg<*FQk2oqCf=JQk)bxd#A%&pvhK(=>)a}u-`ZSyl>{>Q9gv!{Z-k>e8#5J@fN={PsX zYLz&}iI)S^VO&=gz(|XiycB)@m^YrF!8=M)gC=qL(%kxm%me&@DnptU%Sj9fdl232 z3N08`OM|>F)psP50(aWIl}7uecY3=*Ft>#T+5aCl+Zf$s1>Oo6o-!@znL6g-K3ur> z+$Vd~147lvth*N*d9U~IWnQ}njjSxbz)9fLb@{zAlgF|PNcN!q5V_uo4;k4s{|)?E^`|<`{U`{9#{bLv@gs9q$K>~*XIoYA-J>q^2})UCA~n<2WE7q zwn!t?mL)Xw(8^g}{!reDfqr|1roaYOxqs4v-+uv+L8E+wG}1}Jw4AVrf(#w|oOnnp zle+By@^piK7(kw$nhm7%+pZ?*Gl|ZunHToUZS1#C&9!6nmpAqZ-(9vpn&jxYBS2e1 z));MAahQ!`f$rr|a(`01%m=n{udUB~4rh0NJZP=c?QPe_^kqWXK8=QX@(um^Fh!7P zJTNonT;)+1&NWr&WO-Je&W{nL69w+Q|ltBgK$I2|0nA;Z|EVI`ztEnAGV!6ZM&Ao zU-gc&{6ZWeCY(_WPzo3LbZ)6$S!uP=Q7FDrNot?EZaV`nu$y^ zO!xZ5$N!k>FR-@A8^37#>mb1>$4mr}f7gO8NSHSX^Zdp=yFp^>E*^`&Ye@=Yb3Q)U z`>Dp!A+H+J0GgQ-s<^hKH)u2oz+TJ}I89Y+S(n8S#(XAm=|`T##~k|L8n$x5J#B1m2269uuih(w@}3xj)SDrx8MhToatwZyxXe z{+TM`A0`>;_y5DB{XaM({10FF|Cg-j|69fy|FeDm_uEIZ$rGYb01CWAmO7Oct3lZM z0!iTv>NrSOo`4h~6UnJ;EYu!UscN74(1vSqu(LZl;XaYfL|{p4~h)qnMRkbhQ=WNX}wXvjf8YWso(v2c`@rk3n=&)P3Ebq;UE(_=dq~0Ke6O z#Nh*)m(i~dK4V&g1k?C0S;s+Kfi*~*Z3O1^=nAicOs4?8bVYxrGvzd{rGc}8W_Y{1 zKp$=@Xwa#jJy3As!)7(7*Ey25q0=5{5gHKY3xb$qUE=Tc>)1E(uF!cS3akc;c^Bmm zvJV;riK@=$c!9SS|He~NY;N_dt@j3ToQ&4>_DyF*zZ~H+$}4&oG*^V2E_VZo=5kwl0G1cH&1V>Xk0=~j~J*EeIV=sbrt@a$u zNN3eCMH#-f3lv%Y=>m6^kcD}*7;Vi7I&CXJgcO!)j=`VBvoixp=d}XfrgU4vzR}X;zN#BNv<3|x!J3fW7??NK~0GhzE_aDj+ZF z@9u0B5rEznefrbBUL{FJ6Z|c-N7qTFHk)0UUf_|;)4G_K>B&x5bD(tsjt&XQG5-y z`-@$SdG*a5U&dd))nwf*JVC#=DHVSCcqfPF86JnJR@n^<{w)~qq%saA8Fqz*5q`Zq zQxmRb)o0P~1;RZ0LOdizUGxGypN0AyNM-hkbvRp03+IKoL~RE`2WZ?&#AX^3VLXh* zh+U@~MUk~%c8ff?+My`kG#C*(YFRLNQ3tZoZiBy`<;y}g(3++ovQ%X;lOD-REMKl? zvuzfftO9i#&}Uq#r4OPfPDw5GRP5$y%BP<408z!U@Dj(_i#>YYo^$YWbaf;CVug?6 z%y&6>XLygOw>~@1bNjI#=><_SF_mZ!Lrx!E3*N?L*H1t}+Lvp~Vq2K@R0xh{}n+*Civ556yjzh0co{vnW8rfS6P5YBkA0@&h9Ae|@}>%F@* z1sNt!G8j)V%=WXY^6$dxQLE{?8ikvl1|sMS;G!P*Cd&d=IiS8^qKu7!A3@W}k-3n9 zN8Sg$osmoEqgX2t%cVO1Ds**r<`|vJRV;`01j(-scx8=j$HvgxpSfV?%hA~VyjCv+&9Ep!rPe)O(FBLs<&|c&N5-aWEd;m+K{vL{3QxT{(wDn;4rKBTlTT$e-PX zH-`pviUJNlJz#3+<@eWtTo>`p?`N`6Z(>28*FunSd5EN7L^;AW-O~-mu?|+QAQI;% zx-pQ`Jik8E#pVTYe>M2`hDPO2gK}s+>*0bUAm(YYF1NxXJpjZnbr9e-D4EX(k4B+R zs!&$>#FPv%kP)5}Idl2;)qGH6RR^g|)lGr+3u@B?Ni$8TMUs1I->TYdT8;uAMpdV_ zgDNjFub6=T+lT^A2=d_bj#^KG3 zJ}qXQRecde6Bp6Ab%^R8PKzbqo23(VGwf)`^ziAe`PaPnIvz4)p3=hUo{5>cf_gTf zLVEgl&BJTtKrN4_Ii{wbq*a`D`=OYcjw3Q-Q!-U3GCwD~{j##Gsr=|Y;9vLxJX`zq zX=QfbCNR7U@ApT;@ML)5CTOu5j;f(V%%N0oV5JX&(}~(%6Kx=kI>i~FmUQPQ&+HSb z8*&Cg>9(g>Vsaw%yaYifD4LS_GU&CELUFp4yqKsDPlk}~NR@>)C#Aj2sN1w>tCIia zJJ+LJm%&cDWpH0U928BW9QrGE#yNrCqYE?kuZH0jD;UBLuM&H})b>J@MYaq{bG8Hz zYMlNcWd60?*&H!$?M=`EpKIG9hVih*9Ut+XYYKwnVNBu|4{Y9Ng;w7EAdzKh*0rb- zl4J6kU&-Q+lWf(ruv5`=72t5iD(VHg+Fj-)+$PPpECJi$Sa|jq`4@X4nDtD+q~}Jt z8ZNrM2)h~Gpbe)Q1~hoStg82=gUJ~N+6<0)mLNk^zN$66t%?FM?EqWCT#n*27+%jh zYJ<@fM;WLu%YsrCKAimW?N2rH=s{Arb!)s+8%A=mceJtxkQ|dB71Ue}3ax0dwNB+V zp;*|i16IIlb>zMATHKf!V@G(*W6-emx*|9@kd~&ubdB=DCMl10IcWTplRSc5Vx5IS)F@WrC;`_#;N}Pkq=0EzO8P zD&Eu@%OoPLZPhspDW-HI@I~3RO5#Oafx-)g1NrT{4cpI#cP98TFOQwcSaN~c7Ts-< z5EtHFn=%vHXn=V6qm!3Dvt^cY6-3tzEC)Cy*7}^G*F{kyYd^Mo%@_dX7cg=+)HDbP zDT6aPBnGmey}sFw>PYG`k3!Kbf|{7lG&GX4?+g~#_;vK+0{Dm2HTCiWq)5jpx>=^{ zPI`xeFgvxmCKC9_-5aWFyeZp}m^*1>AWyy~cVK1NA)H3j|Q&U;<#I@cTbFiSc zDtsDH8#;7}B(-f7ZHvTi#wd8!vdhWJvIgiRJ8gULbmezUVnBvGah&OtZ6F0p z%(!32%`Qe{HEEyNH%v$L8X+%fM)9aRSDlkGL?VA5UgLfJzMV%gDPmg<(;s}-7C0ok9(!yvjC zB$ozSX?%n$$}(TW%B++mHLtc7pVY(X*&QUdJ%x1JPkIn60lesd=Sg=8Ah*qJUISI& z-_*3H4e(LAD7RZH(p1BV2P#O_)iibe8Y&8BIhaVil{M7DElkgfpRXr_; zTtgTXJIWZ`9o}ko9)b7rXX+__mA((QR5`bVnRx?H0F`Pi1z3CR6DZgKP6|d8n4cXfL>TS!Y`&x2RVy4XN-7 z1yp9d6N6v61z6!q*-vQPT;g%Qeq+U4x^T`Fld4Uj+5~dhiaW9=?TJ!`fa%rr6ds{ zt&cpONGb=pjw;N(_^>At6iLcTPpD|-;92ld_QUc=$#u&6K0{HZLLyK!R2vrJ-f_W| zrHvDDDdOn2c0mQ1cP!V0Pm4vAd7(btK79)WP^M=PkRt5E`v9sAxBmb zllb0NOV0BtKc)6{wTkU7QU=0jO8j{vsEV}H)9?eJw5Sg#q!wcfn`qqX>qj3~hk9Kn zV{+)CzJo-uS{$;4TYda82E5aS zu^_Bw5wm?+%)`Y3&bPj8lA!=!H#bNST2P~+Q_@_dwx4?7OxzYuKeoMfCqN1h_X5-5 z=7yt{Fe`t5UA<301Efv3vgn0q&TpPP z`E_H+y;jpaof78u_oV)D)7Y|>yyCDXue>$d=)ZkPS36J2svuyu9OlG+K50qq@%Qb)cRO5B~>fl;P9uT9&qAw^aOP z@Skhkh@_H+$~;XZ;0$An=!W(}InRO!3=th5`X zy4ggY>aTPGF;%|sHCVc`ZqLLeLiPuqd_j<@X|Hh;ofX0(k)BQURwM(7X<#xe*YK}@ z@Ic@@w*9Xq_h3kgXs-vtAR^9d8#Voq+ERsO0#=hl2hHl0tUPSn03ZDpKgUNa*q6L? z-Ub%JWnPqeajRv@ZiA{dpu5HvGYZf_cm^w_xX*NWjUG^&l#3y4RVxm$^u)S1j$>~4GE$f~@Na#q*IrG9$P)yEhDa1=pTzZ^*Lw(#5xJGe2^ zE$yp{DKSaU0mTd z?#IYdr;I%KsPdT9Qwz-Z7>dGOT5_#eZI?q2ne!sGzNl*mAO}d^t>yJWqY)K5Myf1@ zjS!h45dGayh?vbLu`;D_$)*Y@Epe-8i96#^$;ecNXx6o)R5oazykiGK_O=?7w4aq4 z>%Rzj>bu2xf@P@h9yoVv9HY)FlJ$NnCH&C*ok-C?ell)vGwEXzIQ8B0wpVlNoTt{JuVhuE{4orf&o%MO!Yg2{45@)$0$J1B&U%qW+{jaU$egx=2Tn7?$h~P>`;$7Bvgev?!FghU74IQ?wMdym-G3nxLQ zQOCCtWefCOl5j3h@-|K$V%(yw))rm-K}- zN{ADog${Yvpj!}j)n&PkSxq)1O<=QMwZ&bTa9s@V*TJ9kyq`x$6PaQyTi486opyrs zb__sijovO_y^<=oeNJ-wMY4W{Tbtx1q!uS5c{1mbde~KBeP?KAvcbP`V$fScWk-pX zWP>^Yd!&!YH&2F$=rWLgIZZmF(vjN-y*{Rjr)Ey?`T=Kc&jc^_E#YRt(ZIM>I*O3H zQ)Of))F0h@fMTuodmFF*HQ}vWnOC^`{5&qREaBPBw{NfNf5uHKU6|%2OAHx3h3-;K6yqLg6TRge}g5$8Jn|r8L2dsi9ok z8F-L&5MZpk3Kr@DrrlO{HB4g09cat03}tiTBDU!)2`fAr{W@!d%y@R9g5ZoqUT2B3 zwcw~fx5or`8&Q02%&a3|W+ntrtHjp`AC$ID-=}cbeD4GE4!-v2AJ+SmXgd zBz)tSeQvR}tgK(~ael*}XMuq+nI5|b#lkgEE6vqRijfYNDRwK^g6c|pVHSY1Y_0IP zIK9zrx7vKBrZUJy9%5t>w-pcw-qdsEMlCP}*8uq{J*q1eEy%>oTstL@m;PR(Cs+0v z8yt!uU8PJ0nySCje2pmmiZfbM@Y7JlHm*Q`aJrH}DXHhVhQ!vlf#FF4WEPjnDm9P% z=oCz)d>w;S6i^-BzzKEh7VLJjW2t739BT-4IFB%nx&8Eot1jES60N=gTFoLg&R-t} z+-B3QkXfxKSi@(lrmX?+{Mvs!ynDSNc>c3Mh`tAoL{j0w|o zMIMM@to*|s_Af29q>^(Gv6(0H`?CfWb+Y8etorlQ+nNQakY}OGd5bg`ayP*Ze60Kr z^EXIIOTPtR@FB?+WD9D=xrJ0n*FjS$0cm7iG=33F{ve=-{6pjvZGRx^4o>xAeqxMZ zq;xVZKS+UorJj(%*L2s{Y86=J&9rs~(jy9UN-*Dn=k$q?$dqcT1f+t^|%2AT=l$}s9!&=vwA5=S7 zu3wh)OTqRKriacW9p4siWHh)vf`}_kwy>VFo@;sVuB=x#sQpA^9q& zEpUEQS4&fw_2&~K10Q}}eKYSAts{(O+b-LN^g<)Ery54v-1kLx5HD28yJyPcJeFkw zDvhTf8M;m88FA?Vhix42TP`8f`uchXHns+7kS`su9|we&xBH#1Zx${vCpCv%GuLL; zB~RH2@Y|Y48cfuD7B=c-IT?kaiI*rT$8G&BqjO{%@>hAq7r*^gLx5RD<^+jb0s_4m zIdi_uv5TqaA61->OtaKajs4sV=jca1%g9cCJ&$4PA6e_g!>*IG*wK!eU%XdtKY8{T zgjk?JdiZ*^co7g!4aZn!CZ=NA{!G0JssbZf8ost+EOVFat$rcv>0Ng3y&fIsnEtGM z3B{S$`(vL#nQpWTW2XIG&*K)k9)bFPSZdbwKEVo+t2d}p)JvOxgGei2^KE)Na#O&d z=F~?XR7f=Bq7O?i?%Jr_tqLjetd3NfSGb;RnVp!qDvHZ4ZT_9Iy%3s-Xm?iLl3yhj zgMhUmFdrU1{qSZWe|{~s*iGD`pd(F#JLQb#SnV>^5J_3s{}8I*8^+J5RBiskL#yN) z$46D+MGIjWp2upT!%*HH9?fu_Z*3oMHZ|#i@%gc6`{p~tTN!oVo8P=J15bAmz!~j2 z5d0dn$~vtI&0vF7FRjYkHd+E`YoeG-=mj-BUkA;m4X9wzlx(UlG+?VYw_c2MHBG&0 zaiyo+(|rqY?8IxE?S!HCftVg5oK!y{iLr?7Is8ajLvBFWi^YQf`Rb)>H~`X--}K8p@6dH^@jFGF>O?AtQ9YQ+WpTM~*Yw2Yb5Ch9Ke|KtJ3$0lQwXP?AcMC|7@F7=iSar{oytcX>!Zc5^+Im=#m`r@< zm^c6G)nV*bvFxw>!N7UPqT+bs2(Y90t&ZQOY;LWe)Rf$U^QM40<~&53Q-7jOB&fsL zn%L?9rGL~A8U|cO^%u6FG>UOr4xkg&9P%PqY82UFy6hBL?Th2PPqeO$+K&x6!)pKgN zbEo%%Mr#=A#pl4>L`e>Lq8x5AaW8UeWr%6RY{XUv6bf>+l8B{|HwECXsLnsl!)u?H zVb`mK%rGtA_Ld#;HYSTO7R5^Y(Gmu+#mX%E503zkztb%$Fn@I6i}z3=Sgr-&`@!VW z|D0GCpd*H>;w{mF9iw>A5dR{&yA3RciiDV(n#gkXn8*q zysdo3AfBwbcnehx8Aa$A_mGL2G}Bz+Hui5rk$0{Or%PPZR88q-<;a+F_S{_jy$t06 z)rwsBtvhdYI%mf7o@#vWZL7Xy0t2bhJ*8R6Onz-{a~t?j>l5lg+{e`tH69*^VkWnELy$RqXAS zxN7397KSUlW9WR0OrS*H&H)dI_L;!dJwnA^DCs3PiY|~aMlqT-oQTI|S;)RB9S_$s z{Pyf%dxF#%!HX_hcd9xbbQlCU85$cKM^5H#1NkgZm4=Uz%se@RJUJ-_pZC=Ddv!+? zIlRMVE(tM}Op&c~WQsk`Xofi%N#`<`M9ZMM_tzw7bPfNIR!q$_3#=>|x;Qj*e@63I zaG7=99CfuuwP(nHY)-(r?V0wK7IEuXtG4*pS)OYAt?vDb9=FV=#9TWwfgUeY;YDmr z$UyCt4PCtr)-{<0DMxPII!z~{PW9rVUE6&zp&zl+xL)8{25f;SYFFJ9GzY$k4!i+o zT_8&H`O|7Y%84!R77^w95)!ix^x?j)u?*$Bk|10igG9EI{2;a>%FMJ3 zJkjo!@9ny;(5^+^N<+RuIHwSV8w?#3DZKOQ`OMa#XQ19>9`dy$H>V?8D3ggSiuJBb z1J^VW$o(O~!M~m6Y67Uu2g2K%O&We51?%(CZYS`M8wWJ>J+8G!zfaYz{a&fvxGeVb z&X=oyjNo?apfbYS@Gv)w4}GPnn}&X~QbevI19)-YC z5a|uAB=bDcewY6Fo@D!GK`H2fuwmoLg)(b@;Uygp99U%B*Sr+$7H(BiR&H7$B~LL{ zdRTK!CLDmeGCLocwm+`U^>w5_5J!vE=4_-t|f9~8hn26xMMY=fb?}eNanlhhy}ti? zJ*&7Z>XysE%&f(34ta4_DId@RjAOf_3e4TlyC8^FsnDIUsz#lAo5ae%P-Rx0Uwz0U z9iGf2oK?Kr;p_yIB|&izgZv2(iGRf-iqCQkV5W#S4ggP6cljIW>o+#!#%cH8?)dp0 z-XgF4w7)e!{JE4w6pAZe^*A50>G+8g zA#e)Gfi+sd7Qi~SGoD_cjyMh*`I2`JR*e%oX6l?uX0Fd`mV{2_E$SYd!Dg;+&SwW? zrOVHy0ASXWiYxM}U=PY-5=x6=V$o6^a>})AFq_1A70o1ey`zP_nAjPP+7t-|IrS^( zA)PHa`wU?aYhnv9@o(A)n*B%hjowtx=i>d=2U;BxY%69Jrk2onx=%qt(YOK#-U}XM zy)32-5(L_=qQP`GH9DH60s>AYoD(6Sv)?wO*$qJKY}@e{tlZqnR-}B`h$Ol`1^h7qdIwy_B?!zSckNO3%PUKpu$~~+M zxUIRg8DFMx>w&_@GeR<(z#HLUy8>iB4QP-Gt?ak!>wH2;$BVi0h_E->4A|Cw zoLtlF24cma!iDDg`jFq1K3V}n0uawei`5MT0V^+{ZY^QNVc>!+tukQ`ecQZ_}Jc4^YqKm{5X5f*kKA|^i4BLywAMs6JnZ7m6C zbKcx-To&!D`ayP{N!rb=xYAKALz@M9TzssohmRIJYo^B3!QqhYsw*5s<7k?1+IHW# zIT|&T;dFaC%XB2U0-9Ml{-1xyFF?m0`?Ts75du%mSv^h0?(9)2B?GR^-B@-kjf*}w zqVh7)yN^N$DM*#)0!tezwi6KBwLtO=g=Wa4{SM>=+roKZvJB4@0pYP8jtBo?tWowN zK&$~957-)~@bW%fX{Q^0FUwc-15VpC^N?K5?YnIM8D%sXt^Nuy9nu|-z;F~?&kTH- z$e_-stI1twC)wmJLmnC_WsCK_*trRe8UJ&`8O1ZKKK#WS_~BuZJ*fJqy3A?Yc4^a{ zQu%+B^efK2i{v#o=EX%_WNZ`5O&VejsyTP%3Tm}!W~2Url*(*RX53Og)^|71aW(I} zg24CG!k4}Q)C?+ z@zVPG@xf_P;o(f;JBu&VH1q0NHC7=C@l(ucx1~l3T?kc02}~!3`YSX;^t=+obM4x- znwUP^bT)YL)Imn;M+^B2usF_-;8z`IY@Cy-#O4R4hssLYG}2j0|SP^Ek>`dCH9karJI z&MPtlL-6K@+6Ld_{AOC~Eh+i>@fCGz50bHw|ID?mt*sj8UFhY1#Z~0%kO&C@{ef@a zzTaAzq>jl>a+0s0k9?KUf^v_HiLta82HG(_AM1OI{`{s78&JInd&9a}$L;|bY`J5# zre6c#+I8rzra*J4)l@u}!mm7u1R<1`Gs&CR78tGB>~D($g-Hn}D82XV81ssE>)fac z|BGg=)GfTv)d??iE2Pf*C62KcPZ24_py$+|eey1x(%YLXvM#5dXG1{HyQudM_5Y%^E_#obLqt<_nlV(N#@T zf2v*CW_~g0I)!HM1Hy0i^KWU}%4Z@U9&uEyc7e`Fo)DP(Mskq~jAwf7uecFc9Uq=| zcRbFWUOz3P6gA|VPI+J;<S01%j53Q((ID-wvH6g zQ&Q5WQ+Pzr+lDXS?Oq)T!YXJY7%G5*l+LZR!*K`=x>J-|Hr`zNIKRs-t8VWF?qcul=?hsLbp6VMug>Pfe(zio7hxo#ds zEOzOi6%vZ}YG#V;+=GL;c*oLgFDvjpN+Y=Ul4+MEG2Jx&Yf6iTHC3yaJ-frmtN$}^TEtUU#nVg)Gp~f}JT)~svscuG{iOUa|K?KI z$gF$a6vfZa?4lUSQ@5bt<{e+TUIuZ0qQ^oG|D&hM1#xJN=i`d{XG%nFv5bT&>-wAB z8rapGH$JLicZ6nbh=Be3vz}V;n!s(P@!vP)Dp#d!dv^>Mi0V2|OQFD)PojWL)Za`x z>_rLbT-$8x`j71SPQC|h`LpGDslGSJ$jBb@Ql;ONe{p;N>EE3<)q6L@liBrfFr_^O zE$8@vExj?tQ-GJmoeP-E!=VtlEjpp9d(c;qRZb?hMS5WQ^Aw{6+NL5pb_EorhL&H$ zb0&Q zaek8JW`vvA@h4Z#>^if)Flau&n@P!;H# z9iiU9*QwpSZG889^tqQJ_GsH#D>UzD>BW(^e37Z#cBcmHXsL+*fmB|K(tfu7m?BrV z^ft0Y46x+JN;+0cEwyw_Mj*5C;2eo`8&ho(KzAGKs;2ZN?vPq)2M)}Hth++%tmR>R zY+we)lgG{88FEwqsvhX&xp(fR--u1uDrlBA?3#yG)fJ+Q8+S2NVf;cXGk$M%TOnVt)?B?3|sD7v5O9}qBp&!D-nIufYcdZ+F4DH6}3V010M z9p;D|CAhjxx-N@(@88J&FSQi)f1Ghj*P-}U+dE_Y1Y@?SJpg z(Z6-IbBKhE2GGM9bdv(|85s%WXj%c{Ky0q{Fj(5ygZaA>5@{4m>WuvBnj!z^rx8(n zGQjH?1J1yE;G^6Rq!H9#TNs<1Y=G{)QPtaX`)7HC)Pn~ zFc_uy?{_3^qhq+Gkb&^9Q8=-W}Y}GynaM4lHv2 z`#t^nlGmF*{LX*-#&0eE(y#v4pKe|uoml^QiA((Zgv$QcewqBcH2a@#-#PX7BmJ+R zeipZ1Yy8(A!2kWXH^)>6pA4aAWQ2i6NaUo%eF=uUhp5&*{QZ-PNEvh(I{f2gLi}~c z+wX-=KFf@^{$nq3VE0oh9U)1E;$b@K#UdGVY`rkZ3XrafY!uO&;{5r+UY~=Xj;@0I z3F-PqZ<$(Ij;epM|GR(t<-dJEhxykJewsc>MwZ3qNJ~Y9Gp+r5QCvXPOGQCosgsIO zc3|`3HVn^_u3u+lXS1v$8J>1(-o5(_+CRsAUhkKuq%ZExY#jQfH3joqr0bdZi7%Dq z)8B;p;Yj+=EABtU_4mK_fBS*|zj`XSP^(7W$b2ya+meaQVf zosGOPYn^M=KKXKzx=AX?FquaVFJ3X_g-(q&hxLX^$w+%(-P|P_vX#fDGFLFBlbS3t z{fv}H1g{@FNI}z~eP7EVWNOImR05*_)Awno6Zv~g1ikX&?%Ix-dS=Fj)pzC|<*C_9 z%lw?7rA-YO7d#V7i|BRA>emz(&fWN)49?D~gICiaV}#m4B1oG92cX2@bXRiQv3g$RE3 z?UPWyw-G9f=HniH-L7q*v{BLEiqS_Of2r?r;(Tg?3(T5Xs{ zqY4=-&vbRKDy!11eGZx+X z@r*R`h9fH-asFiA#&Q?=`B&z$H-|QUP%7nG+n3RktPx1pX3qAEGKW}U6Y9m+8By=zR+?=6gLG+K02OlaA`uni_m1Eb#8NAA=w<^G4J?d=dvYX>*cgjbs zP|I(_dQE_1vZo~=uyOmsP%_K!ho2FHn)*O6#COKkkFFElQr7g<_bGAeJ7h%|6L zOS(}yXuI2!tc_$r<n-9>W+-yYW3I_Fw zpSy6Ky+$Fl_n-meZJr;O6>iOUNX@aHFwBf*Y*L_OKNqv@N<2Dgt;2XkOASYV-=Q?O zbj-_l#x_y~iIn}GA2+^OnvBW5U29h6pE>-#*Xssj8d42A9z1wdx@FJGcJ?xSnBcM& z#8)l4F7x-V3Z|bH>@1on3Z^NX>)6wl5y4+1Lk&Hw=OUNh?#Yzd#Sd$xD+fnh^O+R8 zW|`rsFwkW-a=v}8^Q3m>RP}A^ziQ{fXPdOBGC z((>)F^uvdxRa%}?bU43y;3O>hVpLPs=y7cDVr147C5z19(@XJ`PC4P;40RDiEe{P? zpwVpRlUca~C z*kH&(X#KtX>US6Zxv%Prn?nV4R<7z%vF*mo@4WG91m*rUuAzuQMeQd&=VD8C&A|p* zoPj~CFMYIweEI;t9`ttiug-`A{3j_*uV?DK`1-ag)*<#4kF^fg;7g{Mk;IcvJk&PN zAD_COD=CFde(@uLk)a&@U_(r9z03i90Z$y{D1FkeXjS$mo~XrOUCFOhXkHd(L>K1w zf+m4pKtO0{$~;hL;gm1@C5PWg$tag|yx(1$RSLb>9vT_|tGE$0-n_r{W&UJrTY4BF?>4(AP-rXCt zstrv#Ijvu$e+9JrzYHl@(kdB$Iv>c*D%snvpe3bGh%-<)n?HA(Kd?{L=yltsCu9?>730Os5KM=~NC#y%}*BVk1^_9lU=gkAUaIZxwgLoY($ zg?UXAhDKF1r5q9!9A<=(-kmVA+w71snv}RPW-7XRgTK@9`N&`1(h~)ERnFrlf>qT- z$DQH@Tf-hr0EP$GX0%_t2#d^C11#3;0z~W4+f3OFGD@Y^IZbcs6HQwl`U>t^WCluL zkM^GMv*I}Te0@Xb*x}dGk5o!k#*Eb2GjFkkjlAq;6i}|AFWyI|{lRwblS zfe25X?PSuD_UW$kb3(^OKgB?t6vwi%(K_8yy80hVue)8(ZE zjWt_OacEzn$mH9~@oG96>$=aDO5wJ@@bwpw=$cl0#$&th=aBT&mAHA&-4h9i{yb}F zpy#Jy*3={mvj|~``kW3Ljx*+cb-$NGDoe(H^%s=HT(w|X=`WyNHy|uKKKEy|rXu3P zZ)`Be+K1NGp5&qYr%H)a4tM;S;8$2OX9J{sHDizsrI}rhuFE2-tMHSx6NWK^>jwNP;;7s1bFO<%fioMzS zux(*2dvaPXQNYMO#^Rsisr0jFbo+sY~^^9LdnnH z%atp!!S(SXCF9$%xp6`|#iA?k9Nd?Wp}4mgeKPT+fExc3WEg7-IUadTan@~4SiU>` zN_rL>o0`=^yLjwhA1$HMPmtm=g|318lP{x_tfgPPo=^;$z++Cy*<%+pza-;o^#;yr zxn}E=3=r1M1{92*W=IjzZ?U1%&^dGA#~$*97Itu^+~LTsMNyokFfPz$BP2o83jTtP z$-|v)73}ar|wzL zR5TkQy@1Q4Q5^^nbxj*w4(W_h`s#=oT>dh8RIY>tFRc>P!5|={`yz@_X3lp~me4;O z@vK#P)_}bpognVTTJEKD_oP8$bD?5ld}FCR+i{EB&ThY&|t7Wd!7Z<8wM3xe7U zb5>qbm4(DIc7j>yf|=JkL!GXmGV8mOY2j*PMzZzC_H5jRV^znSbXG7bV@dt&LG&W` z4pkzq!B-qH9S#VT~nze)ERT*;OBD`gYIu1tWhzXn|GI!))yu_74Y8g zMS@bHefphJ?WO19b0hU!XJppT@N!g34n9;@U(^6R z3s&n6E}5-Gx{~qdzuVd;wj&sCGjuK#?WALAtk{;KqZqH={%PfEs^soF*RFSBcc;!+ zn2qsi)!58vW?JW7q1e>7t7ONIo4%ht^l`Y{pv#%IJ1LnV);)CA;BchCztS?YPM9 zPGFmlWuWYypHn&-XXDVA#T*noQJKLT5^Q;-mWc|@pubHX`d8*K!;yZkd@W{cBE`Sz zcb>vIda*3I0VJ73rc>lA+=cBhWOr)N_~HQb-1?Qv7g;Q=y~=9LiWphE1+~lZ)xLD| z6{dK+>PiYXJ|cR!+~!KpZr~ZlR6@!cthQ8FgZi@D+6%};J-d{7nXde`%kVEa;+yIt z7yn9rOm?R&!JX-Zb+RA9O^Jh+ zcv+Rxgh%79eOB|e8-oeel zB%~?iV9I$z>QpEjlYhjA%afP>fK`jgYfW0h+8GkrU5O(6l?j%v*Hb6&PA@MOgyc-f z)eV;pTnVAZ))Q^yo&OUQHR}smghkH4hI+t$ZV25s4^0k=nx%_xb9j$sZ->Aq+ zM>X~+)uG{D&0@_@bbNVj$GP5Pz}jG5&-FIMrx z1@}O~3$ACyXCbE!zRU&%K!aT1T>71))kV76{+ZTfg+P|uJlZ420{H28A)0jDd-DE) z!^~v2nBTf}@DEz^xp1isL9HJl!tPGr_T<(P<*U!B;y9ZGrWQTl&ADZFY9dclzFf2a z`wV+_G$hZWn3NGcLV0x~*NTVXZ02Zb2zhBecwN%ntH7P3w34iSVWNjofUj-*&e7T` zIh~Z$6ve{e%#)^!PqFhDi-?K^hs+jTC})1=r*!qtu6nPe-1ldC&G1_@_3M@E+#DGn ztAOV`R7RLF@usBYGJ?lp*A-Obp|Af!{<642vE%%8DSJD^-|^MiPJ>5ffQoBwU8o^O zFie8^bsOhb`|I=Q(u?Z`0VP{<4w^PA6k zu!o%O;o;XMYNFR>2^+K=ikHPSW+WyGtcA7dAlDw`O23~*={NY)L*a;^Q^Q{`BnIf1 z{y7=V*t}=YJXHFU-g|IT&L$`Eq36r8d1Vg4QYrFMuh1}~Id~jN!_p|vHE;jJM$V?< zr8hK>^mRPmzQs0|AG?~nw74;Q=&thF-ri%aook}MU5dt&X2J#SEV@7z+h zD*rsRzA+u`Isvq*Q@W*#_CPXPS~?%{gK9?h zpKn-&>H$@26Itfz|3f!U6I0iP+Wam+(a)vv!Sj= z%#xP4#of18??_6wJLXlx(XzPcS{kwBe)3QM0HLsJwutWQC;vLc@U%D2%DOUQJM5%$ zMyO|tqRoe^10I`(D0^aq74vZ{01^&`BBQfC0f~BQXFOwEE4(?O+OCSoJb9p&3*tqfu#@UbOhlX2c?@!bI?^X`mLr1%bl2{~QolRxHY zcXdpiaIZs_nxd3~<1F(;JeSNV&R)3QbTpdt;OE~;i#?nn>vak1)W?s%pQzj|56-vx;6T9E2TEkc{+ z+orE3Nr5_w^IjHVcM`Q7;;vD&EgdF9STMs`tn~Q9jcP){Pk4H=yA$K<&!2y9Uyk<{ z7&1koFIW)zTwdiZFl8|ZhWxZjmNr#7M&|F&D^w0oD!9>l$VvU9M0JeY=i1DF^2yT2 z9>3184D4bDm#4%`WYq150gbwPp7j7Hgmhln=wrTk?5NB#=8WvXC%FKz308hAk#&AH zV8-#yg`KU0CiBf70^Nn&OwtbsViYt{H<3z=Xh~P4$Z|zla?6Mpv{=kyrXD6+Ko2*( z^!Zi()YV-(odb)^3}pP*usvz$8&d57)5^!9uY0=DPui4$sA!RKJ9@c=K*uw2i9=KV z&*FcoBlELhsvF&7^ckvX*!K0~5?rp%sj2+9$({NBXESqmT~?S$vTXPAnE;=X7m#W| zPH1PYgBWT82xM^ieIhx9{STWZ6{OMY3p-i$E-vxaN1SCIBztl6bo?G{SJquO?LQZz z$n$3LuV-&o2iuLf_TIhDMy*_wQEYktVajy6^>dj&%^mrS54UxJq~Pfm=e{u?8f4Of zMq|C+cXslmd`WvB&aPGe>3MS9_-JjNZS9(!yA~rOhHE3I#b_zS+Hf*sFvOlm3LJ8un4O7%5bZCeT)}a+i>NZahT|((uUOHOz}#Z1Hq($^>26=kGFm7<{B80*!@#RF z^{tn#+iBNc#$>p6zvoUJRYlhBpZ%?2Rk1v>vVn7Gf62YIn;hGlpW8>`-7#6FYpv{OY8HZWJT5In3#wRK?A*arBYz<9?6)))w3=oJ&LjhZt%(9cD zvaKTy>%o*uniP~j7koQud_kK&R*Tjpp~%fpV|1m&@xx@ zw#9Yn?UD;WP{0=M$;n_vmB7fZr;tpaGysY9rX&1s4*2;=H8eLPJUwS_ybSsI$=&G* zn-*LQq-3$DX-ZQkf|WAT7oSun?6;djOtzNotCF}pUwwQTukd)nsZc`B(nXLek1d3 zJl2Ii1_lQG#_m%6=~T3LgOrriN9@TuC=j-rGL{Ko+ZY_QBlWB3`rD3Ilf1+0@%@R@ z4;>Gc(~gA-xL6$RC0SwVH*enRkCfbCw>-H>&&(W3czPJ=`R-j~3y+r0WPz=13AAs7 zj-EcH*0n8mWE$~-1xy3=`jbmn4O)lW3{GEP%CTQ|j&Q9?-)Kmi$0H`5f2k39!EILf zL^d_`grX=R1$OfLKH*LaPy+8AbPxpuk zTp62|!}?S{d%jyz#4wJA=POtt%fa3WKicAk18}YfBEl=GsPhbx;XB~#S=>|RyjSY5 z$|YN9YO1v}5>#M5L=w{~x)dv@4Zyi}I4S@amp1c3QX*l)Bc{5bvg%2T^4mPB;-c!u z*si3v#&u^*EcF-|Q3(m%%2KbMdU~r@D@j02A~xT@x-hvNuA~H$NJ(ZR2vty@F_H2L z2^)y3R_(;Os{8rg%>IV&HTq4?q_QWCjWKnXv93sbeI}*mz0YV1eS`NvI>qj7K!*7Bwk-eO5G@bl;u7ruf#ZsK1NFZRbkf&ZN5M^!-Io zeNT?$8x;yAK`lio6iM8W_Z{1u`pfKHp9NuwHp#-{7EF% zO@3bZ6)hU-&_A4?Q^b+xm%zhrpX|R4SvuBgGihm7l8432LA@<%@ed({=; zxlIHaAGt!5+0!w`(!@=hGeqCHLTQsoXI^-FRg<~Kg$FtiB&ZM+^Fj&vHI**-TNWMs zaNOJls^1q3*_mQfAihIIJvj4lf2baF-4)gr2~ec*flv%bTXY%&>5;y zk1s3CxLU!ZWo>Oeec~Z_-^S2misP{R4KA+WQBiTZ$L2QDpgQaG%q-XU-A+jsgpZ1B z*q1N&olX)}^sC?Nb|&Udey|D@-uL5utQzdEGxqSAyGFSvx8(qX zW!ZMdu-mMX_mJ~M%4zs1<uT8Pb;c5BmSa-5!(Xk4>(3*G1tf9oS@A8vHd9u6@X|$hc*ad%$y+mEG z`X{zU7^LDZXLfoXdRdTOW`M;BR5Qj`ZYVhGXDYoowN~@F{O*~=#~ts&IXZCP#PxR- zsdJhdwqbX_47}Q;p7GR0fP!tqSdM}(u6b?=%U_Y*+Ft@lnObCssqU@!9B*7m!%`}4 zOnp@+6vd;nvX8#nLSE2zJlnwMM0gnETGH`4t-wr^8K6mJ`q2Bm{8Lfj9w&{tEpica zZ!rb#4y0&U2Ey;S?kCEZR|c)b42B2WZdI=C2zqN;WEvsuVT6JXE0R_v74{OlbDA+v z(+S}YtEZ*-Wi*kWy3^sLn`PQ^gDz`XT}0BI3!R_yowQk#R`_kJP5iXKEqAjF2C-i6!e?^>W*UN;<7MEHHBX_aJ3ZKo#A>{VpyS=$5}NgvFNp?vWlq{) zRj{VHCj>)8@^G{*ns)R}`DJ8U(WHp6Q`5G&7wJec<4-~=)cl-I#AOXysQ%OKhNu&JO=`}$ z-7fY4z1h**NFRv<{wyiu{)*X8R=T|rEad8H)C}fBc8@eW#`5X^kUt$h&OiLrL}V^3 zMOeuB*uGA?ZIE8Nxj(ul;$N(Xj`KdNjzHiI3{xLfMix`vxvwfNKSC6Y244Oq19@122xum@#PtR z;&NU=U+bKZtq#qB(Bk1TG|J`ym&gWAOrheSjH!!xj_~yR+jn>^Z3ZE<;!;X>{E1_- zD%d0k$ub;Ho=pN;Lm}}dWyNVhG_T`F*`>|-Qvp`X^34i1z)i)U9`_hqeTiPJ5Y~!y zTu_4_9I?euO%tBR7UaR}WO$9XylPL|@{EHZO%=zDx@c?lL0w+cJtt8G%coC0j}9i; zef-l`XcaL5YOZ%6dr~k0Z@P~XsWI}=#H4h^p&P5#*3~sSO=sC1>%Qz($Fw&x*iM%G zrEitKmSW9T#FtXzVm99 zq}V00a2}(urrpG}G$|UXvf9*29qCX{X7AW8lcvVtm3H4xv9-qA(tT{bA`>Rlk5t$S zs^;d`X2FZfBC_!N<_z|HdP9#hl~V-#I~ps=2bENu?W(Pd90>5q>2HmXGFoZmq|q&|?0$g3viGrWHI}Xn{cF1^nIgift!?5j9Ek1vuklc0LqNv^y682#w=pclfrt@pT zN`nJ43ys7Vtvtm7^8gr8VcN;Ed(@8)m@n4^kLW!t9QH=R`CaNGHujHLPYHM9HLcgZU~RMzrNEm7mZyKj zv*#@Dr!~ZuA2xT5l-k*q==}QHFKl~5#%Unz>^WctW&Gp#j8e+9zdEaUZS)_PtZqRuMTgS>Yl!@oZvVALTKF1-=ST2myEWY$b1 z>%l)-&8dnBqzL*SEQhF=%UsG=)Xw7_%~z}d-`p*cs7Zq;8^1!uvzz$ZhU(YiAijPI zk0u?6C7nO*`fPG&dU$iwb`1aEp%xE4Jyg9=A}pkv6F}EF8K%`~D!FTgm<#RRd@v_o zBpa&}$Ab->4C;nL(s-1B>ub}|=|Xwn;BuHIzwJkgky7HiuXQJ#9y-CL zNh1~xRoMaWcY#EA)U0K=rq=T_^xvbZ`_Lk6AAcV%T5KaDO1p@?D7P(RJF~P+-`8jN zxxIUNw7gGXB*VN#*%3Gpo0~$GNU~ja977?R$iv}smq4+h98II$*o8?s`jiv}uyRY$ zg8BPbREMTn{)lQ2-SE%qa}%K*gk z!LQZnb;7HgSO`#yyj@(h8t2fo4;TBu1Im(fy>t#?z91gYdDmgMMZ?y$*wF_wQ#`7? z)fDw-nNLbu8UhbV(0D1$!muaERYIaETI}*=)sZcjyc&ICY^{=#gh>Pl$Q9IKD;u@; zO;Il!85t6qyTUiF(KE6-sO42{%*^M2|9}~PTc2z2Ki-8WrgMMGE7*13Z)p7zDv+8%Ma(dxOy!ZeZxn%#KsPJM^!;r`7-VtmuiGg_3$;{BRJ+-)&ch09?rkhsVFDR|no#A;d_|x;OuHMIC5E5#gK3KQvSp>9St^*;P%?*J; zn5HYo2XkdgK=_ZUt1BH2qq!v}CPwVVu%(BFT`pi&vf6;sHkR>HHo4&nKuEbyER@I! z()rQ|m4GGq>G9h&QiNF=4mWDb0ryDOP#F?Z_-di zBkqB%Jw8K`55^fp@k2`N%;2G%;AwDPiLJ2~xuW_EyJ&C-U%n)F+oBihQp!9F>qk4Y zp-urERn7a}o$N8SPenbUhrP_rn^;~o2xmx>iIlCrXP$Yeacmna6C!WRESW94BdD{) z;Ej_ID_Sl2SLn69O3TlqlM}#a$%r=rr%rL& zwp8pBj*MF66z%JK7!2Z&h6YAkk}h^OnTaT6!uJjJjX`B^(3aP~Lai0bs%u1}X14{q z+Ukkj;2?s=>Q@0htAN;F1p1YETewNQ}2!RYX>f0_hq zj>t?C+-@Ad4wkY6a6iC*X9y&mVF6u4$8HO&-BZTeuRACnb_uYEsza3GIP_$Fg)hL6!cK^#bmY;+!3TtL0s{^7ezkrd<1Xp;j&*r*PwP3S!;b*<^5T6nW(AD zK0Y}X$(q#0a}JNtII($(2U@vO3lBrWbdTN%yh!fs)Ed3~1s&7=ZGl_NgFgciRBCT* z9{O=v=J5NkFw4p!;VjJhIn*ccXGOOoAezS>-`AY@LZTX0qYA)sDo9nO>3{#;z3-@N z=P>H_5Mwk@Lcr+$KsHWL z|K(eG94|LQhjzD?51Zo z>@MysFxQ}GWer9btbUB3^kCRT?kT{F<`hL)mIR~-u_$g!tFVP-*1X5QvHnmLMdD0?Z=#sp zb*t%KkM!@T$Md0oHra|+%~LUnr$w9SXJH~8D8p=dm@;I<$0yLAo58o_V3^rtS~{I> zfwT6@L40RwWmpdnc{bS_4HIR#CWg3`YGZ@;M#otKW@hi(Jjz$n(`*Uw^;C$vl?kMV zh|-@g@zoym=iSdo5v5m~H{^UtD;>M!FnBS&f6>Ixyli$kgx@^i_;B1RYVsLB!JP%C zD7Xf7e>ykq{WR@CGVlTFrfTE`NodkAJ@|e97mKm3eG__LAcN2N4Tffny{wuR##Rb> zm)ty+F0mQ*44)Gs<-ktdfABc<%(xPkc!RFC&z&_ybcKg^US; z$tFsC4W9KrPRZFj4e!;>fH!jNO4gj}r6x$Id-Gyp*K_i*@tO(wOxc3l^Tb-EF$kIZxTusD zc=nZSMpR0!xK=69{;w4oDYb|YiWCavdpTuKDm80DjHR~cZgfl&;EltiwxwIM!Lwgpy2A4L!rta!FN_zmp#G(vcQk5hda6{!fC|}xQ2c#V zu(Pd3#%<*7zM^z-lzFj3(C4ClYnNVZQRnePU_Huqki?a3IODzA2&LUAOoh4Xox0b? z8wIXxbaS*djJh2ffKqcw=$ffy;iT{K;?J1zMb3X3GkQu-AovN(-U#|*-^`JGZbRF_ zRy`U1ytMi+B-_33_Sj|_L_QFTI?wkH+tl*#4TH;OB-t_$^rRfMU1I?}Y&Uvm9D8K2 zxTP=!xUNUbA%x}u4$C2|g}mC;?K6%8Gh~y?VEYCYwe@28`5?}L-EP&u$v-Y^kMWRq zJZ<&gI-OtmU^mD~(qgnZBbjVb?(c0deQD@4JBDxi&gRj`?l3KJM2`beIB?teuu&H` z=#cSxFFr*rs)*`G9p@7Ni+ju%nUWvwVVe+aJZhpU~k9L!otJs z?4CN^(&e-zGvp8hD=YHo2+jD1$rFSDB3pf<#XbU!}c#9<)S8 zw#M)`zJ7bv-{iOu5JqJBg!j;P{{1pBU{#OdS7`%M&3@B-F{j87)6NoQMjybR1cf!I zBtH{aIq~#3@(L0|LX_Ykd_CDBS4(xrkjy$Ju@nNvpSmVH`yXGD4F-z%B%7ojV@$^f zu|GDp&m!Zm8W7Mi{2X%IY1zNf)YW~cV7azxK^phw4j)t%KIXVhT|AlL;wLk(wRIgh zm-8(5nubO*WtJTQ2g=?a6cAnf`SVDzE8c}it$0BUey}U8F}2ktlWsM#<#!#lo;i~6 z@$ew`K0C#)Di#{#m~`Di9**WYeW+4Z{9;jPq2;%1ys_FVd}15<)wDQ$g?mWBJ1`+C z8P3E&(N~?5W2LM6xoP`suj&>=ct(Aio1=4DUGAG6T17Sh-#x$9A-`rOp8#J3pjp+TilaB>f{6O9UEVZAZu3(tPD zP@NxNU$pJf${}TA)oI1pxO1*>45OFVv)Zk-&ql;PmG(mnmcxoZ%i7hM`h%|2JaiC&J?PZHQv>uwE?sF!m5a#nEL^ZWQY#f3jy2#pbpFJ@)r4 z4RGbQtgv0^9deWkca(m+wE1o^lS|ZJk;AYhY&DD}SHq~PR(hjSGLxk1`}gnGz{r_z z7`AJnWw7c5BqSYx`zlSH3A>gzIw8Myrd53a>lx@SZ+QZ1SHPFIXOwa8fHa zJ6vRqKtKN+^f9fnvT`b0?1UNsjq@EH&Sr|^hu`$9S7YssC6;9eh+(Tf!5p)F2~6Wx zMcV~@J+Ov`jmD-n;vRc9^EjlY>*w191Wl8&$93XYw6oS2Cv`QxJ2o=&kl-32f;Aew zSJBjk!}iHbgXJ2a+r$D2`IM#GGJM%_>m*-JRBHNz4p+)Go;(qmN-rD>_Vv9sa8MUl zTNQMN88KBe8ykjyxNGC=in-z7X94$L>@GAOIXU%e`EiNs;W2xJu*Yi*_=%l87sAIN z0bDw0XZ^@nR5XRO_27E0_HimQ(RbfoiDAh#^k6{2j_FcTOcd0V>49k2$H&QWG)Nu$ z6u=H_N;d~m8Ojw08yx$#D*|dq+l8VzFD+y;s(AvDv0#{kw7kh{HZTaV?~;c)e824u z+j(m`H+X@r_I{3Yi~2yhOXk${EcE&FkDP&lNbPdx`u5y+^vQq!ib?+H*%tQdV7lz5 zko3<_Is4}o%};s3zrS?heeU4ksgl!;jSW%3Uqr)y4a#qp2v24317G>IZ~f~xYm)w95LckK%+s53 zwj%xhCA!xbT8WX6hcBN|E`R@O&GfbZIehT~w( zK(GcXCFKX9p^*UnOE~47fBl7@&wg-3K1HknZLcXH8W09710>beBS$tPAs89^CXDhW zV4|CZz|Y7xzmIl(_GvGxyIYAEc$f!W5OCQsgIA=cHm-oM1ta{~2-IVzffkg%+uZL% zem!{1TL0$&sAvX%IR9D}?A8j2nQ`?GPZgj%*i z^3sl#p4d4qyB38LK$eIa7!E`@krHaYd@M*we}2f>;|~{CcBrZw&?5!61X&NjKnXzE zYNK5Qml*mjU~a<$NGfz@>Ie^@Jb8hw0y*~3f~UK$!EWoN)BZsOo@%m4*%AcF>ChaB7aPG=A1e|+F0kxg)q zfZ!t$w2UUnMEYWDef5r~_4zWiELoWvMT>`<1 zAZcv;9>OX6angA^#HN*)1uh!H2&8xZ)uTE8JA2#+&&5ZNAHS9=J=ETJpSMO$N2saQ z!jIqiZ*=&nZ7ejgil3giE$SgRRt~$S2WEA`Iy)6mV3JNNs5;7lqBY%^>u!13!GXrc z0VAtK;L6B?KKlIA&mPy@Ksts2ic3W}Bhxgu9fKbDnG^O*Sw#$LD66HAP0 z8!*!H1`7T8GN?b%M+=KH`-HJBgA9-Rr%qRjCEZWt2)?+ zyis;HDFo;oMxB!V$aocivc%#PkxHf-qgX%!X;<>ihtCeSgj&a)fftT-O9ErdCJrI< zj&oc@M8wRz3_0IJtwMO+!Ys};obplH^FMI*7UA*2nwiR$|Bypxk$C|u)WZe^Zfh8hK7b9Aav#gM7|ScYDX3Sh{56Tck`B!-TFD@(pmD<}v*klhvh9N1+Sj6fvVq4eQ=R8)%W9JytKv-Gra zbS;yU{_|iWH`3Y&*%ZZEoDL9bb0>iTX|Q3Z;*u}?k2}dJD5M5e#dpsHGGA03yBK{d zAU4`<;0L?o4mLa#u@kwWW1 zin-AjK)$g*ivvM_dIX9x)AO_xp~13z@@3hej)Ytc2@O?iAw-6V8z_fX*;Q3N@z*y` z#2%`lPGl*hyhULcyF-(dlLInYt(wc?PaOf24wQ1jcmx0Z^MQ6C^qE0oh%^-)h%+NIA}-ge4Y5g3O39=Otc1+4C4=0L~sSC-~N)Fkw&uW*pS?phuyMg7q9cwAr+7=~`d6V(AMEL}}CV@U$%+$2zQtN8F-h z#TDErG8@ZQ?9CW@F2H1R@f!wA&&Wc_ny!(*;jDx7i<`4*t`HG}aOUxSZ&vs>jX!~O zD0YUP?V%u_3azulU!Wd z!Rd7xd?;*Yzj6YPHzaJHlZO4i)L@~7ZY(PuQ&=}uD@sL7OjLXb<}XFF!SP#F{!K5oM=7PFqoZ@?3JHIfA-u{g}xYV z7RX$rY-w>IiC;90h8o&uOidB+`I|%#(XO}XHE&{oTPku>oHV@j+7o*5Et?0i^F~vC z6>SIZQFBI<3l~j?rk;X&+k>`6hi}RXCWpOHJmOmxv9i3;^XvnP=(sRw;#EZsO&W&z z)w@i2e7dq8SDk-hub`iveL?Uqd!J;yeREO3H``2jD_p=bS+kHg(y_l>Q3G|^MTISL zxF;WO8VF!mpB9EI4lG~&kM;geW7=99f|tlZGf&So4Wgc>=uyavB?HGy8+>zNn@t?S z7dD+7Hh#N9#OBHQ<=ni{LCjvyT8E;!8?f>44Mt>&CED9pU%3+sm?UqN8b)+m(J@!; z-EiubNlYx2vh5y|F@A0bK&Ip>4fR_5c?A--w#mmoFtDmt|An35uM9)`W0XMKvEAMG z6=GqtB+1p{={YCl!nZhJuekrw3x|+|dn|iHQO=)!dsq4{L&nX%8MTfce?|Zv*^0T2=-PB;Pf?@kQ zt&OHkRH9n0>VDtxZsVG+kt7P%prE7)JQB@99mWpj!ZJ0fS7qbwE%sW5;EuX=rN5{v zm}!ZawvNfkVUKvQPJ+7T!KI8>KxU|r%*-fTBEop$OcLM2qgAIwiA*_2LJ>9f=~a8a zb0mvbz9H!Elb6yz|9<-8f&_{ayf4&?KM&iA1kO8L>gy8_@_tQjmW|uzv_&sIEmgb( zAD;ZCSY4q@ZQ;u!+sm z7;fMY8S7w5mR#Eq*$~5bi+tW&y4#&I{k1@gvuPoV>v$yVHYvV|lE&^-=^a9R>JFAc z`XO#HMn4T$kuAE#$NCn$Yo@x6q^DQV#0G(v_oC#3edCNnde5*{A@9y|NV0i=#P z<~mXqp#}8Ruq!u(51;bc9r3RZY#m^l9qW6$RDn%?5xLX5(oxgnVsRglI|*1!&qQ!|z(^y}3wzzrHK{uFqOtrM=uo zt(@Sd@E>8VUw<5;JGXq#A-yrb`E2;PIH>02N>vA`kR@|Osh{$1s z3mh*y;&(ka4^UZFdR~>MsGZMyqg%$QW5%&hX5Sk0U$2`7AkACZMt{N@gDB%jv3g$S z-UkZ5Uf%B{zJ9PlBmu1RsqA?M_X?fGGCxj*!3QaMYGmtqkqNo>$M=KOUai8l*h>CU zA)HZAaAc2%jV-&kj+hkRG`6+XUMu3^&=+SbfH%74&K1G7h)?xc6?Br+QI~Z!P955` z@JJ7L*;v%es*eW$kY4!c0>vb$p!U-n_@%b<3O^-g8xYi@cDiD=`@r{r`O=l^9}Swqh?|}~dE&RMI#}UW zx-^*I6fOiLM@`+L1xp+_WJ@K!Nw?L11h6hR-@SW}G2u~uTa{Qqcrsj1Q-!J^O;uA> zb*@L~AJ^HQ2a?i-j(BeY;CgA@r{zGb?7?F>$^<+>xDlqZeDe?!VA&y0trD!A&$n7) zw+P|j=z7mZjfe3+t+i*u1e`PTK$Ehtw~lwJnPY0%LHI$EO2)xsiwY}i|HTZ|bwKJ_ zy7#tx)W}vT#EFlKOPSAZ>4)vH2tEDGd{NQE%-wSxiL>?YRZjt2hRNRX*lBaRt9X+v z0~s63QYc-n(b&}FzyH|?_w(NzP-kyq#XNE$1|Q|1^TLz({*v~VaxpXjbF0~n>^Pi6Eyl*tT}1L zDm3#{fxDDt8Yw9$qpZNr%k&)wkg8da7E?_xQjd{fcb+<&q76<6aSW>0a;bq>p6`bb z2AebK?0~}4(9*)CH!(Rm_4;rnCAjY&-|B_2*-dCAjg^(vPgVJG$v1D`PW!9qAoy2G z#KM?$=;!B&HyTYX2h;l)c-6F>_Ic+=(@oQN_a|)H#HDQWn)jD%;3ojq>E}%a#3>Of z+O9A@`#HIPpP8B%vqLK@nE3c4MqLi=_IC~q*gZ}z4uH0%zP=$83__rPDAP*JtC>;c zT2@_K-Q93fS@~o-BAFr>2#h}Y34zeF{-{HNF*ur8v`Gox(rwtKs!G8>9c20PO~8|u8fZA0PN|%)ImS$5%vv;?XjQr>Zp$Fhw)XJ}2)ju>*aU9u zlrQ!qH4V*R@@}!in9#oCjwWbXUxi9b2m1nK%0N!ybrQ!&O(FMaG6zl8!a`*Q1qK`8 zL(My^`=a(MgUq~QHVME}pc7?;3u?U~nh)&rE?;qmspz+jx^2|F@xpMht?8(rf$DOC zTCO1ilx}FrJj$Z&7wD~5>c{bJ-5T$(KReGoE5u7Ht87hRQL6xh88(B0r37#tffg_2 zG(iLehAoaUdXV7znZ~5Ez@7vO)~8!&w?liN9&75Ua(?rSnbe=_{URA6HJIC)8`&uq zdCWor4Vw`vI_{4Tc2^gJ50CbOc{lp;+lY>*!+1Z;&s}%6=*1~rdHfzLrfe|3kO&M zcB2)6`RpGYfryCn>vBS@ZOwOqcKKVpzy7-GcCf{kdX1Kvx~Hgu<|5Frg#rm_0b(K7 zBD2x5f%kpO!@zd*hV#X29det2C`rZJM!{C|7pV5>Wf@EfQoNv}y`55!K7~ z{a{LiX-LwNjfqV}as_{x(BpmiTC^50OzybnvrqRTEnB|(T?`QwwfNEneRL4jd}5oy=C<>ZW4dNG&I$;9-~mnJJO;L3C-n;c0QwLU z!4-n_L%YUdbrb}1R8;XYf#(~^k5bsr;@;5++I8WTV!}^e3n9QY^huR;3ZP$h=*0~r z)2FCNSJ*4~AI3a5QSkBedys_IDbNH9B)Nqo&Wo>2tfk%Jf7(NMixd4Q>;l-*dwkG` z?h#enqppX7lRC^B>+R?jj*~MS!jDoA1U>{aey-HrpY9g&)12neZ$}TA~o>K6I=t(&&cd7x+e2vM1FY)nHA;GfjNjSfV2}^=F%;+`A8d73bDLfQ(H80}p3 z&%Z~V?YU_p~-vF$)9AN-*?Kh}jr@XZQoeB@#$zBD3e$ASq zU90lp(Ow-7^FkN*mPosq)M~fG*yl%wO_}Hh01%*0j$>1DChL=x5n7fio=7#Feml=W z2ID?!GPY;Eskw^rbpc2N8kgObP~hKFudJdqZNJnU!C}xAD_Hx$sN`G}>sz+&?n?R0 zyuG<;Mx`kRc?yt6hy3 z#WHGY5k0O}P#>ie)}R5Hqw3fF?Kx9M7J9qlLu(a|C3T-+~K%f8!xPV+6${&b*?RtpZhwyWhKjibh9%Rk` z>l&X{vbYC-Qq=VYcF~_aTxltJE1#}y|L`n1>^x)K5uf#>mK1Y9J=5{2TMn7UP)N4#iDzBF&;felOr#0x`3lTUVp*A3f<#OrWZ?IyDihom@67DKsnmlCPLxSF z{1=1(3OkZ6CK?I#{I4>NZ4JyH{md4}{L}XgJ38634|aoNqFB|$VhRbc*Rv7bWe0^R z|7AsRZP)(~u3vmiF*kQtsQQcBY0fkl{RMBbbW-Zy6EDl&Jo!8Ea=7ft--wrFEsPHaFBwJF)rf!aT(EfuSek#Q zUT!-?DgNLT1>9BkjvWpjbbCBEtsqC8BRZzTUVX?kxQci{L3OIE#UwcTE}MMsatP}3 zjpLhh4&Q_ACD5i}P;x-%@EiLmwydOH()3j9c-iv`tdJLwY(o8p^F>TiPsIQk;uoXp zt3{iCYEH~4@LcZ3T~7X!E=4HQv=K8M!hezig!F;eF4)`uoV?K|aTSnk!}5VN%&fr;YVMBC@`pEnXi)0vjU;)@hIg zhvOqpx7Xkn%V$EU-`EsD>l*lku)qBAXdoNz&2|cmu!(RJd$8|QQTfZrG%1`W@y~(e zo`%Dy)hvPP{LH?g`(cA+^R*3_ex3cI$@VxX*TY)LoHK5N#$hU@J3GU5hxy@#_~ZXC zhytN7lPykBMjQuY{0Yw5f3YKj$CS*-A*|8osB;4)@7Y5?O8WV;@!sHmEu zI6r%rm_RM2JATMIu_&Ra*8G{ec~kj^>yh0W<${Zsi-I|8affZv#7&@`3P#1edmnaoI|&}=|~Mk@R+BP{JB#)R+vxsV{4 z2EaA8bPWuMX=TK@i4E~Z#=x`F7bdet>|yo=P3ECUq@=t1YqoT3 zXc)A%b|;dHLl$IL5=~*PsCY6DSIW(;ic42DSAOz!fH*yy612Y)SRfk+C;^w^gydv! zbj4FKF;eXBz+1v%N#uOz``t+$ zyx#@^sX#GhhGzmG$fGOh=ZT3iS~gN({E0t#vMD;2JYB$D+#iUSu9!j%szt~$7 z-a9px?r{WEVoHY0B)1m^ssv(?$k~nljg3_Nx9~6JsLrz_>j#k}-Z_5lThKkDSlw7{ zko+fGcKQuPm>k0$Rv=>GT3JUe9-8!R?ye#?; zP}~B?0L0x}G&T^|8d_O-AMU)@p6mBix76G}W3;X=t~m%4lDvl`0P)-1JIP!W8UXQzA*QmC6A{sY8nNnR$=NLZH^|$+{tL`@I>U@)tTjpE9s6U#{;=lw5TC4F(u{@ZT*w zq8hS5-7!mcnS<@#V~UgABkgRSehTmYghESsE4zvF0>$e*~h7Obw{(z5Q@I)FG zB^9;i`Q}5SC&%AT8{XmyG9(%pSTAq$G|g?c260@u5mI0OCkBX=EjWUF(Up{+eFl_z z1qXBj;8ZD!XX%D1p7kxCFBYzWuwJ*x9^_O&=}M46lZphuI+bkai%*E3M{06{m1~`=1 zI~_Hg_NO~^`W*Z9{k4r|sO5@qtT6zY$vs)Y%`$mrN6eaxt5LT*&um$7lEZ09v1;pb zHlU6kK>I`L&r|3}S{R=E?x?#~#j$%ta~%2+xB2LO;s`Y`PpE;xd9aP>O(dqJp3TN4 zRNBT!EA#R3TN$KUu5hR_$~^=lIF^}82FbLN^X|%YZvhA$7!(b&_oqBhyFO@za%?b>h#Tf6^F=0_79y-iWsbJIOW%HK~*kYHDfU z55Ab4Si-mzg~q^A#!bvuZf zEi@mv3o-%|TzfBI2lyK2!7pC$P}G)#m@vXLm=`zNdGH3m zyxqHWQ2Z*%Ym5nVl+L3u&I{eb2T4)SsdW+OD1FRtFh8#jzN`MTC-5rHB=1a&8N2~r z2Yj)pg@wn$g*KZxNDt3U&Mtgg{cQ(w;j072D-q+V1H3{&9d$F{Y}7mwr26f@(|#9> zC&%Qoa^0ubmp5e2$JVcNxp3jc>o<4c{H6cDu;=bk7}zJHCHmMNPIqJ3Va+dXUcp*)o!Oy7N14lDmAa8G3iM#5f%J74fJpN&Tv>eEc?m(pchB^2xK$__TBrdo{;2+o-?tPwr)J6OGUB?upgXo3< zh>mYy1~eJ`%_%_ZcMku2#O*mDvJ&_99OHA=fT1)EK>PW-Jv_SsFPkN#r9&}TIG;*T zNk{b*0J~2Jm8jnXM4D(XVf)D_w1IJIvmoKxxJRlAP z+a|_>Yx>Iv7R1z)egwOLFQ)tB@AUrsWTn({^nEY^U=6wb$}l~E#`CEBu~UsPtnLRD zF1SYIT>;Zxrih1DdgWxl{7yj_>5cG21Ck`K?cB$*wMv}MLQ5TZ1ikJ7e}x7{2>_BGPXG*re})8dC`H3A4$`5(3VPRE1;irFj-3>cI2RHG;z^ zAS5J&bLaE8B~o!6y?{|cBW+CZVuAVM8id9c142^dM-VPRwp1~7987W9!drY9v8E1(9;&>ZOZ zJ|hfWa2E-7F=~yb2W&S7>eICpocs~rgiqC8Wj4T6CUFiHQauww7VsJ|Cv-`8>CCOT@ z1bjXPH;=$dYs7>CHs`DwptYfC+wlw|meLGJ%ncaFw*D+#f9vM+`%3c>Vm1%FYF}wYe>SPc=!ve!M1g`K=`&aJs zYyaxPGh!PoPrnC{pNLnlE<^y|K{8(Jrx=S!dPYW$UX$Lmh@iW!fK;$?&OCTTWvUSB zNp3P)Ry^!}xD1pY)d%uSf`>sdvJ)(lwL(94b#Ury{9Q@X!2s_%tSRp}-55G^c^oVh zY9+Sx*p=s3MiuD_)(;`KgL;5AWxa|^5dwCq`Wix=;ePM)1k8OJfMb!ML)sQimxf7% z_cx}kCwyqR7k)DlQn5Zz0u(nQ8(v3pj#_?oh_OjVE@B+&oVORKJx=zM0hgn`M@5Gj zfC)G$R>C<=@F>s4`@1>NQoqw6$62t$vEg})BocVpdGg5q%e`%zHS3R^^Vzs25-GK0 z^5m?Ca^aJ%-0xuGxtG57*+m*3kT65{N)|JMYm*3Az-TGw8ya*#8W2H2 z5xp<*i6Y)R?AFx}iuEcTK_@!wAj@tsF6a5U%0^ckS{&$oHMF%M_h!~R@6$sMw)r2+ zkiPVd=CCfhjD^+HbaHk|dx0S5tQ9)Hb&nKf@M4ABO2n$#dypmKco>qdiNhG<7^{{= zz5oYflVjRgmb_3To20heJ{G3M)E!z@=IXSyo{S-B+J_3>q!iKzHIy(& z?;{9Em)?m#E1fa)?f`;x>76J-kQyNLD!q3IB_X+M2Y)~3+;Yyj&vT#W{*!S+viHun zzrDV--uGSahb}|(9!gb;;04tlrScywNUtyy4g)`5PPcGaJTBg3p4c3gV^GoQfkz^L zW^RQlWW<)uJSEl^>PMHlGGD2FEPeClcVHiQ~r#v6ldt{Mfw`*3=M|Tu7GBYn|Xl~_> z<)``(g^3B$j>C?`=GM5Xvh}GdysWf9*@pkS?07bL*~!Av+1*S{Pkep+%DB?g6>+@% zLn@w=gAFYmUB#F0) z__=aW1tW8j!*gNPZL+IpEPYj_zVsDmkb!GodJCm$vU{LIi0KvQZqat13Z}UayYl6R z&G6sk5e6!%cU9i-d9J0e3fc5;6jtrI3=qs>ZSy;PK$vbnaq5+M@p9>UPFMdjC*4bD zw;(_N7auAeqn(}i&)a+8z>E*-aPG@PoE{RSVeb+H2l9}2Nqp=WL9~v=l1d`h4lr}4 zELO=?nX7AQ6}kU20>Jmn({RBF*R{yIY<6b-dbW8wt$@Ou2z+q!Rqe!OHCPd%g&e1{ zW=8NvA1PjA4Xe>)p5nn@_I7eBmi^f5sznVwcEY3dq{VkP7MWvhEA73O3MjQ&)s;qJ zVcVkL(sQr4&m0EFnYk-tEpmm8Zw=ER%eWW%oYdfUPUvtV~dj+(?fuMz(lJ)p2yx`A7d=hvWKpYTWegu+uo-5*q?MM z-X-clOFNGhJ$tjcfH=9RW@I#C?P+gdaK*}6-(nJgy@|ioR^Snk`^&PE6P;0Bt_2kRtU%Jx=zl6zI^TbkCZ;atI;E+n^)3}VuVxQ zy}Q)dq#!(?$aX%dx-IJMaaFvCtCGE{YM5zVr=X4R+Z|*7faI(~i&-@J^+M*GsNJ`- zj*V|qN+lEujB!0#7mbwA_F-lk!x$g&hUH6zz2{&#I93jm)@ zi$jT+wR5^8p#}=KJ3R~2oK)v5NddvVspZS8m7%O9iBoV8$hq_ zGv3p*YeCB;?-(~Gy?eK4h0!yvu9}PZ5lOVA zYN;)a=hQUX`R*KJ|FbUv|5#NiUQXIvNm=9eF}6YZ0$Dp+O_Z1;rZsA~D_qFwcQuy9 z{<5RSgoV_t&Bl#I1D0opHd?G9Xvv$kG{ip|!P_YxTj-H4h~G#QcJ*nELhkfnbDv|f ziy>*+%k;;SGtAzeTIR*(%^5-NN6$1Yk(u<)7-g@4bW}GDx7AmhF1+URQO?1wJEq{BfcNsmeVumU?sHP_ z--xD_=W89~>?p*v=)J!x7x&t(CEfS0XEELBW$R}M8#+ajCOD$`nxuhkYvsXNk3SXh za$Q32up}%Y+CW;+tY^y5@yCs9zwdPBJMUUymd2kw$)4)^8W*)z=K0Fmq8N&Ubdt@ji-= zk&?AbGFj`p%x9_Vh$CXEA5LuEJz*6w(;Kt-Detw(ul0AV$i46EU6%0j2MR+bWNwF) zr;eBBcv++NGmIxoDVJ{s2t26s*Oix@tu;Gb({%iT#MM^mt*mA;KXy;AIW|&S=byO^ zBbafGcKxoZda9_1Q{zllW~QRxcL_~nSs97p;mTb*M^wXEv{c*qs;O@Uv+|d@+3Zg1 zc^fymk;|q@yq8qu*R2<-2Lui-E_cV~v<#$GSIeD{Tlj3oLetbhOHi(bqNOX=9$KMT zut$T?8Fo`47BM|*bFn+d`H70>)iiY@zL>`O7rTM7K>mC@>_Th4`Qj9z-J z&eED=S#qr}@(Tu~aiaiKa@^eM$I7$pXo{A(+V+BU(^5q}^&eZb4m#FFr6?HDqNW@b zdGAjLpn2`hn{qA<^l#m;>VBGHZ1D zIK#0z4y2tFc#%*M}ZuA&}fZ>yvH0 ztkvVDNAALuPcSuAjhK!~$-KbEMNefc^iP(O+|ehGT=UrQh$bIm=9yZQ7s@2gs3!Ms zScY&6oz^mluW~JErcn zmA-N$d#`*5aki45XA92 zExnJDgObdN394#p%t)q!7$_s|MK{$rJmg6I2E?!o%}g zy7h|O@yN9KP)`D80Cr(-^>yws5D%6Z^DTvqxW|L&e1Eh7w^qjW^)djANVVVG++^R| z$He3!kn|5~cL{P-vhaYs)apc(kfT|Ek9oo#MdX3_Yt-CQv7*|+G3$~+552(i6&4=S z+wXtXDjQ+OI(en;#R?OHBaM8DZYRzPo7JAgI^8#;;6o&?WKS^amNs1k##|^J4_*y0 zqW+Sq92>#?eTim=yx+isSL|ciCBth;j46<1%GG{YIqK>~0N|?n$Mqk7JZQg=SAWM- zYTN1%0erDoLu7WfD_5uVR(JNuA{ zPD8fbsgXUh_*e+GTEx<7nm{v>MUhA7iZEu0fgL!U$i*E(tX+_#qa}%^XI*VU{SvjD zL-s)~`bmh^)0H&2&GaZClRE{JSI61T4A_(ySXb{%wFBq|eX{;gqSr6<6^uhU8_1L3 z_6xU4LfkBUp@2xhNH3laktJ&fo)b>}K7kRYKh&$GDKQOOW@e88M&(c6&81taQ2}}w z$I~hJ@uiAo+bz^6l)u{}0j&Y!7zv>z?3cfya1~7qGkQZ}U>Bt@j30ekau@@o3f0TZLGFMPAvKgC*Cs#4cj{#19Kb-VR_wD-)YuU!w}OIPqmd7&xr|GO zTmp>t=Co$H7B!~;st8&v9uQFe3A2kT;V&7yMhM}=N0>9d+*ZVe{^;!NY_T~q9xR>H z0x7^^)z&cbJec{*BG8Q0qg2M-aVkTNCQ>JORzLq5Qu|IdxnmJJp$Qgg@e$ldv7lFP z+2s!BDeg0ibz7}tB~5&psNFn?-TveT7>jXokl5TCbH-uXMEBMc=}Oo$EG%!e?DW*8 zy+Si;`^Fg$=8BLK6UMq?v3PaRkyr;HdqSBY`T~achY?UQLxtD8-4R)RT7LWENd!)Z z?cVm_)Kn_`{rONfzjT8rm0SG8#aQA$@$$e?bX^f4| z+Ds7xiCN;LmWQ5NM2I*zd5B8wvmORl(QakXBP)^spNHwo-m!?f>;_oqED_v|>NsgD zuS)mG112Aye8(=UfsDoz0h{)u+p|Q_+loppt*u6cFn+;x${Z8A#t+(sZhL!s_hST{ zBL|tFO(xi;WT^O=IRm? z^G9kxNnk;N+Zqt>(to*CX1zH$fg3sh^+<82nYN7!3u-E|MFfHp!4ulvNsi?W+sI!J zcr}MUpKgg|eZ}GN$P4Cs2*7G7JUGhMGAH7dF%EYq7zy%QTr4lKyQD+{%vToR$d+a- z7?{aAL2WD!}HTd1GT*hModKy9H69WAFLBd2C;cQ)@hoApc z!q3gkl}^Q2jWzP+2Ex=RT+Y%d7<=;l3EyR(t%^Li)v*)a`y`D)3qUBZ&zRh+B==k8 z(P@-4Ek~;Wlz^WKVHWCdsig#n6)(*h(CGC@G!t!75PREa53AANqZoR3)augr6FnBMw)!xjYI6}zw1L!P@FyC+^pZ!r<3wButp8qIx_IX znO0b)3ZsP0G5T(!FQRLXjT3?t?fhU%s(0z>elXU+C-?xoFAiH^Mfe#dT!@pHiZU64 zU%LE$nvpE6*mqv$I}A|%`azz5H;3hMsN)C=tS0pH@eF|KLwy5G5l->J$2WC*FY4hA z47RoXRA5dFJ}I~T^Io)duC{>$`j_gZ^7*l+M+LN-gc;Az8#V63xfM(0nX-4FlV*G> z*3R(Pb;b~Fmns~QLUdR5Q_spagAh7G?rRfgLQb+viTG@P;v~SNWqbSfts#TZd4fs3B$Xa(TYmY3%*qEa zQbeCHO!zrY{Sd~MPq%B|u=2Fo$EODw$pCGHPQeOUbflO~KZ+~~tsMo6k@`Fs+cYgK zBSgG$oDD7#40D&?q*|RWqtWV2RaY>~Z4l}wjxKEA7D?)BWYcitY zG!yP&t|bCLVIk@d3v2O=mVp6#tWB|w$G`2uTnd43C^|(<D?*evQ9ACsq*eUU(J-4~N6R9xH>L!rwOss;w}7Ao;lqJ+S61s&Tr zp8fb%o(B`xo3p+jNo^rV38m>{_cryq5o7ItWtA&c98TElq>Rk)=CN2M1yy`UB@HXa{M-XI7#Vb_kl&%S|Vm=hSweK4CTw7 zzL#Y^ds1nNM1l_p&Nqt(OrZE&r5vUGX&AIzF|sqoTOT84<8fhi)2@D^L9JskNUZ@{h(wl{9{XMXmi7HrU#{PxdCc~rfcyp#}*;*dKe+>fH&0ni;$kLMnga^>SS-a#fImk<{KJR@v9@Ifr8&3?jKPlgDLEec} z6bx}+pH5q(OD+6~0C+YqRqbn5M~LccRbOgS_sl)lTS~@SD`?@x&_Q;V?ntm`fr=(P zJluYGxit`c2c0M#O}YM{%_yELgCyg*1f5Raqx(4NA7hhB(XdA*>4$m=v>W8*idb;P zXtKy(aTu_zutA>js%3w^9N$-*KBYQ?AjchxG6_ZtS^<8Gq;B22U+bf@DsrN7P>?4S zmjD*gYfVzt?9YWFCs<}|rJ2m`I^1PJE|WT zy}z_1LXtvCM2b^LDa57yJV30Jwm4C1(y^>)w0obrU@jjp9wIN7ecfw3NZf1}J1spj z`=pPtIJKSP@Oqd2zILf%5m&GbuY;$>mqsyp#FVw=6m%$wylZl&UTQv2dr})5?(!DJ z^wJhz9A&LzR*~y+upQTxFOhW_5anBX{dszgFE<#>dIf;yAswl^eLH?_p0Va{Yg_pk zKSnpCJj3Tv^bF2B_96)cNE2~5)H!g z=0H$d+y=}_$|GQ~Z1s97tUP6&Wn;a098r-6V? z8BDTLSo6mzBXl2q&&8r>#kc%gfFjG&Rzt?a)G#_t1^Wq*+!RzBj?=9+8Xa~Hij~0D zOH#O|9V54FPBL?gEMntNW#-gW4Emn>wd47a2sz%hKMYmLy(RgeM*3h-_>g&xbc+!M z5V=~&nmWjTUVN5ZSST{BjkNa?TX^auhhe4Cpyl8w*tG(q6ce7V;1FmOai3;jCr*Kw zXjCQj)@(*+XJ?AW6{Joog$&m2+K6yJ%FX|Mt~az0aKB-L@0kK4&SWGL5eq|$^7T?_L?6$nWPiG-RLN0amO z^KZkhYZVtcuw&^Paa23(dgdiQz5wzHEJJ_i`t<53S?2CK+_RGIf&w{uI9IBnY?JU} zaqSho?z7H{YjqpGhO)7SpOD&d2)8?UO4cKVXkPZxw8hG%L$(9ZjXZj+fdof~lnvjS8{VXB7VvsxRVUeP{3Q&=isPKOOHulVQF zNVlwv|Nk<5h2tYQOe|{fJWP}zNT0Hj_w}1?HgO(v>FpX^e%XCmZ=2H0yZv@18eQ0{ zhzDN;YYaPvn}{ZA%`>@sk{6=64`W3Pn^2?ZP@Z}nbGn=jr^`%_@w|#H%i`pdXGi3> z=))-%nM%6De{`;x8Ie)m>wS-!rJ`MMVSfs8pTmA?S3dYV?m0s6J?-e-d?~INgYbS9 zLFXj1E}Nmfhoewvi%zMV*9IC`wK$cc6Sj`#Z{9i9YAvX*&l;NA+I&u}JyWKeUF=dp z)gPl{QP*rVTca}k4TX$no-~uGF9M9`Hu@w@EHikGd%w`47v0xc35C&)4up-IoIv2R zcwKv14So_fo6dD*c2%4@(2`c+qD3J(aIbrC8La%!A33cvV0Oa_p9$r`15Hq+e;(l^Mk=MYr_rtrHuEJDh+GDffhs24!=y-K0`^LaZKZSg^87big zi)bF7jsUawLq_}ji56=fBQLzXyT=V6(d1$!obL<^_TD`~)O9@5^>#U4pO?>rAa(N) zuyN{IWdG5d!0iEHNq8l^mMzHwOejf8)OENfN-k5(Txo4bNiMCaCA#EigOd)kJ!w)u zZrbgJ+%B-1u3P9Iv}%1)Eh_Z0Rs8OwmIm(&VGFG{-&j>VDO#!zkpTQTKtG2@=g4?>jW_amgyuz?mADSKR>^=FL2eZ}G(x#Q2 zl;osMZ!242*7_PE11o8tAG9#B>lOG&h&fnK^ge3gU=wX^-P=0!g#0=#ZAP`nNxvr? zcfp#$4l*ex9Z6-Gzeur1W1ju4&2z%%911$nrNcDOz%P5x{C5(sMeobao0)_!J@& zQLI9lBqn8K*yL(i4SA4?+$o(sJ@p@7vG--wjAZa0Ha9Z6W?`%e)2Fw|HvxO?8 zysm5LEo`Jjc0`*rDjW?)XPiHCUM=spy4LW9>J*P((mS*tDc#p`n^@_H6Y7ifR8iN` zxRskw#%E@3bVjPZA~j!!rJ=iaBRgGz&wq+iWv<9;$IWuvk?>GMLII`mq9C(B8yLe< zX0%4z0&ilrADZ`>zF?0Tf{T>&=m9Z;aHQYR2*S-bK8)&XoYP}Z|N?G3ZuNOy)j-|jytXeJk0R;H$wf7;Sf z8!C(s3@66*DM#|>g4Mg6W_NFa*>rWFhw*I3TOlm%snS!73vTrlCniAH$J3>sMxB;p z_QZM+AK4`i&M~`FvZAPi1(h<5>nIz3dOi=uVKlovA_~=zyAqZ3)Wm;)NlpKBmH*M8 z%fW_xD1oA>qq(@>Ocea}Q16Sl+w%&)MB&c(U3525P}D`epA6;3oxY%U{3Q|o?zo~tOwofDivg*w=$<&STHpgqr@Web zE+ZpSzM7}H%1Z+`s>Mum9i6aAN$%OM+rdFNEXg~I?{EktRA2|v;D(^(OM_(=&QH3l zx4|F9qGDgX^QJ*Ljk(KKGVSy`@RaeJu=ZXYLKm2VLmP zdfI3}uaw>!;`tGZHdfkb2p{`+xRzl{p^@iakP;qXiQ12c*rT>~kjL`?XEJIO0bP8^ z1&MXf4>R}6e04g1QtS>e)ffQgL4YubLzSLTh6QDKUXP(?oqat!E0U?Fxx0%G{$VX6 zvh=!ek9t(FE?C+c-}t}qmr`Dd4cbjrD>aJlTYEJDg4rTsuTeW-d&;3F16T#_7YD;^RTlW$FFxPSS}{@hQx z)B^`f$I!QKs7p>Wl1nGq_F*3SB)KYyIwvxxOfj_Z(zz{yt{F3b(>kGPEiog6l+tC4)8&n z4)Nuba~JHr5cJ9+Evz3+q+3&Wa7`pKm{Om^Q|nZ;`jI=Pxj*HioRNFsPS645b5qF+@wHi{fgc*Q+Wdf_V`V0ETjpXNiHzJ7qCBtWU zXcN;G{{lzc85qzLGU;-GjbQmqQgg#}uFqzsJ(yhI0{8g4DvTQR%|I+bhg5)UTTq8s zSy<|T+hIjuk(gsZ{x7&eT{I5p++7B0bXpF$xp8260s)0^o*4`X2pI1*2@Y2C*_n5u z+~rBQ&|~PWa|{%BI(T6s&AW1K&dS0wHoL@9)817Bor}J<0_A`E5{23=9^wzQ+~p}j z?Vq%aJiQkRNhk8Q(qefQ_t*4$Uepkbe|dSi6NT+A`zcXTQ9ky4Tu2uRj}<`e!f6+-J-mm&XTVJk zx2rK=&u#6}F@HV=WrSOS+F=YlasoljU8$1@SiDdIXnIB5-NtJD@*Xze7*uvjD8@h7 zWu@mtAh>@Ca=35gxs5{=y-r#D5AX_p#9b?pldjY+j(#aS-h*FIrzqh9LSfsI<&?y? z=-!dNVS5JK2!)D}zkk3uNb!U8>?&kKJ3Xm+^|et#$y$=bL=~Dnlp2mgrgNQ69I!dJ z=7myvq{+&g8>_TK%;SVuTL!MOSkXXWt7``!#uCrqBCb!jU1snzkqJ+RO+sW*|IR2{ zvu*?K{YR?zkaJJby`KzioA^rtt#Yfx0QW6X(l@`ygvpqoE#IE5v*(FByCuK!yHcXu zuL9IhoO&By2) zKYuA*%a?~MqCcpVeefF)B5d}%cCD7}cJnGezj&Vjh#}i&7ztk2r@P@wL+2Q98_aK~ z4Rz%019F;%UaNJ5zMszMS)T%yK&`bJA&g?K#Hq6Y>Kd6`00elTBHhcLN*Sh%7Z2Em zAV{QHa~umINdQE@)|}kOcS3gJ&AarRr9z4f_5CxGw0IZz!FVA;kS8itDf)cV`N+CA zH=Y@%vAg=-tR{E$I+23(M7w+Q=IiBYK8k~G>)G}_^7MG_qeKwidQ&!og2V=Yt}Y#^ zUY!*5xd_~x=K4PIAr%T0BGpgD>z84m1vVIAt$%%3UKww1%2kZ zvLrn{cDD~&9RvM?=EbV>L4k>h)N$X5;ux@l8~6QmQrT|tEq^Y9!f5l6GSzvq?7i$c zO9X3Wkzp)-FF1ig(0-^VK&b0Tgvp*gX9Q&oikk0;@Cp&m(I(#{k5 zLp&N76pUOBx@LqrB|g5^Bxq!@CdfF);(Sq$p`u-OUgaO3V4>{G7(0R6Z*7(XSQtDO zz4cxCOrwv~u-TSAxZu=wBX4Ia_AZb+$tfvn7zXP7X5jbtj1#=Enh)zMMyN;OMTD2N zhb<`X!UplLS{YElm+?QK9lu5WN5(CFGd~9$1@K?i9!wr!mKgdogWh|8Mt1wlGebM% z;-1*PQHz+)&dpW9E9lAS9B& z<;#8+q|`cKD-wsHK{S5YV`JvEYg`HuNb#Z8f^Qf4q!qai#Cxs<_aw3eTn9~B<0Mt} z^kQ8DQ|zpm{JvfCn+k;NX$tikSYxnGjNfsdJRI$u>;uxoR(s~oOa{fI?c_nCf zdFraRWZM>K(FJC2OAx3or+l}+bcX6^l9^o`NM8GL^Q5@qPv36emvMO5EiGYx1CwCc ziyY^-?v=~_ah)!){pNdv!t4>WbmQRO#+~c zQ(k&9(xM_MNejfqkAjvNkH-FW<^1(7nWwF5$c>a8{lh3qXgf!mc3ysWG;g(Tj~w*t z33(CQ>d~0(De+(>&fKrv0xr?@^f-4+jIWIK%%2hyU!L`wGD!CQA$2;Ad#+XBzp}$> z5Z5QS6*ofo@ZI;i8O#VlbqZX7~gQ^s1@7P zs#f1q?v#+TLZGaQ-c?n zWdUA)knZokJ)S3Gq-1X&7B0pw+aQPYW;v~f7xBiFg`H--YoV#M79%_qgQ-3J11~6!Np(!E7PL3@|hlhm0F|F01#_c4^FI!0em$LeG)!VbT*6O+r zsijWuJ+-bn^-Or+C~Hq$O1iKkL4AWa#QD|nMr%RsQi)WhCWET-j3lkVv;FEp9<-X< zLe9GjaYCXREJD_g>CNQIouelG&61KP9$H$2wj0Wa*NPljYXkd~6W@l<4pi`hPCm9T zLDto$8889i&i}Kjez+!1=zoIR0vrg(&h?7#cB(@=MbDKT_DNi2Yr}k%{#r%D*1>t- zi{B?@^q5c-hwW9%TLnK*0IqcC*_}Vm_b6V0>D`@N zX%T2fSly#d%mQZBK(QX{Jm-%8gHuw*szpaVvf9-lJ!|IN{4sXzwiq>oKE9VHEp*eS z__fb+wtg;|Qm=)M@Vm^jve$#=oHH!Tx>!hLM z%agO5UEwV~>0XD=H+cT+E_ga0!?j$rkP?hmGfzqU>uGm-I%%C-iaRkrKPgp|XJ=tT z@s1&O;=P$)aJG&-(lFv+U1$~(bl!ZLM*03agcaVOg#Id~5$Z0sWS(YQHQUb!JL6wI1zT&5+G&J8FAx-tE-c_vDZX=mwWKX7 zW!H=rmFmu)TOBRPO({zeGJSin9;I>oXi&QLU&hmo4~_22zE-!mBEp@1MaIDm2!MsA zDxQo?UZgQ-P)H~81!f~B-CFZ@zNnD5RYr$@(vHt^AFeSLeY-tQNQWhu39T`@km14? z>V0_W)_oR{ibiuQV_f5#rrjxg3fZ4!Yt86oMd5AJHZP5|(>up4lqSrs|VAX`1?uxFh3zECPD?DfKBood+$mdZC(n zf)88H^~$HmBmmYn>KLyMJL60h>ZctsaMUfrgo}otGZa}XF~`x}afGKnY3R3`UYcI` zA~XKSfS`WPYmbo?%MdiW5W42Gc0iki%Tx$Eaki5`I7ofJsq>BWYtU1J&p=W!Ik_pM zr>m>z-k?tVSe?X=UU&w5(5j!OWcSvvoHL)kLZ!L8 zd)PF(UzcX8LY}PAOXi1$9-~pA+Xw4UmvE()Uh-gJJ+F45>Ik)p$H*=G^m(=WgTMSE zThuQY?qyivy<-h*YPuc2{DVJH$(( zM4P+Xt!HPtq{8%KtJfrCdznsK?u9C9jHpAv!p= zY((^W=E`y%{+5|}9Xstj(MsQ2#-^1(#UX1q5+G2131Rk2VN;9}mTHjF^-d^gA2=D=RtRRq6bQYm^8OAJWN( z$ly9AMl^O1HIzK1kJ$12OA0*$6%xWGF5m*yJ)*1yoSnCy1o#&lC|!MLN#?cVDl#mB zRa6D*;#qF~T~QH{S{5yX&^}rXt6Wd&-rm?WPg;prYsHt7_OutQX^Z1ND^(J-UX%Vp z`EM6eo_Zo1*f2WSwvPcl+hEPg%32R%PYx}8``d#6nyrF{Th!YNYN4hLq#a@GIWy+b zRvDM0X$C(+;wjo*hfYVu$)aBnA)wE16&$GmJF400I zZ4e0~&7WNxtNs&*u$dAS#ySM{TPoE_6vXZ{t%BZD#%Cj$v+g#lL73)g49*t|a{pR@ zb^4us4q+ERlu{BXW3TUW28a)P@yX#wX!a{0LF(PCuZ`>P-=@U7)@`p6Q@pJ#EyqB> zpKmbz?d~3kmqNQWhFwO)s?y3o!%$Pt5r`sh&D}_M1{JY25ub~8F=yAP&EbJ~y{VgG%=|tB+ z8~x){P_tq^!w=W=wSwAndtihX0agj1AT+l5zX3lC`S!(&jDh?zo~_1n7!S7o(PZd) z2e}y{1dPzLJ%<#rl_25xk4khKXLjs@&@4mW%s9Z4khG+kS~FroyoFu)Y-)D!z{5~w z-P&&>^`ZWD8ion16q*V%Gc)zrODdPapJ2fBZ?m~A8thd@ox36PN&tyx<~Wo*k+cPX zQY)Gn;Klwumny)``~c1br$HBLWseQvkiE7DGFU#jod%U+k4hvL@A-1&+Zy@CYUVV$ z21^+j>Ch7Z%L}*6(C3MuSrqx`2JQ-0k6!K{7I|%RK7E@9I#Nm-2iEHCK)#|Gv z=rsU67j=9aWOeanxp{e@T#me=!-S}eJt}6B0ykb?p*-lI15<7?l$}mRwOVPgY}O^;`b*cepdb=LDWhUnboTh`Rfc^hr;EC zLCp$=H7!W}>JN&Il)cR-P5cqyC+~@=87s9m-uNyEVuRuAgWR z#r_6wP-J=aPv>IytOmW-TNt9%ts!Vcn3X`DdgwfP>&*~A!<3p1_WBRUS7NH3%g9VB zE*8uF$qRP&t3{-tGhnk5;M3rZELc?Pw7g2_6C(7(xB=B59HOPENjPU7cM7~vJYhQs z;l)tYaqwXFYXJ&d;==Mqyf}$fqeq zcg#gidN(ySY4w>yl%6FbL9b|fU%1XVj{$Ol@Z3vfZ&RStr4DR@kPDOna1B`p&&qji z^HR7%c)(D;d&cW;r{P0RqXNp-St2-(A!Ju%2_3}Bv1H{1Fv`eW5C`G$#x!8R-M#vM z`(7sUJv#^?s;~iVG3;uW0rJzmF=()|ZeNCWk9(XIyK|YsTkOuAAOaLlSE7P+EUoK# zkDgtXOPuVt!EwTHv6rnw?jg?T^MU*KntO8?{(sg6V$rOLA8fiH4-hmCeE_q|4(MDS z2zhgyn(H|{ub4GQy(Twl*!&F$E6+Tk%!HxNY2p0=S{2W!BKM2riKBl=ka2e?sQq$l zP1_jg%3wToQZVzvGIH0sZ4n7SAMx9dJ0KOB1Xc++swb#=>k(-4tc=^^DH^K5)&1$? zB}~Mpdkqk188Lcc+|WtQSqKrTa?3o`*kzc$fM{0c(fCv`2)H@E^%O~ ztJ~m+L!ulyap5eChcl>%IaC3bc8%-k=qS3X_qXp?N-5(WCskI;0JxgCkCyNMwNP1= zZT#B@pI|ZoK@@}zd)T7oJQy0y&7^<(>-9*I1@3twu$&Uql}{$HNhauI*}+&T1eyn& zq|4~(X$f;Pm;V-*BiknZLBdAInf7iLiG4ZB0C&U4)yt4$3)SL{f;%Os5L4N+1Is+6z-J8T>Yd z{tF&$qVwC0dPACnS;&`D`U~hAV;SnyD15~0*!+bT_yAtD1gr@MqKf0 z62!~EmK`Z4V*kEqncapN2x;(D64KzHi~4uLlF0}?0wCoT9SnW({?B{E%yk&rNCO}S z@E7;~;?i%C26$VaX{3lwX~h-TgM`GnP^!Xg4rtnkAxkN<`&W{Zvxqq1ALK zXZ_niKgr30r46*xf6}r*IiNv@8?rGCa<+lLXSHqN5J9efJM{Z0^uHW(kX7x@-~Z?& z3;;AjEUa$kLUxTu#PuXwWjcqfM=jW_mG`eRBHNq!vgv9dgz!VB1S_}iBMeqXW`^;^ zXJ?bdDtY!-9A3YJg^2Tmlt9zO0sd=TrVm`t>x=J4Iu(qawSoAz^C zSmi-l!~6k(X9jgCgp%`nl+6&R07T^IWyD%J&&B9r#%k=8g?Wvl_FLt?E$P0;gk=Vq zzG zke?$n*XaCFR!rbYZcJbW&E3_ybo57tG8iGjmKntT6Wat-9BPAc<3G&(r-*mVg4F*G z@5U4n2W;`b`nWV&SV*TYRUjRhDvPBzPe-1v2a<`cWZ1?}E9~yBB;O#jOq$jN=q@ef#^% zR!M4@fY=;-25AA7Umg27K@}oo6{})C~Qd9wmsy|N*D$W zO?X3T8hxr+>FHyfwHNsG1mSS0xj%v``u#ScBm}52FJ42h*~#q@c>^W{{^w(#2LZ;Z zk)7_Iagyf}2h=1j9F)dLa)3!SWpSI_KBB^mbc8df#qDO6F3mL^b>l)p&J$b6n^RJ#ZajcGViDg zPf(k$m4opFWzp_i+`8A$c!!hvXwWGCeH>twg=N?Xb+X*Bre|x zJewfQAVeQ=-d+^hZ@A3T_^)_~|DCS9ozG^(lm5NM{iQ~NrM0!vz$>rCOpD)E8o`)U zg1kpH?{K*vzn$Q@Y}cNKsDI9*udTTZ*v9wyY;N}Gu`r(LEcbt+eP=klW=54fw}xCA z`ds1F)}L+baaynW{T^pkxfv?5cKR+?hQa#w9?35ZQK2lH><&w;u3#DaJmZiZW(GXv~&`;rMyPd0dJyp6~k9G#tO-$rRf;e|Cu%E^tYUz z1izxNB93D2RDP@0xg52IT`jE@DUIzIQmS(Xs5NO(EIlD&*=pG!P%Ff+u)bZM&jI>` zI~Ao+0G2h&n6)kQpj@@LT(ge4@y;1l-EsTxZNfiQ^IZ-NBKWodH>X8I97zeu`!0JIp5~0rCWiZC$4(OTEr|~NgAyHg5^N`=uB$uBI>~}Ai;ej z;!-u*g5w6(1+8mx2b^i%g$r_{@1HMfy{nPM{NEHZ^Sg#G{a*-~acfr70>0-8VzIWG zo%>4Wjh*Oya>XqU0Gp z=I`^n(?h!B4uZjvH;SSwpd&xsY6RSku(z4buE#Vki`3vzHTX){tiI-USx?;P&E31s zrt8kUMo;goaoig|`XWoM!INJ)-K3-Q+^qS#H_n!G8+4d!WC?<~NLOL_}5S{vti<(?_TWep@>E)NTiU^6pNao*7lDe(sG`Jy;~{0joAOMJav zq{Yg8v&BoOkH{5tnU7zBJKYk*%5_Irq_wyyxH-QR1rty?n~uKzcyZZ&vwCXbnx|W~Jc$wN!%DpV;AfQaIP6}=5p%5~z32tS$2_=< zH+>p%dd#8fKN@t4)47VYvPvWA*9PD6^FEu(d|GC#bpNd&R%yMAizR)%4i#QnV5${n zvq*U(YIWm&9`Hjf<429sbPJ{my=0FVI`+TEgh#SePi1Lym1WyWJ^W-A8pCeakWFM6vCGyu`i)JS zYhtZWsZ5kP&|Nr@!Swd~ADshClDQVO(b`{YgQ4F*lHS?vH423}ydP4ubt_>{$%n3&SJHGHkq zyoiBZ9={y4imj1#R^2zR2-<0MO-wW;EHu3+xua){L*Z*o{Eq}*wp9e*yA9s|!QOjE zHJR^wqd1N_c1Hyi1avG22#81*Vi`rciu5KRozMw21S<*x3eu}0y%Pu}Koo(X^cG4; zBE2S&mH;8i{RQ1;&pv1GbM9LAUGIJGU7J5#8bk6t&#!&Ur$}7RlJ_rsUDcN;S*yM$ zTtvj>%|~3~pV*$q*6PM*o==2}h&#Ob7^{@RioLVq1HZf#IIcTm zmn|;k1Z{WdRn#ko;c{gQ6`UMW96u-aqP+8@0gC(uI1b#~*W-(IIjT+GZ_U9+sC|^ralcdeN2a1qCg*qhp>@V46&S|Bi4O zI~WvasI_e9z5wFfX#uC7KyFa#I%6Yze0m9k*w9E0AU<;VcXT?%8vI#sGgu1vqiO9$;t9N13(vipb(^v*Ub((29$mj zu!&dv)GuGY{DHiBE5g}*h^}|`w>0k#Kk!X?qTri47hj53w($Rmp#=Wpn>a0+EDkVv zazP2+{0hV$j>8lZ2C+gV6@R8DDC73}fud#YT93N*5w$3el0pwGYLfv-btwOW{rbnm zEFQb*+1Qx652ab<>)hT#=>&KD&FP!a@c$H6{3h8m0HBH$reh_qtwo!_|M(&BP(u5e z%BGtP2BD$W-#%`0U@Qu!hJyIkCX*TUwZ_2ITg#TQ*J8~yduWBPD1aWqdeARe0k)&OO*(ZglSbzX_hwgBFlY%;D820TuL_&DDuD{HkUI2 z9O&!U(5lTINHa(1CI&bef$%=!r~Z7f%R3IMQh92ojTWhWMFAishu)JC03C_bt1GVq zB2F^-RY~Mn6W6f2)^b{|U~8K&9-8LRRgF{R+yONit4t@5-ghE9>p*AC=k72E2*zm= z#Y9v9qMtR8HBw9kG~nb-q^>oXSK^|Fh1eOW69=;{7}#0i#}{8lV*%!lM@ab;=7dJ$+OHBHm;kOL|+ACI9~ z@$tGQ{0Pi)(J=@sq1-iUUqEv)VknoUkd9!l0bnK{2V~pC;hdsLN)j|Y-LrIATj|za zcXwcejC7xeR@z1RM?z@v$E0mnM6rzZFA%`M^pnWaOiAn*53eMKZl|+7_6c4-Ph>x^ z8Uau%PBQrcE;r`a(`h&rgSmL4zT1lt77C69VppeOWIVXI-5 z&iq-UPsiUDo&Vp1t7RKB`QB`ePL4wZl5>xVidxM0nK#EdvAiJz;AO6Tu_3uI@B)hf z!JjGoDF43}Mhf3Bfp5e~!JvumwN4PGgVGWos0f<3rN~M8$HrmPKRvN(6_*875BmC` zcU%gnbqP8>Oxwy9%x;2U(R5=vY@9?V3RMzd0sbAZ<~F0ddPc|Ri_qGEwrO=^T{jMd zCeF=iqdPwzRFVhPCTtbZZUx9wRjaRWb4v@{jeu7EdDyUfh&%y?-RDOVzw??VvH-N31-Ktys1~eVE z!1^aHo?Kr0SNwR#Wfo}8{ElAO%w5CDMW`QnYEZk0-^M^FaB4Bl2m})^1z5I=pBi7f zfS$zP&@L>KobDe8^2q+kNSZ{My;K<;FL#Xsegs)-2^C0-~UN=SeA;^ zNmD7Di#u}`bP`0N!n+%&_4J@5`WBpb>jJM1aCBU+taW`(p#7E5T_jSZ3|JDj!(qGw zg)#8Imp8i>IpDK@!k~tB#!CSq>tt@S14kl(Gg>IseL}-UjK8;C(wEQA&g}NG0SL9f zhzWDl0)vh+I+VIG2n;L5afxCqvYQ*rR;CB^P1=jHVWNMj$2Tw{obD9~(O_1~vBQ#QUP>vw|Ep zl08I3BqDkW;wNOBT6lHuoya^pB(*yGuZ4Z(m=>=mkkNt9abB8RvcLI9kU8A_9iRvF zeuj;U#5I@Ov>Oq;MUB{Vd(5)|eGa6>6%OrRgpgw!-5_V?cG6D5<&M2yffHnK$+*V1 ze>&hc-fR-oSge9Y@4WIeaP54gcEvzq^pDqwiP3?#mYd$*yn7cvkc?{N@FDxw2XZ?Q z&iB*kRYJkE65lUT_J*T_+4+J%2y#*I$Bf;}k#nTfRwuv!NPLM##b@Vsj#LYs{f-Lx zpuXq|Xf3u328p4agjM{O{&`P?pKDL~c`+yTi>;_nIiv0M3u+rv$nJRWOF-reh#p^J zJPh)tCAHBOs+X;C$s=j+Sa2t+2N+@k`2#z-dfBsitI%QFk;-4O z%ro`s_?2`WAo80slq!`k3qW~qfg$Y2`tIy3QIOx-a+I7WytU1#lTjqCdPzgoea8>! z#ngecIN+qky;-0!eCuX$Y6AI-P)A$RLP9MB8Lcj?o$yBPuE_d{w{bFO7XZR=B5cUC z`PB)&n?^6y0iG_Z)7#xW^08IfK;%Phz^hyzNItXZ_T=vA#Iu7yW;F_pvv4&8jNPcK zGX8`t^`$SoB&trTIS}xz?L4QQ@`k>b_U1DZmweNEHb6M;YiMd|N7thrg$n&KbyjPy zL9R=D{A_XbRiKmh&3yuWK)x3w`B|NLK>syRCAxFg!*fdf_P`UAqro$~{-+|8S^bao4Y-y4pV@fHEYqjvzN)3Cf7#?mzx6 z33!W~5VV(k>d7vw_kbzSX)yI~HE$)NTOW}=&w+OSH;Jeu=W}ER;BQY}@%^4&MM-S6 zu6uLZAmFcz1_{oIQfcPXQ7*(sck8G>s4}>+CWs~ewhTaWZ@4D7a*yG>`*AybGKvDR^-127Z>2_w`wF?&v%9oL~+{y zK*4=BO)>&O3P6m&@MKPI)buI=3Bd7}aKLzVtxYAM>0QW)qo9D|WaYE({zQ#+}~(7Ak&{a727Yb{rxS0SB`qG{LL!`yc{g^H*LSI_jpPFEOTuAD?RD& zesbUi!mGbp!OhtIZ24@x^{U+8UFE3 zqZ6rWkt*P-Wqb%Z)sO9Y-aKQX$M<;`?UfF+M~*gR`(Pi%gp#?nz#fFV2XQpP73IJ* zG8-g}XJgk9aADg%35UhOz9H{f@~oWWcqiKza)9LI8@RkYf6M)DA-gKdAK*jyirUDKgI}?1y+%dcNn@4c73)Jl$3k zk4}x}0S~3JimhaE>^QrE{^D2{`a+(6Oe4jF7AcLXxEmJK%6Gb`&b7xl@dpEz@a)G0 z1BTnq87mem?V!nsfpO321A{iV!x+(ypORh`IJ&c|cx{`K*Ts*7Z*4Lk*B!up%m{*& z>vd|GS3JD(oTR-wJKi$JVf96_IYZHsPwk9s zZjPlFE0s)(TH}uQIZayE3IB9x!2QEp`;5HB>M#~sL!#CjdT~W7ERpUAc82j_%9=_P- zbxKd!AoWbG{gFA1txipoDGrK}lAbQw zEIq~iI`B`wyKJ#W59GA13{o1(K1PZPuX4+zyIv}D)Y9GpEC;)^{q>Iexz9@38r}?J zkWy&nxa~_`*gK|-R<9-bI1xcSeAp?@M6j)C$ z*TZ6)w|BO`h?ev#yonK1{^J01<$J~DAJDj(z0(|VsdOiY1e={#v-NfF9u^k7d@cw! zG%udF+hVQKr`JSc7e(X=z?2XgCNNk{*j1zS@)y{=O57-_wsW(SsB{6`&5GLtnhqqbgm=0qUEE0*r_Ri76-~OdIT zqKKU5JEJn~{J&66R1T2$jg^T9L|G!aG90GWV`H7`lNzj;~AabT%Ms00@8K>M-^8RcuF|1ODp^0QX zU#K^Gd!M#swXNWk2JeN?+=D7Z3-wajL;;&8w_srdgMLMn45egb9p!n_*nnN~aR7NS zpB?8oYAr~S!mSbC>uRm*IGT(b3@kRuwXW`~3f_77OVv*_mq$bea7~t&00@I#UAC-JUjJWJk&MF&bH?VXL6<QXz4D>nm}&s}hD_MmgLmeuI{ zXYM5U!Di+`m7|_heObj=y*Tz+U~`cqiz(t<>c=?{%qK=gziZXmJSQAjT(?nX8^aSJ zzu6@}UTKFt8)pt2Y&^%avy*w`%n*8izrp^_AwXUi(`HU`Vr__dV9)|{R#`eycz3;p z@;5Q}K?LG7uueXTQKB{s22gdd9Nd^9aTcQ>9epzS3_qvt3FHQ5^BbQ$gM1g%vHmlos+V>*JlVPb6@O9PrCWsq_tiGLo*V>Hnl-Z8j8)g3 zGgHypEWb@g8baqt!dBm;qBv(eZ3ud%|5OKNW~>e7;o)r)XZ2tC+Y%KzoF@=mln&+< z6L`~NYuA^1X$S$>ZRD?`lc-_GR{7C2YW9|T{|;VRG6WCg0JwdKtHql4sO)5SWAL^= z!Pq6!(b8a2Um?`5Eah`Fl7Jp6ecJ4;LmDkC4S>2jv=vz^spxDnoyb1vvOZ7JSKK;b zx>%gDsc;%!nt7ghDMv2{&=~(}6Bn(~>Ye$c&g!*;Fq%wW`ao=yi%_(RVJNSq7jq(=9D~)Cr8Sr$s?T8kjv}DKc|=< z^vV6(1(-3Dq5lf2RoF{wcoxPPK}Us3_rf$hNaYf_>9;#dVR-NCneGg%C{}$+&&cQv zhd!?fX#5waw^EN_TK8s+)zOJnIbvIR<%ktB8P35=e|~=8C8z)cd0%O3fD_~tfh9_H z{!ocWwX|||Mc|IF+?_lPc!#kPjz)J6a?Ohp3=AN4Ny<1LPW#ij-ss8-Vs~9}9m{qB z<)r(E+r4XR0B+ZDUyA4z9ljh9lYpIfE%)7A9Y9W@)~6J(qM&yNitqBNfZGq6vRhVU zz$ioMd5otEUpibtZvWK)cNe~oHN!@n)Oo8`EgWaix&_q#LfR78^lI>fQkOw5uN7|x zs@?6V>5e2`8*dvivWdAlkMdZ?o+IJi$GpAUtqrmOxiO0n8xJ_~;!}h7B4><ZmAhK!rgRGgSGV-)|8*p(R6}nj%Q>hWwQK4VH;StMK+dxU;H{jTlK8To^OU=Wnnp$rM{SxeXh)u1;?#`w^$ME2 zz2E52+<_%rO;2gJ`e~4<0xop?^Jbg77WSaZKFg>niGQ9`Ea}EH#2wO@$6L0Ghyv>S zj;4aDDX%&2JQY5^VW32Iqb<~_V<~=Peee6AXI&y}zf;qOTm|*O=Ic*~PCsD0WZyLY zArPDBr2=Lh`RQ)z(aZX(ndwWkt?sEVJLJE19~fV#0%&7F8=VPr)$IccZ8MTeG>T#B2^aJ9p9R!Wk#yxjh- zRe3prB1bA=#LrWj3@o50$fQag-83Ne>-`cg=+8B>_zzq+PFb(c;+32Vviu6AxD-^pj09aRL|earhfpj!qGtyeiT zjka;6M|++)n4)TZ`4$sQXqb)7&5(|eNRk2`08r?rf7L}4|DuFb^)#vdN=Mi{8t^t`A^3M3j{$`RwE+78%;>-7c}6qMSvr>6K6 zaGY6ydsPn%ECl44ac*o9A#^bj(mCa6q6;ph1IXJg)6(Mm z?N)N`n%VyB_+A5>kdpsO&g15<6lwqa00Rm(vT$H&l1a|hg}mC>$WlKeCjA$2yW`6K zmodhsG*ighgL|xMn^hxs7tV-$96kkFaL!eq1~nP$yyjnrd^TPk=QKde2^a*MW8WD! z^tVt0oW!<~tJhOYdsHOr%X;)$tKICg5kh_K`$bv&FRzQXAS{qXk`S5G?RanvW7#> zjP{rO6pHJi{Uqdm1@iiOd_`4riET7sZBqS@=XAp~B+0?TV<;wngbEIg6F@ad9Unlh z4oEydVpRZ7qPcVA;ToO^ouw4n14+SgAs<2t3eZiC2T&{Q!c;h&cjwY3TL;bvj#CgM z^w(-L|8>0tS`Z^BC}zu+A((a+JbkduVoR|nQifRFFNLu{1=?gqX?cN!1&=QlRXOCJ zZ_CYFM(~)2N;xiM&60uIfTW)DH_XK`b4a^~~ACh&JahCG{e}DqeY!=}>cg ziFx4u^rDxb^M7lh>N8CNyOs3~8-U_Pb2E&H#WrK8br2UcndUp%6lVo6A+u*k|8sFw zVLV!6AZ0B&Et^cP#LK#X?G;A)arr*|V9nPrQv%${t8&d%?vahaOTyY{yzJOz`#THe z4*+Y*wTNqJ6UTGYwzi=mHeuIOZLf#%qBq;o_WA zF&2dBz1V|mU*pD-kwHgNIQ-4=GO;3UJjdQ_0ZGr!5KEMIzc;cpfXO5aph&2G3=njy zVN3a=0w`$6-=IoOE3?wTzf%;5qR1&9P+9r*q^BBY7iSiv$AKj|=H-vis|s{;6wqco z6qntLJ$nT{gL@B-=ue33Mk>gGkiS4Y>ggj1C`ZI$h})nkjpbp~7B7Xg3E9{%EVsW4 zSb)kLHw;sF`zi;n6e0lZt^wF3l*MFJ{H9ialHG_?vOO@PKR}OEKE+z424v*NEBTlw zgY+Wd*C~mlGgln$P5J#9r~_cBAB}ssBf5`p&Wds1L^u*a+RiZ~IVSvHwZkZLWkCHO z@QbnEM?ZrK3zrvi+sy6mmrh;Im5G z;HPixi%e0exZzwr`n&R0|OS_y@3Sf2f!t)iIebrMeI6+ zJrQu7qY&#A@G9L_sG5B4WW`*?map2(>I?dPPmM_Zh3jg_ z{3UE%hgKyg)VoUWvx(?VNpg{%&U(k8v6%Hloz)mKAu)qCn&4IdCh0yW0txSg+fvVq ziW=LDh!xlJ#hJN#kAUJr{(`Ql=?MmzQN0CxT5gwp33^3m>Q*QqAUn?C&3y7C03^3H zhgpNvl6%=Mhrf(7vioxc99r&UIzi^&0k5UY$UD<|h2OPChLe}?v9cWtq{ojaV~ZaAd$Dzz^6c zTy`A+t~Mv8lUI}Ef#~Eo$ivJX(g4Z7>RYWRpc`|xTPJ4_s?HSDe3kOQmpl4jaZ!K< ze1(I{^abYUQj}3u>j5*E@o7&`9GssM#n$bf22kHM`595{Oo!HXftyhmyCyXgF3A+t zPi>T^Y!(;q?NCDN?eZN`DV^k*EmT6YABBv$R+4^DB9l~3^TkSp6XE`056BIa`d z8V=DRC0x7gGQ$4&1hCoc#=wU6%Aq$~71-(Z-5+QKYse}t1;QO7uv7tfo>cX5A7Bj; zf7!vqR>>g}7>|Yp4Ph6D+yTqj3FcP`v=NkOtP$Q`8qiJV9WaCY5eFul;>;r?gC^6< zfvz38DHGw~*Om&5H2qBxpW7F|gBB?uLkU$>urYP$V3%=qygci9Lc%*sTjvsos7unG zx>GPb1%}2`DouctTJ$B)M62P8($dnxsLyLD(~21_WoMq8d9uV#$vDy!JJD@F)zLp< zM@)Lq6vkVrSm9*SDM(lt&Mz*xm#Ln)P6x+=c2F^r=pdcwGWh z$0+jk#bDFvaUDqIlaK?|jJkkTH{Gn!r-0psH>0cABf^ixI950lYT5}rl17dQmP`+> z(887NFRHL|NIWrgd{LM^8+-cRUS4q&nhI};EjIjpsZKLqerP9#{iZ!tMQRMQ3&dw@ z)Qm_zWt@-2wq7@Xn*3_xa&xk;`G=`?iwBhi_ekhqiBwZ(oVdlP3yCe?r?T!=BIA4q zGPCS`igY9Lir|V5-es<*CWeX0gdL&*IEicRX#45qGjn z=_m2^<=bVpzC{6*oxz%ld1qR(pRD`R+oPRg21NyR%Qz<#lmQDEqv|k3gLD0j(|4{u z3E|G_jJI(;aN?og(iwx>PNe!mZt;7KdW<|{8Eb?2_GB4sQ9b1r9xbP^?@sl-vvhMl znH<-fp*$4=O0dCNzr72^Z!*kmEZH`_j5~)mG7ZdqAWDn^Y196RtNxu}z~!qqX6A(b zjZyYIv{G)-`z3jLqWI_GNzQl_83kuVykNZMmxGq^yVMh43xf_!Mv4oe2Iejulr#LD z*CL3#(XnCTLt>;eudJAe-ATWiH!z5C#Y}#Q#`4KI+6xRS*Ud2`39y#iAi7NPI+(wi?U9FDtu6YmXEe5d#I+wEH}S~!Ot+B9Thij?3fuC7%q32B+eH-{nh8w zH&@KT%BN5NM6ctN$i0!z4MS+q-a1ZWYH@_xejqt%ic{XZs^6*w_v+9R9v`{oXd@%|!AsbgbW&t#C4Y4^q z&A#$L6<+TfljeBF^tNx? z;361(m=C*6dLwIYK2lH`NAzcy`Cz>BV`;c~Nt4O1G54>Qj(@>q z?)gol)T(LWO$cR~iRgy%ycs7EgwmWVe3t-JaIco;X z1BS9I9`QTZ*o(aFPNL>JxbBNDOyMczPQ~>-ir&tyz`p6#I>~h)s{-r@!tVzLE1crQ zjcVHDn4THW_rEXq0=ILO=G6T@L9&Za^WF6wX8qgsKHa{3=qv?_Dq3R7i`F1{)n@T>EGD`^CQD>8E$=Q2Cv71YHDhx!1J`lqP{$KkX zM6wE5)@v3HECLXcHMX*PFK&jqBD%HEj&tIEF0PYyTl3R>>5nt}P8xifxsQodUP?cE z=FEq+p>Z8nFN!*7xj1LR4(utaow}u=u3m<@^~$3X=u?=4O|=(5lk{=bx~lUdxi25$StxM~ZGj<*{JtfzZY5T^+Rc4V>-OyfB+;BieT*-gHE}WjsF?nRF^mNe zcDXDxZuV_@hr@P}eSz#7k?VPjS*kr0LM(Urf?diGNo9RyFFhfGPa3BU5ubEE&EkG8 zd4)Z4zqr(eu#?2}Aqqsj!(hZ7;6WxWZ^Wn@;?M`UxLVY~Ea|A89UL3Ee29;8HmN_` zGb!#$tc3ygmE41Rzh$2M`?*#vSf7P1iT+O3>HXdn$Y2CdI31&~)O7p5%`NMKYo z1Tq^l841G9`sLIZNsEr1BmPJ;1fkyrek-h@<;^ge*ZjP3fqi2!=lCA{3WcvkomJns z-jD}N(*G`(p^M8r>-tpMwS_=ed3ahi(wz>(S*+^(X(d@&d`3;7+=aJC8|uF;kDb*Z zbIvFF>iR=&t@*6iCA`1U4(={C!F)0hsWL;$>LYE#?|15G?yUaR$AY zU1Efs9&AfMI?t^fm-YL4ACI&vhT>5K7Bh`K1nMi~b+)pTf*NpZgwyGip`^lA@Sua& z<}(HgP4KuPlWEF435cCPgKyT1M|yV_>SD|A<+IXYy9X7)K`ixP*&c4uU*XOdY!9kM z>WiBUig?ctFL8^Fw4HnT@})jF#^`9Fpv^D9A%mwZwB)Fm|CrS$A5zfgjbxlySnLTf zM}s!%hMxTxRnecL3TEvg)0MBPzg*>+g*oz)m_pAFSl5Nz&AD^UM`navNpOC$tInoZ zI1*{cX1?V<|M~>a+7wzSP+%(gy+>wf?6j|UMP_TP9es?m2s$=q_Vf4A32Dl9=7U%l z0;*lsd1QhTCuY#`HAc*72)aRisWEcjIIa8l-a1D8ii zesS%{9-i~xDEXp#+Iy>~9`e1wEG=me6jwA;6qTDmzgJm`xhSPk^gSjlYZ#Qt}nuz8pT=lT35%oB5swatko6 zw3x)?tvs7ceuy!XoTU8{Bz3q`V8L=Gh)YVR3>4N`O##ds5{?y49qpOr8Oq z012G9-I5EZQwVlLqrYGrLedbUF`9L^O09yZ))utdgW$TOZ@SE7fJI0Yy?>rc(Mi10 z4}#r8EAIY6LV+tUscaxY_I&bJpq8*mu&D6YYQZ`<*4=e@nogJ(pvqChJkqKiV?=Se z)&V|<;gtlGZM(4rw`Fx#ai>s@A2O>xkMFc!%x|p~ksFM$3HL(IlycsuCjA6d9T@};IB-8~|Hs!A`^MZ5%V`GAH z-oG9X_J&~}$QgsBsB_``nRyc?W4D$D7#&m03C#Bjmn94q=vMGm0!2|NJOzL_Z^i#u4 zNO-I-Yr9>p8b0}!ciqi# zpaYk4ce|Kb-rLF6G!iIbJFm{k6sdEf2Drc{kY5>({_*TdJqrY-I(m1V$u-{f42vM9 zS>Cld6W97r>aiCR<|=SSW_I93XkJH_9joCPtwEzWYYiUPAyB9>tsQ$;4IMr5am~qf zU%4#Q*a(j+EO1Ft)UWlG($G{dn-tR@*7+Q?Xr?ewqo+Zy{KcC*(jCMY*BN*O_U&B- z2$Bk=4xGZ9j9BqR^hNgqdp}Yj(+0g!!*3=t-dVr)_13EsqD!1=YFpgXxdc|y( zg^}r_i0VnxGOvUbzm8|H^-Nw9rhoPz2+R2u7kGh;R<(a&DtiILPOz2@34-fX=IP}R zg546@F|v+BQ;lFlXL*gt#xhV6iwU;m%lx!uNlt8vo_V~yfTtq%G5pQYUNkc=ABF&Z zIL5%#F-A5GU-GcNzBG`@?dpuQ8mlfiBwdW6jkhBkr#`(x=lkN zckYaHEY`rx;N4Ei!9$uMH1a~>fCZ}7PnS0aGfh!)UKw0;`D$rqnVp2`g!qv_*!Q5c zuSRb#V-6WfE(#EG>pkx}TsuVM-@Mj^&HF6acH=nDsZ}{eVzqE0M;~U%CYdv9-B|0k129V#6YJ1I(DI(}ZcnHC#GbOkq~IZhc6VzVlv*xu%YNzpR!_EP8vM03~Om*CQ zBVA6OT+r!IcfDSF{MLTxU?geq+bN;px4FH}pPR!`t|XS1mca=vfJ;J+VwevhtQF*b zA(e)yjwCxJ7^N&jHNr5V%%*@Sl3k_VGM(zF-!<)|KI4kn=u=sn(FHzASe(#SBx#>iD8Byl4lQ5}W69j0x$AjrOnvOi#o>!T*H`+4 z1b(~TF+bp1vbnyz6-Iet55SrxSrlbexLNflZ3Qa4TL7p%! zapl!cJ!$>hgS{o!-~*kVEz67)BDS8%+Qlyos}(mcAA}3bdrXwXoHuW9?8~7L^Xqw6 z=7tENM@0_DOmZ@TIFQthj(DkWy{t*1DOgq)uC}nM{qr=$^e*PTN&7F=1 zvEe`byw3mqF9L2q{%dR>2vh&@=VS*snEvr4u7AJn-w)*PPvGA(u>*lApd?K ze|ZA`@9dVEtc4$d{f}S9F_LvQVQ~_b9yYCmdplJUatGEd2dT92PDB->6SDj?M$$mG zw{^MeNar9;K&jA@sk>0Ri&B!jPQ&7d9(ltS|g8&q3b>__5u|wa|g8m%7g1RV`{5kwnNxPz{fRwmu$lz|#b1-=jNg z7}F{J104{wMFfHPhKavk-sJ<%U#{0NpkBbm^)MQ!RMZ^l1n0L0+jXQQRoR2YrE>6N z+X2BV51nv@m3mINp}c-4X#boy%6*xqlJwgX3|H{TL)^#?+MLM~ah=pFlwV$!*{Ivm z{{WwRa_?+l^H`>s^QZS`QGt_=_$r4mPNkGnu*_7CEm5p+G@g!t7T)Z=Rn!?T7(k~W zf6u_;SB93I=TT(X%(qiwW;Gx7w$kTtLyiM^Zzz*VvYrv>^WLk&-m!1X0VG4*u|Hq0 zRGVyK5*IEyA+a zv@1$R4{a*=5ch9{7OQ{0daDF#S9lybRf7O!?$ps>H&~#4cg{x8rLbugWB(E+S2eQX zp|&G>Ci^7u%sDbjn6;WrCe{h}Qx6EKSec+)d@8^6+8RecUnQfGicnE!Lqp*0-1)dc z{wFFWDN0A~ZH@#Kx*y4|S>8LH>gS)x>u~VIW@&q(G^DBX$l>S_t!YWs$Rua_zN$~^ zM-O5&NAIliSI^3GU_*`kpi;oaHS}=dsR)JC@NCZzYx}MRpx{HX<4x{O>-<%?&KlNM zd0-FE1$&u%gNnuvXXLte{Hg1*2jgIDl7(tdF4!}`^)9cuJrVhl;M!YuTx@r4*R5?W z;U4OEZ^!8al${d~Lk z;Z#mfj;rk6W>7Skoh_fd4kM{+3bEdRM5~y7pfpQ{6g%ex_M@K%c4d=%pJv$ei!ugV;=IGgdg*Jp5FSpTe zlVS$=VQ>D0$ltBW1wnOB>WRE0*34c3i-4w^IHbw+kz&2<*b0aKwp13zz*J~uUMQ#( zRcKd&O&9w2M;Hzvt*}LB%57{O1)e-F-ynH|eCy-dQF^zgwR(BoPT2 zs2^K{(P>v6rU1CVwSN6GuCL^xg{j*nH2aCCDfsVO_ zUrF$EZbgwP6YysqHidA!KFq&ZmvH%s+&}kLy=!kmQp^f9u&7yM`kPvINUCr1 zj)ql189i$&tEl`#(w?*{c$9VaWP1`ePrvA4%5Y_=xpIvmD{%eZ6~suRi0oR1r0!-L z;{?+$O~gaiRf)E_wk$;9k^e|=1dboc1?cWXH)!waH zE+r**K0Q8Fc`Y(8exB#NTVi{^(?Ip7mdsXz;pTRe3nFT|Nr~K&=52F*1(pKC6=gK2 zv8`VThWN7>JtipMSq~E1 z8}c1_xELNdRXt#8bGDFS$6mahhs{l?o_>=Z*q>U2nL8|Z);WE5boLM^nNlcDe&wcu zdc8E2>^r*Yd1eOQ+0Vjaho?aA>f56y`c=0r#mozGOghem&!I&LpcL_2wYIFw@B&KA zto*%*EwJrQ#pM|h6w9GD;Aut7NYh+D3)Wd|pImib>PwKdZFp!>X&DV*)g(}C9Yd_n+Bw|ip_8p> z>-4<0&-Oxm8J`Ie?M-|#N4(&YPBZ{P|^GpT8Et}0@8YvW_i-yNA7C?v;b+aQ~H z3SYb7_1iD4)ZSJRE3{rME_W?7t;6ZP5i?9r2Vp~VU9pO?P6aq_v;D={uv_KIyBJBt z`gwL0IL3zFXSNbH`c`nN5hqHmZhC9xIg2OB!Jy`E8lH*cR?I6dIDW+K06Wv^#w((ubZFGe< zaps5t0_IyX3r0!ER;^bUKUlGd*Tt zD#|o6$<_71M%R?2=@<*qJgZEO+S>v9lw$~obeAt8Hf5Tp+AJO_`H;(gS>J0IKBrdz zj&@2w2%8kqB&D4A$E?t=G|LrJD8ASB3?j0hE?s!A5ZM-_+U|^zpYUnjpR`ciJq`r{ zN0FA2+qVZTP`MLz5h~cTt@>5;t%%}Y`3uGgZ^3kj@twFVJx`0I&CewyT{!P=C?SFu z*#-uV!@CZQ_XOC@9?aLaQb|M7rK77ts^Ka2dwIkw#7!!PQtKE6S6Q3-^?^qDCg?1a z*eNak%;8uaXNzU%=jL`7#=ZD^)Xe+2hjAt5W==x|YBe2Co*pi&&#@&PSFw8Kr0YXb zFaKqIx!SsvR!T8bdQP^!HSQ}|g+Wstt%Zj_h)6s4PKm?5cb%d$QF_Z+Fk6hd{(Ikz z2<$t1B?EpX*H2b-vuos{jablNEHAUsKzH842f0+=(ZC+7IEbb%RJ5C*cEVo`YwMIy z-==m53~zME%qhf~yTL+9`C9iNcgvYMT6=Dhs)s8aMmucIojF%cJ;@^J_P$r?W19=c zkJ&w9AH>BzEH{g2Mjcu>_7+Et&R2;n1*cN=Y6cYnS_y6>Rbv^~!%ME2t4x()M%0G9 zqcu1sZ0BX2y|5WQnHol6S>Xj#2SVZXbs+X8-=~nX^3`7GT+edyn?Si0l1iO*en)2> z8{<#*ryCnr?w=p1=ne4k!G_uk(!t>qTyXvNF%Ut9&Hh=TeKJ6}=H_-EsELfvqvJc& zF5k|3lwSVJ-o)o!kQreo9Mny2N4sDx1Gi5c-v#W`uBoNSAGp~{>v*k02-ZEB59)kETksWLDWQ7>~=eK}fXxrKs7z`W+EvH7fY78uGzK2*;MNhD{2lGv& z$@tV0{93(nc{g=^%4q$SJMlQO64>R}L;EQx|8_<6SkyA0I4grqsB~cG0r%~@A3+A7 zxa4&h+e|KdT~U7Bp45%X_#}nc^VJ^8Nnnk+_Qn>X92)g`uh-6_<_pv^c1nRE**}kdU2=Up zU*EvZ?W{gZz&6Xf!KVj6TL3y4(%j3rP}X@mHX+?TP4*0?YT+#H3rl6TxG%b~{P0KXRB*dIK6@ z{3-gTMl7D6T1)*!SaAPWr*z|aR${AUxj6w{HQp=cx*sLuG?49E&tlIGucF+(c%bKT z^N$4?Wlk1-{u^^>OBb#yC28qhA0D^XFcln=>( zR(n|pwXS`CLCE_@BbB=lQFDWSYu{DyNdH1f&7f9qgQ{(VSBG89ec`W*A+Uzu@%7{B z^BKOyzl*+3GvDB!1(KgZq1j&2Dr{Et5~BRRu?}1B`3Eo}oo1yjoWcnkV8ZLgj6mB{H$h?G-Qg zAoGiP3aL5W6yALHTK6<*c=U6K_~Bs$ggF;-e_jiIolvfodoY70(i5hX(NDXnahYMz zy)-X$nv6~h(paq){Wbq;fy*#9Eok%6QLHF5U$QoFV}X_Y^`nOLC^?<)S1S>(>)k(h;co!>;f1$~GG@Md z&|;M3Gl=pYsjO-5T2jD{gI@buZ{L>Z>*e;ifj^pr! z2G3|QMb$rg;A*^zwKN)|etEy3*@buY3u|9`NBny2Uz8t=zWXLfZr=y8CMlCS%U}Q( zQZpq)x1U|jUK1pv3iKkm9v)Q#iAL~+tRwjMbK)t?omB3guJqSCBZRe5M)OWQeSc(x zwQckqSb$$|bBn(96pr9V^?V7~F@4G7u)#GRJ()W;zv|^F*kYY0^C|$$=^9CGl3lkM zTWE&qW?J;Gg8gpiCUj+s{>j=e;w1FGZqR2(AK&CF(dAOx{z%cNc+ZKvkF=#EDmaz` z2rvDg?bI8+@#HI?FYaU9&RSzx*Qocy8N$X?5<>ZWNr8=?%)b3KIX%zvMCai151Egf zG|1B=)hbfJeP{+PTE^6754EwP!TnMHytw;c0EqW2)Q9Sx>vpN&!X;R9Rv`7*)tD1hrs}t(tMy7Vw zeq$BSIr63+3HmnI(w*TF+CA0IXEeTZwE*!oFyFK^uD^b9@=$_7iO=g{B zAaT|9YylcRjlz1|)LP&fA}b=84IfI|=_tb`bnN22mizZpE}iDxb$(@y!bq!rB){WT zfERh@my>5TV%-p`)N8!g+EURMALh(H(ZSFv%w+QP+)qt~a<`&`i$F~4^)9c{n6$@O zd9g*=Qfw(R+-S8g!tt1&#l2kEGnU-i9k z=WO4BIpn<^Q|!&{3hGBqb z*RGY5Hm&)qpGMaR*+gXV-yLAB+upkexKube$U^}pHKdZ>$oDvkzAio z&h!0#z0a%2g*33W{pF6~&z77tJBE4q9QyzzH-eD-iGV}Z>Jco_gVqdC_|0-!qR5`G zNlC(tB_v9!k~(s2yUDQxKIta6J`P`l>w9FGH+dFcJ3D@#S{|%a9k^u)15zCLCNX8oMiJ*A+aloi7vTkA^f^rv4BL|=jj*EXD(w- zf%)uDtiG(k$N_EBjAGefN1^gI4IDQ8D+Lq4u)c0}7QI@ga&#H1kirW%kQ{X}a1$6+ z1DhWB)zB`G{IjvAyC}P7{t)u`$UsNp=J4i)gZ1&CQ~^-vgvYty&Biqb>^Ae(S<^4cL3D-mpI%DcoBhFx z`!=u4V9!HI+|0SWiUE_nEK>dn(IL$6-+fsV{g>VkGdD=I(kgI#prgI<4Wu8q#JnOm za6@)#?5e-@f$qU#9eqPi)U*PXkD;w4-lr=NENnJeG8Aelqq#{CM7pdHs&27XRoZbFZu{tw% z*)hBs*6A_6|5RYJ$kF>0jNkmqPx-K=Qe4gfSXnXXU zYx@mtUBL{ROJM=s6>K5+nfkCWH?6BU9N3VFTU#sx8x(vcp5~WZNd8-XyhM6b+w%JC z7bfsdql7?NV9^x2wcW;!1IhoOj=fsku+02vU&fT8j&q9Y@S*prehp`-QXw_pE|<@= z#hrsh)dojq7Y=VVYGa1`!0z1s zrRp;D4eNO}YG{Mcdu;~I37gQD33yqbkssNwh|n^9Hr7^|QnLxZ21*)xOq2Z4*3kkk zcc!g@>BTm$uQ6QvhWvS?{a2`@Nvu5UZA5{$y;CfECwWEh)vunrqW7}0ahQsK5tgaruyW1&qSqm+0q3qfr3;03wug^>m*xiXLf^d_P zEPBsN-Qh1eYg40_JQFZKccAiW(*RQT@p-Q~xPol)kU!#2s>EL}kGfVYF{5FJktJYd ztO$fgm7x5Nv$NJT&3{C1FKBavaYSlw_{cmgPHx$U&^4=4jz;aVBqi!^qM2?g`o&s8 zJQSxZ!TRgYUG|58aFyeOjq$1!%;7leQYp8NI!X(9CWXt$1bxMuS9lEZ>qB%f{1VTV zOGGAT>AaG*L?&2(@+%0XBthO5mt%UXiSL8s(k%Wo!sA-$ZfXdmWiJQ#N% z+%f9zv40iT4{8Vk?gnwSVq8Ad^3O|)?q5RufF``(zUL9veQN~NnuPU8k23?wT41xqbATMleHxMl5mCD0?!bebutO>3$yxxY7 zd+re)L*uOFFBpUwQ)DWt^Hnm}=`g!b!#i&3s|D}d7QaqlOa#dLwzHd4T(-gOtmR01 zt^gi|lgS(Vtm0PaLu@V$(w$N+~zu8WGr-eTd0 zIk+-|{L9qqb#~;Lv7q(m@jh`hcP}ehwrhX(OJr8CQK}zZ+=VT_fj(kgxHb+7MMlF| z0ZoDQ4}F^@6Z{KCZ(d3kWhR}CwEe(0S}4p(Wr%ehBSKd~vU9deKM)fcgf%US{nWxY zqZEuc``mOT_&js>Mb0Zm;7@VQu#Vrh37eM_R@Cr{X*x0s)AdkFs3jz-;Zmn)Am?PT zn<3U4*ie=YcXV>Al)Q{Bfntngk<%=M+65E?ib$}?*(;vog1j1aJ}-hGNzQgADl=;0mi^=H#8I<40Q7$aFEPuFcku;>2AJP?ertA`|uFN6L(U zsJL0cpPAl6wi0N_ZTN>buWw9!F(KG-<%ex73{$o>UtZAewkS`eH}9x7A&%odp6r{+ zC;R3VO+rh~-mlqu^QbdIipEqOJTK^>3LYCcXV&ga&v^PE{6Bl9_5k%ZATM8xgZ6*j zh*rMzu%(8{s^#=^R*{mNGn8+y+9uC`ngxSwnidwuVoXMg9ntRvqwV)epgJKFtPty& zP=;@|SeyaUe=61m?X(A9IGf`OVq|J0SF@;GI19T}r1JD=Z^d6Iq6Nd7z$6#L2xXt! zIpYMcj+mFD8lQbljcJ^-uc42<8;+z$RWxlz=Lxk)-Tcxwnv@z8Xi(n3i{jzEPK+R_ro(2*7+OVeig;@qhPa_Qq5P2h z$)D+q5*Ig>Y|5fDM;cYF>{6kzr;Wj6vumcW?%cR^Sx=`Nru}99FfR4Xxx&Dihkz<6 zD0&$lmMJ?_l2G?yq|Lb!w#f0fA;`tH+MCbAC~ zoDUiqE2Zt2xnxh#R=*RH&ysPoaQ@(@fmPwURl&U?vU)pHTi~Way4IKk2)nN7iq;g> z1ndD-ynOt@uAsT*K&}dAPNuZ&>95-LVW3AY7JyIO)=!rbTUwNgZN4J_&C@X5#}qmo z#^2wv^Fq|yLYxv_RhC$$_6GGFxikVd&arv=fp2=8eaP^MIbmawZI)L`fCq8lKN|Su zoR`KJ+fXb+weu|5#0y;1z3-Z!Mt=g%-$%W518ckkVGaT9AtA(+(`VYht~*LO-#jAu z0}4FM*-rxj)zxU>kfr^T$=ow`w7!iNHZ9SmFH?i}GdI>ZBTI_m1M6V3#-pY_8|k27 zMrMnbkG5wEJrWEGHM}C}qn{|(t3$MUxAm|7bC;d_Fk}7EdsozL#;5)wAVrc${KoSu z*@Mir^tQK-Z_ErIf9;6X^E9>%86`n5%v+gGqMI9sURmuTm~P9k>E*IH&f38lKWeJ* znGU|}xE*4b{mK?Nj3DSKJx4t6dXW|@m{ zc*97m7a~un@G<;v$#7dTw70^n-gGj-y5{#!Qmng)^6m1=%kYIfQ|RIB{vv}` z=7OZT+S|5I(9CJw)SEyUjpNTtW~%#;F-c!=xa`-!8&Ag!`$N|)~ z1p?tdwSVSJ``9ibp@2CfqrB|XKXdGm588wFAibABXu;~r&7`!e<(aZo=2`XjZ?_`{ zjg8s3$;Lm7jC*^J852i&N`L$Xsvdcj#PnB-yRZ>7K#MEdWc8M40AWVl^MF5Au-Q$z zu;s!TX*Y8`l$AW) zeclSke<~TQ1$5%Gthdx-%&N?BCDU={qhl?$Ad!QAsG?SkEZn6Zi)2C7@EhuhC{>@V zG2+^A6A6kk&67)Ow}ik^^}+N=g^1N})ggj+4`5hliqFKqYtYL^^8KA}^8N$OCSa3c zS^;de*bBi4>)@|ig=oZdu){-EV%<8xT!y&(DdjQ6pH}HStE?IzipjFB7pzri2C~vG zhcJ{QibyuUk7x-p(fWDOTemsaSF!NHN5O3%>EHNJRari2)N=x#@ z!0I8#mAOGTFS}Yb1cXBv#6&#fz?=}5xh%v^Czzie0Hgs8>LEveAhz6N-Qvz8=2Nn6 zGj09jd3nvr*m;#N!w+-faQKaJ#g}sq8>pp4?^?yZ#{iDq9upVgaM&E#*APY^v*RWG znENXWuJV10<@0HhUuFClW|w1+Vf&1E(wa9INLNy1h+697qSe*v@b&-vkoo{8-W_J; zI$au>aCIR%d(;ZxbkUmk&FNw{9-t-Ml!)T3V{%=-;L98}hh$3bji&gU+~D;6gzv$f zPuy>G+T0y(@z9`nuOgK(s!pVr{J<*IWcg2DP@vop+bt>|;EL;IG&v(|FrH`2D;qEE z)*E2mz8ndX!3tTYF1Q0$IU6n{Bs8wt2L4xR715^_qTt00hd_m5S-ba#Uv z7{<>70=C9--5md6LDzKCfsjb9o8^}8amjPrMN;$6k;wai$uIk>%AxbN*}U}UqPv-j zhQ=~)7L^#?q{fvW_Fy5914bYzR%vF@;C$e2+H7vf#c9Ivl<{=HZWR2tyMXub!g8x} zMUr0lbd!^@nVf0z3FxDebXZVSILvM{O`tFIeGdtp8rt#v=3e8 zp>>z+b`|qISMJ@Uktexu=JhilFmwtd7jdF?cp7CwxZjc+dxm$OZv&5d6RxC|KnATb z8)-d6kklCGN32*y9*;b7<`P>_c@>pg%+$aUeZcg>=gN+K6Wv**m&2z~Vi?pY) zVk{kl@;nN;x9P|+9bc>M@{n0XB)u|Vs#glfNVq{$Zgln88_t_jXTN0H0AAmpg27+v zr+S zTIzosh0m{E{Er}e_P^_A%@rI&%ErZ&&*ZiHfHDmlo<==~z@z82M6C_0pB|pR4uN~~ z=oyW8_a(I{7yrcQt!m$zhYKf~6+dW6`P9~X73gefBl5~$Ww+lh?;^qq39Oa^xLg1VO%Kh; z?{!5s%T0oo6V&NHD=tf08x46(1kd-p7!^RA{WB(v>WK2MC-mUeXRi&fm zT{3>S61Uw@2Fn{=;2p*4o284JTp3{b3vq_}n891K#xmsYxPB(}_}lZgy)nZ~ko{N%=Z*AVyj%fM>Cu|JxH`WTrt7R1)CviSDAxnz zb&hv3RMa(ObugYj1GI{OJ$!qT|Hk)*tkr@xQ?X1-q_@q?-|AD16)OEr^Mjaj)H(XQhF|OA#QY6O6YBnxB(gw8o!g#iI1O8G6Am3DO^b>%TS=pQ^Dhhb0TCUj z$M2%cgStndhl7tQmEKK^s718reBl`Rw>Nq}w=I21D{xMec-UGk9;}ARFlm^=R743~%TT|cR&YS`mj|6Oa+=k2tGtOWS<#co{sGxl zf(&kT{TMbW-|i1q+K;^??K+ijxGWUSEk+Mg3mfl1{$@7cb0wHLU@kRCNF z;yWNV(^HN|y-Toi>9%cR(;lpfK9Y{!n6I>onbHre}^u(;m>D8Rmve44M0v~K9$~l=ShAn*yg7-F`*w9V6*B+iKSDv!+X&4#U zf@D&Df?9lv;mf@8z*l>#L8P+@Kryftt((z0v0t3~Gq#Chtbd6H@Bld-=TZrSBG^oL z;P(3TiO&p3nO>jp^!+SWs#A#0mt}xEBS(Xyy0@F}_{H&=VBu>ykQmvm#MW8A^nKqgmp}QZKQO>hrW)>jAHb3Ou%Tz#) zuE%6!w`;A@6@DYTk6NT80jGm?uWp`7+4rqMmyWm$UylV7Y86W~=)3%VZUK)VTd7fL z@6#g;zXQ`Ad>*3%FHm@R2Tkq?+;EYuc;=fT#-IdXbfPcGZ0t2HZteBYXM7UmTkE{H4haHj@oGkF*NqPx|+;OTulHT(SeG@AqtiQgS5+}5UD-&{RQGCL^8HIxhs zC9bw{McBoG(yC9^cU-=$?s~i90lFu1ej-OMJcnX7`a$DCov(T+WI;<)6V0~Dd*e9w zi=n0d5{EzppfstzAy+RP-t+r;mV^{HAyW!TZ^}lB6AS#vGW?qJ_hVnHaq-*w z>Op{=X&B zxc44aczF=VpQYEFEUx~;&2JBN@fnR;y#Muv-o_(;y|vD73uuQX z+^|%us#Dj$b@h*=G7LLVVE?))<$TOeLh9Mi`5qK||B{~}EG*{pXK(VzzI0ER_@lH7 zyZ7v2=66NQV^N-v(PFhf^73yH+K(F5YUh+L!q%~H@|J{MmHeh7$ZN=WbUXBFop+}? zo~lPsN#SvS?>7n+OG`~d{*AeCjLZ007L#Op@gVm%7$9LQj4Hnxl>{ZUy)hFDnM%NV zw}{zh&QwUbzYohi)GSRfqR5C5S`~aybF=6}XadMp#GLY5?A*t5!xYk*oBrdVT%WM@ zjG7f({=Lyp-z}v`UHjeuihcE0tD&XUd&&cV|~0UVaY4^AoDf|LYP zw1!Kx9J8?DHZ4KfXrutr?5gw?uQ*wo@W#OHX~58KPx^w7km&ln(YQ;|3QJxa{(Oym zZfaN}*#tm`ZSv?oY;$g6DQ21YM#=Uxak~#Nl#->Fo!*9>6Ep!*N|+26qh}~wFa8zr zN&SE@Eh>SsLSh~iM5@-33*e?}{BPL4W8Up4(N>BUL!HUr*BN4&W7R1$=2E3>#2HZ^ zipXg@zjljpq<%_(62^ggnJd>_J;~ssOPv<&r|4(Vto7%l{Z_qSv_*Pz(p%eNV#pNd zbKO)b$k5ibTx&}sRw2g|*LuTj-{Cn>ewNcpr_FtM87UVydj7q{;!on)r%v5RxeVH7 zy=>03o|TuLwXZWX6c{5UjfOXU0#t*MF?Qn@<8Z^-1P~8Y9^fedB0-FuaRtkod-|6J4gGe2jsVW4l`kL78jScW_Qlli)Bl^TZuK{b3@mR61 zb6)A0Zt?0>Y4Ju&y*q{9^>pqN97-_=1D%H&$56kqCysaENq#pIN$++qm&DHUx4;ue zq<+Y2J`0=ppuqsL?W#V3Gou${V9fsP1ZNtZeD$$c&oxGYi2buyVH2dZVwMH8@($Hxt)pQFXfExHvK|JS@$oS@AU-9ER<9 zt_(WU(watZ{b;+#DUOOc$JS)laZr50f_I$`b zF6Y>I|2}%iI@c{9k@4K3W0T)~(Rn~?E34c6!~^KZ7*$5wH@WKK?-RG4(Y^v2Rjwl$ zzcw3bB3JQy_f@Poe7JTaU+3$CP6Fj)4h)9%!O-B(%7RlWT6abhk(dpIx!=TXq5S_| zf5V$xF4DX=GG&Mqo=?QHvneC)8UVx0d zsyaLyTz#3Zw5Mh4ayYJwmJv!0AV?s929=+Sw5qS+DOrc3mDe4WF+H zPpAJyB7{tGR!2K)>`b@SZOBY!23}K9G_5f{%!MSU`g%F5C#zN+dY8&Pur>%wvb%<> zeHl~wA0*EF#tDsm(eZN0zz(Y??E14XR|A~F8pdfO$f|k&DTk!4+IaahKhRy!-{gg? z{C4`*=c_WJ37}%Bz%^Jljsn+jruUe+U6|~*Yj}tium)UYu!9`qwbpB7kI7F%@^6u^ zzLVc&-BnQAplTSe8TDXazwnQ5=UKYIeb}F?gh3`4Kja?rGN-fSpX8`)v>(ey6d~8^ z;NwgPKcl9AKV5%i$;4e)j)ypPR9*fgT6oT~Iv^ITv@hG|o=M!t@k7pEjouSEf=_?o zdfNNfcJ#Y`tNLP(HXR0~cicIL5#wbx{8GmV5ucJV*zy*gxbpUik$w8Zmfr(*O9*D} zKlfQUOI$~fzZ?NSzKs-M7I-ZH-D&yDJL_sFgs$r(o`X;FS3I8R0&pZVb`b!FM?`@mDz#g#W68gBTp;YrKuX=u3_V^r39KB7(ABO3`>lxk!PW=sjAwmHON$aQwomgN zJCWTn@0nH4v3v=G7#m**7aX$}0o~a~43)|VPIh@PLs`S<#));8x)P5%W~XJM8S74< zVg@|rj_0ZXH!h-#>}n&AIw<#Hl)J5?m&0ufj!$-Ib$Jm;S7^bde4RsQZTqxR+E;=E zG#gwNq5Z@IQfGt%m&9QfXE_3Z_lL}~4XJ;)Y{5dHHt`a$(pvx%JKBEcGsVil7f@dd zSAFvl*q(vqp@FN-@V5qiH>iELMky%i*nJZ8EAnQ3boj96zufCI1|T&bef1xBI2%mQ z7R;T7-ow`esa-pryw(WIRE-sJ^Cfg{Mx?3~rJysCF1q?>{qPtd01rFbz+t!QTjX{_ za{fsbxlMW}>odiiQ-@Ax1WH9fRqdvz6kYAxEIjGLnB_w8($AS|ZH_Qt!Fk2#x?}MqW%D?ZG1)<=$1f3u^ycB9Ezy%Ix1>!PEUniR{9jB}@@< z3HuF5-|C6ra6l94XypR7dI8Cg8u>uac2Uyy78h&7p&3QiVxlbAnCdR@ zY;*wrpju>$L&9{7bsZs+0L>jcg=SJTX&0^RjfXBCll+m5%k;GgrP;UEpvrPkO(uu1 z^(3pJ=Pas|_4Qhy)cZd}kLzQzAKVjt3arg%F=2r-EAY$xcpm=a;qycw`mf}XeU~J{ z{9A^3=8z4Q011?1eROC>x&v5MZ-~gR>QP^SL{Fn{Ob3Ri@y>k16{ zQaD*j0u5f?^NFl=5;d~`l2kK!xC)!|GLe6z?27pb#uGMyFNZL=JX;&C^idfqRUc!~ z_glA2b6%wtZw9mOF{>JE2~sIQ7{H_48B^IKpG~)PI}c=RPk${?OE90RF7CY0tdT{; z0Q`v?00>v}*(g{7BU0`P3ijOA&2|IoVG?VCt$&wVMi>}$Y*QHmyS90>y5}=X8K-T* z4Duu3!h;-&!~5HFPvA^@bzh^#DiFMezN%7G1byY}Kk%KBL{;`TrcOEBSa{P=yvU$8 z(DmqoA32U&+jZRmkJIFXT|J(ql?O2VY`VCxTS9jM5rM4IMD>njitAc$1XqvR`s1#|7G`8UOJ%lEld+E{5dBPbV|vx5}$d(?G~hhPvd}X z1eKS|K7>FZ{hNJzV7aW#F&k?F1mJ?BR0vizD`LLwGOPmOL7OvfgBUUjkv!F;CW$ac zzrm6Atr@wwBrHA@^lrI5)_)}XxE2}0Fy>_`o!Cnm_~8<0iW#-$f0{eGZ{cqP*#KpA@O&$`9~7;pE&J@T7f+I%f0)z~!dJFVGOk>Kx8! zQ$uczqIKf*^|Df9Tn`cp34lmWvr?Ar107jLl0XBeEi9=r^YVY&)P$F9;v z$uFyq_czDoZ2H*y1D9bYRn1m*O`3T=+umDLj=SbVC%KPl!|e_x5XXV|E8-GRq~*&}mI;%0AnIShy-Yvlfah6(e;vn? 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 IKm+!_06^CaY5)KL literal 0 HcmV?d00001 diff --git a/examples/vime_qwen3_8b_tp4_cp2_200/results/convergence_s1234_g10_g11/figures/consistency-trajectories.png b/examples/vime_qwen3_8b_tp4_cp2_200/results/convergence_s1234_g10_g11/figures/consistency-trajectories.png new file mode 100644 index 0000000000000000000000000000000000000000..2e35fca9cbe8e189a703befc2d217e223c379505 GIT binary patch literal 611185 zcmeFZRa6w<7C%atv>;s~N~eI*At8bc-QC^YsUjgN2$BO*Ln_@Rf;7@OARr|ST|@l8 z@thkE=kY$?S<7VsGxNpXzuNN#@=}S2fR+Fa4UOoz@-s~|v^%?KXm}=gIN)Clp0m$_ z-^9EX^u4v*Y`y&~JZ;d_EWF*F-MpP0ESY_6JiQ#;T!nZA_<5gjGuwN6yL*Z8@wxop zU%~6>h{wv4fK#I;mNrr`vzXkcy`~v)c1~P1^JM3())j4xEYqp`KeZyeA zYiV(IHvOrc?b1;eRTp?fzy9A3RjQ$@PY>?@?}xd4&j0?dzWao`cggd*e?!meNB++zdiLy|#sB}N{k-@orxdy@uAw2IdL3}tM?nN3^#-}76@Jr!-8r_P)4v)!m`Fj!v%N(vBp2gMj*w0N18f3{cUKoj zFJcHNAJ`3NM%>_0STjoaGxsJkXw8q68`ZC!?#^!`s;(cr%+#0sW;+BsEte4wyJ?}9 z3f8YMZp=#+QjDi|d@5u+$Ughc=EKZaD_rjj*M$a_SHujO18;oZynxP7jemL0`qXpn z-Lp63*xnbfvqjajC6Zm{>wc#47){(JF-meiQqTVQmWpoP zfAD)7!Li-oz7o0p!eyaB<8*JabolLX=F|M)H&tr6E}a1y?;kwZmL_m9AInoH&@Rz* z43d%I`UrLDx>&qC*)fqSa-4*Hv;Ik*1Alw18yB|+Z|74=q}SNRzYN+G&Ckh{2=M%w zE!q6#WtP~o3;fO9N7@;$+Bg!OJbr)wdbZ_ZeCK49I@uuf=ECl&-(KdpZxwifQteWw z(#EeAYaBjY8*(Qy%!rO5WW?WiJ^P!p>9-t6RMGQWqfnLRdGh@j352_9_ep!T-3ZKz zmr=j+$=+Or-j^4jUTPMqI{ZXh8R^$Krw@eno<)bU$zAh1Sq6_Ql-4&#bfyW5kc+p*XIB=bF)PraGfwM<5m+F*00985BW2BeqgN3@2`h6%ZZxrTX~5xHGC7+{u}cG3sqI)(_AVmR1xU7l zRV+b9K&ksm*RL7}t*udL)HJ%K+q|?=1N037x0i~3hs^UUcBNVHfr8JfkXc)>R4eY& z+dWcR83-AY5@WvseXoQm!kpx^0Icit1X|%Q8u^OkqOQgRdIF~>v(zsrL z0-Vj6)JmOF-S=F2yzN*_dgX>}A0DZv7QFb>e{+polwul)&bS%+EUXn}?{AgU7yKj} z3Kw_y_22@DXrDxrHe>EckS*I(T0YmTFn(Hjx+n?{*7}h^w=w>0SwCJDhx%E#?_Eqn zcV7Ks2+O2vUV`XRgXNSHw7foMY(H$?9PfCoQu%;`(=)xOY&rrHcP&Z!=AFXZdnK@byt$_LoI0E(ngwx>oo681)0K!%R`fXV zn~RMc!LXZPpPTs3@(Sk7xVkde#U_|KZHjznLtSaJF)?Du1nFISg#_L6wVS6MXEV2<4<+lfp<@*Uy(3L9l7B-teQrO^1rjYJl@)-C+j7| z8f=X?GOFnzqJ8`htWarajx;i>uIcnxne<#^ zrp%zaD~^JL{2r*?TJ>;npI+5E&k8z&l4t?_z0l}ou{&2Q6k_s4HC?k-A&E&^q(!x@ zCQOkLyv{qw^VOv8Qv}@YXHy8HaeJub-^%tI0;l=9a>E?k5K&M#h<8Sz@-yi|cH9Pg z&3=ejBKjx%+zN3NrhHcAhP7RFu8Xv`DKtX1(dz@BMt0V_5x<3%;e+Wy-Az6_e-6Ha zS5h&xF&c$S(gkWNS*oy;?u+@tzq8e^PPWE-_YW$4cBWG6GaP<>!ABmCt9KJKNjdk6 zohTXQJa+h1l_Yi9_pNPqC_}Wn4V=U(P;1lM{@V0^#5Zd6w9#j83_<$p&(%0AhE~9I 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 z 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

!KrQDb=YjxlC8@acI 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 z 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