diff --git a/.dockerignore b/.dockerignore index 0b78da1df1..291620cd4c 100644 --- a/.dockerignore +++ b/.dockerignore @@ -35,9 +35,12 @@ !prompts/quality-criteria.md !prompts/workflow-prompts/impl-repair-claude.md !prompts/workflow-prompts/ai-quality-review.md -# Promoted feedback cases hold users' data; they are synced here for eval runs -# and are never committed, so they must never reach an image either. -agents/evals/.cases +# The eval harness (agents/evals/) is not service code: its fixture cases are +# about 3 MB, its local reports hold renders and galleries, and its promoted +# feedback cases (agents/evals/.cases) hold users' data, which must never reach +# an image. The development-only fixture seed (AGENT_DEV_FIXTURE) reads the +# cases from a checkout, never from an image. +agents/evals # …and the noise that lives inside the trees above. `__pycache__` matters twice # over now that the image compiles its own bytecode: a stale host `.pyc` copied diff --git a/.gitignore b/.gitignore index fcb5ed0b23..4c59d71363 100644 --- a/.gitignore +++ b/.gitignore @@ -286,3 +286,9 @@ ds-bundle/ app/.designsync-fonts/*.ttf app/.designsync-fonts/*.otf app/.designsync-fonts/*.woff2 + +# Agent network regression harness (agents/evals/): run reports, renders and review +# galleries are local; promoted feedback cases hold users' data and are synced from the +# private bucket, never committed. Baselines in agents/evals/baselines/ ARE committed. +agents/evals/reports/ +agents/evals/.cases/ diff --git a/agents/README.md b/agents/README.md index 8965e4cb81..5efbb2a24a 100644 --- a/agents/README.md +++ b/agents/README.md @@ -4,7 +4,7 @@ This directory holds the anyplot agent network: the service that lets an admin p ## What is built -The runtime core runs locally: the agents, the plot pipeline, the guardrail plugins, the render layer, the private `/v1` service with its run queue, and the theme toggle. The renderer service `anyplot-renderer` (`renderer/`), which runs the adapted code in Cloud Run sandboxes, and the `remote` backend that calls it are built, with the renderer's image and Cloud Build config, but not deployed yet (status of 2026-10-10). Not built yet: the agents image, the deploy of the agents service, the regression harness and the evals. +The runtime core runs locally: the agents, the plot pipeline, the guardrail plugins, the render layer, the private `/v1` service with its run queue, and the theme toggle. The renderer service `anyplot-renderer` (`renderer/`), which runs the adapted code in Cloud Run sandboxes, and the `remote` backend that calls it are built, with the renderer's image and Cloud Build config, but not deployed yet (status of 2026-10-10). The model-regression harness, the 120 synthetic spike-X cases, the blind two-run review gallery and the catalogue eligibility sweep are built (see [Run the regression harness](#run-the-regression-harness)), and the Claude Haiku 5.5 baseline from the first spike-X run of 2026-10-10 is committed (`evals/baselines/claude-haiku-5-5.json`); the Gemini baseline is not. Not built yet: the agents image, the deploy of either service, the scope evalset, and the `agents-eval.yml` workflow. The model is **Claude Haiku 5.5 on Vertex AI** (`claude-haiku-5-5`) by default. **Gemini 3.8 Flash** is the second arm: set `AGENT_PROVIDER=gemini` together with Gemini model ids, so the two can be compared on price and quality later. Every agent and the scope judge run on the configured provider. @@ -31,9 +31,16 @@ The model is **Claude Haiku 5.5 on Vertex AI** (`claude-haiku-5-5`) by default. | `anyplot/settings.py` | `AgentSettings`, read from `AGENT_*` environment variables | | `anyplot/schemas.py` | The pipeline contracts with their size limits | | `anyplot/data/`, `anyplot/code/` | The deterministic data and code layers, without ADK | -| `evals/fixtures/cases/` | Fixture cases: `scatter-basic-matplotlib` and `bar-grouped-seaborn` | +| `evals/matrix.py` | The regression harness: runs eval cases through `/v1` in process and writes the report, the Markdown summary, the diff against a baseline and the review galleries | +| `evals/make_fixtures.py` | The seeded generator of the 120 synthetic spike-X cases | +| `evals/cases.py`, `evals/pricing.py`, `evals/report.py` | Case loading and selection, list prices, and the summary, diff and gallery code; `report.py` also merges two runs into one blind gallery and scores its export | +| `evals/eligibility.py` | The model-free sweep of the catalogue's matplotlib and seaborn files: eligible, coupled and blocked pairs, and why | +| `evals/fixtures/cases/` | The eval cases: 120 generated (`--`) and the hand-written `scatter-basic-matplotlib` and `bar-grouped-seaborn` ([fixtures README](evals/fixtures/README.md)) | +| `evals/baselines/` | Committed baseline reports, one per model ([baselines README](evals/baselines/README.md)) | -The unit tests are in `tests/unit/agents/`; `tests/unit/agents/runtime/` drives a full "Create plot" through `/v1` with a fake renderer and scripted models for both providers. +The unit tests are in `tests/unit/agents/`; `tests/unit/agents/runtime/` drives a full "Create plot" through `/v1` with a fake renderer and scripted models for both providers, and `tests/unit/agents/evals/` runs the harness the same way. + +`evals/` has no `__init__.py` on purpose: `adk web agents` lists every subdirectory of `agents/` that holds one as an agent, so `evals` stays an implicit namespace package, which `python -m agents.evals.matrix` imports all the same. Three rules hold for everything here: @@ -194,3 +201,140 @@ uv run pytest tests/unit/agents -q ``` `tests/unit/agents/renderer/` runs the executor against a fake `sandbox` launcher that runs the real harness with this interpreter, the service in process, and the `remote` backend against the service through httpx's ASGI transport. + +## Run the regression harness + +The harness (`evals/matrix.py`) runs eval cases through the real `/v1` flow in process: the same plugins, run queue, dataset judge, pipeline and gates as a user's request, with the models the settings name. Use it to compare a newer model version, the other provider's arm, or a prompt or validator change against the pinned baseline. Every run calls the configured models and spends tokens; the harness estimates the cost at list price as it goes. + +### Before you begin + +1. Complete steps 1 and 2 of [Before you begin](#before-you-begin): the dependencies and Application Default Credentials. The harness reads no `.env` file. With the `remote` or `local` renderer it runs as `ENVIRONMENT=development` whatever your shell exported (only development accepts your renderer token and the `local` backend); with `fake` it keeps your `ENVIRONMENT` and sets `development` when it is unset. +2. Choose a renderer with `--renderer`: + - `remote` renders on the deployed `anyplot-renderer` service; pass its URL with `--render-url` (the harness sets `AGENT_RENDER_URL`). The `remote` backend comes with the renderer change (`agents/renderer/`); in a checkout without it, the harness stops with exit code 2. + - `local` renders in Docker with the image in `AGENT_RENDER_IMAGE`. + - `fake` returns fixture PNGs and runs no plot code. The models are still real, so a `fake` run costs as much as any other; use it to check everything except the render. +3. For `remote`, give the harness a token the renderer accepts. Your account needs `roles/run.invoker` on `anyplot-renderer` and must be listed in its `RENDERER_ALLOWED_CALLERS`, and the gcloud CLI's client id `32555940559.apps.googleusercontent.com` must be in its `RENDERER_AUDIENCES` (see "Render through the deployed renderer" above). Then either: + - pass `--gcloud-token` (recommended): the harness runs `gcloud auth print-identity-token` before the first case and again whenever the token is within 10 minutes of expiry, so a full run outlasts the token's hour. The token stays in the harness's own environment and is never printed; or + - export `AGENT_RENDER_TOKEN=$(gcloud auth print-identity-token)` yourself. That token is valid for one hour; the harness prints how long it has left, and a run that outlasts it stops with exit code 4. + +Before the first case the harness renders the catalogue file of the first case of each library once (a preflight, no model call). A renderer that is unreachable, refuses your token or lacks a library ends the run with exit code 2 before any token is spent; `--no-preflight` skips the check. + +### Run the smoke set or the full matrix + +- The smoke set is 12 cases (tag `smoke`): one generated case per spec, cycling through the perturbations and both libraries, plus the two hand-written cases. + + ```bash + uv run --extra agents python -m agents.evals.matrix --cases smoke \ + --renderer remote --render-url https://RENDERER_URL --gcloud-token + ``` + +- The full matrix is all 122 cases. Cap the spend with `--budget-usd`: + + ```bash + uv run --extra agents python -m agents.evals.matrix --cases full --budget-usd 4 \ + --renderer remote --render-url https://RENDERER_URL --gcloud-token + ``` + +- To run the Gemini arm, add `--provider gemini`; it selects `gemini-3.8-flash` with the judge on `gemini-3.5-flash-lite`. `--model` alone implies its provider, and `--judge-model` and `--location` override the rest. +- To run a subset, pass comma-separated globs over case ids, for example `--cases "*-seaborn-*"` or `--cases "pie-basic-*,box-basic-*"`. + +| Flag | Meaning | +|---|---| +| `--provider`, `--model`, `--judge-model`, `--location` | The candidate settings, passed only to this process as `AGENT_*` variables | +| `--renderer`, `--render-url` | The render backend (`remote`, `local` or `fake`) and the remote renderer's URL | +| `--gcloud-token` | Mint the renderer token with `gcloud auth print-identity-token` and renew it before it expires (`remote` only) | +| `--no-preflight` | Skip the preflight render before the first case | +| `--cases` | `smoke` (default), `full`, or comma-separated globs over case ids | +| `--repeats N` | Runs per case, to see how stable a result is | +| `--budget-usd X` | Stop before a case that could take the estimated list-price cost past X (the spend so far plus the costliest case so far), or once the cost has passed X (exit code 3) | +| `--out DIR` | Output directory, `agents/evals/reports/` by default (git-ignored) | +| `--baseline FILE`, `--no-baseline` | The report to compare with; by default `evals/baselines/claude-haiku-5-5.json` when it exists | +| `--tolerance F` | The pass-rate drop that counts as a regression, 0.05 (5 percentage points) by default | +| `--save-baseline` | Also write the report as `evals/baselines/.json`; refused for a run that stopped early, holds promoted cases, or has a run that ended in an error | +| `--seed N`, `--gallery-size N` | The gallery's random sample: its seed (0) and size (30) | +| `--runs-per-minute N` | The run queue's start rate for this process, 60 by default | + +For its own process the harness lifts the run queue's start rate and the service-wide daily token budget, and gives every case its own user id, so the per-user daily budgets never trip. The per-request limits (12 LLM calls, 80,000 tokens, the deadlines) stay at their production values. + +### Read the results + +A run writes to `--out`: + +- `-.json`: the report. It holds the stamp (provider, models, location, renderer, ADK version, commit, prompt hashes, prices), the summary, and one record per case and repeat: status and reason, the exception class when the pipeline ended in an error, attempts, gate failures by gate, validator rejections, edit-apply failures, the reviewer's verdict, LLM calls by agent, tokens by kind, `model_version`, the cost at list price, time to the first event, end-to-end time and render times. The date is the UTC date. +- `-.md`: the Markdown summary, with pass rates by perturbation, library and spec, and the diff against the baseline. +- `renders/`, `gallery.html` and `gallery-all.html`: the shipped PNG of every run, a review page with 30 renders sampled at random from the runs that passed, and a list of every run. On the review page, tick **Accept** or **Reject** for each plot and select **Export judgements as JSON**; the export counts your accepts and rejects. The page never names the model, but its folder may, so compare two arms with the blind gallery instead (see [Run spike X](#run-spike-x)). The next run in the same directory rewrites both pages, so give each run its own `--out` when you want to keep its gallery. + +The rates mean the following: + +- **Pass rate**: runs that shipped a render (`ok` or `needs_attention`) that passed every deterministic gate: the host gates without a padded canvas, and no ADAPTATION validator finding. Every run counts, so a run that crashed in the harness is a run that did not pass. The reviewer and the advisory probe gates do not decide a pass; your gallery judgement does. +- **Accept-match rate**: runs whose outcome (`ok` counts as accepted) matches the case's `expected` value; cases that expect `unknown` are left out. +- **Cost per successful plot**: the whole run's list-price cost divided by the passed runs; the summary also gives the median cost of a passed run. + +The diff against a baseline compares the cases both reports hold, with every repeat of each, so a smoke run is measured against the same 12 cases of a full baseline. Each report's pass rate over all of its own runs is an extra row. With 12 cases one run is 8.3 percentage points, more than the 5-point tolerance, so a single case that flips from pass to fail is a regression on the smoke set. + +The exit code is one of the following: + +| Code | Meaning | +|---|---| +| 0 | The run finished | +| 1 | The run did not hold: its pass rate on the shared cases fell more than the tolerance below the baseline's, or a run crashed in the harness | +| 2 | A setup error: settings, the renderer or its token, the preflight render, an unpriced model, or no matching case | +| 3 | `--budget-usd` stopped the run | +| 4 | An outage stopped the run: the renderer became unavailable (the pipeline's `RendererUnavailable`), or 3 runs in a row ended in an error | + +Ctrl-C, exit codes 3 and 4 all write the partial report before the harness stops. + +### Run spike X + +Spike X is the go or no-go for phase 1: 10 specs times matplotlib and seaborn times 6 datasets (renamed, x10, n=12, n=5000, date, decimal comma) on both arms, under $25 in total. The full matrix is those 120 generated cases plus the two hand-written ones. At list price a full run is estimated at about $1 on the Claude arm and $10 to $15 on the Gemini arm. The budgets below leave $3 of the $25 for headroom, because a budget is checked between cases. + +1. Count the catalogue files the network can adapt at all (no model call, about 10 seconds). The report lists the eligible, coupled and blocked pairs per library, the blocked ones by reason (SECURITY findings by rule id, a missing `THEME` block, a savefig target other than `f"plot-{THEME}.png"`, the map specs): + + ```bash + uv run --extra agents python -m agents.evals.eligibility --out agents/evals/reports/spike-x + ``` + +2. Run the Claude arm in its own directory and write the first baseline: + + ```bash + uv run --extra agents python -m agents.evals.matrix --provider anthropic-vertex --location eu \ + --cases full --renderer remote --render-url https://RENDERER_URL --gcloud-token --budget-usd 4 \ + --out agents/evals/reports/spike-x-claude --no-baseline --save-baseline + ``` + +3. Run the Gemini arm and write its baseline. It compares itself with the Claude baseline from step 2, so exit code 1 here means "Gemini passed more than 5 points less often than Claude", which is a result, not a failed run: + + ```bash + uv run --extra agents python -m agents.evals.matrix --provider gemini --location eu \ + --cases full --renderer remote --render-url https://RENDERER_URL --gcloud-token --budget-usd 18 \ + --out agents/evals/reports/spike-x-gemini --save-baseline + ``` + +4. Merge both runs into one blind gallery. It samples 30 case runs that passed in both arms and shows both renders of each, shuffled, without saying which arm made which; the key goes into a separate file: + + ```bash + uv run --extra agents python -m agents.evals.report blind \ + --report agents/evals/reports/spike-x-claude/-claude-haiku-5-5.json \ + --report agents/evals/reports/spike-x-gemini/-gemini-3.8-flash.json \ + --out agents/evals/reports/spike-x-blind + ``` + +5. Open `agents/evals/reports/spike-x-blind/blind.html`, judge every render, and export the judgements. Do not open the two arms' own galleries or `blind-key.json` before you have judged. +6. Score the export per arm: + + ```bash + uv run --extra agents python -m agents.evals.report score \ + --key agents/evals/reports/spike-x-blind/blind-key.json ~/Downloads/judgements-.json + ``` + +7. Check the exit criteria in the design: at least 80 % pass after at most one repair, an owner acceptance of at least 75 % on the sample, and a median cost of at most $0.05 per successful plot. +8. Commit `agents/evals/baselines/claude-haiku-5-5.json` and `gemini-3.8-flash.json` once you accept the runs. From then on, `tests/unit/agents/evals/test_baselines.py` requires a baseline for the pinned model. If `--save-baseline` refused a run because a case ended in an error, fix the cause and rerun that arm. + +### Regenerate the fixtures + +The 120 generated cases come from `evals/make_fixtures.py`. After you change it, or when a NumPy upgrade changes a random stream, rerun it and commit the result: + +```bash +uv run --extra agents python -m agents.evals.make_fixtures +uv run --extra agents python -m agents.evals.make_fixtures --check # exit 1 when a committed file is stale +``` diff --git a/agents/anyplot/models.py b/agents/anyplot/models.py index 042f95e338..97f21f5911 100644 --- a/agents/anyplot/models.py +++ b/agents/anyplot/models.py @@ -266,13 +266,20 @@ def make_content_config(kind: ModelKind, settings: AgentSettings | None = None) class JudgeVerdict(BaseModel): - """What the judge decided, the reply language it saw, and the tokens it cost.""" + """What the judge decided, the reply language it saw, and the tokens it cost. + + `tokens` is the total the budgets count; `input_tokens` and `output_tokens` split + it for the attribution log, so the eval harness can price the judge at the input + and output rates (output includes thinking tokens on Gemini). + """ model_config = ConfigDict(extra="ignore") verdict: Verdict lang: str = "en" tokens: int = Field(default=0, ge=0) + input_tokens: int = Field(default=0, ge=0) + output_tokens: int = Field(default=0, ge=0) @field_validator("lang", mode="before") @classmethod @@ -353,8 +360,17 @@ async def _attempt(self, text: str, rubric: str) -> JudgeVerdict: if not isinstance(answer, dict): raise ValueError("the judge answered without a verdict") usage = message.usage - tokens = int(getattr(usage, "input_tokens", 0) or 0) + int(getattr(usage, "output_tokens", 0) or 0) - return JudgeVerdict(**_JudgeAnswer.model_validate(answer).model_dump(), tokens=tokens) + input_tokens = sum( + int(getattr(usage, name, 0) or 0) + for name in ("input_tokens", "cache_read_input_tokens", "cache_creation_input_tokens") + ) + output_tokens = int(getattr(usage, "output_tokens", 0) or 0) + return JudgeVerdict( + **_JudgeAnswer.model_validate(answer).model_dump(), + tokens=input_tokens + output_tokens, + input_tokens=input_tokens, + output_tokens=output_tokens, + ) async def judge(self, text: str, rubric: str) -> JudgeVerdict: return await _within_budget(self._attempt, text, rubric, self.timeout_s) @@ -395,8 +411,18 @@ async def _attempt(self, text: str, rubric: str) -> JudgeVerdict: ) answer = _JudgeAnswer.model_validate_json(response.text or "") usage = response.usage_metadata - tokens = int(getattr(usage, "total_token_count", 0) or 0) if usage else 0 - return JudgeVerdict(**answer.model_dump(), tokens=tokens) + + def count(name: str) -> int: + return int(getattr(usage, name, 0) or 0) if usage else 0 + + input_tokens = count("prompt_token_count") + count("tool_use_prompt_token_count") + output_tokens = count("candidates_token_count") + count("thoughts_token_count") + return JudgeVerdict( + **answer.model_dump(), + tokens=count("total_token_count"), + input_tokens=input_tokens, + output_tokens=output_tokens, + ) async def judge(self, text: str, rubric: str) -> JudgeVerdict: return await _within_budget(self._attempt, text, rubric, self.timeout_s) diff --git a/agents/anyplot/pipeline.py b/agents/anyplot/pipeline.py index f55218d930..34c51d686f 100644 --- a/agents/anyplot/pipeline.py +++ b/agents/anyplot/pipeline.py @@ -42,6 +42,16 @@ `failed` names its reason; `not_ready` comes before any model call. Progress goes out as content-free events with `custom_metadata={"anyplot_status": {"step", "attempt"}}`, which the stream translator turns into `status` events and no model ever reads. + +Every step also writes one content-free attribution line (`plugins/ledger.attribution`): +`pipeline_adapt` (the answer's outcome and edit count), `pipeline_check` (edit-apply +failure count, blocking validator rule ids, ADAPTATION rule ids), `pipeline_render` +(render and wall time, the gate ids that failed or reported), `pipeline_review` (the +verdict and its defect ids) and `pipeline_result` (status, reason, attempts, whether +the shipped render was padded or carries ADAPTATION or probe findings, and the +exception class behind reason `error`). The +eval harness (`agents/evals/matrix.py`) reads them per case; they never carry code, +data, column names or model text. """ import json @@ -66,7 +76,7 @@ from .code.validate import validate_adaptation, validate_security from .data.bindings import check_bindings from .data.store import StoredDataset -from .plugins.ledger import budget_allows, ledger_for +from .plugins.ledger import RequestLedger, attribution, budget_allows, ledger_for from .policy import DATA_PREAMBLE, fence from .render.contract import RendererUnavailable, RenderJob, Theme from .render.gates import data_rows, evaluate @@ -145,6 +155,10 @@ class Candidate: advisory_lines: list[str] = field(default_factory=list) reviewed_ok: bool | None = None render_id: str | None = None + adaptation_rules: list[str] = field(default_factory=list) + """The ADAPTATION validator rule ids behind `adaptation_lines`, for the attribution log.""" + advisory_gates: list[str] = field(default_factory=list) + """The advisory probe gate ids (`G3`, `G5`, `G7`, `G8`) behind `advisory_lines`, for the attribution log.""" @dataclass @@ -162,6 +176,8 @@ class Run: reason: FailureReason | None = None rendered: bool = False unreviewed_why: str | None = None + error_type: str | None = None + """The exception class that ended the run with reason `error` (content-free, for the attribution log).""" def _line(text: str) -> str: @@ -264,31 +280,42 @@ def _clip_feedback(lines: list[str]) -> list[str]: return unique[:MAX_FEEDBACK] -def _check(working: str, *, library: str, palette: list[str], base: str) -> tuple[bool, list[str], list[str]]: - """Validate a working form against its base: (may render, blocking lines, adaptation defect lines).""" +@dataclass(frozen=True) +class CheckResult: + """The validator verdict on a working form: its lines for the repair, and its rule ids for the attribution log.""" + + may_render: bool + blocking: list[str] + defects: list[str] + blocking_rules: list[str] + adaptation_rules: list[str] + + +def _check(working: str, *, library: str, palette: list[str], base: str) -> CheckResult: + """Validate a working form against its base: may it render, the blocking lines, the adaptation defect lines.""" security = validate_security(working, library=library) adaptation = validate_adaptation(working, original_palette=palette) - blocking = [f"validator {f.rule}" + (f" (line {f.line})" if f.line else "") + f": {f.message}" for f in security] - blocking += [ - f"validator {f.rule}" + (f" (line {f.line})" if f.line else "") + f": {f.message}" - for f in adaptation - if f.rule in BLOCKING_RULES + blocking_findings = [*security, *(f for f in adaptation if f.rule in BLOCKING_RULES)] + blocking = [ + f"validator {f.rule}" + (f" (line {f.line})" if f.line else "") + f": {f.message}" for f in blocking_findings ] + blocking_rules = [f.rule for f in blocking_findings] added = new_literal_chars(base, working) if added > MAX_NEW_LITERAL_CHARS: + blocking_rules.append("literal-budget") blocking.append( f"validator literal-budget: the plan adds {added} characters of new string literals, " f"{added - MAX_NEW_LITERAL_CHARS} over the limit of {MAX_NEW_LITERAL_CHARS} → derive text and values " "from df instead of writing them out. Likely cause: data or long text written into the code." ) + soft = [f for f in adaptation if f.rule not in BLOCKING_RULES] defects = [ f"{ADAPTATION_IDS.get(f.rule, 'SC-03')} (code): {f.message}" + (f" at line {f.line}" if f.line else "") + f" → derive it from df and the Imprint palette. Likely cause: the adaptation ({f.rule})." - for f in adaptation - if f.rule not in BLOCKING_RULES + for f in soft ] - return not blocking, blocking, defects + return CheckResult(not blocking, blocking, defects, blocking_rules, [f.rule for f in soft]) def finish(run: Run) -> PlotResult: @@ -420,6 +447,7 @@ async def run_pipeline(ctx: Context, node_input: PipelineArgs) -> AsyncGenerator except Exception as exc: # every failure ends in a PlotResult; the type is logged, never the message logger.warning("pipeline failed: %s", type(exc).__name__) run.reason = "error" + run.error_type = type(exc).__name__ run.unreviewed_why = run.unreviewed_why or "an internal error stopped the run" finally: ledger.pipeline_active = False @@ -431,10 +459,37 @@ async def run_pipeline(ctx: Context, node_input: PipelineArgs) -> AsyncGenerator except Exception as exc: # a result whose artifacts cannot be stored is not shippable logger.warning("storing the version failed: %s", type(exc).__name__) result = PlotResult(status="failed", reason="error", attempts=run.attempts) + run.error_type = run.error_type or type(exc).__name__ + _attribute_result(ledger, run, result) yield close_scope(scope) yield _result_event(result) +def _attribute_result(ledger: RequestLedger, run: Run, result: PlotResult) -> None: + """The content-free outcome line of one pipeline run: what the eval harness's pass and gate counts read. + + `padded`, `adaptation` (ADAPTATION rule ids) and `advisory` (probe gate ids) describe + the shipped render; a failed run has none. `error` is the exception class behind + reason `error` (for example `RendererUnavailable`, which the harness treats as an + outage rather than a model failure), never its message. + """ + shipped = (run.best or run.padded) if result.status in ("ok", "needs_attention") else None + attribution( + "pipeline_result", + ledger, + status=result.status, + reason=result.reason, + attempts=result.attempts, + theme=run.theme, + reviewed=run.reviewed, + padded=bool(shipped and shipped.padded), + adaptation=list(shipped.adaptation_rules) if shipped else [], + advisory=list(shipped.advisory_gates) if shipped else [], + residual=len(result.residual_defects), + error=run.error_type if result.reason == "error" else None, + ) + + def close_scope(scope: str) -> Event: """The event that ends the sub-agents' isolation scope. @@ -494,23 +549,44 @@ async def _attempts( ledger.adapter_allow_full = request.allow_full answer = await _adapt(ctx, scope, render_adapt_request(request, view), view.library) if isinstance(answer, str): + attribution("pipeline_adapt", ledger, attempt=attempt, outcome="schema") feedback, previous_plan = [answer], None continue plan = answer if plan.full_code is not None and not request.allow_full: + attribution("pipeline_adapt", ledger, attempt=attempt, outcome="full_code_refused") feedback, previous_plan = ["full_code is allowed only on the second attempt; send edits instead"], None continue + attribution( + "pipeline_adapt", + ledger, + attempt=attempt, + outcome="plan", + edits=len(plan.edits), + full_code=plan.full_code is not None, + ) yield _status("checking", attempt) applied = apply_plan(working, plan) if applied.code is None: + attribution( + "pipeline_check", ledger, attempt=attempt, outcome="edits_failed", edit_failures=len(applied.failures) + ) feedback, previous_plan = applied.failures, plan continue - may_render, blocking, adaptation_lines = _check( - applied.code, library=view.library, palette=palette, base=working + check = _check(applied.code, library=view.library, palette=palette, base=working) + adaptation_lines = check.defects + attribution( + "pipeline_check", + ledger, + attempt=attempt, + outcome="ok" if check.may_render else "rejected", + edit_failures=0, + validator=check.blocking_rules, + adaptation=check.adaptation_rules, ) - if not may_render: - feedback, previous_plan = blocking, plan + if not check.may_render: + feedback, previous_plan = check.blocking, plan continue working, previous_plan = applied.code, None try: @@ -521,6 +597,7 @@ async def _attempts( parse_dates=list(dataset.parse_dates), ) except ValueError as exc: + attribution("pipeline_check", ledger, attempt=attempt, outcome="loader_failed", edit_failures=0) feedback = [_line(f"the code could not take the data loader: {exc}")] continue @@ -534,7 +611,21 @@ async def _attempts( themes=(run.theme,), timeout_s=deadline.clamp(settings.render_timeout_s), ) - report = evaluate(await services.backend.render(job), themes=job.themes, library=view.library, rows=rows) + started = time.monotonic() + rendered = await services.backend.render(job) + render_s = time.monotonic() - started + report = evaluate(rendered, themes=job.themes, library=view.library, rows=rows) + attribution( + "pipeline_render", + ledger, + attempt=attempt, + theme=run.theme, + render_s=round(render_s, 3), + wall_s={theme: round(output.wall_s, 3) for theme, output in rendered.outputs.items()}, + passed=report.passed_host_gates, + canvas_ok=report.canvas_ok, + gates=report.failed_gates, + ) run.rendered = True if not report.passed_host_gates: feedback = [*report.blocking, *adaptation_lines] @@ -549,6 +640,8 @@ async def _attempts( canvas_line=report.canvas_defects[0] if report.canvas_defects else None, adaptation_lines=adaptation_lines, advisory_lines=list(report.advisory), + adaptation_rules=check.adaptation_rules, + advisory_gates=[gate for gate in report.failed_gates if gate.startswith("G")], ) if report.canvas_ok: run.best = candidate @@ -583,8 +676,16 @@ async def _attempts( ), ) if verdict is None: + attribution("pipeline_review", ledger, attempt=attempt, verdict="unreadable") run.unreviewed_why = "the review answer could not be read" return + attribution( + "pipeline_review", + ledger, + attempt=attempt, + verdict="ok" if verdict.ok else "defects", + defects=[defect.id for defect in verdict.defects], + ) run.reviewed = True candidate.reviewed_ok = verdict.ok if verdict.ok: diff --git a/agents/anyplot/plugins/budget.py b/agents/anyplot/plugins/budget.py index 62ae1a52bc..2e4dbe4d94 100644 --- a/agents/anyplot/plugins/budget.py +++ b/agents/anyplot/plugins/budget.py @@ -8,7 +8,9 @@ `PlotResult(failed, reason=budget)` instead. * `after_model_callback` books every response's tokens (prompt + candidates + thoughts + tool-use prompt; cached tokens are counted separately and never twice), - the call and the `model_version`, and writes one content-free attribution line. + the call and the `model_version`, and writes one content-free attribution line + with the token counts by kind (`ledger.usage_breakdown`), which the eval harness + prices (`agents/evals/pricing.py`). * `before_tool_callback` on `plot_pipeline` counts the user's daily pipeline runs and refuses the call with `{"status": "error", "code": "budget"}` past `AGENT_DAILY_PIPELINE_RUNS`. A second call in the same invocation, and a call @@ -32,7 +34,7 @@ from ..policy import refusal from ..services import get_services from ..settings import get_settings -from .ledger import attribution, budget_allows, ledger_for, usage_tokens +from .ledger import attribution, budget_allows, ledger_for, usage_breakdown, usage_tokens from .tool_safety import ToolSafetyPlugin @@ -92,6 +94,7 @@ async def after_model_callback( agent=callback_context.agent_name, billable=billable, cached=cached, + **usage_breakdown(llm_response.usage_metadata), model_version=llm_response.model_version, finish_reason=str(llm_response.finish_reason) if llm_response.finish_reason else None, ) diff --git a/agents/anyplot/plugins/ledger.py b/agents/anyplot/plugins/ledger.py index 9c4cce9d6f..6d80872c15 100644 --- a/agents/anyplot/plugins/ledger.py +++ b/agents/anyplot/plugins/ledger.py @@ -176,6 +176,29 @@ def count(name: str) -> int: return billable, count("cached_content_token_count") +USAGE_FIELDS: dict[str, str] = { + "prompt": "prompt_token_count", + "candidates": "candidates_token_count", + "thoughts": "thoughts_token_count", + "tool_use_prompt": "tool_use_prompt_token_count", + "cache_write": "cache_creation_input_tokens", +} +"""The `usage_metadata` counts the attribution line carries by kind (`cached` is logged on its own). + +`prompt` includes the cached and cache-write tokens (ADK folds Anthropic's disjoint counts +into one prompt count); `cache_write` is the Anthropic cache-creation count ADK attaches to +the usage object. The eval harness prices each kind at its own rate.""" + + +def usage_breakdown(usage: Any) -> dict[str, int]: + """The token counts of `usage_metadata` by kind (`USAGE_FIELDS`); a missing count is 0.""" + counts: dict[str, int] = {} + for key, name in USAGE_FIELDS.items(): + value = getattr(usage, name, None) if usage is not None else None + counts[key] = int(value) if isinstance(value, int) else 0 + return counts + + def argument_hash(arguments: Any) -> str: """A short, stable hash of tool arguments, so logs can correlate calls without their content.""" try: diff --git a/agents/anyplot/plugins/scope_guard.py b/agents/anyplot/plugins/scope_guard.py index e8dd6468b1..057fd3970f 100644 --- a/agents/anyplot/plugins/scope_guard.py +++ b/agents/anyplot/plugins/scope_guard.py @@ -111,7 +111,15 @@ async def _judge( ledger.judge_tokens += verdict.tokens services.usage.add_tokens(user, verdict.tokens) ledger.lang = verdict.lang - attribution("scope_guard", ledger, verdict=verdict.verdict, lang=verdict.lang, judge_tokens=verdict.tokens) + attribution( + "scope_guard", + ledger, + verdict=verdict.verdict, + lang=verdict.lang, + judge_tokens=verdict.tokens, + judge_input=verdict.input_tokens, + judge_output=verdict.output_tokens, + ) if verdict.verdict != "in_scope": ledger.refuse("out_of_scope", refusal("out_of_scope", verdict.lang)) return _withheld() diff --git a/agents/anyplot/render/gates.py b/agents/anyplot/render/gates.py index 64ef642e5f..508753f306 100644 --- a/agents/anyplot/render/gates.py +++ b/agents/anyplot/render/gates.py @@ -99,6 +99,10 @@ class GateReport: blocking: list[str] = field(default_factory=list) canvas_defects: list[str] = field(default_factory=list) advisory: list[str] = field(default_factory=list) + failed_gates: list[str] = field(default_factory=list) + """The ids of the gates that failed or reported, one entry per theme and finding: `R1`, + `R1-timeout`, `R2`, `R3`, then the probe gates `G3`, `G5`, `G7`, `G8` in the order the + probe checks run (not sorted). Content-free, for the attribution log.""" @property def defects(self) -> list[str]: @@ -214,10 +218,12 @@ def evaluate(result: RenderResult, *, themes: Sequence[Theme], library: str, row output = result.outputs.get(theme) if output is None: report.blocking.append(_line(f"render ({theme}): the renderer returned no output for this theme")) + report.failed_gates.append("R1") report.passed_host_gates = False continue if output.timed_out: report.blocking.append(_line(f"render ({theme}): the code did not finish within the time limit")) + report.failed_gates.append("R1-timeout") report.passed_host_gates = False continue stopped = limit_line(theme, output.reason, output.measured, output.limit) @@ -231,12 +237,14 @@ def evaluate(result: RenderResult, *, themes: Sequence[Theme], library: str, row else: reason = f"the code failed with {error_summary(output.stderr_tail)}" report.blocking.append(_line(f"render ({theme}): {reason}; fix the code so it runs on the user's data")) + report.failed_gates.append("R1") report.passed_host_gates = False continue try: hardened = harden(output.png) except PngRejected as exc: report.blocking.append(_line(f"render ({theme}): {exc}")) + report.failed_gates.append("R2") report.passed_host_gates = False continue report.pngs[theme] = hardened.data @@ -244,10 +252,12 @@ def evaluate(result: RenderResult, *, themes: Sequence[Theme], library: str, row if not verdict.ok: report.canvas_ok = False missed.append(theme) + report.failed_gates.append("R3") if verdict.defect_line and verdict.defect_line not in report.canvas_defects: report.canvas_defects.append(_line(verdict.defect_line)) report.padded_pngs[theme] = pad_to(hardened.data, verdict.target) - for line in _probe_lines(output.probe, rows): + for gate, line in _probe_lines(output.probe, rows): + report.failed_gates.append(gate) advisory.setdefault(line, []).append(theme) if len(missed) == 1: # `core.canvas` writes the line as `(both)`; name the one theme that missed. @@ -271,19 +281,19 @@ def _finite(values: Any, count: int) -> list[float] | None: return numbers if all(math.isfinite(number) for number in numbers) else None -def _probe_lines(probe: dict[str, Any] | None, rows: int) -> list[str]: - """Advisory defect lines from one theme's probe; a malformed probe yields none, never an exception.""" +def _probe_lines(probe: dict[str, Any] | None, rows: int) -> list[tuple[str, str]]: + """Advisory `(gate, line)` pairs from one theme's probe; a malformed probe yields none, never an exception.""" try: return _probe_lines_unchecked(probe, rows) except (ValueError, TypeError, OverflowError, AttributeError): return [] -def _probe_lines_unchecked(probe: dict[str, Any] | None, rows: int) -> list[str]: - """Advisory defect lines from one theme's probe; `(THEME)` is filled in by the caller.""" +def _probe_lines_unchecked(probe: dict[str, Any] | None, rows: int) -> list[tuple[str, str]]: + """Advisory `(gate, line)` pairs from one theme's probe; `(THEME)` is filled in by the caller.""" if not isinstance(probe, dict): return [] - lines: list[str] = [] + lines: list[tuple[str, str]] = [] canvas = _finite(probe.get("canvas"), 2) texts = probe.get("texts") if canvas is not None and isinstance(texts, list): @@ -297,25 +307,37 @@ def _probe_lines_unchecked(probe: dict[str, Any] | None, rows: int) -> list[str] worst = max(worst, -x0, -y0, x1 - width, y1 - height) if worst > CLIP_TOLERANCE_PX: lines.append( - f"AR-09 (THEME): text extends {round(worst)} px beyond the canvas edge → keep every text inside " - "the canvas. Likely cause: a label position, a long tick label or a large font size." + ( + "G3", + f"AR-09 (THEME): text extends {round(worst)} px beyond the canvas edge → keep every text inside " + "the canvas. Likely cause: a label position, a long tick label or a large font size.", + ) ) overlaps = probe.get("tick_overlaps") if isinstance(overlaps, int) and overlaps > 0: lines.append( - f"VQ-02 (THEME): {overlaps} pairs of tick labels overlap → no overlapping tick labels. " - "Likely cause: too many ticks for the axis length, or unrotated long labels." + ( + "G7", + f"VQ-02 (THEME): {overlaps} pairs of tick labels overlap → no overlapping tick labels. " + "Likely cause: too many ticks for the axis length, or unrotated long labels.", + ) ) outside = probe.get("annotations_outside") if isinstance(outside, int) and outside > 0: lines.append( - f"DQ-03 (THEME): {outside} annotations lie outside their axes → place annotations from a rule over df " - "or remove them. Likely cause: an annotation at a data coordinate of the example data." + ( + "G5", + f"DQ-03 (THEME): {outside} annotations lie outside their axes → place annotations from a rule over " + "df or remove them. Likely cause: an annotation at a data coordinate of the example data.", + ) ) points = probe.get("points") if isinstance(points, int) and rows > 0 and points > rows * G8_FACTOR + G8_SLACK: lines.append( - f"DQ-03 (code): the plot draws {points} point marks for {rows} data rows → draw marks only from df. " - "Likely cause: generated or duplicated data." + ( + "G8", + f"DQ-03 (code): the plot draws {points} point marks for {rows} data rows → draw marks only from df. " + "Likely cause: generated or duplicated data.", + ) ) return lines diff --git a/agents/evals/baselines/README.md b/agents/evals/baselines/README.md new file mode 100644 index 0000000000..6ec0536dcb --- /dev/null +++ b/agents/evals/baselines/README.md @@ -0,0 +1,11 @@ +# Eval baselines + +Each file here is a full report of the regression harness (`agents/evals/matrix.py`), named after the model it ran: `claude-haiku-5-5.json` for the pinned default, `gemini-3.8-flash.json` for the Gemini arm. A harness run compares itself with the pinned model's baseline by default, over the cases both reports hold, and exits with code 1 when its pass rate on those cases falls more than the tolerance below the baseline's. + +`claude-haiku-5-5.json` is the first spike-X run on the Claude arm (2026-10-10: 122 cases, 102 passed the gates, $0.52 at list price). The Gemini arm's run creates `gemini-3.8-flash.json` the same way (see "Run spike X" in `agents/README.md`): + +```bash +uv run --extra agents python -m agents.evals.matrix --cases full --save-baseline ... +``` + +Review the run's gallery before you commit the file. `--save-baseline` refuses a run that stopped early, included promoted cases (`agents/evals/.cases/`, which hold users' data, while a baseline is committed), or has any run that ended in an error (a harness crash or a pipeline `error`, which measures an outage or a bug, not the model). Once a baseline exists, `tests/unit/agents/evals/test_baselines.py` requires one for the pinned model, so a model bump adds the new model's baseline in the same PR. diff --git a/agents/evals/baselines/claude-haiku-5-5.json b/agents/evals/baselines/claude-haiku-5-5.json new file mode 100644 index 0000000000..98b5edee08 --- /dev/null +++ b/agents/evals/baselines/claude-haiku-5-5.json @@ -0,0 +1,9562 @@ +{ + "schema": 1, + "stamp": { + "run_id": "4b5730766e6a", + "date": "2026-10-10", + "started_at": "2026-10-10T00:26:34+00:00", + "finished_at": "2026-10-10T01:04:51+00:00", + "provider": "anthropic-vertex", + "model": "claude-haiku-5-5", + "judge_model": "claude-haiku-5-5", + "location": "eu", + "renderer": "remote", + "render_url": "https://anyplot-renderer-spike-r3tvmejsmq-ez.a.run.app", + "adk_version": "2.11.0", + "anthropic_version": "1.8.0", + "service_version": "3.3.0", + "python": "3.13.12", + "git_sha": "27483822dbc716ab7a7777591bf75b1193e66ba6", + "prompt_hashes": { + "root": "5b2f2d0c2f26ee61", + "reviewer": "a74533c41581d02d", + "adapter_matplotlib": "1a4705ab66b74c43", + "adapter_seaborn": "f8dea9a822b937c7" + }, + "prices_usd_per_mtok": { + "claude-haiku-5-5": { + "input": 0.1, + "output": 0.5 + } + }, + "location_surcharge": 0.1, + "cases": "full", + "case_count": 122, + "repeats": 1, + "budget_usd": 4.0, + "tolerance": 0.05, + "gallery_seed": 0, + "baseline": null, + "argv": [ + "--provider", + "anthropic-vertex", + "--location", + "eu", + "--cases", + "full", + "--renderer", + "remote", + "--render-url", + "https://anyplot-renderer-spike-r3tvmejsmq-ez.a.run.app", + "--gcloud-token", + "--budget-usd", + "4", + "--out", + "agents/evals/reports/spike-x-claude", + "--no-baseline", + "--save-baseline" + ] + }, + "summary": { + "runs": 122, + "counted": 122, + "harness_errors": 0, + "pipeline_errors": 0, + "statuses": { + "failed": 10, + "needs_attention": 98, + "ok": 14 + }, + "passed": 102, + "pass_rate": 0.8360655737704918, + "repaired_passes": 93, + "ok_rate": 0.11475409836065574, + "accept_judged": 122, + "accept_match_rate": 0.11475409836065574, + "cost_total_usd": 0.5247241340000001, + "cost_per_run_usd": 0.004301017491803279, + "cost_per_success_usd": 0.005144354254901962, + "median_cost_per_success_usd": 0.004145647, + "latency_s": { + "e2e_p50": 18.465903488497133, + "e2e_p95": 25.136452626697427, + "ttfe_p50": 0.45433214950026013, + "ttfe_p95": 0.8181981615569384, + "render_p50": 4.049, + "render_p95": 5.0683 + }, + "llm_calls_per_run": 4.770491803278689, + "tokens": { + "cache_write": 1639506, + "cached": 5949299, + "candidates": 390034, + "judge_input": 132011, + "judge_output": 7198, + "prompt": 7596541, + "thoughts": 0, + "tool_use_prompt": 0 + }, + "gate_failures": { + "G3": 100, + "R1": 10 + }, + "validator_rejections": { + "banned-call": 3, + "banned-import": 3, + "placeholder-count": 8 + }, + "adapter_outcomes": { + "plan": 208, + "schema": 27 + }, + "edit_apply_failures": 19, + "reviewer": { + "None": 19, + "defects": 71, + "ok": 14, + "unreadable": 18 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "by_perturbation": { + "custom": { + "runs": 2, + "passed": 2, + "ok": 0, + "pass_rate": 1.0 + }, + "date": { + "runs": 20, + "passed": 17, + "ok": 3, + "pass_rate": 0.85 + }, + "decimal-comma": { + "runs": 20, + "passed": 17, + "ok": 3, + "pass_rate": 0.85 + }, + "n12": { + "runs": 20, + "passed": 14, + "ok": 2, + "pass_rate": 0.7 + }, + "n5000": { + "runs": 20, + "passed": 16, + "ok": 0, + "pass_rate": 0.8 + }, + "renamed": { + "runs": 20, + "passed": 17, + "ok": 2, + "pass_rate": 0.85 + }, + "x10": { + "runs": 20, + "passed": 19, + "ok": 4, + "pass_rate": 0.95 + } + }, + "by_library": { + "matplotlib": { + "runs": 61, + "passed": 48, + "ok": 7, + "pass_rate": 0.7868852459016393 + }, + "seaborn": { + "runs": 61, + "passed": 54, + "ok": 7, + "pass_rate": 0.8852459016393442 + } + }, + "by_spec": { + "area-basic": { + "runs": 12, + "passed": 11, + "ok": 1, + "pass_rate": 0.9166666666666666 + }, + "bar-grouped": { + "runs": 13, + "passed": 11, + "ok": 0, + "pass_rate": 0.8461538461538461 + }, + "box-basic": { + "runs": 12, + "passed": 6, + "ok": 3, + "pass_rate": 0.5 + }, + "heatmap-basic": { + "runs": 12, + "passed": 10, + "ok": 0, + "pass_rate": 0.8333333333333334 + }, + "histogram-basic": { + "runs": 12, + "passed": 11, + "ok": 0, + "pass_rate": 0.9166666666666666 + }, + "line-basic": { + "runs": 12, + "passed": 12, + "ok": 6, + "pass_rate": 1.0 + }, + "line-timeseries": { + "runs": 12, + "passed": 12, + "ok": 2, + "pass_rate": 1.0 + }, + "pie-basic": { + "runs": 12, + "passed": 7, + "ok": 0, + "pass_rate": 0.5833333333333334 + }, + "scatter-basic": { + "runs": 13, + "passed": 12, + "ok": 1, + "pass_rate": 0.9230769230769231 + }, + "violin-basic": { + "runs": 12, + "passed": 10, + "ok": 1, + "pass_rate": 0.8333333333333334 + } + } + }, + "runs": [ + { + "case_id": "area-basic-matplotlib-date", + "repeat": 1, + "spec_id": "area-basic", + "library": "matplotlib", + "perturbation": "date", + "expected": "accepted", + "tags": [ + "area", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "date-axis" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-01 (light): Tick labels and offset/annotation text (e.g. '2026-Mar' at bottom right) are small and light grey, low legibility at full size → tick labels about 12 pt equivalent, annotation in INK_SOFT at readable size (about +4 pt). Likely cause: ax.tick_params labelsize=8 and the ConciseDateFormatter offset text not sized from theme/size tokens.", + "SC-03 (light): Plot fills from y=0 but the y-axis is a hard-coded 0 to max*1.06 while area ends at the right edge with a visible vertical edge line; the 2026-Mar offset label overlaps the x-axis label region → offset label moved clear of the 'Date' axis title with no overlap. Likely cause: ConciseDateFormatter offset text placed at default bottom-right position colliding with xlabel." + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1, + "schema": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-01", + "SC-03" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66024, + "candidates": 3384, + "thoughts": 0, + "cached": 0, + "cache_write": 65956, + "tool_use_prompt": 0, + "judge_input": 1081, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.01108899, + "ttfe_s": 1.265088084997842, + "e2e_s": 18.16307633300312, + "queue_s": 0.0, + "render_s": [ + 2.979 + ], + "render_wall_s": [ + 2.844 + ], + "turns": 1, + "png": "renders/area-basic-matplotlib-date-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "area-basic-matplotlib-decimal-comma", + "repeat": 1, + "spec_id": "area-basic", + "library": "matplotlib", + "perturbation": "decimal-comma", + "expected": "accepted", + "tags": [ + "area", + "decimal-comma", + "synthetic", + "semicolon" + ], + "origin": "fixtures", + "status": "ok", + "reason": null, + "attempts": 1, + "passed": true, + "accepted": true, + "accept_match": true, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "ok", + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_matplotlib": 1, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 45596, + "candidates": 1396, + "thoughts": 0, + "cached": 20559, + "cache_write": 24989, + "tool_use_prompt": 0, + "judge_input": 1036, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0045816265, + "ttfe_s": 0.5490051340020727, + "e2e_s": 9.433953694009688, + "queue_s": 0.0, + "render_s": [ + 2.839 + ], + "render_wall_s": [ + 2.712 + ], + "turns": 1, + "png": "renders/area-basic-matplotlib-decimal-comma-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "area-basic-matplotlib-n12", + "repeat": 1, + "spec_id": "area-basic", + "library": "matplotlib", + "perturbation": "n12", + "expected": "accepted", + "tags": [ + "area", + "n12", + "synthetic", + "small" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 32 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "VQ-01 (light): tick labels and axis titles render small relative to canvas (tick labels about 8pt, axis titles 10pt) and look faint in INK_SOFT → tick labels about 10pt and axis titles about 12pt for legibility at full size. Likely cause: ax.tick_params labelsize=8 and set_xlabel/set_ylabel fontsize=10 are below the style-guide sizing defaults." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-01" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65325, + "candidates": 2569, + "thoughts": 0, + "cached": 53496, + "cache_write": 11761, + "tool_use_prompt": 0, + "judge_input": 1036, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0037724334999999997, + "ttfe_s": 0.4783666620060103, + "e2e_s": 15.375622872001259, + "queue_s": 0.0, + "render_s": [ + 2.739, + 2.651 + ], + "render_wall_s": [ + 2.619, + 2.578 + ], + "turns": 1, + "png": "renders/area-basic-matplotlib-n12-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "area-basic-matplotlib-n5000", + "repeat": 1, + "spec_id": "area-basic", + "library": "matplotlib", + "perturbation": "n5000", + "expected": "accepted", + "tags": [ + "area", + "n5000", + "synthetic", + "large" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-03 (light): 5000 dense daily points drawn with a thick 2.5-width opaque line, so the line merges into a solid mass and the trend is hidden → thinner line (about 1.2-1.5) with reduced marker/line density so individual variation remains visible. Likely cause: ax.plot linewidth=2.5 set without density adaptation for high-row-count data.", + "VQ-06 (light): plot title is empty string, so no title names the user's energy data → a title naming the energy use per day dataset. Likely cause: title variable set to an empty string." + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-03", + "VQ-06" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65401, + "candidates": 2053, + "thoughts": 0, + "cached": 53496, + "cache_write": 11837, + "tool_use_prompt": 0, + "judge_input": 1036, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0034990835000000002, + "ttfe_s": 0.42618662300810684, + "e2e_s": 15.711657444000593, + "queue_s": 0.0, + "render_s": [ + 3.059, + 3.09 + ], + "render_wall_s": [ + 2.913, + 2.978 + ], + "turns": 1, + "png": "renders/area-basic-matplotlib-n5000-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "area-basic-matplotlib-renamed", + "repeat": 1, + "spec_id": "area-basic", + "library": "matplotlib", + "perturbation": "renamed", + "expected": "accepted", + "tags": [ + "area", + "renamed", + "synthetic", + "renamed-headers", + "smoke" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 1, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "the plot was not reviewed (the review answer could not be read)" + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "unreadable", + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_matplotlib": 1, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 45632, + "candidates": 1743, + "thoughts": 0, + "cached": 18862, + "cache_write": 26722, + "tool_use_prompt": 0, + "judge_input": 1040, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004992537, + "ttfe_s": 0.49122639100824017, + "e2e_s": 10.694020310009364, + "queue_s": 0.0, + "render_s": [ + 2.749 + ], + "render_wall_s": [ + 2.625 + ], + "turns": 1, + "png": "renders/area-basic-matplotlib-renamed-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "area-basic-matplotlib-x10", + "repeat": 1, + "spec_id": "area-basic", + "library": "matplotlib", + "perturbation": "x10", + "expected": "accepted", + "tags": [ + "area", + "x10", + "synthetic", + "scaled-values" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 7 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "AR-09 (light): the title and axis text extend slightly beyond the canvas edge (gate note: 7 px past the edge) → all text fully inside the canvas (about 7 px inward). Likely cause: fig.subplots_adjust top/left margins and the title placement leave text too close to or past the canvas border.", + "DQ-03 (light): y-axis ticks are fixed by the example's data range and the fill baseline is set to y_min=0.94*min, so the area floor is an arbitrary non-zero value (about 1150) rather than the axis origin → y-axis range derived from the user's values, with the fill anchored at a baseline that matches the axis bottom. Likely cause: ax.fill_between using y_min from visitors.min()*0.94 and the axis limits computed from the same expression." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "AR-09", + "DQ-03" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65515, + "candidates": 2880, + "thoughts": 0, + "cached": 53496, + "cache_write": 11951, + "tool_use_prompt": 0, + "judge_input": 1039, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0039699385, + "ttfe_s": 0.5166838759905659, + "e2e_s": 17.646857475992874, + "queue_s": 0.0, + "render_s": [ + 2.729, + 2.7 + ], + "render_wall_s": [ + 2.593, + 2.614 + ], + "turns": 1, + "png": "renders/area-basic-matplotlib-x10-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "area-basic-seaborn-date", + "repeat": 1, + "spec_id": "area-basic", + "library": "seaborn", + "perturbation": "date", + "expected": "accepted", + "tags": [ + "area", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "date-axis" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 1, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "the plot was not reviewed (the review answer could not be read)" + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "unreadable", + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_seaborn": 1, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 47027, + "candidates": 2669, + "thoughts": 0, + "cached": 18496, + "cache_write": 28483, + "tool_use_prompt": 0, + "judge_input": 1081, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.005744458500000001, + "ttfe_s": 0.45449567699688487, + "e2e_s": 16.370482148005976, + "queue_s": 0.0, + "render_s": [ + 4.74 + ], + "render_wall_s": [ + 4.613 + ], + "turns": 1, + "png": "renders/area-basic-seaborn-date-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "area-basic-seaborn-decimal-comma", + "repeat": 1, + "spec_id": "area-basic", + "library": "seaborn", + "perturbation": "decimal-comma", + "expected": "accepted", + "tags": [ + "area", + "decimal-comma", + "synthetic", + "semicolon" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "the plot was not reviewed (the review answer could not be read)" + ], + "gate_failures": { + "G3": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "unreadable", + "defects": [] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66638, + "candidates": 4201, + "thoughts": 0, + "cached": 18496, + "cache_write": 48074, + "tool_use_prompt": 0, + "judge_input": 1036, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.009278070999999999, + "ttfe_s": 0.5051558289997047, + "e2e_s": 25.949410219996935, + "queue_s": 0.0, + "render_s": [ + 4.747, + 4.619 + ], + "render_wall_s": [ + 4.616, + 4.469 + ], + "turns": 1, + "png": "renders/area-basic-seaborn-decimal-comma-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "area-basic-seaborn-n12", + "repeat": 1, + "spec_id": "area-basic", + "library": "seaborn", + "perturbation": "n12", + "expected": "accepted", + "tags": [ + "area", + "n12", + "synthetic", + "small" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "the plot was not reviewed (the review answer could not be read)" + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1, + "schema": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "unreadable", + "defects": [] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66909, + "candidates": 3776, + "thoughts": 0, + "cached": 52998, + "cache_write": 13843, + "tool_use_prompt": 0, + "judge_input": 1036, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004717080500000001, + "ttfe_s": 0.38530025001091417, + "e2e_s": 18.67188984900713, + "queue_s": 0.0, + "render_s": [ + 4.5 + ], + "render_wall_s": [ + 4.366 + ], + "turns": 1, + "png": "renders/area-basic-seaborn-n12-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "area-basic-seaborn-n5000", + "repeat": 1, + "spec_id": "area-basic", + "library": "seaborn", + "perturbation": "n5000", + "expected": "accepted", + "tags": [ + "area", + "n5000", + "synthetic", + "large" + ], + "origin": "fixtures", + "status": "failed", + "reason": "validation", + "attempts": 2, + "passed": false, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "schema": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": null, + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2 + }, + "tokens": { + "prompt": 47573, + "candidates": 3868, + "thoughts": 0, + "cached": 40620, + "cache_write": 6905, + "tool_use_prompt": 0, + "judge_input": 1036, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.003675347500000001, + "ttfe_s": 0.6346264280000469, + "e2e_s": 12.737874794998788, + "queue_s": 0.0, + "render_s": [], + "render_wall_s": [], + "turns": 1, + "png": null, + "error": null, + "pipeline_error": null + }, + { + "case_id": "area-basic-seaborn-renamed", + "repeat": 1, + "spec_id": "area-basic", + "library": "seaborn", + "perturbation": "renamed", + "expected": "accepted", + "tags": [ + "area", + "renamed", + "synthetic", + "renamed-headers" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "the plot was not reviewed (the review answer could not be read)" + ], + "gate_failures": { + "G3": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "unreadable", + "defects": [] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66737, + "candidates": 4541, + "thoughts": 0, + "cached": 53363, + "cache_write": 13306, + "tool_use_prompt": 0, + "judge_input": 1040, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.005068448000000001, + "ttfe_s": 0.5004584829875967, + "e2e_s": 25.82050925999647, + "queue_s": 0.0, + "render_s": [ + 4.507, + 4.519 + ], + "render_wall_s": [ + 4.383, + 4.387 + ], + "turns": 1, + "png": "renders/area-basic-seaborn-renamed-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "area-basic-seaborn-x10", + "repeat": 1, + "spec_id": "area-basic", + "library": "seaborn", + "perturbation": "x10", + "expected": "accepted", + "tags": [ + "area", + "x10", + "synthetic", + "scaled-values" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "DQ-03 (light): Three stacked fill layers at 1/3, 2/3 and full data height create banded fills that are not a real gradient and misrepresent the area as multiple overlapping series → A single semi-transparent fill (alpha 0.3-0.5) from baseline to the line, or a smooth vertical gradient, with no fills at scaled fractions of the data. Likely cause: the layered for-loop of ax.fill_between calls using df[y_col] * frac.", + "VQ-06 (light): The x-axis title 'Day' does not name the unit or the data period, and the y-axis title lacks a unit-aware label beyond the generic example text → Axis titles that name the user's data, e.g. 'Day of observation' with units. Likely cause: the ax.set_xlabel('Day') call." + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1, + "schema": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "DQ-03", + "VQ-06" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 67192, + "candidates": 3816, + "thoughts": 0, + "cached": 52998, + "cache_write": 14126, + "tool_use_prompt": 0, + "judge_input": 1039, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004778323000000001, + "ttfe_s": 0.4261128530051792, + "e2e_s": 19.34786766700563, + "queue_s": 0.0, + "render_s": [ + 4.9 + ], + "render_wall_s": [ + 4.766 + ], + "turns": 1, + "png": "renders/area-basic-seaborn-x10-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "bar-grouped-matplotlib-date", + "repeat": 1, + "spec_id": "bar-grouped", + "library": "matplotlib", + "perturbation": "date", + "expected": "accepted", + "tags": [ + "bar", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-02 (light): The legend box overlaps the value labels of the first Biology bars (e.g. '73.0' and '72.1' are covered by the 'Grade Level' legend frame and its drop-shadow). → No text or legend collision; legend moved clear of the bar value labels (e.g. outside the plot area or to upper right where no bars reach). Likely cause: ax.legend loc='upper left' placed over the first category's tall bars; the legend frame sits on top of the value annotations.", + "VQ-03 (light): Drop-shadow path effect renders as a grey offset block behind each bar, including the legend swatches, reading as a stray grey rectangle. → Bars and legend glyphs show only their palette color with ink outline; shadow removed or made non-overlapping with legend. Likely cause: patheffects.withSimplePatchShadow applied to every bar rect, which also bleeds into the legend area.", + "DQ-03 (light): Scatter dots drawn on top of every bar top and the bold 'top performer' emphasis are an extra encoding not requested by the spec. → Only bars with value labels; no extra marker overlay on each bar top. Likely cause: ax.scatter marker loop over all bars in the value-label section." + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-02", + "VQ-03", + "DQ-03" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 69740, + "candidates": 5100, + "thoughts": 0, + "cached": 53496, + "cache_write": 16176, + "tool_use_prompt": 0, + "judge_input": 1188, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.005788266000000001, + "ttfe_s": 0.40870611400168855, + "e2e_s": 25.109715402999427, + "queue_s": 0.0, + "render_s": [ + 3.307, + 3.723 + ], + "render_wall_s": [ + 3.168, + 3.59 + ], + "turns": 1, + "png": "renders/bar-grouped-matplotlib-date-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "bar-grouped-matplotlib-decimal-comma", + "repeat": 1, + "spec_id": "bar-grouped", + "library": "matplotlib", + "perturbation": "decimal-comma", + "expected": "accepted", + "tags": [ + "bar", + "decimal-comma", + "synthetic", + "semicolon" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-02 (light): The legend box in the upper left overlaps the Biology Grade 7 value label '73.0' and its bar-shadow, which are partly hidden behind the legend frame. → No text or data covered by the legend; move legend outside the bar area or to a clear corner (e.g. upper right or outside the axes). Likely cause: ax.legend loc='upper left' placed over the tallest first-category bars and their value labels.", + "VQ-03 (light): Drop-shadow path effects on bars render as grey offset blocks that read as visual noise and extend beyond bar edges, and the legend glyphs carry the same shadow. → Remove the patheffects shadow so bars and legend swatches match their marks cleanly. Likely cause: rect.set_path_effects with withSimplePatchShadow applied to every bar rectangle.", + "VQ-01 (light): Value labels at fontsize 9 and the legend title sit small relative to the 3200px canvas, and the y-axis label and tick labels are inconsistent in size with the x-axis label. → Value labels about 11-12pt-equivalent; tick labels matched to axis-label sizing (about 10pt). Likely cause: Hard-coded fontsize=9 on annotations and labelsize=8 on ticks versus fontsize=10 axis labels." + ], + "gate_failures": { + "R1": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-02", + "VQ-03", + "VQ-01" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 69062, + "candidates": 4605, + "thoughts": 0, + "cached": 53496, + "cache_write": 15498, + "tool_use_prompt": 0, + "judge_input": 1127, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.005416081, + "ttfe_s": 0.7534668239968596, + "e2e_s": 22.90973970599589, + "queue_s": 0.0, + "render_s": [ + 2.178, + 2.957 + ], + "render_wall_s": [ + 2.08, + 2.834 + ], + "turns": 1, + "png": "renders/bar-grouped-matplotlib-decimal-comma-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "bar-grouped-matplotlib-n12", + "repeat": 1, + "spec_id": "bar-grouped", + "library": "matplotlib", + "perturbation": "n12", + "expected": "accepted", + "tags": [ + "bar", + "n12", + "synthetic", + "small", + "smoke" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": false, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [ + "palette-prefix", + "palette-prefix" + ], + "advisory": [], + "residual_defects": [ + "VQ-07 (code): IMPRINT must be a list of colour string literals at line 25 → derive it from df and the Imprint palette. Likely cause: the adaptation (palette-prefix).", + "VQ-07 (code): IMPRINT must be a list of colour string literals at line 27 → derive it from df and the Imprint palette. Likely cause: the adaptation (palette-prefix).", + "VQ-02 (light): Legend box in upper left overlaps the Mathematics bars and the '70.9' and '69.1'-style value labels (e.g. '66.1' and '70.9' are hidden behind the legend frame) → no text or bars covered by the legend; legend moved outside the plot area or to a clear region (about 0 px overlap). Likely cause: ax.legend loc='upper left' placed over the first category's tallest bars; the legend needs loc outside the axes or bbox_to_anchor.", + "VQ-03 (light): Drop shadows (path effect offset 4,-4 with alpha 0.30) render as grey blocks behind every bar, and the scatter markers on bar tops are small and semi-transparent, adding visual noise → clean bar faces with no offset grey blocks behind them; markers readable or removed. Likely cause: patheffects.withSimplePatchShadow on each rect and the ax.scatter top-marker loop.", + "AR-09 (light): Value label '66.1' for Mathematics Grade 7 is partly clipped/overlapped by the legend frame and the Grade 8 label '70.9' is obscured → all value labels fully visible. Likely cause: legend placement at upper left over the data labels." + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-02", + "VQ-03", + "AR-09" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 69312, + "candidates": 4673, + "thoughts": 0, + "cached": 53496, + "cache_write": 15748, + "tool_use_prompt": 0, + "judge_input": 1127, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.005487856, + "ttfe_s": 0.5459278390044346, + "e2e_s": 23.4488961060124, + "queue_s": 0.0, + "render_s": [ + 3.017, + 2.888 + ], + "render_wall_s": [ + 2.883, + 2.753 + ], + "turns": 1, + "png": "renders/bar-grouped-matplotlib-n12-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "bar-grouped-matplotlib-n5000", + "repeat": 1, + "spec_id": "bar-grouped", + "library": "matplotlib", + "perturbation": "n5000", + "expected": "accepted", + "tags": [ + "bar", + "n5000", + "synthetic", + "large", + "aggregation" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": false, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [ + "palette-prefix", + "palette-prefix", + "palette-prefix" + ], + "advisory": [], + "residual_defects": [ + "VQ-07 (code): IMPRINT must be a list of colour string literals at line 39 → derive it from df and the Imprint palette. Likely cause: the adaptation (palette-prefix).", + "VQ-07 (code): 'IMPRINT.append' would change the palette at line 44 → derive it from df and the Imprint palette. Likely cause: the adaptation (palette-prefix).", + "VQ-07 (code): IMPRINT must be a list of colour string literals at line 45 → derive it from df and the Imprint palette. Likely cause: the adaptation (palette-prefix).", + "VQ-02 (light): The legend box sits on top of the Biology bars and covers the value label '73.5' of Grade 8 (partly hidden behind the legend frame) → Legend moved clear of bar value labels (e.g. outside the plot area or above the axes), no label covered. Likely cause: ax.legend loc='upper left' placed over the tallest Biology bar labels.", + "VQ-03 (light): Scatter markers drawn on top of every bar top overlap the value labels' area and the bar edges; the top-performer markers are oversized relative to bars → Markers removed or reduced so they do not compete with bar tops and labels. Likely cause: ax.scatter marker overlay on each bar top (s=60/34).", + "VQ-03 (light): Drop-shadow path effect renders as a grey offset block to the right of each bar, reading as detached grey rectangles beside the bars → Shadow removed or made subtle so bars read as clean shapes. Likely cause: patheffects.withSimplePatchShadow applied to each bar rect." + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-02", + "VQ-03", + "VQ-03" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 69322, + "candidates": 4962, + "thoughts": 0, + "cached": 53496, + "cache_write": 15758, + "tool_use_prompt": 0, + "judge_input": 1117, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.005647081, + "ttfe_s": 0.3991963380103698, + "e2e_s": 24.444765205000294, + "queue_s": 0.0, + "render_s": [ + 3.064, + 2.982 + ], + "render_wall_s": [ + 2.9, + 2.814 + ], + "turns": 1, + "png": "renders/bar-grouped-matplotlib-n5000-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "bar-grouped-matplotlib-renamed", + "repeat": 1, + "spec_id": "bar-grouped", + "library": "matplotlib", + "perturbation": "renamed", + "expected": "accepted", + "tags": [ + "bar", + "renamed", + "synthetic", + "renamed-headers", + "non-ascii-headers" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-07 (light): Bars carry a black drop shadow (patheffects withSimplePatchShadow) rendering grey offsets beside each bar and in the legend swatches, adding non-palette chrome → No shadow effect; flat Imprint-colored bars with only the thin ink edge. Likely cause: The patheffects.withSimplePatchShadow call applied to each bar rect.", + "VQ-03 (light): Top-performer scatter markers sit on top of bar tops and overlap the value labels' area, with the value labels for the max bars bold and cluttered → Remove the extra scatter overlay markers so only bar tops and value labels remain. Likely cause: The ax.scatter top-performer marker loop." + ], + "gate_failures": { + "R1": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-07", + "VQ-03" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 69184, + "candidates": 4719, + "thoughts": 0, + "cached": 53864, + "cache_write": 15252, + "tool_use_prompt": 0, + "judge_input": 1142, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.005450654, + "ttfe_s": 0.8107117920008022, + "e2e_s": 22.575892673005, + "queue_s": 0.0, + "render_s": [ + 2.144, + 2.894 + ], + "render_wall_s": [ + 2.063, + 2.77 + ], + "turns": 1, + "png": "renders/bar-grouped-matplotlib-renamed-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "bar-grouped-matplotlib-x10", + "repeat": 1, + "spec_id": "bar-grouped", + "library": "matplotlib", + "perturbation": "x10", + "expected": "accepted", + "tags": [ + "bar", + "x10", + "synthetic", + "scaled-values" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-07 (light): Bars carry a black drop-shadow path effect (offset shadow in grey) and the legend swatches also show shadows, adding non-palette chrome → Flat Imprint-colored bars with no drop shadow, consistent with the minimalism rule. Likely cause: patheffects.withSimplePatchShadow applied to each bar rectangle.", + "VQ-03 (light): Overplotted circle markers sit on top of every bar top with value labels, adding clutter; the top-performer scatter markers duplicate the bar edges → Remove the redundant scatter markers so only bars and their value labels encode the values. Likely cause: ax.scatter loop drawing markers at each bar top.", + "SC-03 (light): Y-axis tick labels and value labels are sized and colored unevenly; the Subject/Test Score titles are larger than tick labels → Consistent typographic hierarchy, tick labels at similar visual weight to axis labels. Likely cause: mismatched fontsize values (axis labels 10, ticks 8, value labels 9)." + ], + "gate_failures": { + "R1": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-07", + "VQ-03", + "SC-03" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 69013, + "candidates": 4724, + "thoughts": 0, + "cached": 53496, + "cache_write": 15449, + "tool_use_prompt": 0, + "judge_input": 1127, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0054747935, + "ttfe_s": 0.5337360830017133, + "e2e_s": 22.450439280000865, + "queue_s": 0.0, + "render_s": [ + 2.091, + 3.062 + ], + "render_wall_s": [ + 1.967, + 2.936 + ], + "turns": 1, + "png": "renders/bar-grouped-matplotlib-x10-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "bar-grouped-seaborn", + "repeat": 1, + "spec_id": "bar-grouped", + "library": "seaborn", + "perturbation": null, + "expected": "accepted", + "tags": [ + "categorical", + "four-groups", + "palette-extension", + "german-locale", + "smoke" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-07 (light): First categorical series (North) renders as a teal-green darker than #009E73, and bar colors appear shifted from the Imprint palette values (e.g. ochre and blue look muted/darkened) → first series exactly #009E73 with other series in Imprint order without alpha/darkening. Likely cause: seaborn barplot palette/edgecolor handling with IMPRINT[:n_groups]; bars appear to be drawn with reduced alpha or an overlay.", + "VQ-01 (light): Value labels and tick labels (about 8pt) and legend text are small relative to the 3200px canvas; axis titles at 10pt look undersized next to the 12pt title → tick and value labels about 10-11pt, axis titles about 12pt (+2pt each). Likely cause: fontsize=8 on bar_label, tick_params labelsize=8, and fontsize=10 on set_xlabel/set_ylabel." + ], + "gate_failures": { + "G3": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-07", + "VQ-01" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66810, + "candidates": 3687, + "thoughts": 0, + "cached": 52998, + "cache_write": 13744, + "tool_use_prompt": 0, + "judge_input": 1089, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004660348000000001, + "ttfe_s": 0.4955830950057134, + "e2e_s": 24.516902641000343, + "queue_s": 0.0, + "render_s": [ + 4.789, + 4.876 + ], + "render_wall_s": [ + 4.654, + 4.757 + ], + "turns": 1, + "png": "renders/bar-grouped-seaborn-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "bar-grouped-seaborn-date", + "repeat": 1, + "spec_id": "bar-grouped", + "library": "seaborn", + "perturbation": "date", + "expected": "accepted", + "tags": [ + "bar", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-01 (light): Tick labels, value labels and legend text render at roughly 8pt on a 3200px canvas, small relative to the rest of the plot → tick and legend text about 12pt (+4pt) so they read at full and mobile size. Likely cause: the tick_params labelsize=8, bar_label fontsize=8 and move_legend fontsize=8 values.", + "VQ-06 (light): Axis title 'Test Score' and 'Subject' are set at 10pt, smaller than the chart title and mismatched in weight → axis titles about 12pt to match title hierarchy. Likely cause: the set_xlabel and set_ylabel fontsize=10 values.", + "VQ-07 (light): Bars use palette positions 1-3 but the first group (Grade 7) is green while bar edges are pure white, which is off-palette chrome for the bar outlines → ink-colored thin stroke on bar edges per the Imprint outline guidance. Likely cause: edgecolor='white' in sns.barplot." + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 1, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-01", + "VQ-06", + "VQ-07" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 67791, + "candidates": 2919, + "thoughts": 0, + "cached": 40620, + "cache_write": 27103, + "tool_use_prompt": 0, + "judge_input": 1188, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.005949542500000001, + "ttfe_s": 0.363658411995857, + "e2e_s": 16.688729841989698, + "queue_s": 0.0, + "render_s": [ + 4.591 + ], + "render_wall_s": [ + 4.463 + ], + "turns": 1, + "png": "renders/bar-grouped-seaborn-date-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "bar-grouped-seaborn-decimal-comma", + "repeat": 1, + "spec_id": "bar-grouped", + "library": "seaborn", + "perturbation": "decimal-comma", + "expected": "accepted", + "tags": [ + "bar", + "decimal-comma", + "synthetic", + "semicolon" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-01 (light): value labels and tick labels render small (about 8pt) relative to the canvas; the value labels look faint grey → larger tick and value labels, about 10-11pt, for readability at full size. Likely cause: ax.bar_label fontsize=8 and tick_params labelsize=8 set too small.", + "VQ-07 (light): bars carry a white edge and the legend frame is a grey/white box instead of the elevated cream token → legend frame fill #FFFDF6 with ink-soft edge; bar edges subtle. Likely cause: edgecolor='white' on sns.barplot and legend facecolor not applied through move_legend." + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-01", + "VQ-07" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 67049, + "candidates": 3832, + "thoughts": 0, + "cached": 52998, + "cache_write": 13983, + "tool_use_prompt": 0, + "judge_input": 1127, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004777140500000001, + "ttfe_s": 0.5469819749996532, + "e2e_s": 24.00756214100693, + "queue_s": 0.0, + "render_s": [ + 4.514, + 4.47 + ], + "render_wall_s": [ + 4.386, + 4.323 + ], + "turns": 1, + "png": "renders/bar-grouped-seaborn-decimal-comma-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "bar-grouped-seaborn-n12", + "repeat": 1, + "spec_id": "bar-grouped", + "library": "seaborn", + "perturbation": "n12", + "expected": "accepted", + "tags": [ + "bar", + "n12", + "synthetic", + "small" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-07 (light): the three groups use #009E73, #C475FD and #4467A3 in order, but the bars render a darker green and a muted blue-grey that do not match the Imprint hexes, and the grid lines are drawn in a heavy grey → exact Imprint hexes #009E73, #C475FD, #4467A3 for groups 1-3, grid in theme rule colour. Likely cause: palette list passed to sns.barplot is filtered through an alpha/edge rendering path, and the grid uses color=INK instead of a 15% rule token.", + "VQ-01 (light): value labels at fontsize 8 and tick labels at about 8pt are small relative to the 3200px canvas; legend text is also small → value labels and tick labels about 12pt (+4pt). Likely cause: bar_label fontsize=8 and tick_params labelsize=8 are too small for the canvas." + ], + "gate_failures": { + "R1": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-07", + "VQ-01" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66854, + "candidates": 3683, + "thoughts": 0, + "cached": 52998, + "cache_write": 13788, + "tool_use_prompt": 0, + "judge_input": 1127, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004668378000000001, + "ttfe_s": 0.8185921810072614, + "e2e_s": 22.60681566101266, + "queue_s": 0.0, + "render_s": [ + 3.67, + 4.551 + ], + "render_wall_s": [ + 3.577, + 4.423 + ], + "turns": 1, + "png": "renders/bar-grouped-seaborn-n12-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "bar-grouped-seaborn-n5000", + "repeat": 1, + "spec_id": "bar-grouped", + "library": "seaborn", + "perturbation": "n5000", + "expected": "accepted", + "tags": [ + "bar", + "n5000", + "synthetic", + "large", + "aggregation" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-03 (light): Seaborn error-bar (CI) whiskers are drawn as thick dark marks on every bar, cluttering the bars and overlapping the value labels → Remove the confidence-interval whiskers (errorbar=None) or thin them so the bars and labels read cleanly. Likely cause: sns.barplot called without errorbar=None, so default bootstrap CI lines are rendered.", + "SC-03 (light): Bar heights are means with a bootstrap CI, while the value labels use fmt '%.0f' on the bar container; the rounded labels do not clearly match the plotted mean → Plot the mean explicitly and label bars with the same mean value at a consistent precision. Likely cause: Reliance on seaborn's internal estimator instead of an explicit groupby mean." + ], + "gate_failures": { + "G3": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-03", + "SC-03" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66741, + "candidates": 3491, + "thoughts": 0, + "cached": 52998, + "cache_write": 13675, + "tool_use_prompt": 0, + "judge_input": 1117, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004546140500000001, + "ttfe_s": 0.5628768020105781, + "e2e_s": 23.952589941007318, + "queue_s": 0.0, + "render_s": [ + 4.855, + 5.016 + ], + "render_wall_s": [ + 4.679, + 4.884 + ], + "turns": 1, + "png": "renders/bar-grouped-seaborn-n5000-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "bar-grouped-seaborn-renamed", + "repeat": 1, + "spec_id": "bar-grouped", + "library": "seaborn", + "perturbation": "renamed", + "expected": "accepted", + "tags": [ + "bar", + "renamed", + "synthetic", + "renamed-headers", + "non-ascii-headers" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "DQ-03 (light): A hard-coded 'Top subject' callout and highlight band sit on History, with the callout arrow pointing at the bar top; the highlight is an example-data emphasis not derived from the user's data logic → Remove the 'Top subject' annotation and axvspan highlight unless the data supports it (or keep only if the top category is computed and labelled generically). Likely cause: the ax.annotate 'Top subject' call and ax.axvspan focal-point block.", + "VQ-06 (light): Plot title 'Average points by subject and grade' and axis title 'Fach' are in English/German mix; the x-axis label 'Fach' is untranslated while other labels are English → Consistent titles that name the user's data in one language, e.g. 'Average points (Punkte) by subject and grade'. Likely cause: hard-coded set_title and set_xlabel strings.", + "VQ-01 (light): Value labels and tick labels at fontsize 8 on a 3200 px canvas look small relative to the title → About 10 pt value labels and tick labels (+2 pt). Likely cause: bar_label fontsize=8 and tick_params labelsize=8." + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "DQ-03", + "VQ-06", + "VQ-01" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 67938, + "candidates": 3914, + "thoughts": 0, + "cached": 53365, + "cache_write": 14505, + "tool_use_prompt": 0, + "judge_input": 1142, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004899702500000001, + "ttfe_s": 0.5866752980073215, + "e2e_s": 24.7493615400017, + "queue_s": 0.0, + "render_s": [ + 4.774, + 4.927 + ], + "render_wall_s": [ + 4.644, + 4.794 + ], + "turns": 1, + "png": "renders/bar-grouped-seaborn-renamed-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "bar-grouped-seaborn-x10", + "repeat": 1, + "spec_id": "bar-grouped", + "library": "seaborn", + "perturbation": "x10", + "expected": "accepted", + "tags": [ + "bar", + "x10", + "synthetic", + "scaled-values" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 22 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "AR-09 (light): Text extends about 22 px beyond the canvas edge (gate note); legend and tick text sit at the bottom/right edge → All text fully inside the canvas, about 22 px of margin added. Likely cause: sns.move_legend bbox_to_anchor=(0.5, -0.14) pushing the legend low, combined with tight_layout not reserving room for it.", + "VQ-06 (light): Legend title and entries are an auto-generated hue legend, and the value-label fmt of %.0f rounds scores; the y-axis title 'Test Score' is fine but the plot title is empty → A plot title naming the user's data (e.g. test score by subject and grade level). Likely cause: ax.set_title(\"\") leaves the plot without a title." + ], + "gate_failures": { + "G3": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1, + "schema": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "AR-09", + "VQ-06" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 67182, + "candidates": 3526, + "thoughts": 0, + "cached": 52998, + "cache_write": 14116, + "tool_use_prompt": 0, + "judge_input": 1127, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004627128, + "ttfe_s": 0.3746122849988751, + "e2e_s": 18.447161953998148, + "queue_s": 0.0, + "render_s": [ + 4.778 + ], + "render_wall_s": [ + 4.623 + ], + "turns": 1, + "png": "renders/bar-grouped-seaborn-x10-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "box-basic-matplotlib-date", + "repeat": 1, + "spec_id": "box-basic", + "library": "matplotlib", + "perturbation": "date", + "expected": "accepted", + "tags": [ + "box", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates", + "smoke" + ], + "origin": "fixtures", + "status": "failed", + "reason": "validation", + "attempts": 2, + "passed": false, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1, + "schema": 1 + }, + "edit_apply_failures": 1, + "reviewer": { + "verdict": null, + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2 + }, + "tokens": { + "prompt": 50165, + "candidates": 3594, + "thoughts": 0, + "cached": 41118, + "cache_write": 8999, + "tool_use_prompt": 0, + "judge_input": 1127, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0038280604999999996, + "ttfe_s": 0.5277164879953489, + "e2e_s": 12.554797363001853, + "queue_s": 0.0, + "render_s": [], + "render_wall_s": [], + "turns": 1, + "png": null, + "error": null, + "pipeline_error": null + }, + { + "case_id": "box-basic-matplotlib-decimal-comma", + "repeat": 1, + "spec_id": "box-basic", + "library": "matplotlib", + "perturbation": "decimal-comma", + "expected": "accepted", + "tags": [ + "box", + "decimal-comma", + "synthetic", + "semicolon" + ], + "origin": "fixtures", + "status": "failed", + "reason": "validation", + "attempts": 2, + "passed": false, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [], + "gate_failures": {}, + "validator_rejections": { + "placeholder-count": 1 + }, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 2, + "reviewer": { + "verdict": null, + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2 + }, + "tokens": { + "prompt": 49847, + "candidates": 3950, + "thoughts": 0, + "cached": 41118, + "cache_write": 8681, + "tool_use_prompt": 0, + "judge_input": 1066, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.003973425500000001, + "ttfe_s": 0.8824435169954086, + "e2e_s": 13.013706423997064, + "queue_s": 0.0, + "render_s": [], + "render_wall_s": [], + "turns": 1, + "png": null, + "error": null, + "pipeline_error": null + }, + { + "case_id": "box-basic-matplotlib-n12", + "repeat": 1, + "spec_id": "box-basic", + "library": "matplotlib", + "perturbation": "n12", + "expected": "accepted", + "tags": [ + "box", + "n12", + "synthetic", + "small" + ], + "origin": "fixtures", + "status": "failed", + "reason": "validation", + "attempts": 2, + "passed": false, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [], + "gate_failures": {}, + "validator_rejections": { + "placeholder-count": 1 + }, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 2, + "reviewer": { + "verdict": null, + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2 + }, + "tokens": { + "prompt": 49821, + "candidates": 3854, + "thoughts": 0, + "cached": 41118, + "cache_write": 8655, + "tool_use_prompt": 0, + "judge_input": 1066, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0039170505, + "ttfe_s": 0.31716506800148636, + "e2e_s": 12.499698202998843, + "queue_s": 0.0, + "render_s": [], + "render_wall_s": [], + "turns": 1, + "png": null, + "error": null, + "pipeline_error": null + }, + { + "case_id": "box-basic-matplotlib-n5000", + "repeat": 1, + "spec_id": "box-basic", + "library": "matplotlib", + "perturbation": "n5000", + "expected": "accepted", + "tags": [ + "box", + "n5000", + "synthetic", + "large" + ], + "origin": "fixtures", + "status": "failed", + "reason": "validation", + "attempts": 2, + "passed": false, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [], + "gate_failures": {}, + "validator_rejections": { + "placeholder-count": 1 + }, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 2, + "reviewer": { + "verdict": null, + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2 + }, + "tokens": { + "prompt": 49954, + "candidates": 3924, + "thoughts": 0, + "cached": 41118, + "cache_write": 8788, + "tool_use_prompt": 0, + "judge_input": 1066, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.003973838, + "ttfe_s": 0.3869067979976535, + "e2e_s": 12.710912227004883, + "queue_s": 0.0, + "render_s": [], + "render_wall_s": [], + "turns": 1, + "png": null, + "error": null, + "pipeline_error": null + }, + { + "case_id": "box-basic-matplotlib-renamed", + "repeat": 1, + "spec_id": "box-basic", + "library": "matplotlib", + "perturbation": "renamed", + "expected": "accepted", + "tags": [ + "box", + "renamed", + "synthetic", + "renamed-headers", + "non-ascii-headers" + ], + "origin": "fixtures", + "status": "failed", + "reason": "validation", + "attempts": 2, + "passed": false, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [], + "gate_failures": {}, + "validator_rejections": { + "placeholder-count": 1 + }, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 2, + "reviewer": { + "verdict": null, + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2 + }, + "tokens": { + "prompt": 50019, + "candidates": 3811, + "thoughts": 0, + "cached": 41941, + "cache_write": 8030, + "tool_use_prompt": 0, + "judge_input": 1073, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.003817286, + "ttfe_s": 0.49263507999421563, + "e2e_s": 12.374921020993497, + "queue_s": 0.0, + "render_s": [], + "render_wall_s": [], + "turns": 1, + "png": null, + "error": null, + "pipeline_error": null + }, + { + "case_id": "box-basic-matplotlib-x10", + "repeat": 1, + "spec_id": "box-basic", + "library": "matplotlib", + "perturbation": "x10", + "expected": "accepted", + "tags": [ + "box", + "x10", + "synthetic", + "scaled-values" + ], + "origin": "fixtures", + "status": "ok", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": true, + "accept_match": true, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 1, + "reviewer": { + "verdict": "ok", + "defects": [] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 71742, + "candidates": 4288, + "thoughts": 0, + "cached": 53496, + "cache_write": 18178, + "tool_use_prompt": 0, + "judge_input": 1069, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.005603851, + "ttfe_s": 0.4262868969963165, + "e2e_s": 16.749079768007505, + "queue_s": 0.0, + "render_s": [ + 2.796 + ], + "render_wall_s": [ + 2.642 + ], + "turns": 1, + "png": "renders/box-basic-matplotlib-x10-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "box-basic-seaborn-date", + "repeat": 1, + "spec_id": "box-basic", + "library": "seaborn", + "perturbation": "date", + "expected": "accepted", + "tags": [ + "box", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "origin": "fixtures", + "status": "ok", + "reason": null, + "attempts": 1, + "passed": true, + "accepted": true, + "accept_match": true, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "ok", + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_seaborn": 1, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 45858, + "candidates": 1702, + "thoughts": 0, + "cached": 35747, + "cache_write": 10063, + "tool_use_prompt": 0, + "judge_input": 1127, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0028746795, + "ttfe_s": 0.35622762799903285, + "e2e_s": 11.628364964009961, + "queue_s": 0.0, + "render_s": [ + 4.46 + ], + "render_wall_s": [ + 4.294 + ], + "turns": 1, + "png": "renders/box-basic-seaborn-date-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "box-basic-seaborn-decimal-comma", + "repeat": 1, + "spec_id": "box-basic", + "library": "seaborn", + "perturbation": "decimal-comma", + "expected": "accepted", + "tags": [ + "box", + "decimal-comma", + "synthetic", + "semicolon" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-03 (light): box outlines and whisker/median strokes are heavy dark ink, and the jittered stripplot points are faint (alpha 0.25) and nearly invisible against the boxes → lighter outlines and stripplot points at higher alpha so individual points read clearly on the fills. Likely cause: sns.boxplot linewidth=1.5 and stripplot alpha=0.25 settings.", + "VQ-07 (light): box fills use the Imprint palette but the box edges/whiskers render in near-black default seaborn ink rather than the theme token; first category is green as required → box edges and whiskers set to the theme ink token with a thin stroke consistent with the palette. Likely cause: seaborn boxplot default edge color not overridden." + ], + "gate_failures": { + "R1": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-03", + "VQ-07" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65583, + "candidates": 3566, + "thoughts": 0, + "cached": 52998, + "cache_write": 12517, + "tool_use_prompt": 0, + "judge_input": 1066, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0044225555000000005, + "ttfe_s": 0.49486891100241337, + "e2e_s": 21.96871973000816, + "queue_s": 0.0, + "render_s": [ + 3.748, + 4.631 + ], + "render_wall_s": [ + 3.663, + 4.369 + ], + "turns": 1, + "png": "renders/box-basic-seaborn-decimal-comma-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "box-basic-seaborn-n12", + "repeat": 1, + "spec_id": "box-basic", + "library": "seaborn", + "perturbation": "n12", + "expected": "accepted", + "tags": [ + "box", + "n12", + "synthetic", + "small" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 18 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "VQ-03 (light): stripplot points at alpha 0.25 and size 3 are nearly invisible against the box fills; outliers look faint → points clearly visible (alpha about 0.7, size about 5), outliers readable. Likely cause: the stripplot size and alpha arguments.", + "VQ-01 (light): tick labels at about 8pt are small relative to the 3200-px canvas and axis titles → tick labels about 10pt (+2pt). Likely cause: ax.tick_params labelsize=8." + ], + "gate_failures": { + "G3": 1 + }, + "validator_rejections": { + "banned-call": 1, + "banned-import": 1 + }, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-03", + "VQ-01" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 67325, + "candidates": 3431, + "thoughts": 0, + "cached": 52998, + "cache_write": 14259, + "tool_use_prompt": 0, + "judge_input": 1066, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0045878305, + "ttfe_s": 0.5615249370021047, + "e2e_s": 17.783065873009036, + "queue_s": 0.0, + "render_s": [ + 4.384 + ], + "render_wall_s": [ + 4.257 + ], + "turns": 1, + "png": "renders/box-basic-seaborn-n12-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "box-basic-seaborn-n5000", + "repeat": 1, + "spec_id": "box-basic", + "library": "seaborn", + "perturbation": "n5000", + "expected": "accepted", + "tags": [ + "box", + "n5000", + "synthetic", + "large" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-03 (light): Dense jittered strip points (5000 rows) are drawn over the boxes, making the box interiors and median lines hard to read; the box fills are muddied by overplotted markers → Reduce strip marker size and alpha further (e.g. size about 1.5, alpha about 0.1) or draw strip behind the box so medians stay clearly visible. Likely cause: the stripplot size and alpha settings in sns.stripplot.", + "VQ-06 (light): Plot title is generic and does not name the measured quantity and units beyond the axis label; subtitle context about the 5000-row sample is absent → Title naming the fill weight distribution per production line (keep current wording or add 'n=5000'). Likely cause: the title string in ax.set_title." + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 1, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-03", + "VQ-06" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65502, + "candidates": 2753, + "thoughts": 0, + "cached": 52998, + "cache_write": 12436, + "tool_use_prompt": 0, + "judge_input": 1066, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.003964268, + "ttfe_s": 0.44085338700097054, + "e2e_s": 16.404447105000145, + "queue_s": 0.0, + "render_s": [ + 4.834 + ], + "render_wall_s": [ + 4.636 + ], + "turns": 1, + "png": "renders/box-basic-seaborn-n5000-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "box-basic-seaborn-renamed", + "repeat": 1, + "spec_id": "box-basic", + "library": "seaborn", + "perturbation": "renamed", + "expected": "accepted", + "tags": [ + "box", + "renamed", + "synthetic", + "renamed-headers", + "non-ascii-headers" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": false, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [ + "palette-prefix" + ], + "advisory": [], + "residual_defects": [ + "VQ-07 (code): IMPRINT_PALETTE must be a list of colour string literals at line 23 → derive it from df and the Imprint palette. Likely cause: the adaptation (palette-prefix).", + "the plot was not reviewed (the review answer could not be read)" + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "unreadable", + "defects": [] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65292, + "candidates": 3508, + "thoughts": 0, + "cached": 53363, + "cache_write": 11861, + "tool_use_prompt": 0, + "judge_input": 1073, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0043052405, + "ttfe_s": 0.4580529709928669, + "e2e_s": 22.980426294001518, + "queue_s": 0.0, + "render_s": [ + 4.539, + 4.346 + ], + "render_wall_s": [ + 4.398, + 4.278 + ], + "turns": 1, + "png": "renders/box-basic-seaborn-renamed-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "box-basic-seaborn-x10", + "repeat": 1, + "spec_id": "box-basic", + "library": "seaborn", + "perturbation": "x10", + "expected": "accepted", + "tags": [ + "box", + "x10", + "synthetic", + "scaled-values" + ], + "origin": "fixtures", + "status": "ok", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": true, + "accept_match": true, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [], + "gate_failures": { + "R1": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "ok", + "defects": [] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65194, + "candidates": 3166, + "thoughts": 0, + "cached": 52998, + "cache_write": 12128, + "tool_use_prompt": 0, + "judge_input": 1069, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0041493979999999995, + "ttfe_s": 0.35449549899203703, + "e2e_s": 20.396402344995295, + "queue_s": 0.0, + "render_s": [ + 3.737, + 4.456 + ], + "render_wall_s": [ + 3.641, + 4.341 + ], + "turns": 1, + "png": "renders/box-basic-seaborn-x10-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "heatmap-basic-matplotlib-date", + "repeat": 1, + "spec_id": "heatmap-basic", + "library": "matplotlib", + "perturbation": "date", + "expected": "accepted", + "tags": [ + "heatmap", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "origin": "fixtures", + "status": "failed", + "reason": "validation", + "attempts": 2, + "passed": false, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [], + "gate_failures": {}, + "validator_rejections": { + "placeholder-count": 1 + }, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 2, + "reviewer": { + "verdict": null, + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2 + }, + "tokens": { + "prompt": 48218, + "candidates": 3881, + "thoughts": 0, + "cached": 41118, + "cache_write": 7052, + "tool_use_prompt": 0, + "judge_input": 1142, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.003719848, + "ttfe_s": 0.4562809139897581, + "e2e_s": 12.803604978995281, + "queue_s": 0.0, + "render_s": [], + "render_wall_s": [], + "turns": 1, + "png": null, + "error": null, + "pipeline_error": null + }, + { + "case_id": "heatmap-basic-matplotlib-decimal-comma", + "repeat": 1, + "spec_id": "heatmap-basic", + "library": "matplotlib", + "perturbation": "decimal-comma", + "expected": "accepted", + "tags": [ + "heatmap", + "decimal-comma", + "synthetic", + "semicolon" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-01 (light): Cell annotation text (fontsize 5) and x tick labels (fontsize 7) are very small relative to the canvas; annotations are hard to read at full size → annotations about 8-9 pt and x tick labels about 10 pt (cell annotation +3 pt, tick +3 pt). Likely cause: ax.text fontsize=5 and ax.set_xticklabels fontsize=7 are too small for the mid-sized canvas.", + "VQ-01 (light): Colorbar tick labels and label are small (about 7 pt tick, 8 pt label) compared with axis titles → colorbar tick labels about 10 pt and label about 10 pt (+3 pt). Likely cause: cbar.ax.tick_params labelsize=7 and cbar.set_label fontsize=8.", + "DQ-03 (light): Colormap midpoint is set to the sample mean and the norm is symmetric around it, so the color scale is centred on an arbitrary value rather than a meaningful zero or reference → a midpoint tied to the data's meaningful reference (or a clearly labelled mean-centred scale). Likely cause: mid_val = np.nanmean(data) used as TwoSlopeNorm vcenter with span-based limits." + ], + "gate_failures": { + "R1": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-01", + "VQ-01", + "DQ-03" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 68010, + "candidates": 3936, + "thoughts": 0, + "cached": 53496, + "cache_write": 14446, + "tool_use_prompt": 0, + "judge_input": 1082, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004898531, + "ttfe_s": 0.7068266599962953, + "e2e_s": 22.49286485298944, + "queue_s": 0.0, + "render_s": [ + 2.352, + 4.574 + ], + "render_wall_s": [ + 2.248, + 4.416 + ], + "turns": 1, + "png": "renders/heatmap-basic-matplotlib-decimal-comma-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "heatmap-basic-matplotlib-n12", + "repeat": 1, + "spec_id": "heatmap-basic", + "library": "matplotlib", + "perturbation": "n12", + "expected": "accepted", + "tags": [ + "heatmap", + "n12", + "synthetic", + "small" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-01 (light): white in-cell annotations on pale cells (e.g. 9.1, 10.8, 10.9) are nearly invisible against the off-white cell fill → annotation color contrast of at least 3:1 against every cell; use INK on light cells, white only on deep blue/red cells. Likely cause: text_color threshold 0.45*vmax_abs picks white for cells whose colormap value is near the light midpoint (e.g. 9.1 in a light cell).", + "SC-03 (light): TwoSlopeNorm centers at vmax_abs/2 (about 9.2) rather than the data midpoint, so the diverging colormap's neutral point does not correspond to a meaningful value; the colorbar runs 0 to 18.3 → center the norm on a meaningful reference (e.g. the data mean or median) so the neutral color marks that value. Likely cause: norm = TwoSlopeNorm(vmin=0, vcenter=vmax_abs/2, vmax=vmax_abs) hard-codes the center.", + "VQ-01 (light): cell annotations at about 7 px-equivalent size and tick labels in INK_SOFT are small relative to the 3200 px canvas → annotation fontsize about 9-10 pt (+2-3 pt). Likely cause: fontsize=7 in the ax.text annotation call and labelsize=7 on the colorbar." + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-01", + "SC-03", + "VQ-01" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 68394, + "candidates": 4893, + "thoughts": 0, + "cached": 53496, + "cache_write": 14830, + "tool_use_prompt": 0, + "judge_input": 1080, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.005477461, + "ttfe_s": 0.4067682599998079, + "e2e_s": 25.178797589993337, + "queue_s": 0.0, + "render_s": [ + 3.272, + 3.284 + ], + "render_wall_s": [ + 3.139, + 3.144 + ], + "turns": 1, + "png": "renders/heatmap-basic-matplotlib-n12-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "heatmap-basic-matplotlib-n5000", + "repeat": 1, + "spec_id": "heatmap-basic", + "library": "matplotlib", + "perturbation": "n5000", + "expected": "accepted", + "tags": [ + "heatmap", + "n5000", + "synthetic", + "large", + "aggregation" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-01 (light): cell value annotations at fontsize 6 are very small relative to the 3200px canvas and tiny at full size → about 9 pt annotation text (+3 pt). Likely cause: the ax.text fontsize=6 in the cell annotation loop.", + "VQ-03 (light): white annotation text on mid-blue/red cells (e.g. 16.6, 19.1, 23.2) is inconsistent with dark text elsewhere, reducing contrast on some cells → consistent contrast threshold so every annotation reads clearly on its cell. Likely cause: the rel > 0.45 text_color threshold in the annotation loop." + ], + "gate_failures": {}, + "validator_rejections": { + "placeholder-count": 1 + }, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-01", + "VQ-03" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 68014, + "candidates": 4558, + "thoughts": 0, + "cached": 53496, + "cache_write": 14450, + "tool_use_prompt": 0, + "judge_input": 1082, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.005241181, + "ttfe_s": 0.3811146160005592, + "e2e_s": 21.17492417000176, + "queue_s": 0.0, + "render_s": [ + 4.771 + ], + "render_wall_s": [ + 4.587 + ], + "turns": 1, + "png": "renders/heatmap-basic-matplotlib-n5000-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "heatmap-basic-matplotlib-renamed", + "repeat": 1, + "spec_id": "heatmap-basic", + "library": "matplotlib", + "perturbation": "renamed", + "expected": "accepted", + "tags": [ + "heatmap", + "renamed", + "synthetic", + "renamed-headers", + "non-ascii-headers" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-01 (light): x tick labels (hours) and cell annotations at about 7pt/6pt equivalent, small relative to canvas; y tick labels and cbar ticks also small → larger tick labels and annotations, about 10pt for ticks and 8pt for annotations. Likely cause: fontsize=7 on set_xticklabels, fontsize=6 in ax.text annotations, labelsize=7 on cbar.ax.tick_params.", + "SC-03 (light): TwoSlopeNorm centre is set to the data mean, so the diverging midpoint does not represent a meaningful zero; colour contrast is compressed toward the mean → a meaningful midpoint (or a sequential map since values are non-negative response times). Likely cause: center = float(np.nanmean(data)) passed as vcenter in TwoSlopeNorm.", + "VQ-03 (light): white annotation text on light-to-mid cells (e.g. 15.3, 8.7 region) has weak contrast against the pale cell colours → text colour chosen so every annotation has clear contrast against its cell. Likely cause: text_color threshold rel > 0.45 in the annotation loop." + ], + "gate_failures": {}, + "validator_rejections": { + "placeholder-count": 1 + }, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-01", + "SC-03", + "VQ-03" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 68278, + "candidates": 4857, + "thoughts": 0, + "cached": 53865, + "cache_write": 14345, + "tool_use_prompt": 0, + "judge_input": 1091, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0053962425, + "ttfe_s": 0.7796094679943053, + "e2e_s": 22.579493414988974, + "queue_s": 0.0, + "render_s": [ + 4.562 + ], + "render_wall_s": [ + 4.41 + ], + "turns": 1, + "png": "renders/heatmap-basic-matplotlib-renamed-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "heatmap-basic-matplotlib-x10", + "repeat": 1, + "spec_id": "heatmap-basic", + "library": "matplotlib", + "perturbation": "x10", + "expected": "accepted", + "tags": [ + "heatmap", + "x10", + "synthetic", + "scaled-values" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-01 (light): y-axis title 'Weekday' is missing from the render; only 'Hour' x-axis title is visible, and the colorbar label is present but the y label is absent → a visible 'Weekday' y-axis title at 10pt INK color. Likely cause: ax.set_ylabel call is overridden or clipped; the left margin (subplots_adjust left=0.13) is too narrow for the weekday tick labels plus the axis title.", + "VQ-02 (light): white in-cell annotations on saturated red/blue cells (e.g. hours 7-9, 18-20) use low-contrast white over light cells, and annotation text is about 6pt, small at full size → annotation font about 8pt with contrast-consistent colors (white only on dark cells). Likely cause: fontsize=6 in ax.text and the abs(val-vcenter) threshold for choosing white.", + "AR-09 (light): bottom area below the 'Hour' axis title has excess empty space while the left edge crowds the weekday tick labels → balanced margins with the full layout visible. Likely cause: fixed subplots_adjust values instead of tight layout / bbox_inches='tight'." + ], + "gate_failures": {}, + "validator_rejections": { + "placeholder-count": 1 + }, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-01", + "VQ-02", + "AR-09" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 68072, + "candidates": 4763, + "thoughts": 0, + "cached": 53496, + "cache_write": 14508, + "tool_use_prompt": 0, + "judge_input": 1082, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0053619060000000005, + "ttfe_s": 0.504251727994415, + "e2e_s": 22.27016438099963, + "queue_s": 0.0, + "render_s": [ + 4.241 + ], + "render_wall_s": [ + 4.095 + ], + "turns": 1, + "png": "renders/heatmap-basic-matplotlib-x10-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "heatmap-basic-seaborn-date", + "repeat": 1, + "spec_id": "heatmap-basic", + "library": "seaborn", + "perturbation": "date", + "expected": "accepted", + "tags": [ + "heatmap", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 16 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "the plot was not reviewed (the repair round left defects)" + ], + "gate_failures": { + "G3": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1, + "schema": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": null, + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2 + }, + "tokens": { + "prompt": 47989, + "candidates": 3749, + "thoughts": 0, + "cached": 40620, + "cache_write": 7321, + "tool_use_prompt": 0, + "judge_input": 1142, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0036787575000000006, + "ttfe_s": 0.579279215002316, + "e2e_s": 18.59463586199854, + "queue_s": 0.0, + "render_s": [ + 5.752 + ], + "render_wall_s": [ + 5.584 + ], + "turns": 1, + "png": "renders/heatmap-basic-seaborn-date-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "heatmap-basic-seaborn-decimal-comma", + "repeat": 1, + "spec_id": "heatmap-basic", + "library": "seaborn", + "perturbation": "decimal-comma", + "expected": "accepted", + "tags": [ + "heatmap", + "decimal-comma", + "synthetic", + "semicolon", + "smoke" + ], + "origin": "fixtures", + "status": "failed", + "reason": "validation", + "attempts": 2, + "passed": false, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "schema": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": null, + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2 + }, + "tokens": { + "prompt": 47213, + "candidates": 2483, + "thoughts": 0, + "cached": 40620, + "cache_write": 6545, + "tool_use_prompt": 0, + "judge_input": 1082, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.002869157500000001, + "ttfe_s": 0.393565104008303, + "e2e_s": 9.058021671007737, + "queue_s": 0.0, + "render_s": [], + "render_wall_s": [], + "turns": 1, + "png": null, + "error": null, + "pipeline_error": null + }, + { + "case_id": "heatmap-basic-seaborn-n12", + "repeat": 1, + "spec_id": "heatmap-basic", + "library": "seaborn", + "perturbation": "n12", + "expected": "accepted", + "tags": [ + "heatmap", + "n12", + "synthetic", + "small" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 201 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "AR-09 (light): right-side row tick labels (Monday, Friday, Wednesday) run past the canvas right edge and are cut off; the 'Hour' x-axis title is clipped at the bottom edge → all labels fully inside the canvas (shift heatmap left or shrink figure/tick fonts so labels fit). Likely cause: clustermap figsize and cbar_pos/dendrogram layout leave no right margin; the y tick labels sit outside the axes at the right.", + "VQ-01 (light): colorbar tick labels (4.8, 11.0, 18.3) at about 7 pt are small and the colorbar label is crowded against the top title area → colorbar tick labels at least 9 pt with clear spacing from the title. Likely cause: cax tick_params labelsize=7 and cbar_pos placement near the top of the canvas." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "AR-09", + "VQ-01" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 67424, + "candidates": 3747, + "thoughts": 0, + "cached": 52998, + "cache_write": 14358, + "tool_use_prompt": 0, + "judge_input": 1080, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004776783000000001, + "ttfe_s": 0.408242429009988, + "e2e_s": 25.137859848997323, + "queue_s": 0.0, + "render_s": [ + 5.062, + 5.069 + ], + "render_wall_s": [ + 4.915, + 4.923 + ], + "turns": 1, + "png": "renders/heatmap-basic-seaborn-n12-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "heatmap-basic-seaborn-n5000", + "repeat": 1, + "spec_id": "heatmap-basic", + "library": "seaborn", + "perturbation": "n5000", + "expected": "accepted", + "tags": [ + "heatmap", + "n5000", + "synthetic", + "large", + "aggregation" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 15 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "the plot was not reviewed (the review answer could not be read)" + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "unreadable", + "defects": [] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 67085, + "candidates": 2289, + "thoughts": 0, + "cached": 52998, + "cache_write": 14019, + "tool_use_prompt": 0, + "judge_input": 1082, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.003928490500000001, + "ttfe_s": 0.5146115450042998, + "e2e_s": 22.075161390006542, + "queue_s": 0.0, + "render_s": [ + 5.563, + 5.75 + ], + "render_wall_s": [ + 5.361, + 5.601 + ], + "turns": 1, + "png": "renders/heatmap-basic-seaborn-n5000-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "heatmap-basic-seaborn-renamed", + "repeat": 1, + "spec_id": "heatmap-basic", + "library": "seaborn", + "perturbation": "renamed", + "expected": "accepted", + "tags": [ + "heatmap", + "renamed", + "synthetic", + "renamed-headers", + "non-ascii-headers" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 10 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "VQ-01 (light): colorbar tick labels (18.2, 4.0) and the colorbar label sit small and crowd the top-left corner; cell annotations about 6 pt are small for the canvas → annotations and colorbar text at least about 9 pt, colorbar label clear of the title. Likely cause: annot_kws fontsize=6 and cax tick_params labelsize=7 / set_ylabel fontsize=9.", + "SC-03 (light): the x-axis is labelled 'Stunde' (hour) with bare numeric ticks, and the colorbar is placed far left, away from the heatmap; the colorbar label runs up to the top edge → colorbar adjacent to the heatmap and its label fully inside the canvas. Likely cause: cbar_pos=(0.08, 0.15, 0.04, 0.6) and set_ylabel labelpad combined with the left-positioned label.", + "AR-09 (light): colorbar label 'Antwortzeit Ø (min)' extends past the top-left canvas edge by about 10 px → all text fully inside the canvas with at least a few px margin. Likely cause: the rotated colorbar label placed left of the colorbar at cbar_pos x=0.08." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-01", + "SC-03", + "AR-09" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 67797, + "candidates": 4237, + "thoughts": 0, + "cached": 53366, + "cache_write": 14363, + "tool_use_prompt": 0, + "judge_input": 1091, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0050522285, + "ttfe_s": 0.3435232360061491, + "e2e_s": 27.399718378001126, + "queue_s": 0.0, + "render_s": [ + 5.56, + 5.45 + ], + "render_wall_s": [ + 5.402, + 5.303 + ], + "turns": 1, + "png": "renders/heatmap-basic-seaborn-renamed-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "heatmap-basic-seaborn-x10", + "repeat": 1, + "spec_id": "heatmap-basic", + "library": "seaborn", + "perturbation": "x10", + "expected": "accepted", + "tags": [ + "heatmap", + "x10", + "synthetic", + "scaled-values" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 15 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "VQ-02 (light): Annotation numbers in cells are wider than the cells and collide with each other (e.g. '143144134'), and the 1-digit-padded values run together → Annotations fit within each cell with clear gaps (smaller annot font, about 5-6pt, or fewer digits). Likely cause: annot_kws fontsize 7 too large for the cell width of a 24-column clustermap at figsize (6, 6).", + "AR-09 (light): Right-side row tick labels (e.g. 'Wednesday') and the bottom 'Hour' axis label run to or past the canvas edge; the 'Hour' label is clipped at the bottom → All text fully inside the canvas with a few pixels of margin. Likely cause: clustermap layout with figsize (6, 6) and fixed subplots_adjust(top=0.92); bottom/right margins not reserved.", + "VQ-06 (light): Y-axis title 'Response Time (min)' is placed at the top-left on the colorbar, while the heatmap's y-axis (Weekday) has no title → Y-axis titled 'Weekday' next to the rows; colorbar label kept separate. Likely cause: ax_heatmap.set_ylabel(\"\") and the colorbar label set in the wrong place." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-02", + "AR-09", + "VQ-06" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 67696, + "candidates": 4122, + "thoughts": 0, + "cached": 52998, + "cache_write": 14630, + "tool_use_prompt": 0, + "judge_input": 1082, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.005020653000000001, + "ttfe_s": 0.3407929770037299, + "e2e_s": 27.202867176005384, + "queue_s": 0.0, + "render_s": [ + 5.612, + 5.73 + ], + "render_wall_s": [ + 5.454, + 5.554 + ], + "turns": 1, + "png": "renders/heatmap-basic-seaborn-x10-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "histogram-basic-matplotlib-date", + "repeat": 1, + "spec_id": "histogram-basic", + "library": "matplotlib", + "perturbation": "date", + "expected": "accepted", + "tags": [ + "histogram", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 385 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "VQ-02 (light): The 'Mean: 34.6 min' annotation box sits on top of the tallest histogram bars and its arrow overlaps the bar region near the top of the plot → annotation placed in clear space with no overlap on bars (e.g. above the bars or to the right of the mean line). Likely cause: the annotate xytext offset (mean_score - 15, y_max * 0.97) placed inside the data area.", + "AR-09 (light): text extends 385 px beyond the canvas edge (gate note) → all text fully inside the canvas. Likely cause: the annotation xytext positioned relative to mean_score with a large font/box width near the left, or long tick/label text; keep annotation inside axes bounds." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-02", + "AR-09" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 67513, + "candidates": 3099, + "thoughts": 0, + "cached": 53496, + "cache_write": 13949, + "tool_use_prompt": 0, + "judge_input": 1133, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0043754535, + "ttfe_s": 0.4207975780009292, + "e2e_s": 18.46298845000274, + "queue_s": 0.0, + "render_s": [ + 2.96, + 2.722 + ], + "render_wall_s": [ + 2.831, + 2.595 + ], + "turns": 1, + "png": "renders/histogram-basic-matplotlib-date-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "histogram-basic-matplotlib-decimal-comma", + "repeat": 1, + "spec_id": "histogram-basic", + "library": "matplotlib", + "perturbation": "decimal-comma", + "expected": "accepted", + "tags": [ + "histogram", + "decimal-comma", + "synthetic", + "semicolon" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 385 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "the plot was not reviewed (the review answer could not be read)" + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "unreadable", + "defects": [] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66796, + "candidates": 3259, + "thoughts": 0, + "cached": 41118, + "cache_write": 25610, + "tool_use_prompt": 0, + "judge_input": 1072, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.005923973000000002, + "ttfe_s": 0.4719448739924701, + "e2e_s": 18.530909320994397, + "queue_s": 0.0, + "render_s": [ + 2.729, + 2.662 + ], + "render_wall_s": [ + 2.599, + 2.59 + ], + "turns": 1, + "png": "renders/histogram-basic-matplotlib-decimal-comma-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "histogram-basic-matplotlib-n12", + "repeat": 1, + "spec_id": "histogram-basic", + "library": "matplotlib", + "perturbation": "n12", + "expected": "accepted", + "tags": [ + "histogram", + "n12", + "synthetic", + "small" + ], + "origin": "fixtures", + "status": "failed", + "reason": "validation", + "attempts": 2, + "passed": false, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "schema": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": null, + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2 + }, + "tokens": { + "prompt": 47465, + "candidates": 2397, + "thoughts": 0, + "cached": 41118, + "cache_write": 6299, + "tool_use_prompt": 0, + "judge_input": 1072, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0027924105000000005, + "ttfe_s": 0.4541686220036354, + "e2e_s": 9.360423662001267, + "queue_s": 0.0, + "render_s": [], + "render_wall_s": [], + "turns": 1, + "png": null, + "error": null, + "pipeline_error": null + }, + { + "case_id": "histogram-basic-matplotlib-n5000", + "repeat": 1, + "spec_id": "histogram-basic", + "library": "matplotlib", + "perturbation": "n5000", + "expected": "accepted", + "tags": [ + "histogram", + "n5000", + "synthetic", + "large" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 75 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "VQ-02 (light): The 'Mean: 35 min' annotation text box sits on top of the histogram region near the bar tops and its arrow crosses into the bars; the mean line runs through the tallest bars → annotation placed in clear space above the bars with no overlap of text or arrow onto data. Likely cause: the ax.annotate xytext/xy placement (label_x, y_max*0.97) relative to the bars.", + "SC-03 (light): Bars show the mean line crossing the bin 30-36 region while the tallest bars reach near the top of the axis, leaving the annotation squeezed against the top → y-axis headroom so the mean label sits above the tallest bar without covering data. Likely cause: ax.set_ylim(bottom=0) without a top margin and annotation at y_max*0.97." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-02", + "SC-03" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 67022, + "candidates": 3272, + "thoughts": 0, + "cached": 53496, + "cache_write": 13458, + "tool_use_prompt": 0, + "judge_input": 1072, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0043963809999999996, + "ttfe_s": 0.37468747700040694, + "e2e_s": 18.829251205999753, + "queue_s": 0.0, + "render_s": [ + 2.761, + 2.748 + ], + "render_wall_s": [ + 2.603, + 2.603 + ], + "turns": 1, + "png": "renders/histogram-basic-matplotlib-n5000-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "histogram-basic-matplotlib-renamed", + "repeat": 1, + "spec_id": "histogram-basic", + "library": "matplotlib", + "perturbation": "renamed", + "expected": "accepted", + "tags": [ + "histogram", + "renamed", + "synthetic", + "renamed-headers" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 385 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "the plot was not reviewed (the review answer could not be read)" + ], + "gate_failures": { + "G3": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1, + "schema": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "unreadable", + "defects": [] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 67200, + "candidates": 2942, + "thoughts": 0, + "cached": 53864, + "cache_write": 13268, + "tool_use_prompt": 0, + "judge_input": 1081, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004193794000000001, + "ttfe_s": 0.6206281869963277, + "e2e_s": 15.102502051988267, + "queue_s": 0.0, + "render_s": [ + 2.758 + ], + "render_wall_s": [ + 2.633 + ], + "turns": 1, + "png": "renders/histogram-basic-matplotlib-renamed-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "histogram-basic-matplotlib-x10", + "repeat": 1, + "spec_id": "histogram-basic", + "library": "matplotlib", + "perturbation": "x10", + "expected": "accepted", + "tags": [ + "histogram", + "x10", + "synthetic", + "scaled-values" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 399 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "AR-09 (light): text extends 399 px beyond the canvas edge (gate note; the render shows the legend and tick labels close to the right edge) → all text fully inside the canvas (about 0 px clipped). Likely cause: the subplots_adjust right=0.97 margin leaves too little room for the legend text at the top-right corner; legend placed with the default loc.", + "VQ-03 (light): the mean and median dashed/dotted reference lines are drawn in INK_SOFT and red, and the median dotted line is hard to see against the dark-green bars → reference lines clearly visible over bars (thicker or outlined, higher contrast). Likely cause: axvline color/linestyle with zorder=5 over alpha-graded bars using INK_SOFT." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "AR-09", + "VQ-03" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66753, + "candidates": 3528, + "thoughts": 0, + "cached": 53496, + "cache_write": 13189, + "tool_use_prompt": 0, + "judge_input": 1072, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004500193499999999, + "ttfe_s": 0.3905850540031679, + "e2e_s": 19.150270839003497, + "queue_s": 0.0, + "render_s": [ + 2.926, + 2.78 + ], + "render_wall_s": [ + 2.79, + 2.688 + ], + "turns": 1, + "png": "renders/histogram-basic-matplotlib-x10-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "histogram-basic-seaborn-date", + "repeat": 1, + "spec_id": "histogram-basic", + "library": "seaborn", + "perturbation": "date", + "expected": "accepted", + "tags": [ + "histogram", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 274 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "VQ-07 (light): Mean reference line is matte red #AE3030 and median line is ochre #BD8233, but the histogram bars use brand green; the reference-line colors are semantic-looking categorical hues used as decoration → reference lines in neutral ink or muted tones, keeping categorical palette positions in canonical order for data series. Likely cause: IMPRINT_PALETTE[4] and IMPRINT_PALETTE[3] used for the mean and median axvlines.", + "AR-09 (light): Gate note: text extends 274 px beyond the canvas edge; the footnote and legend sit near the right border → all text fully inside the canvas with margin. Likely cause: fig.subplots_adjust right=0.97 combined with the right-aligned footnote and legend anchored at upper right." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-07", + "AR-09" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 68285, + "candidates": 3675, + "thoughts": 0, + "cached": 52998, + "cache_write": 15219, + "tool_use_prompt": 0, + "judge_input": 1133, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004861400500000001, + "ttfe_s": 0.42236963400500827, + "e2e_s": 23.315578588008066, + "queue_s": 0.0, + "render_s": [ + 4.737, + 4.487 + ], + "render_wall_s": [ + 4.59, + 4.341 + ], + "turns": 1, + "png": "renders/histogram-basic-seaborn-date-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "histogram-basic-seaborn-decimal-comma", + "repeat": 1, + "spec_id": "histogram-basic", + "library": "seaborn", + "perturbation": "decimal-comma", + "expected": "accepted", + "tags": [ + "histogram", + "decimal-comma", + "synthetic", + "semicolon" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 35 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "AR-09 (light): x-axis tick label area and right side: text extends about 35 px beyond the canvas edge (the '120' tick label and the 'n = 400 deliveries' footnote region sit at the right border) → all text fully inside canvas (shift right margin inward by about 35 px, e.g. right=0.94). Likely cause: fig.subplots_adjust right=0.96 leaves too little margin for the rightmost tick label and the annotation." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "AR-09" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 67598, + "candidates": 3573, + "thoughts": 0, + "cached": 52998, + "cache_write": 14532, + "tool_use_prompt": 0, + "judge_input": 1072, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004704128000000001, + "ttfe_s": 0.4883041349967243, + "e2e_s": 23.68605005199788, + "queue_s": 0.0, + "render_s": [ + 4.636, + 4.279 + ], + "render_wall_s": [ + 4.504, + 4.125 + ], + "turns": 1, + "png": "renders/histogram-basic-seaborn-decimal-comma-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "histogram-basic-seaborn-n12", + "repeat": 1, + "spec_id": "histogram-basic", + "library": "seaborn", + "perturbation": "n12", + "expected": "accepted", + "tags": [ + "histogram", + "n12", + "synthetic", + "small" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 1056 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "the plot was not reviewed (the repair round left defects)" + ], + "gate_failures": { + "G3": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1, + "schema": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": null, + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2 + }, + "tokens": { + "prompt": 48040, + "candidates": 4265, + "thoughts": 0, + "cached": 40620, + "cache_write": 7372, + "tool_use_prompt": 0, + "judge_input": 1072, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.00396187, + "ttfe_s": 0.5464458149945131, + "e2e_s": 19.10954360400501, + "queue_s": 0.0, + "render_s": [ + 4.645 + ], + "render_wall_s": [ + 4.51 + ], + "turns": 1, + "png": "renders/histogram-basic-seaborn-n12-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "histogram-basic-seaborn-n5000", + "repeat": 1, + "spec_id": "histogram-basic", + "library": "seaborn", + "perturbation": "n5000", + "expected": "accepted", + "tags": [ + "histogram", + "n5000", + "synthetic", + "large", + "smoke" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 152 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "the plot was not reviewed (the repair round left defects)" + ], + "gate_failures": { + "G3": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1, + "schema": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": null, + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2 + }, + "tokens": { + "prompt": 48054, + "candidates": 3545, + "thoughts": 0, + "cached": 40620, + "cache_write": 7386, + "tool_use_prompt": 0, + "judge_input": 1072, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0035677950000000008, + "ttfe_s": 0.35674885800108314, + "e2e_s": 17.320787510005175, + "queue_s": 0.0, + "render_s": [ + 4.847 + ], + "render_wall_s": [ + 4.678 + ], + "turns": 1, + "png": "renders/histogram-basic-seaborn-n5000-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "histogram-basic-seaborn-renamed", + "repeat": 1, + "spec_id": "histogram-basic", + "library": "seaborn", + "perturbation": "renamed", + "expected": "accepted", + "tags": [ + "histogram", + "renamed", + "synthetic", + "renamed-headers" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 432 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "the plot was not reviewed (the review answer could not be read)" + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "unreadable", + "defects": [] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 67782, + "candidates": 4052, + "thoughts": 0, + "cached": 53365, + "cache_write": 14349, + "tool_use_prompt": 0, + "judge_input": 1081, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0049474425, + "ttfe_s": 1.3076557780004805, + "e2e_s": 25.624844218007638, + "queue_s": 0.0, + "render_s": [ + 4.601, + 4.53 + ], + "render_wall_s": [ + 4.46, + 4.386 + ], + "turns": 1, + "png": "renders/histogram-basic-seaborn-renamed-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "histogram-basic-seaborn-x10", + "repeat": 1, + "spec_id": "histogram-basic", + "library": "seaborn", + "perturbation": "x10", + "expected": "accepted", + "tags": [ + "histogram", + "x10", + "synthetic", + "scaled-values" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 377 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "VQ-06 (light): Y-axis title 'Number of Orders' and x-axis title are shown but the plot title is a generic descriptor; the reference-line legend and text are fine, no clipping visible in the render itself → no change needed beyond the gate note; this finding is withdrawn. Likely cause: none." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-06" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 67520, + "candidates": 3391, + "thoughts": 0, + "cached": 52998, + "cache_write": 14454, + "tool_use_prompt": 0, + "judge_input": 1072, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004593303000000002, + "ttfe_s": 0.39502390900452156, + "e2e_s": 21.7007049130043, + "queue_s": 0.0, + "render_s": [ + 4.727, + 4.316 + ], + "render_wall_s": [ + 4.578, + 4.168 + ], + "turns": 1, + "png": "renders/histogram-basic-seaborn-x10-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "line-basic-matplotlib-date", + "repeat": 1, + "spec_id": "line-basic", + "library": "matplotlib", + "perturbation": "date", + "expected": "accepted", + "tags": [ + "line", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "date-axis" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 58 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "AR-09 (light): A '2026-Mar-14' annotation in the bottom-right corner (the date stamp) is clipped at the right canvas edge, and the gate reports text extending 58 px beyond the canvas → all text fully inside the canvas, about 58 px of additional right margin (or shift the stamp left). Likely cause: the date stamp text placement near the right edge combined with tight_layout not reserving space for it; the figure needs bbox_inches or an explicit right margin." + ], + "gate_failures": { + "G3": 1 + }, + "validator_rejections": { + "banned-call": 1, + "banned-import": 1 + }, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "AR-09" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66764, + "candidates": 2864, + "thoughts": 0, + "cached": 53496, + "cache_write": 13200, + "tool_use_prompt": 0, + "judge_input": 1121, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004141896, + "ttfe_s": 0.3608064689906314, + "e2e_s": 14.044735381001374, + "queue_s": 0.0, + "render_s": [ + 2.846 + ], + "render_wall_s": [ + 2.72 + ], + "turns": 1, + "png": "renders/line-basic-matplotlib-date-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "line-basic-matplotlib-decimal-comma", + "repeat": 1, + "spec_id": "line-basic", + "library": "matplotlib", + "perturbation": "decimal-comma", + "expected": "accepted", + "tags": [ + "line", + "decimal-comma", + "synthetic", + "semicolon" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 331 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "the plot was not reviewed (the repair round left defects)" + ], + "gate_failures": { + "G3": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1, + "schema": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": null, + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2 + }, + "tokens": { + "prompt": 46043, + "candidates": 2876, + "thoughts": 0, + "cached": 41118, + "cache_write": 4877, + "tool_use_prompt": 0, + "judge_input": 1051, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0028580255000000003, + "ttfe_s": 0.6355068599950755, + "e2e_s": 13.466235350002535, + "queue_s": 0.0, + "render_s": [ + 2.851 + ], + "render_wall_s": [ + 2.718 + ], + "turns": 1, + "png": "renders/line-basic-matplotlib-decimal-comma-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "line-basic-matplotlib-n12", + "repeat": 1, + "spec_id": "line-basic", + "library": "matplotlib", + "perturbation": "n12", + "expected": "accepted", + "tags": [ + "line", + "n12", + "synthetic", + "small" + ], + "origin": "fixtures", + "status": "ok", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": true, + "accept_match": true, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "ok", + "defects": [] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 64718, + "candidates": 2071, + "thoughts": 0, + "cached": 53496, + "cache_write": 11154, + "tool_use_prompt": 0, + "judge_input": 1051, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.003416721, + "ttfe_s": 0.47358382400125265, + "e2e_s": 14.612663356005214, + "queue_s": 0.0, + "render_s": [ + 2.675, + 2.681 + ], + "render_wall_s": [ + 2.555, + 2.604 + ], + "turns": 1, + "png": "renders/line-basic-matplotlib-n12-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "line-basic-matplotlib-n5000", + "repeat": 1, + "spec_id": "line-basic", + "library": "matplotlib", + "perturbation": "n5000", + "expected": "accepted", + "tags": [ + "line", + "n5000", + "synthetic", + "large" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 331 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "the plot was not reviewed (the repair round left defects)" + ], + "gate_failures": { + "G3": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 1, + "reviewer": { + "verdict": null, + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2 + }, + "tokens": { + "prompt": 45984, + "candidates": 2123, + "thoughts": 0, + "cached": 41118, + "cache_write": 4818, + "tool_use_prompt": 0, + "judge_input": 1051, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.002435763, + "ttfe_s": 0.3248565219982993, + "e2e_s": 11.239277465996565, + "queue_s": 0.0, + "render_s": [ + 2.959 + ], + "render_wall_s": [ + 2.773 + ], + "turns": 1, + "png": "renders/line-basic-matplotlib-n5000-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "line-basic-matplotlib-renamed", + "repeat": 1, + "spec_id": "line-basic", + "library": "matplotlib", + "perturbation": "renamed", + "expected": "accepted", + "tags": [ + "line", + "renamed", + "synthetic", + "renamed-headers", + "non-ascii-headers" + ], + "origin": "fixtures", + "status": "ok", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": true, + "accept_match": true, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "ok", + "defects": [] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 64564, + "candidates": 2419, + "thoughts": 0, + "cached": 53862, + "cache_write": 10634, + "tool_use_prompt": 0, + "judge_input": 1042, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.003539657, + "ttfe_s": 0.4396969929948682, + "e2e_s": 16.21277436100354, + "queue_s": 0.0, + "render_s": [ + 2.821, + 2.692 + ], + "render_wall_s": [ + 2.676, + 2.614 + ], + "turns": 1, + "png": "renders/line-basic-matplotlib-renamed-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "line-basic-matplotlib-x10", + "repeat": 1, + "spec_id": "line-basic", + "library": "matplotlib", + "perturbation": "x10", + "expected": "accepted", + "tags": [ + "line", + "x10", + "synthetic", + "scaled-values" + ], + "origin": "fixtures", + "status": "ok", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": true, + "accept_match": true, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "ok", + "defects": [] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 64737, + "candidates": 2168, + "thoughts": 0, + "cached": 53496, + "cache_write": 11173, + "tool_use_prompt": 0, + "judge_input": 1051, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0034726835, + "ttfe_s": 0.6310002829995938, + "e2e_s": 15.541022599005373, + "queue_s": 0.0, + "render_s": [ + 2.783, + 2.748 + ], + "render_wall_s": [ + 2.641, + 2.667 + ], + "turns": 1, + "png": "renders/line-basic-matplotlib-x10-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "line-basic-seaborn-date", + "repeat": 1, + "spec_id": "line-basic", + "library": "seaborn", + "perturbation": "date", + "expected": "accepted", + "tags": [ + "line", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "date-axis" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 32 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "AR-09 (light): the '2026-Mar-14' ConciseDateFormatter offset label sits at the far right and runs past the canvas edge → keep the offset text fully inside the canvas (about 32 px inward). Likely cause: the ConciseDateFormatter offset text placed at the right edge; the long x-axis range pushes it outside the canvas." + ], + "gate_failures": { + "G3": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1, + "schema": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "AR-09" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65934, + "candidates": 3212, + "thoughts": 0, + "cached": 52998, + "cache_write": 12868, + "tool_use_prompt": 0, + "judge_input": 1121, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004282168, + "ttfe_s": 0.4149289549968671, + "e2e_s": 16.542041688997415, + "queue_s": 0.0, + "render_s": [ + 4.411 + ], + "render_wall_s": [ + 4.256 + ], + "turns": 1, + "png": "renders/line-basic-seaborn-date-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "line-basic-seaborn-decimal-comma", + "repeat": 1, + "spec_id": "line-basic", + "library": "seaborn", + "perturbation": "decimal-comma", + "expected": "accepted", + "tags": [ + "line", + "decimal-comma", + "synthetic", + "semicolon" + ], + "origin": "fixtures", + "status": "ok", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": true, + "accept_match": true, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "ok", + "defects": [] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 64956, + "candidates": 3010, + "thoughts": 0, + "cached": 52998, + "cache_write": 11890, + "tool_use_prompt": 0, + "judge_input": 1051, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004028893, + "ttfe_s": 0.40496223099762574, + "e2e_s": 20.45405216400104, + "queue_s": 0.0, + "render_s": [ + 4.557, + 4.172 + ], + "render_wall_s": [ + 4.402, + 4.074 + ], + "turns": 1, + "png": "renders/line-basic-seaborn-decimal-comma-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "line-basic-seaborn-n12", + "repeat": 1, + "spec_id": "line-basic", + "library": "seaborn", + "perturbation": "n12", + "expected": "accepted", + "tags": [ + "line", + "n12", + "synthetic", + "small" + ], + "origin": "fixtures", + "status": "ok", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": true, + "accept_match": true, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [], + "gate_failures": { + "G3": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1, + "schema": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "ok", + "defects": [] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65288, + "candidates": 2876, + "thoughts": 0, + "cached": 52998, + "cache_write": 12222, + "tool_use_prompt": 0, + "judge_input": 1051, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0040008430000000005, + "ttfe_s": 0.39860082100494765, + "e2e_s": 15.891576219000854, + "queue_s": 0.0, + "render_s": [ + 4.324 + ], + "render_wall_s": [ + 4.2 + ], + "turns": 1, + "png": "renders/line-basic-seaborn-n12-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "line-basic-seaborn-n5000", + "repeat": 1, + "spec_id": "line-basic", + "library": "seaborn", + "perturbation": "n5000", + "expected": "accepted", + "tags": [ + "line", + "n5000", + "synthetic", + "large" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 285 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "VQ-02 (light): 5000 points with 4 px markers and connecting line form a solid green mass; individual data trend is hidden by overplotting → smaller markers (about 2 px) or no markers with reduced alpha (about 0.6) so the line structure is visible (about -2 px marker size). Likely cause: the markersize=4 and marker='o' in sns.lineplot on dense data.", + "VQ-01 (light): legend text is a secondary-ink color at 16pt and the legend label duplicates the axis label → legend removed (single series) or label kept with full INK color for clarity. Likely cause: the ax.legend call with label='Tank Temperature (°C)' on a single-series plot." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-02", + "VQ-01" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65500, + "candidates": 2599, + "thoughts": 0, + "cached": 52998, + "cache_write": 12434, + "tool_use_prompt": 0, + "judge_input": 1051, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.003877643, + "ttfe_s": 0.44263221899745986, + "e2e_s": 20.068328812005348, + "queue_s": 0.0, + "render_s": [ + 4.461, + 4.408 + ], + "render_wall_s": [ + 4.296, + 4.287 + ], + "turns": 1, + "png": "renders/line-basic-seaborn-n5000-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "line-basic-seaborn-renamed", + "repeat": 1, + "spec_id": "line-basic", + "library": "seaborn", + "perturbation": "renamed", + "expected": "accepted", + "tags": [ + "line", + "renamed", + "synthetic", + "renamed-headers", + "non-ascii-headers" + ], + "origin": "fixtures", + "status": "ok", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": true, + "accept_match": true, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "ok", + "defects": [] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 64723, + "candidates": 2911, + "thoughts": 0, + "cached": 53363, + "cache_write": 11292, + "tool_use_prompt": 0, + "judge_input": 1042, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0038952429999999996, + "ttfe_s": 0.5279328300093766, + "e2e_s": 19.479329515001155, + "queue_s": 0.0, + "render_s": [ + 4.25, + 4.079 + ], + "render_wall_s": [ + 4.125, + 4.001 + ], + "turns": 1, + "png": "renders/line-basic-seaborn-renamed-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "line-basic-seaborn-x10", + "repeat": 1, + "spec_id": "line-basic", + "library": "seaborn", + "perturbation": "x10", + "expected": "accepted", + "tags": [ + "line", + "x10", + "synthetic", + "scaled-values", + "smoke" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 319 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "AR-09 (light): the title and axis text extend past the canvas; gate reports 319 px beyond the right edge, though the render shows the title and labels inside the frame → all text fully inside the canvas with a margin. Likely cause: the title/label font size combined with tight_layout on a 16x9 figure; reduce title and label fontsize or set explicit margins." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "AR-09" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65075, + "candidates": 3087, + "thoughts": 0, + "cached": 52998, + "cache_write": 12009, + "tool_use_prompt": 0, + "judge_input": 1051, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0040876055, + "ttfe_s": 0.44532566898851655, + "e2e_s": 20.914855465001892, + "queue_s": 0.0, + "render_s": [ + 4.218, + 4.357 + ], + "render_wall_s": [ + 4.091, + 4.277 + ], + "turns": 1, + "png": "renders/line-basic-seaborn-x10-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "line-timeseries-matplotlib-date", + "repeat": 1, + "spec_id": "line-timeseries", + "library": "matplotlib", + "perturbation": "date", + "expected": "accepted", + "tags": [ + "time-series", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "date-axis" + ], + "origin": "fixtures", + "status": "ok", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": true, + "accept_match": true, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [], + "gate_failures": { + "G3": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1, + "schema": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "ok", + "defects": [] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65833, + "candidates": 2808, + "thoughts": 0, + "cached": 53496, + "cache_write": 12269, + "tool_use_prompt": 0, + "judge_input": 1084, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.003979013500000001, + "ttfe_s": 0.3909765959979268, + "e2e_s": 14.586967875002301, + "queue_s": 0.0, + "render_s": [ + 2.858 + ], + "render_wall_s": [ + 2.674 + ], + "turns": 1, + "png": "renders/line-timeseries-matplotlib-date-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "line-timeseries-matplotlib-decimal-comma", + "repeat": 1, + "spec_id": "line-timeseries", + "library": "matplotlib", + "perturbation": "decimal-comma", + "expected": "accepted", + "tags": [ + "time-series", + "decimal-comma", + "synthetic", + "semicolon", + "dd.mm.yyyy" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 122 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "AR-09 (light): title and axis text extend past canvas edge; the title is centred over the axes but the rendered title sits right against the top and the right-hand end of the x-range runs to the border → all text fully inside the canvas with a few pixels of margin. Likely cause: tight_layout with a long fixed title and no bbox_inches='tight' or margin control in savefig.", + "VQ-01 (light): tick labels at about 14pt on a 3200px canvas read small relative to the 22pt title and 18pt axis labels → tick labels about 18-20pt (about +5 pt). Likely cause: ax.tick_params labelsize=14." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "AR-09", + "VQ-01" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65690, + "candidates": 2682, + "thoughts": 0, + "cached": 53496, + "cache_write": 12126, + "tool_use_prompt": 0, + "judge_input": 1054, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0038867510000000004, + "ttfe_s": 0.44636547499976587, + "e2e_s": 16.758367572998395, + "queue_s": 0.0, + "render_s": [ + 2.725, + 2.625 + ], + "render_wall_s": [ + 2.565, + 2.52 + ], + "turns": 1, + "png": "renders/line-timeseries-matplotlib-decimal-comma-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "line-timeseries-matplotlib-n12", + "repeat": 1, + "spec_id": "line-timeseries", + "library": "matplotlib", + "perturbation": "n12", + "expected": "accepted", + "tags": [ + "time-series", + "n12", + "synthetic", + "small" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 56 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "AR-09 (light): the right-aligned ConciseDateFormatter offset label '2025-Jan' sits at the bottom right and the final data point / right edge is clipped against the canvas border → all text fully inside the canvas with at least a few px margin; the offset label fully visible. Likely cause: set_xlim to dates.max() with ConciseDateFormatter offset text, and subplots_adjust right=0.96 leaving the offset label and line end at the border.", + "VQ-02 (light): the '2025-Jan' offset annotation sits directly beside the 'Date' x-axis title, crowding it → offset annotation clear of the x-axis title with a visible gap. Likely cause: ConciseDateFormatter offset text placed at the axis corner without spacing from the xlabel." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "AR-09", + "VQ-02" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65895, + "candidates": 2892, + "thoughts": 0, + "cached": 53496, + "cache_write": 12331, + "tool_use_prompt": 0, + "judge_input": 1054, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0040304385, + "ttfe_s": 0.6338969429925783, + "e2e_s": 17.265438804999576, + "queue_s": 0.0, + "render_s": [ + 2.53, + 2.464 + ], + "render_wall_s": [ + 2.388, + 2.386 + ], + "turns": 1, + "png": "renders/line-timeseries-matplotlib-n12-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "line-timeseries-matplotlib-n5000", + "repeat": 1, + "spec_id": "line-timeseries", + "library": "matplotlib", + "perturbation": "n5000", + "expected": "accepted", + "tags": [ + "time-series", + "n5000", + "synthetic", + "large" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 91 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "AR-09 (light): title and right-side content extend past the canvas edge; the title is cut close to the right border and the gate reports 91 px overflow → all text fully inside the canvas (about 91 px less extent, or a shorter title / smaller fontsize). Likely cause: the title fontsize=22 and the long title string set in ax.set_title; tight_layout does not account for it." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "AR-09" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65876, + "candidates": 2905, + "thoughts": 0, + "cached": 53496, + "cache_write": 12312, + "tool_use_prompt": 0, + "judge_input": 1072, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004036956, + "ttfe_s": 0.3886640699929558, + "e2e_s": 17.72484052699292, + "queue_s": 0.0, + "render_s": [ + 3.109, + 2.951 + ], + "render_wall_s": [ + 2.923, + 2.795 + ], + "turns": 1, + "png": "renders/line-timeseries-matplotlib-n5000-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "line-timeseries-matplotlib-renamed", + "repeat": 1, + "spec_id": "line-timeseries", + "library": "matplotlib", + "perturbation": "renamed", + "expected": "accepted", + "tags": [ + "time-series", + "renamed", + "synthetic", + "renamed-headers", + "non-ascii-headers" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 122 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "AR-09 (light): text extends 122 px beyond the canvas edge (gate note); the render shows the right-side data and last tick region reaching the border → all text inside the canvas, about 0 px clipped (-122 px overflow). Likely cause: the title/label placement and tight_layout with the 16x9 figsize; long axis label or tick label extends past the right edge.", + "VQ-06 (light): x-axis title reads 'Messdatum' (raw column name) and y-axis title is the German column name, not a descriptive label of the user's data → readable axis titles naming the measured quantity and time, e.g. 'Date' and 'PM2.5 (µg/m³)'. Likely cause: ax.set_xlabel and ax.set_ylabel using the raw column names." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "AR-09", + "VQ-06" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65982, + "candidates": 3150, + "thoughts": 0, + "cached": 53864, + "cache_write": 12050, + "tool_use_prompt": 0, + "judge_input": 1063, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004138739, + "ttfe_s": 0.47425267899234314, + "e2e_s": 18.468818526991527, + "queue_s": 0.0, + "render_s": [ + 2.811, + 2.658 + ], + "render_wall_s": [ + 2.644, + 2.546 + ], + "turns": 1, + "png": "renders/line-timeseries-matplotlib-renamed-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "line-timeseries-matplotlib-x10", + "repeat": 1, + "spec_id": "line-timeseries", + "library": "matplotlib", + "perturbation": "x10", + "expected": "accepted", + "tags": [ + "time-series", + "x10", + "synthetic", + "scaled-values" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 120 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "AR-09 (light): x-axis tick label and axis content extend beyond the canvas edge (gate reports 120 px overflow); right-edge data and the rightmost text are clipped → all text fully inside the canvas, with a margin of at least 20 px on the right. Likely cause: tight_layout with a fixed figsize and xlim set to the last date; the right-most label and the line end sit at the canvas border.", + "VQ-02 (light): the title and y-axis label are tightly packed against the canvas top/left edges → at least 20 px of clear space between title/axis label and the canvas border. Likely cause: tight_layout without padding; the title fontsize 24 on a 16x9 figure." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "AR-09", + "VQ-02" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65750, + "candidates": 2875, + "thoughts": 0, + "cached": 53496, + "cache_write": 12186, + "tool_use_prompt": 0, + "judge_input": 1054, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004001151, + "ttfe_s": 0.4139841869910015, + "e2e_s": 17.533862145995954, + "queue_s": 0.0, + "render_s": [ + 2.754, + 2.723 + ], + "render_wall_s": [ + 2.585, + 2.615 + ], + "turns": 1, + "png": "renders/line-timeseries-matplotlib-x10-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "line-timeseries-seaborn-date", + "repeat": 1, + "spec_id": "line-timeseries", + "library": "seaborn", + "perturbation": "date", + "expected": "accepted", + "tags": [ + "time-series", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "date-axis" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 114 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "AR-09 (light): Right-most tick label '2026' and the canvas edge: text reaches beyond the canvas border (about 114 px past the edge per gate note), and the Date axis/tick area sits close to the right border → all text fully inside the canvas, at least a small margin from the right edge. Likely cause: tick label at the last major tick near the right limit of the x-axis; the ConciseDateFormatter/AutoDateLocator places '2026' at the axis end and tight_layout does not reserve room for it." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "AR-09" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65894, + "candidates": 2807, + "thoughts": 0, + "cached": 52998, + "cache_write": 12828, + "tool_use_prompt": 0, + "judge_input": 1084, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004049848, + "ttfe_s": 0.3943000349972863, + "e2e_s": 20.19598028299515, + "queue_s": 0.0, + "render_s": [ + 4.357, + 4.218 + ], + "render_wall_s": [ + 4.196, + 4.107 + ], + "turns": 1, + "png": "renders/line-timeseries-seaborn-date-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "line-timeseries-seaborn-decimal-comma", + "repeat": 1, + "spec_id": "line-timeseries", + "library": "seaborn", + "perturbation": "decimal-comma", + "expected": "accepted", + "tags": [ + "time-series", + "decimal-comma", + "synthetic", + "semicolon", + "dd.mm.yyyy" + ], + "origin": "fixtures", + "status": "ok", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": true, + "accept_match": true, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "ok", + "defects": [] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65341, + "candidates": 2618, + "thoughts": 0, + "cached": 52998, + "cache_write": 12275, + "tool_use_prompt": 0, + "judge_input": 1054, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0038665605, + "ttfe_s": 0.4537690410070354, + "e2e_s": 19.48389512000722, + "queue_s": 0.0, + "render_s": [ + 4.339, + 4.221 + ], + "render_wall_s": [ + 4.182, + 4.117 + ], + "turns": 1, + "png": "renders/line-timeseries-seaborn-decimal-comma-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "line-timeseries-seaborn-n12", + "repeat": 1, + "spec_id": "line-timeseries", + "library": "seaborn", + "perturbation": "n12", + "expected": "accepted", + "tags": [ + "time-series", + "n12", + "synthetic", + "small" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 148 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "the plot was not reviewed (the review answer could not be read)" + ], + "gate_failures": { + "G3": 1 + }, + "validator_rejections": { + "banned-call": 1, + "banned-import": 1 + }, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "unreadable", + "defects": [] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66687, + "candidates": 2650, + "thoughts": 0, + "cached": 52998, + "cache_write": 13621, + "tool_use_prompt": 0, + "judge_input": 1054, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004069235500000001, + "ttfe_s": 0.6108454289933434, + "e2e_s": 15.423712092000642, + "queue_s": 0.0, + "render_s": [ + 4.29 + ], + "render_wall_s": [ + 4.16 + ], + "turns": 1, + "png": "renders/line-timeseries-seaborn-n12-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "line-timeseries-seaborn-n5000", + "repeat": 1, + "spec_id": "line-timeseries", + "library": "seaborn", + "perturbation": "n5000", + "expected": "accepted", + "tags": [ + "time-series", + "n5000", + "synthetic", + "large", + "smoke" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 83 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "AR-09 (light): x-axis tick label 'Aug' sits at the right canvas edge and the ConciseDateFormatter labels extend beyond the canvas (gate reports 83 px clipping) → all tick labels fully inside the canvas (about 0 px clipped, keep right margin of at least 90 px). Likely cause: the ConciseDateFormatter last tick near the data end combined with tight_layout; add right margin or set xlim with padding." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "AR-09" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65782, + "candidates": 2814, + "thoughts": 0, + "cached": 52998, + "cache_write": 12716, + "tool_use_prompt": 0, + "judge_input": 1072, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004036978, + "ttfe_s": 0.8405081710079685, + "e2e_s": 21.37549782800488, + "queue_s": 0.0, + "render_s": [ + 4.811, + 4.7 + ], + "render_wall_s": [ + 4.616, + 4.543 + ], + "turns": 1, + "png": "renders/line-timeseries-seaborn-n5000-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "line-timeseries-seaborn-renamed", + "repeat": 1, + "spec_id": "line-timeseries", + "library": "seaborn", + "perturbation": "renamed", + "expected": "accepted", + "tags": [ + "time-series", + "renamed", + "synthetic", + "renamed-headers", + "non-ascii-headers" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 113 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "AR-09 (light): rotated tick label '2026' and x-axis extent runs past the right canvas edge area; text extends about 113 px beyond the canvas → all tick and axis text fully inside the canvas (shift or shrink to clear the edge). Likely cause: rotate=45 with ha='right' on the x tick labels combined with tight_layout, pushing the last tick label past the canvas border." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "AR-09" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65794, + "candidates": 2811, + "thoughts": 0, + "cached": 53365, + "cache_write": 12361, + "tool_use_prompt": 0, + "judge_input": 1063, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0039895625, + "ttfe_s": 0.8555055659962818, + "e2e_s": 20.23502617800841, + "queue_s": 0.0, + "render_s": [ + 4.268, + 4.186 + ], + "render_wall_s": [ + 4.114, + 4.081 + ], + "turns": 1, + "png": "renders/line-timeseries-seaborn-renamed-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "line-timeseries-seaborn-x10", + "repeat": 1, + "spec_id": "line-timeseries", + "library": "seaborn", + "perturbation": "x10", + "expected": "accepted", + "tags": [ + "time-series", + "x10", + "synthetic", + "scaled-values" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 114 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "AR-09 (light): the title and the x-axis tick label '2026' extend about 114 px past the canvas edge, the right-most tick label is clipped → all text fully inside the canvas (shift the last tick label or reduce margins by about 114 px). Likely cause: ax.margins(x=0.02) plus ConciseDateFormatter placing the end-of-range tick at the right border; the tight_layout call does not reserve space for it.", + "VQ-06 (light): title 'Daily PM2.5 Concentration in 2025' names 2025 but the data runs into 2026 tick and the x-axis tick set ends at 2026 → title and axis range consistent with the user's data span. Likely cause: hard-coded title string 'in 2025' from the example data." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "AR-09", + "VQ-06" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65764, + "candidates": 2316, + "thoughts": 0, + "cached": 52998, + "cache_write": 12698, + "tool_use_prompt": 0, + "judge_input": 1054, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0037586230000000004, + "ttfe_s": 0.3818132099986542, + "e2e_s": 18.87862797100388, + "queue_s": 0.0, + "render_s": [ + 4.296, + 4.015 + ], + "render_wall_s": [ + 4.126, + 3.909 + ], + "turns": 1, + "png": "renders/line-timeseries-seaborn-x10-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "pie-basic-matplotlib-date", + "repeat": 1, + "spec_id": "pie-basic", + "library": "matplotlib", + "perturbation": "date", + "expected": "accepted", + "tags": [ + "pie", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": false, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [ + "palette-prefix" + ], + "advisory": [], + "residual_defects": [ + "VQ-07 (code): IMPRINT_PALETTE must be a list of colour string literals at line 31 → derive it from df and the Imprint palette. Likely cause: the adaptation (palette-prefix).", + "VQ-02 (light): The 'Food' category label at the bottom collides with the legend frame top edge, partially overlapped → Label fully clear of the legend box (move legend lower or shrink pie radius, about 10-15 px clearance). Likely cause: legend bbox_to_anchor=(0.5, -0.08) placed too high relative to the pie labeldistance=1.15.", + "VQ-01 (light): Slice percentage labels (about 9pt bold white) and category labels (default ~10pt) are small relative to the 3200-px canvas; legend text at 8pt is small → Increase tick/label text to about 12-13pt and legend to about 10-11pt for full-size legibility. Likely cause: textprops fontsize=10, autotext fontsize=9, legend fontsize=8 set below style-guide sizing.", + "DQ-03 (light): Title is hard-coded to 'Expense Breakdown by Category (CHF)' and the Housing slice is exploded by default regardless of data; the explode index assumes the largest slice is first → Title and emphasis derived from the user's own data (largest category exploded is acceptable since it is sorted descending). Likely cause: hard-coded title string and explode=[0.08]+[0]*(n-1) logic." + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-02", + "VQ-01", + "DQ-03" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66719, + "candidates": 3480, + "thoughts": 0, + "cached": 53496, + "cache_write": 13155, + "tool_use_prompt": 0, + "judge_input": 1127, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0044751685000000005, + "ttfe_s": 0.3352772989892401, + "e2e_s": 19.35810758599837, + "queue_s": 0.0, + "render_s": [ + 2.648, + 2.589 + ], + "render_wall_s": [ + 2.43, + 2.501 + ], + "turns": 1, + "png": "renders/pie-basic-matplotlib-date-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "pie-basic-matplotlib-decimal-comma", + "repeat": 1, + "spec_id": "pie-basic", + "library": "matplotlib", + "perturbation": "decimal-comma", + "expected": "accepted", + "tags": [ + "pie", + "decimal-comma", + "synthetic", + "semicolon" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": false, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [ + "palette-prefix" + ], + "advisory": [], + "residual_defects": [ + "VQ-07 (code): IMPRINT_PALETTE may only be extended with the next Imprint positions (#2ABCCD, #954477, #99B314) at line 15 → derive it from df and the Imprint palette. Likely cause: the adaptation (palette-prefix).", + "VQ-02 (light): The 'Food' category label at the bottom overlaps the legend frame's top edge, and the legend sits tight against the pie's lower slices → Clear gap of at least 10 px between the 'Food' label and the legend box, with no collision. Likely cause: legend bbox_to_anchor=(0.5, -0.08) placed too high relative to the pie labeldistance=1.15.", + "VQ-01 (light): Percentage labels (about 9pt bold white) and category labels (10pt) are small relative to the 3200px canvas; legend text at 8pt is small → Labels about 12-14pt, legend about 10-11pt for readability at full size. Likely cause: fontsize=10 in textprops, autotext set_fontsize(9), legend fontsize=8.", + "AR-09 (light): 'Transport' and 'Savings' outside labels sit close to the right canvas border, nearly clipped → At least 20 px margin from the right edge for all labels. Likely cause: tight_layout without enough right padding for outside labels at labeldistance=1.15." + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-02", + "VQ-01", + "AR-09" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66488, + "candidates": 3299, + "thoughts": 0, + "cached": 53496, + "cache_write": 12924, + "tool_use_prompt": 0, + "judge_input": 1066, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004337146000000001, + "ttfe_s": 0.7789974610059289, + "e2e_s": 18.90462867100723, + "queue_s": 0.0, + "render_s": [ + 2.661, + 2.625 + ], + "render_wall_s": [ + 2.525, + 2.487 + ], + "turns": 1, + "png": "renders/pie-basic-matplotlib-decimal-comma-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "pie-basic-matplotlib-n12", + "repeat": 1, + "spec_id": "pie-basic", + "library": "matplotlib", + "perturbation": "n12", + "expected": "accepted", + "tags": [ + "pie", + "n12", + "synthetic", + "small", + "smoke" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": false, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [ + "palette-prefix" + ], + "advisory": [], + "residual_defects": [ + "VQ-07 (code): IMPRINT may only be extended with the next Imprint positions (#2ABCCD, #954477, #99B314) at line 15 → derive it from df and the Imprint palette. Likely cause: the adaptation (palette-prefix).", + "the plot was not reviewed (the review answer could not be read)" + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "unreadable", + "defects": [] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65874, + "candidates": 3423, + "thoughts": 0, + "cached": 53496, + "cache_write": 12310, + "tool_use_prompt": 0, + "judge_input": 1066, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004320921000000001, + "ttfe_s": 0.33471855499374215, + "e2e_s": 20.166362546995515, + "queue_s": 0.0, + "render_s": [ + 2.808, + 2.995 + ], + "render_wall_s": [ + 2.664, + 2.839 + ], + "turns": 1, + "png": "renders/pie-basic-matplotlib-n12-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "pie-basic-matplotlib-n5000", + "repeat": 1, + "spec_id": "pie-basic", + "library": "matplotlib", + "perturbation": "n5000", + "expected": "accepted", + "tags": [ + "pie", + "n5000", + "synthetic", + "large", + "aggregation" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-02 (light): The 'Food' category label at the bottom of the pie overlaps the legend frame and is partly hidden behind it → Food label clear of the legend box with a gap of at least one text height. Likely cause: legend bbox_to_anchor=(0.5, -0.08) placed too high relative to labeldistance=1.15 pie labels; move legend lower or reduce labeldistance.", + "VQ-01 (light): Legend entry text and tick-like labels in INK_SOFT are small (fontsize 8) relative to the 3200px canvas → legend text about 10-11pt. Likely cause: legend fontsize=8 and category textprops fontsize=10 are below the style-guide sizing defaults." + ], + "gate_failures": { + "R1": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-02", + "VQ-01" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65731, + "candidates": 2986, + "thoughts": 0, + "cached": 53496, + "cache_write": 12167, + "tool_use_prompt": 0, + "judge_input": 1065, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0040607985, + "ttfe_s": 1.009946050005965, + "e2e_s": 17.727852859999985, + "queue_s": 0.0, + "render_s": [ + 1.997, + 2.823 + ], + "render_wall_s": [ + 1.872, + 2.702 + ], + "turns": 1, + "png": "renders/pie-basic-matplotlib-n5000-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "pie-basic-matplotlib-renamed", + "repeat": 1, + "spec_id": "pie-basic", + "library": "matplotlib", + "perturbation": "renamed", + "expected": "accepted", + "tags": [ + "pie", + "renamed", + "synthetic", + "renamed-headers" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "AR-09 (light): The 'Food' category label at the bottom of the pie is clipped/overlaps the legend frame, and the 'Transport' and 'Housing' labels sit close to the canvas edge → All category labels fully inside the canvas with clear space above the legend (about 20 px gap). Likely cause: labeldistance=1.15 combined with bbox_to_anchor=(0.5,-0.08) legend placement and tight_layout not reserving room.", + "VQ-02 (light): Bottom 'Food' label collides with the top border of the legend box → No text collision; legend moved lower or pie shrunk so labels clear the legend. Likely cause: legend bbox_to_anchor y=-0.08 positioned too high relative to the pie's outer labels." + ], + "gate_failures": { + "R1": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "AR-09", + "VQ-02" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66382, + "candidates": 3392, + "thoughts": 0, + "cached": 53863, + "cache_write": 12451, + "tool_use_prompt": 0, + "judge_input": 1071, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0043278455, + "ttfe_s": 0.6412770070019178, + "e2e_s": 18.18937448700308, + "queue_s": 0.0, + "render_s": [ + 1.925, + 2.992 + ], + "render_wall_s": [ + 1.839, + 2.829 + ], + "turns": 1, + "png": "renders/pie-basic-matplotlib-renamed-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "pie-basic-matplotlib-x10", + "repeat": 1, + "spec_id": "pie-basic", + "library": "matplotlib", + "perturbation": "x10", + "expected": "accepted", + "tags": [ + "pie", + "x10", + "synthetic", + "scaled-values" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": false, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [ + "palette-prefix" + ], + "advisory": [], + "residual_defects": [ + "VQ-07 (code): 'IMPRINT_PALETTE.append' would change the palette at line 32 → derive it from df and the Imprint palette. Likely cause: the adaptation (palette-prefix).", + "the plot was not reviewed (the repair round left defects)" + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1, + "schema": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": null, + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2 + }, + "tokens": { + "prompt": 46850, + "candidates": 2718, + "thoughts": 0, + "cached": 41118, + "cache_write": 5684, + "tool_use_prompt": 0, + "judge_input": 1068, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0028839580000000003, + "ttfe_s": 0.3458520660060458, + "e2e_s": 12.803623214000254, + "queue_s": 0.0, + "render_s": [ + 2.52 + ], + "render_wall_s": [ + 2.395 + ], + "turns": 1, + "png": "renders/pie-basic-matplotlib-x10-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "pie-basic-seaborn-date", + "repeat": 1, + "spec_id": "pie-basic", + "library": "seaborn", + "perturbation": "date", + "expected": "accepted", + "tags": [ + "pie", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-01 (light): percentage labels on slices about 10pt-equivalent and dark INK text sits on dark-ish slices (green, blue, red) with low contrast → percent labels noticeably larger (about 14pt) and in a contrasting color on dark slices (+4pt). Likely cause: autotext set_fontsize(10) and set_color(INK) in the autotexts loop.", + "VQ-06 (light): title 'Expense share by category (CHF)' is generic and does not name the data source/time scope → title naming the user's expense data, e.g. 'Monthly expenses by category (CHF)'. Likely cause: hard-coded title string in ax.set_title." + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-01", + "VQ-06" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66072, + "candidates": 2466, + "thoughts": 0, + "cached": 52998, + "cache_write": 13006, + "tool_use_prompt": 0, + "judge_input": 1127, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.003891503, + "ttfe_s": 0.39848446199903265, + "e2e_s": 19.184595257000183, + "queue_s": 0.0, + "render_s": [ + 4.079, + 4.265 + ], + "render_wall_s": [ + 3.957, + 4.117 + ], + "turns": 1, + "png": "renders/pie-basic-seaborn-date-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "pie-basic-seaborn-decimal-comma", + "repeat": 1, + "spec_id": "pie-basic", + "library": "seaborn", + "perturbation": "decimal-comma", + "expected": "accepted", + "tags": [ + "pie", + "decimal-comma", + "synthetic", + "semicolon" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "DQ-03 (light): Center annotation reads 'Monthly Total CHF' and the title is fixed text from the example; center label is a stale claim about a total that the user's data does not state as a monthly total → Center label derived from the user's data (or removed) rather than a hard-coded 'Monthly Total' claim. Likely cause: the hard-coded ax.text center annotation string.", + "VQ-01 (light): Percentage labels (autopct) at about 8 px rendered size on the 3200-px canvas, small relative to the slices → about 12 px (+4 px) larger autopct text. Likely cause: autotext.set_fontsize(8) in the autotexts loop." + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 1, + "reviewer": { + "verdict": "defects", + "defects": [ + "DQ-03", + "VQ-01" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65587, + "candidates": 1860, + "thoughts": 0, + "cached": 52998, + "cache_write": 12521, + "tool_use_prompt": 0, + "judge_input": 1066, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0034848055000000003, + "ttfe_s": 0.49214888000278734, + "e2e_s": 12.920938890994876, + "queue_s": 0.0, + "render_s": [ + 4.015 + ], + "render_wall_s": [ + 3.918 + ], + "turns": 1, + "png": "renders/pie-basic-seaborn-decimal-comma-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "pie-basic-seaborn-n12", + "repeat": 1, + "spec_id": "pie-basic", + "library": "seaborn", + "perturbation": "n12", + "expected": "accepted", + "tags": [ + "pie", + "n12", + "synthetic", + "small" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": false, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [ + "palette-prefix" + ], + "advisory": [], + "residual_defects": [ + "VQ-07 (code): IMPRINT may only be extended with the next Imprint positions (#009E73, #C475FD, #4467A3) at line 16 → derive it from df and the Imprint palette. Likely cause: the adaptation (palette-prefix).", + "VQ-02 (light): Small slice percentage labels (1%, 2%, 2%, 3%) collide with each other near the top of the donut → no overlapping labels; labels for slices under about 3% are separated or moved outside the ring. Likely cause: autopct labels placed at pctdistance=0.78 inside narrow wedges with a fixed fontsize of 8.", + "VQ-03 (light): Five trailing categories (Health, Utilities, Clothing, Education, Other, Gifts) use the same near-identical gray INK_MUTED, so their slices and legend glyphs are hard to tell apart → distinct colors per category, as the spec requires. Likely cause: base_colors fills positions 7+ with the single INK_MUTED value instead of distinct colors." + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-02", + "VQ-03" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66001, + "candidates": 3120, + "thoughts": 0, + "cached": 52998, + "cache_write": 12935, + "tool_use_prompt": 0, + "judge_input": 1066, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0042347305, + "ttfe_s": 0.344745882001007, + "e2e_s": 21.93054294900503, + "queue_s": 0.0, + "render_s": [ + 4.432, + 4.361 + ], + "render_wall_s": [ + 4.29, + 4.23 + ], + "turns": 1, + "png": "renders/pie-basic-seaborn-n12-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "pie-basic-seaborn-n5000", + "repeat": 1, + "spec_id": "pie-basic", + "library": "seaborn", + "perturbation": "n5000", + "expected": "accepted", + "tags": [ + "pie", + "n5000", + "synthetic", + "large", + "aggregation" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 1, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "the plot was not reviewed (the review answer could not be read)" + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "unreadable", + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_seaborn": 1, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 45801, + "candidates": 1429, + "thoughts": 0, + "cached": 35747, + "cache_write": 10006, + "tool_use_prompt": 0, + "judge_input": 1065, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.002709872, + "ttfe_s": 0.4391108129930217, + "e2e_s": 12.32919226300146, + "queue_s": 0.0, + "render_s": [ + 4.34 + ], + "render_wall_s": [ + 4.172 + ], + "turns": 1, + "png": "renders/pie-basic-seaborn-n5000-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "pie-basic-seaborn-renamed", + "repeat": 1, + "spec_id": "pie-basic", + "library": "seaborn", + "perturbation": "renamed", + "expected": "accepted", + "tags": [ + "pie", + "renamed", + "synthetic", + "renamed-headers" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "DQ-03 (light): Center annotation reads 'Cloud Market 2024' from the catalogue example, which does not describe the user's monthly spending data → Center label that names the user's data (e.g. 'Monthly\\nspending'), or removed. Likely cause: the hard-coded ax.text center label string 'Cloud\\nMarket\\n2024'.", + "VQ-01 (light): Percentage labels (autopct) at about 8 pt on a 3200-px canvas, small relative to the slices → about 11-12 pt (+3-4 pt). Likely cause: autotext.set_fontsize(8)." + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "DQ-03", + "VQ-01" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65864, + "candidates": 1893, + "thoughts": 0, + "cached": 53364, + "cache_write": 12432, + "tool_use_prompt": 0, + "judge_input": 1071, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.003495294, + "ttfe_s": 0.5403114390064729, + "e2e_s": 17.70848198000749, + "queue_s": 0.0, + "render_s": [ + 4.254, + 4.049 + ], + "render_wall_s": [ + 4.117, + 3.967 + ], + "turns": 1, + "png": "renders/pie-basic-seaborn-renamed-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "pie-basic-seaborn-x10", + "repeat": 1, + "spec_id": "pie-basic", + "library": "seaborn", + "perturbation": "x10", + "expected": "accepted", + "tags": [ + "pie", + "x10", + "synthetic", + "scaled-values" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-01 (light): percentage labels on slices are about 8pt at 400dpi, appearing small relative to the canvas; legend text also small → larger autopct labels (about 11pt) for readability at full size. Likely cause: autotext.set_fontsize(8) in the autopct loop." + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-01" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65493, + "candidates": 1429, + "thoughts": 0, + "cached": 52998, + "cache_write": 12427, + "tool_use_prompt": 0, + "judge_input": 1068, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0032350505, + "ttfe_s": 0.3836267299921019, + "e2e_s": 16.553829136988497, + "queue_s": 0.0, + "render_s": [ + 4.277, + 4.022 + ], + "render_wall_s": [ + 4.148, + 3.941 + ], + "turns": 1, + "png": "renders/pie-basic-seaborn-x10-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "scatter-basic-matplotlib", + "repeat": 1, + "spec_id": "scatter-basic", + "library": "matplotlib", + "perturbation": null, + "expected": "accepted", + "tags": [ + "numeric", + "renamed-columns", + "small", + "smoke" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 441 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "the plot was not reviewed (the review answer could not be read)" + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "unreadable", + "defects": [] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66731, + "candidates": 3025, + "thoughts": 0, + "cached": 53496, + "cache_write": 13167, + "tool_use_prompt": 0, + "judge_input": 1068, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0042200785, + "ttfe_s": 0.3443734540051082, + "e2e_s": 17.214191193008446, + "queue_s": 0.0, + "render_s": [ + 2.587, + 2.649 + ], + "render_wall_s": [ + 2.499, + 2.516 + ], + "turns": 1, + "png": "renders/scatter-basic-matplotlib-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "scatter-basic-matplotlib-date", + "repeat": 1, + "spec_id": "scatter-basic", + "library": "matplotlib", + "perturbation": "date", + "expected": "accepted", + "tags": [ + "scatter", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 242 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "AR-09 (light): the footnote 'n = 150 · Pearson r = 0.77' sits at the right edge and its text extends past the canvas border → all text fully inside the canvas, with a right margin of at least about 20 px. Likely cause: fig.text placed at x=0.955 with ha='right' combined with the long footnote string; move the anchor left or shorten the text." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "AR-09" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 67482, + "candidates": 1929, + "thoughts": 0, + "cached": 53496, + "cache_write": 13918, + "tool_use_prompt": 0, + "judge_input": 1154, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0037300009999999997, + "ttfe_s": 0.3418059059913503, + "e2e_s": 14.097184952988755, + "queue_s": 0.0, + "render_s": [ + 2.796, + 2.681 + ], + "render_wall_s": [ + 2.627, + 2.567 + ], + "turns": 1, + "png": "renders/scatter-basic-matplotlib-date-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "scatter-basic-matplotlib-decimal-comma", + "repeat": 1, + "spec_id": "scatter-basic", + "library": "matplotlib", + "perturbation": "decimal-comma", + "expected": "accepted", + "tags": [ + "scatter", + "decimal-comma", + "synthetic", + "semicolon" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 314 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "DQ-03 (light): A trend line and 95% confidence band are drawn, a regression layer the spec never asked for, and the band uses a hard-coded t_crit of 1.96 with a 'Pearson r' footnote; the scatter itself is fine → Remove the fitted trend line, confidence band and the Pearson r footnote so only the scatter of Ad Spend vs Revenue remains. Likely cause: the np.polyfit trend block, fill_between band, and the fig.text Pearson r annotation.", + "VQ-03 (light): Markers are large (s=130) and overlap heavily in the dense 40-60 and 80-120 ranges, with dark overplotted clusters → Smaller marker size (about s=70) so overlap is reduced while points stay visible. Likely cause: the scatter s=130 argument." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "DQ-03", + "VQ-03" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 67239, + "candidates": 3308, + "thoughts": 0, + "cached": 53496, + "cache_write": 13675, + "tool_use_prompt": 0, + "judge_input": 1092, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004448218500000001, + "ttfe_s": 0.578477696995833, + "e2e_s": 19.602333379996708, + "queue_s": 0.0, + "render_s": [ + 2.766, + 2.697 + ], + "render_wall_s": [ + 2.614, + 2.531 + ], + "turns": 1, + "png": "renders/scatter-basic-matplotlib-decimal-comma-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "scatter-basic-matplotlib-n12", + "repeat": 1, + "spec_id": "scatter-basic", + "library": "matplotlib", + "perturbation": "n12", + "expected": "accepted", + "tags": [ + "scatter", + "n12", + "synthetic", + "small" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 70 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "AR-09 (light): the footnote 'n = 12 · Pearson r = 0.69' and the x-axis label sit close to the bottom-right; gate reports text extending 70 px beyond the canvas edge → all text fully inside the canvas with at least ~20 px margin (shift right edge inward by about 70 px). Likely cause: fig.text anchored at x=0.96 with ha='right' combined with subplots_adjust right=0.95 leaves the footnote/labels overflowing the right edge; reduce the footnote x position or the right margin." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "AR-09" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66698, + "candidates": 2737, + "thoughts": 0, + "cached": 53496, + "cache_write": 13134, + "tool_use_prompt": 0, + "judge_input": 1092, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004059781, + "ttfe_s": 0.4107080599933397, + "e2e_s": 16.52818198899331, + "queue_s": 0.0, + "render_s": [ + 2.799, + 2.627 + ], + "render_wall_s": [ + 2.654, + 2.545 + ], + "turns": 1, + "png": "renders/scatter-basic-matplotlib-n12-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "scatter-basic-matplotlib-n5000", + "repeat": 1, + "spec_id": "scatter-basic", + "library": "matplotlib", + "perturbation": "n5000", + "expected": "accepted", + "tags": [ + "scatter", + "n5000", + "synthetic", + "large" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 298 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "VQ-02 (light): 5000 points at alpha 0.7 and size 40 form a dense, largely opaque blob in the lower-left and centre, hiding the structure of the data → smaller markers (about s=12-16) and lower alpha (about 0.35-0.45) so overlap stays readable. Likely cause: the scatter call's s=40 and alpha=0.7 are not adapted to the high row count (5000).", + "DQ-03 (light): the y-axis is fixed to a 0-500 range and the footnote reads 'Pearson r = 0.70' from the example data, not confirmed for the user's values; the bottom spine extends below 0 with empty space → axis limits derived from the user's data min/max, and footnote computed from the same data (it already is) with no hard-coded range. Likely cause: the axis range is auto-chosen by matplotlib with ax.margins but the footnote/labels still carry catalogue-example framing; verify no set_ylim/set_xlim hard-codes the range." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-02", + "DQ-03" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66537, + "candidates": 3116, + "thoughts": 0, + "cached": 53496, + "cache_write": 12973, + "tool_use_prompt": 0, + "judge_input": 1092, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004246093499999999, + "ttfe_s": 0.34770133200800046, + "e2e_s": 20.680649279005593, + "queue_s": 0.0, + "render_s": [ + 4.07, + 3.466 + ], + "render_wall_s": [ + 3.76, + 3.22 + ], + "turns": 1, + "png": "renders/scatter-basic-matplotlib-n5000-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "scatter-basic-matplotlib-renamed", + "repeat": 1, + "spec_id": "scatter-basic", + "library": "matplotlib", + "perturbation": "renamed", + "expected": "accepted", + "tags": [ + "scatter", + "renamed", + "synthetic", + "renamed-headers", + "smoke" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 314 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "the plot was not reviewed (the repair round left defects)" + ], + "gate_failures": { + "G3": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 1, + "reviewer": { + "verdict": null, + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2 + }, + "tokens": { + "prompt": 47539, + "candidates": 1710, + "thoughts": 0, + "cached": 41486, + "cache_write": 6005, + "tool_use_prompt": 0, + "judge_input": 1103, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0023815935000000006, + "ttfe_s": 0.47832388398819603, + "e2e_s": 10.03277336798783, + "queue_s": 0.0, + "render_s": [ + 2.801 + ], + "render_wall_s": [ + 2.642 + ], + "turns": 1, + "png": "renders/scatter-basic-matplotlib-renamed-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "scatter-basic-matplotlib-x10", + "repeat": 1, + "spec_id": "scatter-basic", + "library": "matplotlib", + "perturbation": "x10", + "expected": "accepted", + "tags": [ + "scatter", + "x10", + "synthetic", + "scaled-values" + ], + "origin": "fixtures", + "status": "ok", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": true, + "accept_match": true, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "ok", + "defects": [] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66523, + "candidates": 2633, + "thoughts": 0, + "cached": 53496, + "cache_write": 12959, + "tool_use_prompt": 0, + "judge_input": 1096, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0039789585, + "ttfe_s": 0.6102120889991056, + "e2e_s": 16.594046911006444, + "queue_s": 0.0, + "render_s": [ + 2.739, + 2.628 + ], + "render_wall_s": [ + 2.563, + 2.526 + ], + "turns": 1, + "png": "renders/scatter-basic-matplotlib-x10-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "scatter-basic-seaborn-date", + "repeat": 1, + "spec_id": "scatter-basic", + "library": "seaborn", + "perturbation": "date", + "expected": "accepted", + "tags": [ + "scatter", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 233 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "VQ-06 (light): Title 'Ad Spend vs. Revenue (kCHF)' is clipped at the top edge of the canvas, with its ascenders cut off → Title fully inside the canvas with about 20-40 px top margin (+~40 px). Likely cause: fig.subplots_adjust top=0.93 leaves too little room above the title; the title pad/top margin needs to be increased.", + "AR-09 (light): Title text touches/exceeds the top border of the canvas → Title entirely within the canvas. Likely cause: fig.subplots_adjust(top=0.93) combined with title pad=14 and fontsize 12 pushes the title past the top edge." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-06", + "AR-09" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66328, + "candidates": 2776, + "thoughts": 0, + "cached": 52998, + "cache_write": 13262, + "tool_use_prompt": 0, + "judge_input": 1154, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004100173, + "ttfe_s": 0.3783219330071006, + "e2e_s": 19.77694112600875, + "queue_s": 0.0, + "render_s": [ + 4.438, + 4.233 + ], + "render_wall_s": [ + 4.299, + 4.139 + ], + "turns": 1, + "png": "renders/scatter-basic-seaborn-date-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "scatter-basic-seaborn-decimal-comma", + "repeat": 1, + "spec_id": "scatter-basic", + "library": "seaborn", + "perturbation": "decimal-comma", + "expected": "accepted", + "tags": [ + "scatter", + "decimal-comma", + "synthetic", + "semicolon" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 233 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "AR-09 (light): title text 'Ad Spend vs Revenue (kCHF)' is cut off at the top canvas edge (ascenders clipped) → title fully inside canvas with about 20-30 px top margin (+~30 px). Likely cause: fig.subplots_adjust top=0.93 leaves too little headroom for the 12pt title with pad=14." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "AR-09" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65823, + "candidates": 2875, + "thoughts": 0, + "cached": 52998, + "cache_write": 12757, + "tool_use_prompt": 0, + "judge_input": 1092, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0040783655, + "ttfe_s": 0.5709063649992459, + "e2e_s": 21.335035904994584, + "queue_s": 0.0, + "render_s": [ + 5.625, + 4.098 + ], + "render_wall_s": [ + 5.478, + 3.998 + ], + "turns": 1, + "png": "renders/scatter-basic-seaborn-decimal-comma-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "scatter-basic-seaborn-n12", + "repeat": 1, + "spec_id": "scatter-basic", + "library": "seaborn", + "perturbation": "n12", + "expected": "accepted", + "tags": [ + "scatter", + "n12", + "synthetic", + "small" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 192 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "the plot was not reviewed (the repair round left defects)" + ], + "gate_failures": { + "G3": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 1, + "reviewer": { + "verdict": null, + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2 + }, + "tokens": { + "prompt": 46528, + "candidates": 2294, + "thoughts": 0, + "cached": 40620, + "cache_write": 5860, + "tool_use_prompt": 0, + "judge_input": 1092, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.00267212, + "ttfe_s": 0.5808747299888637, + "e2e_s": 13.071912451996468, + "queue_s": 0.0, + "render_s": [ + 4.251 + ], + "render_wall_s": [ + 4.129 + ], + "turns": 1, + "png": "renders/scatter-basic-seaborn-n12-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "scatter-basic-seaborn-n5000", + "repeat": 1, + "spec_id": "scatter-basic", + "library": "seaborn", + "perturbation": "n5000", + "expected": "accepted", + "tags": [ + "scatter", + "n5000", + "synthetic", + "large" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 218 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "VQ-02 (light): title text 'Ad Spend vs. Revenue (kCHF)' is clipped/crowded against the top canvas edge (top of glyphs at the border) → title fully inside canvas with about 20-30 px top margin (+~30 px). Likely cause: subplots_adjust top=0.93 leaves too little room for the title pad and fontsize 12.", + "VQ-03 (light): dense cluster of overplotted markers with edge outlines merging into a solid green mass at low Ad Spend → smaller marker size or lower alpha so individual points remain distinguishable (s reduced from 30 to about 18). Likely cause: scatterplot s=30 with 5000 rows is too large for this density." + ], + "gate_failures": { + "G3": 2 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-02", + "VQ-03" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 65915, + "candidates": 2902, + "thoughts": 0, + "cached": 52998, + "cache_write": 12849, + "tool_use_prompt": 0, + "judge_input": 1092, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004105865500000001, + "ttfe_s": 0.36393623499316163, + "e2e_s": 23.0481999469921, + "queue_s": 0.0, + "render_s": [ + 5.245, + 4.912 + ], + "render_wall_s": [ + 4.945, + 4.621 + ], + "turns": 1, + "png": "renders/scatter-basic-seaborn-n5000-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "scatter-basic-seaborn-renamed", + "repeat": 1, + "spec_id": "scatter-basic", + "library": "seaborn", + "perturbation": "renamed", + "expected": "accepted", + "tags": [ + "scatter", + "renamed", + "synthetic", + "renamed-headers" + ], + "origin": "fixtures", + "status": "failed", + "reason": "validation", + "attempts": 2, + "passed": false, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "schema": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": null, + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2 + }, + "tokens": { + "prompt": 46341, + "candidates": 2347, + "thoughts": 0, + "cached": 40987, + "cache_write": 5306, + "tool_use_prompt": 0, + "judge_input": 1103, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0026303420000000004, + "ttfe_s": 0.5412283229961758, + "e2e_s": 8.644940424986999, + "queue_s": 0.0, + "render_s": [], + "render_wall_s": [], + "turns": 1, + "png": null, + "error": null, + "pipeline_error": null + }, + { + "case_id": "scatter-basic-seaborn-x10", + "repeat": 1, + "spec_id": "scatter-basic", + "library": "seaborn", + "perturbation": "x10", + "expected": "accepted", + "tags": [ + "scatter", + "x10", + "synthetic", + "scaled-values" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [ + "G3" + ], + "residual_defects": [ + "AR-09 (light): text extends 320 px beyond the canvas edge → keep every text inside the canvas. Likely cause: a label position, a long tick label or a large font size.", + "the plot was not reviewed (the repair round left defects)" + ], + "gate_failures": { + "G3": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1, + "schema": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": null, + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2 + }, + "tokens": { + "prompt": 46520, + "candidates": 2975, + "thoughts": 0, + "cached": 40620, + "cache_write": 5852, + "tool_use_prompt": 0, + "judge_input": 1096, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.00304601, + "ttfe_s": 0.3678261890017893, + "e2e_s": 14.891276212001685, + "queue_s": 0.0, + "render_s": [ + 4.54 + ], + "render_wall_s": [ + 4.389 + ], + "turns": 1, + "png": "renders/scatter-basic-seaborn-x10-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "violin-basic-matplotlib-date", + "repeat": 1, + "spec_id": "violin-basic", + "library": "matplotlib", + "perturbation": "date", + "expected": "accepted", + "tags": [ + "violin", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "SC-01 (light): violins are one-sided filled bodies with no mirrored density; the spec asks for mirrored KDE on both sides of the centre axis → symmetric density drawn on both sides of each category centre. Likely cause: violinplot call draws default one-sided bodies; the bodies are not mirrored around their position.", + "VQ-03 (light): quartile and median lines are drawn as thick bars spanning the full violin width, with the quartile colour clashing against the violin fill (white and amber on mid-tone fills) → thinner, clearly separated quartile markers with a clear median line inside the violin. Likely cause: cquantiles linewidths of 2.0/3.5 with path-effect stroke and per-category colours; reduce widths and contrast." + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1, + "schema": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "SC-01", + "VQ-03" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 67571, + "candidates": 3616, + "thoughts": 0, + "cached": 53496, + "cache_write": 14007, + "tool_use_prompt": 0, + "judge_input": 1131, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0046675585, + "ttfe_s": 0.6109726970025804, + "e2e_s": 17.130623320001177, + "queue_s": 0.0, + "render_s": [ + 2.805 + ], + "render_wall_s": [ + 2.66 + ], + "turns": 1, + "png": "renders/violin-basic-matplotlib-date-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "violin-basic-matplotlib-decimal-comma", + "repeat": 1, + "spec_id": "violin-basic", + "library": "matplotlib", + "perturbation": "decimal-comma", + "expected": "accepted", + "tags": [ + "violin", + "decimal-comma", + "synthetic", + "semicolon" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "SC-01 (light): Violins are one-sided filled bodies (no mirrored density on both sides); the spec asks for mirrored KDE on both sides → Mirrored density drawn symmetrically on both sides of each category center. Likely cause: ax.violinplot draws a full symmetric body but the rendered bodies are not mirrored/half-violin shaped; the mirrored density step is missing from the code.", + "VQ-03 (light): Median line is amber and thick while Q1/Q3 white lines are thin; the quantile markers are hard to tell apart from the body edge and the spec's quartile markers are barely legible → Quartile markers and median line clearly distinct and visible against each colored body. Likely cause: cquantiles set_linewidths and set_colors with path effects on the violin body colors." + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "SC-01", + "VQ-03" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 67262, + "candidates": 3812, + "thoughts": 0, + "cached": 53496, + "cache_write": 13698, + "tool_use_prompt": 0, + "judge_input": 1069, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004726051, + "ttfe_s": 0.4416472099983366, + "e2e_s": 20.75052440300351, + "queue_s": 0.0, + "render_s": [ + 2.713, + 2.892 + ], + "render_wall_s": [ + 2.574, + 2.739 + ], + "turns": 1, + "png": "renders/violin-basic-matplotlib-decimal-comma-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "violin-basic-matplotlib-n12", + "repeat": 1, + "spec_id": "violin-basic", + "library": "matplotlib", + "perturbation": "n12", + "expected": "accepted", + "tags": [ + "violin", + "n12", + "synthetic", + "small" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 1, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "the plot was not reviewed (the review answer could not be read)" + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "unreadable", + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_matplotlib": 1, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 46703, + "candidates": 2119, + "thoughts": 0, + "cached": 35996, + "cache_write": 10659, + "tool_use_prompt": 0, + "judge_input": 1069, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0031823385000000004, + "ttfe_s": 0.7486508189904271, + "e2e_s": 12.520824920997256, + "queue_s": 0.0, + "render_s": [ + 2.729 + ], + "render_wall_s": [ + 2.588 + ], + "turns": 1, + "png": "renders/violin-basic-matplotlib-n12-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "violin-basic-matplotlib-n5000", + "repeat": 1, + "spec_id": "violin-basic", + "library": "matplotlib", + "perturbation": "n5000", + "expected": "accepted", + "tags": [ + "violin", + "n5000", + "synthetic", + "large" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 1, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "the plot was not reviewed (the review answer could not be read)" + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "unreadable", + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_matplotlib": 1, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 46631, + "candidates": 1844, + "thoughts": 0, + "cached": 35996, + "cache_write": 10587, + "tool_use_prompt": 0, + "judge_input": 1069, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0030211885, + "ttfe_s": 0.3811092230025679, + "e2e_s": 11.230789820008795, + "queue_s": 0.0, + "render_s": [ + 2.866 + ], + "render_wall_s": [ + 2.691 + ], + "turns": 1, + "png": "renders/violin-basic-matplotlib-n5000-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "violin-basic-matplotlib-renamed", + "repeat": 1, + "spec_id": "violin-basic", + "library": "matplotlib", + "perturbation": "renamed", + "expected": "accepted", + "tags": [ + "violin", + "renamed", + "synthetic", + "renamed-headers" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-06 (light): plot title is empty (title string is \"\"), so no title names the user's data → a title naming the dataset (e.g. basket value distribution by customer segment). Likely cause: the title variable is set to an empty string.", + "VQ-01 (light): axis titles and tick labels are small relative to the canvas; tick labels at about 8pt look faint in the render → tick labels about 10pt and axis titles about 12pt for legibility. Likely cause: the labelsize=8 in tick_params and fontsize=10 in set_xlabel/set_ylabel.", + "SC-03 (light): y-axis label reads 'basket_eur' (raw column name) and x-axis reads 'Segment' while the data is basket value in EUR → a readable axis label such as 'Basket value (EUR)' on y and 'Customer segment' on x. Likely cause: ax.set_ylabel uses the raw column name and the x label is hard-coded from the example data." + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1, + "schema": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-06", + "VQ-01", + "SC-03" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_matplotlib": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 67127, + "candidates": 4035, + "thoughts": 0, + "cached": 53863, + "cache_write": 13196, + "tool_use_prompt": 0, + "judge_input": 1056, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004782282999999999, + "ttfe_s": 0.5069715339923277, + "e2e_s": 17.59339742299926, + "queue_s": 0.0, + "render_s": [ + 2.791 + ], + "render_wall_s": [ + 2.654 + ], + "turns": 1, + "png": "renders/violin-basic-matplotlib-renamed-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "violin-basic-matplotlib-x10", + "repeat": 1, + "spec_id": "violin-basic", + "library": "matplotlib", + "perturbation": "x10", + "expected": "accepted", + "tags": [ + "violin", + "x10", + "synthetic", + "scaled-values" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 1, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "the plot was not reviewed (the review answer could not be read)" + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "unreadable", + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_matplotlib": 1, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 46684, + "candidates": 2010, + "thoughts": 0, + "cached": 35996, + "cache_write": 10640, + "tool_use_prompt": 0, + "judge_input": 1069, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0031197760000000003, + "ttfe_s": 0.5762794699985534, + "e2e_s": 12.02110744699894, + "queue_s": 0.0, + "render_s": [ + 2.753 + ], + "render_wall_s": [ + 2.609 + ], + "turns": 1, + "png": "renders/violin-basic-matplotlib-x10-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "violin-basic-seaborn-date", + "repeat": 1, + "spec_id": "violin-basic", + "library": "seaborn", + "perturbation": "date", + "expected": "accepted", + "tags": [ + "violin", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "origin": "fixtures", + "status": "ok", + "reason": null, + "attempts": 1, + "passed": true, + "accepted": true, + "accept_match": true, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "ok", + "defects": [] + }, + "llm_calls": 4, + "llm_calls_by_agent": { + "adapter_seaborn": 1, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 46363, + "candidates": 1690, + "thoughts": 0, + "cached": 35747, + "cache_write": 10568, + "tool_use_prompt": 0, + "judge_input": 1131, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0029379570000000006, + "ttfe_s": 0.37799281599291135, + "e2e_s": 11.921852655999828, + "queue_s": 0.0, + "render_s": [ + 4.676 + ], + "render_wall_s": [ + 4.526 + ], + "turns": 1, + "png": "renders/violin-basic-seaborn-date-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "violin-basic-seaborn-decimal-comma", + "repeat": 1, + "spec_id": "violin-basic", + "library": "seaborn", + "perturbation": "decimal-comma", + "expected": "accepted", + "tags": [ + "violin", + "decimal-comma", + "synthetic", + "semicolon" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-06 (light): plot has no title (title is empty string) so the chart does not name the user's data → a title naming the basket value distribution by customer segment, e.g. 'Basket Value by Customer Segment'. Likely cause: title = \"\" passed to ax.set_title.", + "VQ-03 (light): jittered stripplot points at alpha 0.15 and size 2.0 are nearly invisible against the violins and background → points visible at about alpha 0.4 and size 3.5 (+1.5 size, +0.25 alpha). Likely cause: stripplot size and alpha arguments.", + "VQ-07 (light): violin fills use the palette but the 2nd-4th series colors are ordered by appearance, and the stripplot points inherit per-category tints that are too faint → stripplot points drawn in INK_SOFT or the same Imprint hue at higher opacity. Likely cause: stripplot palette=palette with low alpha." + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1, + "schema": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-06", + "VQ-03", + "VQ-07" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66672, + "candidates": 4036, + "thoughts": 0, + "cached": 52998, + "cache_write": 13606, + "tool_use_prompt": 0, + "judge_input": 1069, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.0048311230000000005, + "ttfe_s": 0.5042042239947477, + "e2e_s": 19.713084058006643, + "queue_s": 0.0, + "render_s": [ + 4.464 + ], + "render_wall_s": [ + 4.323 + ], + "turns": 1, + "png": "renders/violin-basic-seaborn-decimal-comma-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "violin-basic-seaborn-n12", + "repeat": 1, + "spec_id": "violin-basic", + "library": "seaborn", + "perturbation": "n12", + "expected": "accepted", + "tags": [ + "violin", + "n12", + "synthetic", + "small" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": false, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [ + "palette-prefix", + "palette-prefix" + ], + "advisory": [], + "residual_defects": [ + "VQ-07 (code): IMPRINT must be a list of colour string literals at line 25 → derive it from df and the Imprint palette. Likely cause: the adaptation (palette-prefix).", + "VQ-07 (code): IMPRINT_PALETTE must be a list of colour string literals at line 26 → derive it from df and the Imprint palette. Likely cause: the adaptation (palette-prefix).", + "VQ-03 (light): the stripplot overlay points are tiny and at alpha 0.25, nearly invisible against the violins → visible jittered points (size about 2x larger, alpha about 0.5 with an ink edge). Likely cause: the stripplot size and alpha arguments.", + "VQ-03 (light): the inner box is drawn as a thick dark bar with a white median tick that is hard to read as a median line → a clearly visible median line in a contrasting ink color with quartile markers. Likely cause: the violinplot inner=\"box\" setting with default box styling." + ], + "gate_failures": { + "R1": 1 + }, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-03", + "VQ-03" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66779, + "candidates": 3978, + "thoughts": 0, + "cached": 52998, + "cache_write": 13713, + "tool_use_prompt": 0, + "judge_input": 1069, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004813935500000001, + "ttfe_s": 0.38259739299246576, + "e2e_s": 22.87457731500035, + "queue_s": 0.0, + "render_s": [ + 3.513, + 4.359 + ], + "render_wall_s": [ + 3.429, + 4.233 + ], + "turns": 1, + "png": "renders/violin-basic-seaborn-n12-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "violin-basic-seaborn-n5000", + "repeat": 1, + "spec_id": "violin-basic", + "library": "seaborn", + "perturbation": "n5000", + "expected": "accepted", + "tags": [ + "violin", + "n5000", + "synthetic", + "large" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": false, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [ + "palette-prefix" + ], + "advisory": [], + "residual_defects": [ + "VQ-07 (code): IMPRINT_PALETTE must be a list of colour string literals at line 24 → derive it from df and the Imprint palette. Likely cause: the adaptation (palette-prefix).", + "the plot was not reviewed (the review answer could not be read)" + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "unreadable", + "defects": [] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66121, + "candidates": 3671, + "thoughts": 0, + "cached": 52998, + "cache_write": 13055, + "tool_use_prompt": 0, + "judge_input": 1069, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004554610500000001, + "ttfe_s": 0.6236239729914814, + "e2e_s": 24.038959148005233, + "queue_s": 0.0, + "render_s": [ + 4.646, + 4.754 + ], + "render_wall_s": [ + 4.454, + 4.611 + ], + "turns": 1, + "png": "renders/violin-basic-seaborn-n5000-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "violin-basic-seaborn-renamed", + "repeat": 1, + "spec_id": "violin-basic", + "library": "seaborn", + "perturbation": "renamed", + "expected": "accepted", + "tags": [ + "violin", + "renamed", + "synthetic", + "renamed-headers" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-06 (light): plot title is empty (title=\"\"), so the plot has no title naming the user's data → a title naming the basket value distribution by segment. Likely cause: the title variable set to an empty string passed to ax.set_title.", + "VQ-03 (light): the inner box and median markers are dark ink on dark violin fills, and the stripplot points are very faint (alpha 0.25, size 2.5) at this density → median line and quartile box visible in contrast, stripplot points legible (larger size or higher alpha). Likely cause: inner='box' styling with default dark ink and stripplot size=2.5 alpha=0.25." + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 1, + "schema": 1 + }, + "edit_apply_failures": 0, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-06", + "VQ-03" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66292, + "candidates": 3641, + "thoughts": 0, + "cached": 53364, + "cache_write": 12860, + "tool_use_prompt": 0, + "judge_input": 1056, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004513894000000001, + "ttfe_s": 0.4510320069966838, + "e2e_s": 18.81020131299738, + "queue_s": 0.0, + "render_s": [ + 4.19 + ], + "render_wall_s": [ + 4.041 + ], + "turns": 1, + "png": "renders/violin-basic-seaborn-renamed-r1.png", + "error": null, + "pipeline_error": null + }, + { + "case_id": "violin-basic-seaborn-x10", + "repeat": 1, + "spec_id": "violin-basic", + "library": "seaborn", + "perturbation": "x10", + "expected": "accepted", + "tags": [ + "violin", + "x10", + "synthetic", + "scaled-values", + "smoke" + ], + "origin": "fixtures", + "status": "needs_attention", + "reason": null, + "attempts": 2, + "passed": true, + "accepted": false, + "accept_match": false, + "padded": false, + "adaptation": [], + "advisory": [], + "residual_defects": [ + "VQ-06 (light): Plot has no title; the title is set to an empty string, so the plot does not name the user's data → a title naming the basket value distribution by customer segment. Likely cause: title = \"\" passed to ax.set_title.", + "VQ-03 (light): Strip-plot points are tiny and very faint (alpha 0.25), nearly invisible against the violin fills, especially on the Students and Professionals violins → larger, more opaque jittered points (alpha about 0.5 or more, size increased). Likely cause: stripplot size=2.5 and alpha=0.25.", + "VQ-01 (light): Tick labels at about 8pt and axis labels at 10pt look small relative to the 3200x1800 canvas → tick labels about 10-11pt and axis labels about 12-13pt (+2-3pt). Likely cause: ax.tick_params labelsize=8 and set_xlabel/set_ylabel fontsize=10." + ], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": { + "plan": 2 + }, + "edit_apply_failures": 1, + "reviewer": { + "verdict": "defects", + "defects": [ + "VQ-06", + "VQ-03", + "VQ-01" + ] + }, + "llm_calls": 5, + "llm_calls_by_agent": { + "adapter_seaborn": 2, + "anyplot": 2, + "reviewer": 1 + }, + "tokens": { + "prompt": 66609, + "candidates": 3125, + "thoughts": 0, + "cached": 52998, + "cache_write": 13543, + "tool_use_prompt": 0, + "judge_input": 1069, + "judge_output": 59 + }, + "model_versions": [ + "claude-haiku-5-5" + ], + "cost_usd": 0.004321410500000001, + "ttfe_s": 0.3987339409941342, + "e2e_s": 16.574753396998858, + "queue_s": 0.0, + "render_s": [ + 4.225 + ], + "render_wall_s": [ + 4.091 + ], + "turns": 1, + "png": "renders/violin-basic-seaborn-x10-r1.png", + "error": null, + "pipeline_error": null + } + ], + "stopped": null +} diff --git a/agents/evals/cases.py b/agents/evals/cases.py new file mode 100644 index 0000000000..398cc2bf67 --- /dev/null +++ b/agents/evals/cases.py @@ -0,0 +1,152 @@ +"""Eval cases: loading, validation and selection for the matrix harness. + +A case is a directory with `case.json`, `data.csv` and optionally `snapshot.json` and +`change_request.txt` (`agents/evals/fixtures/README.md`). Two sources: + +* `agents/evals/fixtures/cases/`: committed, synthetic only (`origin="fixtures"`); +* `agents/evals/.cases/`: promoted feedback cases synced from the private bucket, + git-ignored because they hold users' data (`origin="promoted"`). Nothing syncs them + yet; the harness reads the directory when it exists. + +`select_cases` takes the harness's `--cases` value: `smoke` (the cases tagged `smoke`: +one generated case per spec plus the two hand-written ones), `full` (every case), or +comma-separated shell globs over case ids (`*-seaborn-*`, `pie-basic-*`). The catalogue +snapshot comes from `snapshot.json` or, without it, from `plots//` in this +checkout (`dev_fixture.snapshot_from_repo`). +""" + +import fnmatch +import json +import re +from dataclasses import dataclass, field +from pathlib import Path +from typing import Any, Literal + +from agents.anyplot.dev_fixture import CASES_DIR, snapshot_from_repo +from agents.anyplot.schemas import Binding +from agents.anyplot.session_state import CatalogueSnapshot +from agents.anyplot.settings import FIXTURE_PATTERN +from core.constants import SUPPORTED_LIBRARIES + + +PROMOTED_DIR = Path(__file__).resolve().parent / ".cases" +Expected = Literal["accepted", "rejected", "unknown"] +Origin = Literal["fixtures", "promoted"] +EXPECTED: tuple[str, ...] = ("accepted", "rejected", "unknown") +SMOKE_TAG = "smoke" +MAX_CHANGE_REQUEST_CHARS = 600 +_CASE_ID = re.compile(FIXTURE_PATTERN) + + +class CaseError(ValueError): + """A case directory that cannot be run: a missing file or an invalid field.""" + + +@dataclass(frozen=True) +class EvalCase: + """One runnable case.""" + + case_id: str + spec_id: str + library: str + locale: str + bindings: list[Binding] | None + expected: Expected + tags: tuple[str, ...] + perturbation: str | None + source: str + data_text: str + origin: Origin + directory: Path + change_request: str | None = None + snapshot_file: Path | None = field(default=None, repr=False) + + def snapshot(self) -> CatalogueSnapshot: + """The catalogue snapshot the session opens with: `snapshot.json`, else the files under `plots/`.""" + if self.snapshot_file is not None: + return CatalogueSnapshot.model_validate_json(self.snapshot_file.read_text(encoding="utf-8")) + return snapshot_from_repo(self.spec_id, self.library) + + +def load_case(directory: Path, origin: Origin = "fixtures") -> EvalCase: + """Read and validate one case directory.""" + case_id = directory.name + if not _CASE_ID.fullmatch(case_id): + raise CaseError(f"{directory}: not a case id ({FIXTURE_PATTERN})") + try: + raw: Any = json.loads((directory / "case.json").read_text(encoding="utf-8")) + data_text = (directory / "data.csv").read_text(encoding="utf-8") + except (OSError, ValueError) as exc: + raise CaseError(f"{directory}: needs a readable case.json and data.csv ({type(exc).__name__})") from exc + if not isinstance(raw, dict): + raise CaseError(f"{directory}/case.json: not an object") + spec_id, library = raw.get("spec_id"), raw.get("library") + if not isinstance(spec_id, str) or not re.fullmatch(r"[a-z0-9-]{1,100}", spec_id): + raise CaseError(f"{directory}/case.json: spec_id is missing or invalid") + if library not in SUPPORTED_LIBRARIES: + raise CaseError(f"{directory}/case.json: library {library!r} is not a catalogue library") + expected = raw.get("expected", "unknown") + if expected not in EXPECTED: + raise CaseError(f"{directory}/case.json: expected must be one of {', '.join(EXPECTED)}") + tags = raw.get("tags", []) + if not isinstance(tags, list) or not all(isinstance(tag, str) for tag in tags): + raise CaseError(f"{directory}/case.json: tags must be a list of strings") + bindings = _bindings(raw.get("bindings"), directory) + change_file = directory / "change_request.txt" + change_request = change_file.read_text(encoding="utf-8").strip() if change_file.is_file() else None + if change_request is not None and not 0 < len(change_request) <= MAX_CHANGE_REQUEST_CHARS: + raise CaseError(f"{directory}/change_request.txt: 1 to {MAX_CHANGE_REQUEST_CHARS} characters") + snapshot_file = directory / "snapshot.json" + perturbation = raw.get("perturbation") + return EvalCase( + case_id=case_id, + spec_id=spec_id, + library=str(library), + locale=str(raw.get("locale", "en")), + bindings=bindings, + expected=expected, + tags=tuple(tags), + perturbation=perturbation if isinstance(perturbation, str) else None, + source=str(raw.get("source", "")), + data_text=data_text, + origin=origin, + directory=directory, + change_request=change_request, + snapshot_file=snapshot_file if snapshot_file.is_file() else None, + ) + + +def _bindings(value: Any, directory: Path) -> list[Binding] | None: + if value is None: + return None + if not isinstance(value, list): + raise CaseError(f"{directory}/case.json: bindings must be a list of {{role, column}}") + try: + return [Binding.model_validate(item) for item in value] + except ValueError as exc: + raise CaseError(f"{directory}/case.json: invalid binding ({type(exc).__name__})") from exc + + +def load_cases(fixtures_dir: Path = CASES_DIR, promoted_dir: Path = PROMOTED_DIR) -> list[EvalCase]: + """Every case of both sources, sorted by case id; a case id in both is an error.""" + cases: dict[str, EvalCase] = {} + sources: tuple[tuple[Path, Origin], ...] = ((fixtures_dir, "fixtures"), (promoted_dir, "promoted")) + for directory, origin in sources: + if not directory.is_dir(): + continue + for case_dir in sorted(path for path in directory.iterdir() if path.is_dir()): + case = load_case(case_dir, origin) + if case.case_id in cases: + raise CaseError(f"case id {case.case_id} exists in both {fixtures_dir} and {promoted_dir}") + cases[case.case_id] = case + return [cases[case_id] for case_id in sorted(cases)] + + +def select_cases(cases: list[EvalCase], selector: str) -> list[EvalCase]: + """The cases `--cases` names: `smoke`, `full`, or comma-separated globs over case ids.""" + if selector == "full": + return list(cases) + if selector == "smoke": + return [case for case in cases if SMOKE_TAG in case.tags] + patterns = [pattern.strip() for pattern in selector.split(",") if pattern.strip()] + return [case for case in cases if any(fnmatch.fnmatchcase(case.case_id, pattern) for pattern in patterns)] diff --git a/agents/evals/eligibility.py b/agents/evals/eligibility.py new file mode 100644 index 0000000000..f2a9841c9c --- /dev/null +++ b/agents/evals/eligibility.py @@ -0,0 +1,159 @@ +"""The catalogue's eligibility sweep: which matplotlib and seaborn files the agent network can adapt at all. + +Spike X reports, besides the adaptation matrix, post-normaliser eligibility under the +SECURITY profile and the files blocked for a missing `THEME` block or a non-literal +savefig target. This module answers that without a model call or a render. Run it +from the repository root: + + uv run --extra agents python -m agents.evals.eligibility + uv run --extra agents python -m agents.evals.eligibility --out agents/evals/reports/spike-x + +For every `plots//implementations/python/{matplotlib,seaborn}.py` it does what +`POST /v1/sessions` does with a catalogue snapshot (`opening.assess`): strip the +`# noqa` comments, normalise, and run the readiness scan, which applies the SECURITY +validator, the `THEME` and savefig-target checks and the map-spec rule. It counts the +pairs by status (`clean`, `coupled`, `blocked`) per library, the blocked pairs by +reason category (`security`, `no-theme`, `savefig-target`, `map-spec`, `syntax`), and +the SECURITY findings by rule id, and writes `/-eligibility.json` and its +Markdown table (default `agents/evals/reports/`, git-ignored). A file whose +normalisation raises counts as `error` with the exception class. + +Every reason category and rule id is a fixed identifier from the scan; the report +carries no code. +""" + +import argparse +import json +import os +import re +import sys +from collections import Counter +from datetime import UTC, datetime +from pathlib import Path +from typing import Any + + +EVALS_DIR = Path(__file__).resolve().parent +REPO_ROOT = EVALS_DIR.parents[1] +DEFAULT_OUT = EVALS_DIR / "reports" +LIBRARIES: tuple[str, ...] = ("matplotlib", "seaborn") +STATUSES: tuple[str, ...] = ("clean", "coupled", "blocked", "error") +_SECURITY_RULE = re.compile(r"^security: ([a-z][a-z0-9-]*)(?: at line \d+)?:") + + +def reason_category(reason: str) -> str: + """The fixed category a readiness reason starts with (`security`, `no-theme`, ...).""" + return reason.split(":", 1)[0].strip() + + +def security_rule(reason: str) -> str | None: + """The validator rule id of a `security:` reason; None for another reason or a summary line.""" + match = _SECURITY_RULE.match(reason) + return match.group(1) if match else None + + +def scan_pair(code: str, *, spec_id: str, library: str) -> tuple[str, list[str]]: + """The readiness status of one catalogue file and its reasons, as `POST /v1/sessions` sees it.""" + from agents.anyplot.code.normalise import normalise + from agents.anyplot.code.readiness import scan + from core.utils import strip_noqa_comments + + try: + normalised = normalise(strip_noqa_comments(code) or "", library=library) + except Exception as exc: # a file the normaliser cannot take is ineligible; its class says why + return "error", [f"normalise: {type(exc).__name__}"] + readiness = scan(normalised, spec_id=spec_id, library=library, enabled_libraries=LIBRARIES) + return readiness.status, list(readiness.reasons) + + +def sweep(plots_dir: Path, libraries: tuple[str, ...] = LIBRARIES) -> dict[str, Any]: + """Scan every implementation of `libraries` under `plots_dir`; the counts and the blocked pairs.""" + by_library: dict[str, dict[str, Any]] = {} + blocked: list[dict[str, Any]] = [] + for library in libraries: + statuses: Counter[str] = Counter() + categories: Counter[str] = Counter() + rules: Counter[str] = Counter() + for path in sorted(plots_dir.glob(f"*/implementations/python/{library}.py")): + spec_id = path.parents[2].name + status, reasons = scan_pair(path.read_text(encoding="utf-8"), spec_id=spec_id, library=library) + statuses[status] += 1 + if status not in ("blocked", "error"): + continue + found = sorted({reason_category(reason) for reason in reasons}) + categories.update(found) + rules.update({rule for reason in reasons if (rule := security_rule(reason))}) + blocked.append({"spec_id": spec_id, "library": library, "status": status, "categories": found}) + total = sum(statuses.values()) + eligible = statuses["clean"] + statuses["coupled"] + by_library[library] = { + "files": total, + "statuses": {status: statuses[status] for status in STATUSES}, + "eligible": eligible, + "eligible_rate": eligible / total if total else None, + "blocked_by_category": dict(sorted(categories.items())), + "security_rules": dict(sorted(rules.items())), + } + return {"by_library": by_library, "blocked": blocked} + + +def markdown(result: dict[str, Any], date: str) -> str: + """The sweep as Markdown tables.""" + by_library = result["by_library"] + lines = [ + f"# Catalogue eligibility {date}", + "", + "| Library | Files | Eligible | Clean | Coupled | Blocked | Error |", + "|---|---|---|---|---|---|---|", + ] + for library, item in by_library.items(): + rate = item["eligible_rate"] + share = f" ({rate * 100:.1f} %)" if rate is not None else "" + counts = item["statuses"] + lines.append( + f"| {library} | {item['files']} | {item['eligible']}{share} | {counts['clean']} | {counts['coupled']} | " + f"{counts['blocked']} | {counts['error']} |" + ) + lines += ["", "Blocked files by reason (a file can have several):", ""] + lines += ["| Reason | " + " | ".join(by_library) + " |", "|---|" + "---|" * len(by_library)] + categories = sorted({name for item in by_library.values() for name in item["blocked_by_category"]}) + for name in categories: + cells = " | ".join(str(item["blocked_by_category"].get(name, 0)) for item in by_library.values()) + lines.append(f"| `{name}` | {cells} |") + rules = sorted({name for item in by_library.values() for name in item["security_rules"]}) + if rules: + lines += ["", "SECURITY findings by rule (files with at least one):", ""] + lines += ["| Rule | " + " | ".join(by_library) + " |", "|---|" + "---|" * len(by_library)] + for name in rules: + cells = " | ".join(str(item["security_rules"].get(name, 0)) for item in by_library.values()) + lines.append(f"| `{name}` | {cells} |") + return "\n".join(lines) + "\n" + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser( + prog="python -m agents.evals.eligibility", + description="Count the catalogue's matplotlib and seaborn files the agent network can adapt.", + ) + parser.add_argument("--plots", type=Path, default=REPO_ROOT / "plots", help="the catalogue directory (plots/)") + parser.add_argument("--out", type=Path, default=DEFAULT_OUT, help="output directory (agents/evals/reports)") + args = parser.parse_args(argv) + os.environ["PYTHON_DOTENV_DISABLED"] = "1" # importing agents.anyplot reads settings; never from a .env file + os.environ["ADK_DISABLE_LOAD_DOTENV"] = "1" + if not args.plots.is_dir(): + print(f"error: {args.plots} is not a directory", file=sys.stderr) + return 2 + date = datetime.now(UTC).date().isoformat() + result = {"date": date, "plots": str(args.plots), **sweep(args.plots)} + text = markdown(result, date) + args.out.mkdir(parents=True, exist_ok=True) + report_path = args.out / f"{date}-eligibility.json" + report_path.write_text(json.dumps(result, indent=2) + "\n", encoding="utf-8") + report_path.with_suffix(".md").write_text(text, encoding="utf-8") + print(text) + print(f"Report: {report_path}") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/agents/evals/fixtures/README.md b/agents/evals/fixtures/README.md index bf23fb81a3..86c1e4d72c 100644 --- a/agents/evals/fixtures/README.md +++ b/agents/evals/fixtures/README.md @@ -1,11 +1,19 @@ # Eval fixture cases -Each directory under `cases/` is one case of the regression harness and a development seed for `adk web` (`AGENT_DEV_FIXTURE=`): +Each directory under `cases/` is one case of the regression harness (`agents/evals/matrix.py`) and a development seed for `adk web` (`AGENT_DEV_FIXTURE=`): | File | Contents | |---|---| -| `case.json` | `spec_id`, `library`, `locale`, `bindings` (`[{"role", "column"}]`), `expected` (`accepted` or `rejected`) and `tags` | -| `data.csv` | The dataset, small and synthetic; parsed exactly like pasted text | +| `case.json` | `spec_id`, `library`, `locale`, `bindings` (`[{"role", "column"}]`), `expected` (`accepted`, `rejected` or `unknown`), `tags`, and optionally `perturbation` and `source` (where the data comes from) | +| `data.csv` | The dataset, synthetic; sent to the `/dataset` route exactly as a user would paste it | | `snapshot.json` | Optional: the catalogue snapshot (`spec_id`, `title`, `description`, `data_roles`, `notes`, `code`, `library_version`). Without it the snapshot is built from `plots//` in this checkout | +| `change_request.txt` | Optional: a follow-up message the harness sends after the plot is created | -Fixture data is invented. Never commit a user's data here: promoted feedback cases live in the private case bucket, and the image build excludes `agents/evals/.cases`. +There are 122 cases: + +- **120 generated cases** `--`: 10 specs times matplotlib and seaborn times 6 perturbations (`renamed`, `x10`, `n12`, `n5000`, `date`, `decimal-comma`), written by `agents/evals/make_fixtures.py`. Never edit them by hand: change the generator and rerun `uv run --extra agents python -m agents.evals.make_fixtures`. Its docstring lists the specs, why each was chosen, and what each perturbation does. +- **2 hand-written cases**, `scatter-basic-matplotlib` and `bar-grouped-seaborn`, which the runtime tests also use. + +The tag `smoke` marks the 12 cases of `--cases smoke`: one generated case per spec, cycling through the perturbations and both libraries, plus the two hand-written cases. + +Fixture data is invented. Never commit a user's data here: everything under `fixtures/` ships under the repository's MIT licence. Promoted feedback cases live in the private case bucket and are synced into the git-ignored `agents/evals/.cases/`, which the image build also excludes. diff --git a/agents/evals/fixtures/cases/area-basic-matplotlib-date/case.json b/agents/evals/fixtures/cases/area-basic-matplotlib-date/case.json new file mode 100644 index 0000000000..5fc9b36918 --- /dev/null +++ b/agents/evals/fixtures/cases/area-basic-matplotlib-date/case.json @@ -0,0 +1,26 @@ +{ + "spec_id": "area-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "date", + "bindings": [ + { + "role": "x", + "column": "Date" + }, + { + "role": "y", + "column": "Energy Use (MWh)" + } + ], + "expected": "accepted", + "tags": [ + "area", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "date-axis" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 707, date)" +} diff --git a/agents/evals/fixtures/cases/area-basic-matplotlib-date/data.csv b/agents/evals/fixtures/cases/area-basic-matplotlib-date/data.csv new file mode 100644 index 0000000000..b289097bbd --- /dev/null +++ b/agents/evals/fixtures/cases/area-basic-matplotlib-date/data.csv @@ -0,0 +1,91 @@ +Date,Metered On,Energy Use (MWh) +01.01.2026,2026-01-02,147.6 +02.01.2026,2026-01-03,138.8 +03.01.2026,2026-01-04,153.7 +04.01.2026,2026-01-05,138.5 +05.01.2026,2026-01-06,135.4 +06.01.2026,2026-01-07,139.8 +07.01.2026,2026-01-08,144.9 +08.01.2026,2026-01-09,149.1 +09.01.2026,2026-01-10,145.9 +10.01.2026,2026-01-11,149.8 +11.01.2026,2026-01-12,141.8 +12.01.2026,2026-01-13,136.3 +13.01.2026,2026-01-14,147.1 +14.01.2026,2026-01-15,146.4 +15.01.2026,2026-01-16,151.6 +16.01.2026,2026-01-17,150.7 +17.01.2026,2026-01-18,151.2 +18.01.2026,2026-01-19,148.5 +19.01.2026,2026-01-20,141.4 +20.01.2026,2026-01-21,148.1 +21.01.2026,2026-01-22,135.8 +22.01.2026,2026-01-23,155.9 +23.01.2026,2026-01-24,150.1 +24.01.2026,2026-01-25,141.6 +25.01.2026,2026-01-26,142.0 +26.01.2026,2026-01-27,144.0 +27.01.2026,2026-01-28,134.5 +28.01.2026,2026-01-29,148.7 +29.01.2026,2026-01-30,150.0 +30.01.2026,2026-01-31,155.0 +31.01.2026,2026-02-01,150.4 +01.02.2026,2026-02-02,147.5 +02.02.2026,2026-02-03,137.6 +03.02.2026,2026-02-04,136.6 +04.02.2026,2026-02-05,150.9 +05.02.2026,2026-02-06,153.8 +06.02.2026,2026-02-07,155.0 +07.02.2026,2026-02-08,147.6 +08.02.2026,2026-02-09,140.9 +09.02.2026,2026-02-10,133.6 +10.02.2026,2026-02-11,137.7 +11.02.2026,2026-02-12,145.8 +12.02.2026,2026-02-13,150.2 +13.02.2026,2026-02-14,151.6 +14.02.2026,2026-02-15,144.1 +15.02.2026,2026-02-16,138.2 +16.02.2026,2026-02-17,131.3 +17.02.2026,2026-02-18,132.4 +18.02.2026,2026-02-19,147.6 +19.02.2026,2026-02-20,139.6 +20.02.2026,2026-02-21,149.7 +21.02.2026,2026-02-22,148.4 +22.02.2026,2026-02-23,147.5 +23.02.2026,2026-02-24,136.8 +24.02.2026,2026-02-25,140.6 +25.02.2026,2026-02-26,143.1 +26.02.2026,2026-02-27,146.2 +27.02.2026,2026-02-28,145.5 +28.02.2026,2026-03-01,144.4 +01.03.2026,2026-03-02,137.4 +02.03.2026,2026-03-03,138.5 +03.03.2026,2026-03-04,135.2 +04.03.2026,2026-03-05,143.3 +05.03.2026,2026-03-06,150.2 +06.03.2026,2026-03-07,150.4 +07.03.2026,2026-03-08,136.3 +08.03.2026,2026-03-09,136.5 +09.03.2026,2026-03-10,133.9 +10.03.2026,2026-03-11,126.3 +11.03.2026,2026-03-12,136.2 +12.03.2026,2026-03-13,130.1 +13.03.2026,2026-03-14,141.8 +14.03.2026,2026-03-15,134.3 +15.03.2026,2026-03-16,135.7 +16.03.2026,2026-03-17,130.6 +17.03.2026,2026-03-18,124.6 +18.03.2026,2026-03-19,135.2 +19.03.2026,2026-03-20,137.1 +20.03.2026,2026-03-21,140.5 +21.03.2026,2026-03-22,131.2 +22.03.2026,2026-03-23,124.6 +23.03.2026,2026-03-24,122.6 +24.03.2026,2026-03-25,126.2 +25.03.2026,2026-03-26,137.7 +26.03.2026,2026-03-27,130.4 +27.03.2026,2026-03-28,135.6 +28.03.2026,2026-03-29,138.5 +29.03.2026,2026-03-30,131.9 +30.03.2026,2026-03-31,121.7 +31.03.2026,2026-04-01,130.0 diff --git a/agents/evals/fixtures/cases/area-basic-matplotlib-decimal-comma/case.json b/agents/evals/fixtures/cases/area-basic-matplotlib-decimal-comma/case.json new file mode 100644 index 0000000000..5942aa42ed --- /dev/null +++ b/agents/evals/fixtures/cases/area-basic-matplotlib-decimal-comma/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "area-basic", + "library": "matplotlib", + "locale": "de", + "perturbation": "decimal-comma", + "bindings": [ + { + "role": "x", + "column": "Day" + }, + { + "role": "y", + "column": "Energy Use (MWh)" + } + ], + "expected": "accepted", + "tags": [ + "area", + "decimal-comma", + "synthetic", + "semicolon" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 707, decimal-comma)" +} diff --git a/agents/evals/fixtures/cases/area-basic-matplotlib-decimal-comma/data.csv b/agents/evals/fixtures/cases/area-basic-matplotlib-decimal-comma/data.csv new file mode 100644 index 0000000000..ea52040ab1 --- /dev/null +++ b/agents/evals/fixtures/cases/area-basic-matplotlib-decimal-comma/data.csv @@ -0,0 +1,91 @@ +Day;Energy Use (MWh) +1;147,6 +2;138,8 +3;153,7 +4;138,5 +5;135,4 +6;139,8 +7;144,9 +8;149,1 +9;145,9 +10;149,8 +11;141,8 +12;136,3 +13;147,1 +14;146,4 +15;151,6 +16;150,7 +17;151,2 +18;148,5 +19;141,4 +20;148,1 +21;135,8 +22;155,9 +23;150,1 +24;141,6 +25;142,0 +26;144,0 +27;134,5 +28;148,7 +29;150,0 +30;155,0 +31;150,4 +32;147,5 +33;137,6 +34;136,6 +35;150,9 +36;153,8 +37;155,0 +38;147,6 +39;140,9 +40;133,6 +41;137,7 +42;145,8 +43;150,2 +44;151,6 +45;144,1 +46;138,2 +47;131,3 +48;132,4 +49;147,6 +50;139,6 +51;149,7 +52;148,4 +53;147,5 +54;136,8 +55;140,6 +56;143,1 +57;146,2 +58;145,5 +59;144,4 +60;137,4 +61;138,5 +62;135,2 +63;143,3 +64;150,2 +65;150,4 +66;136,3 +67;136,5 +68;133,9 +69;126,3 +70;136,2 +71;130,1 +72;141,8 +73;134,3 +74;135,7 +75;130,6 +76;124,6 +77;135,2 +78;137,1 +79;140,5 +80;131,2 +81;124,6 +82;122,6 +83;126,2 +84;137,7 +85;130,4 +86;135,6 +87;138,5 +88;131,9 +89;121,7 +90;130,0 diff --git a/agents/evals/fixtures/cases/area-basic-matplotlib-n12/case.json b/agents/evals/fixtures/cases/area-basic-matplotlib-n12/case.json new file mode 100644 index 0000000000..04923f4c2e --- /dev/null +++ b/agents/evals/fixtures/cases/area-basic-matplotlib-n12/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "area-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "n12", + "bindings": [ + { + "role": "x", + "column": "Day" + }, + { + "role": "y", + "column": "Energy Use (MWh)" + } + ], + "expected": "accepted", + "tags": [ + "area", + "n12", + "synthetic", + "small" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 707, n12)" +} diff --git a/agents/evals/fixtures/cases/area-basic-matplotlib-n12/data.csv b/agents/evals/fixtures/cases/area-basic-matplotlib-n12/data.csv new file mode 100644 index 0000000000..8ab487a48c --- /dev/null +++ b/agents/evals/fixtures/cases/area-basic-matplotlib-n12/data.csv @@ -0,0 +1,13 @@ +Day,Energy Use (MWh) +1,142.3 +2,152.9 +3,144.8 +4,140.8 +5,129.5 +6,140.3 +7,144.7 +8,146.5 +9,149.0 +10,149.5 +11,138.6 +12,137.0 diff --git a/agents/evals/fixtures/cases/area-basic-matplotlib-n5000/case.json b/agents/evals/fixtures/cases/area-basic-matplotlib-n5000/case.json new file mode 100644 index 0000000000..5377ec8a5c --- /dev/null +++ b/agents/evals/fixtures/cases/area-basic-matplotlib-n5000/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "area-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "n5000", + "bindings": [ + { + "role": "x", + "column": "Day" + }, + { + "role": "y", + "column": "Energy Use (MWh)" + } + ], + "expected": "accepted", + "tags": [ + "area", + "n5000", + "synthetic", + "large" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 707, n5000)" +} diff --git a/agents/evals/fixtures/cases/area-basic-matplotlib-n5000/data.csv b/agents/evals/fixtures/cases/area-basic-matplotlib-n5000/data.csv new file mode 100644 index 0000000000..a171cf4f1f --- /dev/null +++ b/agents/evals/fixtures/cases/area-basic-matplotlib-n5000/data.csv @@ -0,0 +1,5001 @@ +Day,Energy Use (MWh) +1,152.6 +2,147.6 +3,144.7 +4,140.0 +5,144.0 +6,141.8 +7,144.8 +8,154.8 +9,149.4 +10,152.8 +11,140.1 +12,142.6 +13,142.4 +14,142.2 +15,153.5 +16,156.7 +17,149.7 +18,147.0 +19,137.9 +20,140.0 +21,139.1 +22,150.2 +23,152.2 +24,154.5 +25,135.6 +26,138.2 +27,137.3 +28,148.6 +29,152.6 +30,159.3 +31,141.9 +32,140.9 +33,140.8 +34,138.7 +35,143.4 +36,152.8 +37,145.7 +38,154.3 +39,139.3 +40,137.4 +41,132.4 +42,146.9 +43,152.0 +44,149.4 +45,144.8 +46,136.9 +47,133.2 +48,138.0 +49,139.9 +50,149.8 +51,153.6 +52,147.5 +53,138.2 +54,139.3 +55,131.3 +56,138.8 +57,147.5 +58,146.6 +59,146.3 +60,131.8 +61,127.7 +62,128.1 +63,133.0 +64,146.9 +65,142.9 +66,136.2 +67,141.6 +68,136.3 +69,131.3 +70,135.5 +71,146.2 +72,147.6 +73,131.5 +74,132.0 +75,133.6 +76,140.8 +77,134.7 +78,144.4 +79,141.9 +80,142.4 +81,132.6 +82,131.3 +83,120.3 +84,137.3 +85,134.9 +86,137.0 +87,133.6 +88,133.2 +89,126.3 +90,123.4 +91,130.8 +92,132.8 +93,135.3 +94,127.0 +95,119.4 +96,113.8 +97,119.9 +98,124.1 +99,133.5 +100,131.7 +101,128.0 +102,123.1 +103,115.6 +104,129.6 +105,127.2 +106,124.0 +107,120.3 +108,121.1 +109,119.0 +110,118.8 +111,123.7 +112,121.2 +113,119.7 +114,135.1 +115,129.3 +116,115.5 +117,110.9 +118,111.1 +119,124.9 +120,120.2 +121,125.5 +122,115.7 +123,116.4 +124,111.7 +125,111.0 +126,110.7 +127,120.1 +128,118.6 +129,116.6 +130,111.1 +131,113.1 +132,108.9 +133,115.4 +134,111.2 +135,118.9 +136,110.9 +137,112.9 +138,113.4 +139,102.0 +140,112.2 +141,112.4 +142,119.5 +143,114.6 +144,103.8 +145,97.5 +146,102.0 +147,109.7 +148,109.5 +149,116.6 +150,102.5 +151,98.8 +152,104.5 +153,98.1 +154,102.2 +155,105.3 +156,109.0 +157,98.7 +158,102.8 +159,94.4 +160,97.4 +161,100.7 +162,102.6 +163,105.0 +164,100.6 +165,100.4 +166,100.7 +167,95.3 +168,98.0 +169,108.0 +170,106.2 +171,101.3 +172,90.5 +173,98.7 +174,96.7 +175,89.9 +176,105.3 +177,101.9 +178,105.0 +179,99.9 +180,94.1 +181,96.1 +182,97.2 +183,98.9 +184,109.6 +185,96.8 +186,96.4 +187,87.0 +188,93.2 +189,94.5 +190,106.8 +191,104.8 +192,98.3 +193,96.4 +194,96.4 +195,94.4 +196,97.6 +197,103.2 +198,110.2 +199,106.6 +200,90.3 +201,89.8 +202,91.4 +203,90.4 +204,105.1 +205,103.8 +206,97.1 +207,96.0 +208,86.6 +209,95.5 +210,95.1 +211,107.4 +212,104.1 +213,93.9 +214,90.2 +215,94.4 +216,89.8 +217,99.4 +218,100.1 +219,104.9 +220,101.4 +221,102.9 +222,88.6 +223,96.5 +224,104.1 +225,101.3 +226,101.5 +227,102.6 +228,93.5 +229,93.1 +230,94.6 +231,102.1 +232,103.1 +233,103.9 +234,103.0 +235,97.1 +236,97.7 +237,95.8 +238,107.8 +239,111.7 +240,100.7 +241,105.3 +242,104.3 +243,92.3 +244,100.1 +245,108.2 +246,110.9 +247,110.3 +248,114.3 +249,103.2 +250,98.8 +251,98.3 +252,111.6 +253,112.7 +254,111.4 +255,109.5 +256,102.7 +257,103.3 +258,97.9 +259,100.7 +260,118.3 +261,115.8 +262,116.4 +263,104.5 +264,103.4 +265,102.5 +266,109.2 +267,121.9 +268,111.9 +269,109.4 +270,113.3 +271,100.6 +272,117.3 +273,124.1 +274,119.7 +275,118.7 +276,123.0 +277,107.8 +278,110.7 +279,116.2 +280,112.6 +281,130.4 +282,125.3 +283,119.1 +284,109.4 +285,112.4 +286,120.3 +287,116.0 +288,124.6 +289,125.2 +290,124.8 +291,116.0 +292,115.2 +293,124.1 +294,126.5 +295,128.0 +296,132.5 +297,128.3 +298,119.5 +299,119.6 +300,125.9 +301,125.3 +302,128.4 +303,127.0 +304,132.2 +305,129.4 +306,117.6 +307,123.6 +308,128.9 +309,125.5 +310,125.9 +311,132.8 +312,121.3 +313,123.5 +314,127.4 +315,125.8 +316,137.3 +317,140.5 +318,124.5 +319,136.1 +320,127.6 +321,121.3 +322,134.3 +323,139.2 +324,142.1 +325,139.1 +326,128.5 +327,129.3 +328,134.4 +329,137.3 +330,141.4 +331,145.2 +332,137.5 +333,140.4 +334,137.1 +335,139.6 +336,137.3 +337,140.9 +338,149.8 +339,143.6 +340,144.1 +341,134.9 +342,132.2 +343,144.0 +344,142.8 +345,149.0 +346,140.2 +347,144.2 +348,134.1 +349,141.6 +350,147.2 +351,149.1 +352,148.7 +353,144.3 +354,136.2 +355,136.4 +356,140.6 +357,146.0 +358,148.8 +359,150.8 +360,150.3 +361,138.7 +362,148.7 +363,153.3 +364,149.6 +365,153.6 +366,155.1 +367,156.4 +368,142.2 +369,142.2 +370,138.7 +371,151.6 +372,154.1 +373,158.2 +374,149.0 +375,147.7 +376,143.4 +377,146.2 +378,150.3 +379,153.6 +380,148.4 +381,150.2 +382,139.8 +383,143.4 +384,145.6 +385,144.6 +386,155.4 +387,155.1 +388,146.2 +389,144.3 +390,147.3 +391,145.5 +392,145.8 +393,145.3 +394,157.2 +395,154.7 +396,149.4 +397,141.0 +398,146.6 +399,147.0 +400,153.9 +401,149.4 +402,159.3 +403,143.0 +404,144.0 +405,145.4 +406,150.3 +407,146.8 +408,150.2 +409,152.8 +410,151.2 +411,143.1 +412,142.6 +413,147.9 +414,160.2 +415,150.6 +416,156.0 +417,147.7 +418,139.6 +419,143.4 +420,147.0 +421,149.3 +422,150.6 +423,143.8 +424,135.7 +425,142.0 +426,135.9 +427,142.7 +428,147.3 +429,149.8 +430,149.1 +431,141.0 +432,135.3 +433,135.3 +434,136.9 +435,145.1 +436,146.4 +437,146.7 +438,140.6 +439,144.1 +440,137.3 +441,142.8 +442,146.2 +443,135.5 +444,135.4 +445,136.5 +446,129.6 +447,132.1 +448,141.1 +449,142.4 +450,146.3 +451,128.4 +452,135.4 +453,130.1 +454,135.1 +455,140.6 +456,139.7 +457,143.5 +458,128.3 +459,121.7 +460,126.9 +461,124.6 +462,140.6 +463,132.6 +464,133.3 +465,129.4 +466,126.4 +467,135.9 +468,124.7 +469,129.9 +470,135.0 +471,130.5 +472,128.1 +473,131.1 +474,125.3 +475,124.5 +476,131.0 +477,136.1 +478,127.0 +479,135.5 +480,122.9 +481,110.0 +482,126.9 +483,119.3 +484,120.0 +485,129.1 +486,131.7 +487,119.8 +488,113.7 +489,116.9 +490,121.5 +491,129.7 +492,122.5 +493,111.7 +494,119.4 +495,112.5 +496,116.4 +497,117.7 +498,115.1 +499,117.4 +500,121.5 +501,116.3 +502,109.4 +503,110.5 +504,113.8 +505,118.3 +506,120.3 +507,117.6 +508,109.0 +509,101.6 +510,112.6 +511,103.5 +512,114.0 +513,118.0 +514,111.1 +515,105.9 +516,107.0 +517,96.8 +518,111.4 +519,108.4 +520,118.6 +521,112.2 +522,100.0 +523,103.6 +524,109.3 +525,104.2 +526,109.3 +527,108.4 +528,111.6 +529,100.0 +530,103.3 +531,96.2 +532,104.5 +533,109.8 +534,108.6 +535,107.7 +536,100.9 +537,96.5 +538,99.2 +539,103.5 +540,104.1 +541,109.8 +542,104.9 +543,104.2 +544,101.5 +545,99.9 +546,107.0 +547,116.0 +548,109.4 +549,103.3 +550,97.5 +551,92.7 +552,85.8 +553,97.9 +554,110.6 +555,109.7 +556,104.3 +557,99.6 +558,89.8 +559,100.1 +560,98.0 +561,103.8 +562,102.9 +563,104.8 +564,102.3 +565,90.4 +566,91.4 +567,100.5 +568,98.2 +569,107.1 +570,103.4 +571,93.7 +572,96.6 +573,89.5 +574,96.6 +575,110.5 +576,111.3 +577,104.7 +578,97.9 +579,98.0 +580,98.4 +581,99.5 +582,105.5 +583,107.6 +584,102.9 +585,108.1 +586,92.6 +587,94.3 +588,100.0 +589,107.4 +590,108.0 +591,101.4 +592,110.6 +593,98.5 +594,90.8 +595,103.5 +596,105.4 +597,106.4 +598,103.9 +599,102.8 +600,106.7 +601,95.0 +602,100.3 +603,104.5 +604,113.3 +605,105.9 +606,108.4 +607,99.8 +608,99.6 +609,111.2 +610,113.2 +611,113.8 +612,113.5 +613,97.5 +614,102.8 +615,107.1 +616,111.2 +617,118.8 +618,117.7 +619,119.1 +620,113.3 +621,104.1 +622,114.6 +623,114.4 +624,121.4 +625,118.4 +626,114.5 +627,110.7 +628,118.2 +629,98.8 +630,107.8 +631,114.1 +632,116.3 +633,118.0 +634,118.4 +635,114.2 +636,113.0 +637,116.6 +638,123.4 +639,122.4 +640,118.9 +641,117.2 +642,114.0 +643,110.6 +644,122.5 +645,126.0 +646,132.6 +647,124.3 +648,113.8 +649,108.9 +650,122.6 +651,120.0 +652,134.1 +653,125.3 +654,119.3 +655,126.1 +656,124.0 +657,123.0 +658,128.1 +659,130.4 +660,134.8 +661,137.1 +662,124.2 +663,119.2 +664,128.9 +665,127.3 +666,128.5 +667,137.3 +668,137.2 +669,125.9 +670,129.6 +671,124.9 +672,128.5 +673,141.3 +674,136.1 +675,141.3 +676,135.1 +677,120.7 +678,124.5 +679,135.9 +680,138.9 +681,141.7 +682,138.1 +683,141.2 +684,131.8 +685,133.4 +686,140.5 +687,143.0 +688,136.5 +689,144.9 +690,134.1 +691,134.8 +692,134.5 +693,139.7 +694,152.8 +695,154.0 +696,142.8 +697,139.6 +698,142.2 +699,138.1 +700,142.5 +701,147.3 +702,149.8 +703,148.0 +704,144.8 +705,136.7 +706,138.3 +707,140.3 +708,154.3 +709,151.2 +710,154.0 +711,150.8 +712,144.3 +713,143.1 +714,139.1 +715,153.5 +716,152.5 +717,150.8 +718,144.3 +719,143.5 +720,145.8 +721,152.3 +722,152.0 +723,152.7 +724,155.2 +725,147.1 +726,135.1 +727,141.9 +728,149.9 +729,151.8 +730,153.5 +731,152.7 +732,151.4 +733,144.9 +734,151.3 +735,151.0 +736,158.1 +737,168.8 +738,155.1 +739,151.2 +740,147.8 +741,146.3 +742,150.4 +743,160.6 +744,157.9 +745,147.1 +746,140.2 +747,147.6 +748,148.0 +749,149.4 +750,161.1 +751,159.0 +752,152.2 +753,145.9 +754,151.7 +755,149.8 +756,150.6 +757,152.7 +758,158.8 +759,152.1 +760,150.9 +761,143.3 +762,149.9 +763,152.6 +764,159.8 +765,157.2 +766,153.9 +767,146.0 +768,139.9 +769,149.4 +770,148.0 +771,156.4 +772,155.5 +773,149.4 +774,141.6 +775,141.3 +776,136.0 +777,153.2 +778,159.4 +779,151.5 +780,152.8 +781,150.8 +782,150.7 +783,145.8 +784,150.0 +785,156.2 +786,158.3 +787,143.9 +788,146.5 +789,141.5 +790,132.9 +791,154.7 +792,151.8 +793,147.6 +794,144.5 +795,139.7 +796,145.5 +797,141.2 +798,142.6 +799,153.0 +800,151.2 +801,146.4 +802,145.8 +803,137.9 +804,132.9 +805,153.1 +806,142.6 +807,148.9 +808,147.5 +809,136.0 +810,139.7 +811,136.9 +812,144.7 +813,143.4 +814,145.3 +815,140.3 +816,141.6 +817,129.2 +818,132.8 +819,143.2 +820,148.0 +821,141.4 +822,142.0 +823,145.0 +824,132.0 +825,134.0 +826,134.3 +827,135.5 +828,142.0 +829,140.2 +830,134.9 +831,130.8 +832,125.0 +833,133.9 +834,136.4 +835,142.7 +836,131.2 +837,130.1 +838,133.4 +839,123.4 +840,129.7 +841,136.6 +842,141.7 +843,127.7 +844,125.7 +845,120.9 +846,120.2 +847,122.5 +848,131.9 +849,129.6 +850,122.6 +851,123.3 +852,112.9 +853,118.4 +854,127.0 +855,127.3 +856,130.9 +857,128.6 +858,114.4 +859,116.5 +860,105.8 +861,119.2 +862,122.6 +863,121.9 +864,123.7 +865,118.9 +866,114.3 +867,111.4 +868,117.9 +869,123.8 +870,121.2 +871,119.8 +872,115.9 +873,107.6 +874,114.1 +875,105.3 +876,116.5 +877,119.9 +878,119.4 +879,112.4 +880,110.7 +881,106.4 +882,113.4 +883,111.1 +884,119.1 +885,116.9 +886,108.9 +887,107.6 +888,111.2 +889,111.4 +890,119.9 +891,120.4 +892,114.9 +893,108.5 +894,104.4 +895,106.5 +896,105.0 +897,114.7 +898,117.6 +899,112.3 +900,111.9 +901,101.2 +902,101.3 +903,107.2 +904,122.3 +905,112.3 +906,99.8 +907,109.6 +908,101.0 +909,93.7 +910,100.5 +911,113.7 +912,106.1 +913,112.2 +914,100.6 +915,98.4 +916,98.0 +917,106.3 +918,113.0 +919,114.0 +920,108.7 +921,91.4 +922,94.4 +923,101.5 +924,104.0 +925,102.8 +926,112.3 +927,111.0 +928,105.1 +929,96.7 +930,102.9 +931,103.6 +932,113.5 +933,107.9 +934,105.3 +935,105.9 +936,101.0 +937,103.2 +938,106.4 +939,103.8 +940,113.7 +941,106.1 +942,104.6 +943,97.8 +944,104.1 +945,105.1 +946,112.9 +947,111.1 +948,98.6 +949,102.2 +950,100.5 +951,102.2 +952,102.3 +953,107.1 +954,106.6 +955,107.6 +956,103.7 +957,101.7 +958,102.1 +959,109.9 +960,99.3 +961,113.7 +962,103.9 +963,105.0 +964,96.8 +965,96.8 +966,109.2 +967,118.4 +968,111.1 +969,106.2 +970,109.1 +971,104.2 +972,103.4 +973,113.2 +974,115.3 +975,116.1 +976,115.9 +977,106.4 +978,100.6 +979,105.9 +980,111.1 +981,116.9 +982,126.6 +983,114.2 +984,113.2 +985,108.4 +986,110.9 +987,120.2 +988,118.8 +989,121.6 +990,117.1 +991,107.6 +992,111.7 +993,116.4 +994,117.9 +995,117.8 +996,131.3 +997,125.9 +998,124.3 +999,118.2 +1000,110.6 +1001,125.2 +1002,134.2 +1003,118.4 +1004,116.0 +1005,122.6 +1006,109.5 +1007,115.3 +1008,113.8 +1009,128.7 +1010,129.2 +1011,120.9 +1012,122.2 +1013,118.0 +1014,134.1 +1015,130.2 +1016,132.0 +1017,127.7 +1018,130.5 +1019,133.3 +1020,117.2 +1021,125.1 +1022,134.5 +1023,144.1 +1024,133.6 +1025,134.9 +1026,126.8 +1027,132.8 +1028,131.1 +1029,128.3 +1030,132.7 +1031,147.6 +1032,134.6 +1033,135.4 +1034,128.7 +1035,127.1 +1036,131.0 +1037,137.6 +1038,135.9 +1039,145.7 +1040,133.2 +1041,123.9 +1042,131.1 +1043,137.3 +1044,144.1 +1045,144.7 +1046,144.6 +1047,133.0 +1048,136.6 +1049,138.0 +1050,136.5 +1051,146.3 +1052,145.8 +1053,146.5 +1054,137.5 +1055,143.4 +1056,139.8 +1057,147.1 +1058,152.0 +1059,151.9 +1060,145.4 +1061,149.5 +1062,129.8 +1063,135.1 +1064,139.7 +1065,150.9 +1066,147.6 +1067,149.5 +1068,145.9 +1069,143.9 +1070,146.1 +1071,148.4 +1072,159.7 +1073,154.1 +1074,148.1 +1075,144.1 +1076,136.2 +1077,148.2 +1078,151.7 +1079,155.5 +1080,151.8 +1081,154.4 +1082,143.1 +1083,142.3 +1084,146.4 +1085,153.5 +1086,149.8 +1087,162.0 +1088,153.5 +1089,153.2 +1090,148.0 +1091,145.4 +1092,146.5 +1093,161.4 +1094,160.2 +1095,154.2 +1096,149.1 +1097,144.1 +1098,150.3 +1099,160.3 +1100,159.3 +1101,163.4 +1102,160.9 +1103,158.1 +1104,145.8 +1105,150.6 +1106,162.5 +1107,159.5 +1108,166.5 +1109,163.3 +1110,155.8 +1111,154.7 +1112,147.5 +1113,153.2 +1114,160.5 +1115,154.2 +1116,152.7 +1117,156.6 +1118,151.4 +1119,146.4 +1120,150.6 +1121,162.5 +1122,162.3 +1123,161.2 +1124,158.7 +1125,146.3 +1126,154.8 +1127,160.5 +1128,156.8 +1129,167.5 +1130,165.3 +1131,155.4 +1132,147.4 +1133,152.9 +1134,153.7 +1135,162.4 +1136,155.5 +1137,148.5 +1138,155.6 +1139,151.6 +1140,151.9 +1141,151.7 +1142,164.5 +1143,165.5 +1144,153.5 +1145,148.5 +1146,140.9 +1147,146.2 +1148,147.1 +1149,156.1 +1150,162.6 +1151,156.9 +1152,144.2 +1153,145.4 +1154,146.3 +1155,147.3 +1156,155.3 +1157,152.3 +1158,153.2 +1159,142.7 +1160,146.9 +1161,142.6 +1162,147.1 +1163,150.6 +1164,154.3 +1165,150.7 +1166,144.7 +1167,140.0 +1168,149.5 +1169,142.5 +1170,152.4 +1171,155.6 +1172,148.4 +1173,135.9 +1174,140.2 +1175,142.5 +1176,145.4 +1177,153.7 +1178,144.8 +1179,153.0 +1180,145.6 +1181,138.2 +1182,137.2 +1183,144.4 +1184,143.9 +1185,142.6 +1186,141.4 +1187,142.0 +1188,136.8 +1189,133.0 +1190,142.6 +1191,145.2 +1192,136.8 +1193,147.0 +1194,133.1 +1195,126.8 +1196,134.5 +1197,136.1 +1198,136.6 +1199,141.4 +1200,135.4 +1201,135.3 +1202,125.6 +1203,138.3 +1204,129.5 +1205,141.6 +1206,138.0 +1207,133.1 +1208,133.7 +1209,130.4 +1210,122.8 +1211,132.5 +1212,133.9 +1213,136.2 +1214,127.8 +1215,120.3 +1216,123.8 +1217,127.0 +1218,122.9 +1219,135.4 +1220,129.6 +1221,130.9 +1222,127.3 +1223,117.2 +1224,118.8 +1225,117.1 +1226,123.2 +1227,134.0 +1228,131.3 +1229,122.1 +1230,116.6 +1231,119.7 +1232,122.5 +1233,128.7 +1234,131.2 +1235,120.3 +1236,125.0 +1237,117.9 +1238,110.1 +1239,115.3 +1240,118.5 +1241,128.9 +1242,123.1 +1243,112.5 +1244,110.9 +1245,113.6 +1246,114.7 +1247,125.4 +1248,116.9 +1249,115.5 +1250,110.1 +1251,110.2 +1252,109.3 +1253,114.8 +1254,119.8 +1255,124.1 +1256,114.0 +1257,109.5 +1258,105.1 +1259,107.7 +1260,112.6 +1261,113.6 +1262,114.2 +1263,111.5 +1264,111.5 +1265,106.0 +1266,111.0 +1267,116.5 +1268,117.4 +1269,120.0 +1270,118.0 +1271,105.2 +1272,106.0 +1273,104.6 +1274,119.2 +1275,110.1 +1276,110.2 +1277,118.7 +1278,115.6 +1279,95.9 +1280,107.8 +1281,113.4 +1282,112.1 +1283,119.3 +1284,114.1 +1285,103.3 +1286,101.2 +1287,100.6 +1288,105.3 +1289,107.0 +1290,114.5 +1291,110.4 +1292,103.3 +1293,106.1 +1294,102.8 +1295,106.3 +1296,114.8 +1297,113.4 +1298,111.0 +1299,107.8 +1300,100.3 +1301,104.8 +1302,105.1 +1303,111.3 +1304,114.8 +1305,112.5 +1306,105.9 +1307,100.5 +1308,103.7 +1309,111.5 +1310,121.3 +1311,117.2 +1312,105.6 +1313,105.7 +1314,101.7 +1315,105.2 +1316,112.0 +1317,114.0 +1318,117.2 +1319,112.2 +1320,109.0 +1321,107.4 +1322,106.6 +1323,109.9 +1324,119.5 +1325,111.8 +1326,115.7 +1327,110.8 +1328,106.5 +1329,106.2 +1330,105.8 +1331,113.8 +1332,112.6 +1333,120.3 +1334,110.8 +1335,106.6 +1336,105.2 +1337,110.3 +1338,117.9 +1339,118.1 +1340,123.2 +1341,113.2 +1342,107.1 +1343,113.0 +1344,119.8 +1345,120.5 +1346,125.4 +1347,119.1 +1348,111.7 +1349,111.0 +1350,105.0 +1351,117.3 +1352,120.0 +1353,121.4 +1354,121.0 +1355,114.0 +1356,112.4 +1357,116.2 +1358,118.7 +1359,136.3 +1360,127.9 +1361,116.3 +1362,122.1 +1363,115.9 +1364,128.9 +1365,126.5 +1366,127.8 +1367,132.2 +1368,129.5 +1369,118.3 +1370,122.3 +1371,120.3 +1372,126.8 +1373,130.5 +1374,131.4 +1375,135.7 +1376,123.6 +1377,123.0 +1378,128.3 +1379,132.8 +1380,131.6 +1381,135.7 +1382,133.6 +1383,127.9 +1384,118.5 +1385,126.5 +1386,136.2 +1387,136.8 +1388,134.4 +1389,128.3 +1390,134.8 +1391,119.6 +1392,130.9 +1393,132.7 +1394,135.9 +1395,144.3 +1396,139.9 +1397,139.1 +1398,137.4 +1399,134.4 +1400,145.0 +1401,136.6 +1402,141.1 +1403,147.4 +1404,135.8 +1405,137.9 +1406,141.2 +1407,138.5 +1408,144.4 +1409,148.8 +1410,144.4 +1411,137.9 +1412,131.4 +1413,137.0 +1414,143.8 +1415,145.9 +1416,149.6 +1417,149.6 +1418,142.8 +1419,143.4 +1420,139.5 +1421,134.3 +1422,153.3 +1423,152.3 +1424,154.1 +1425,146.0 +1426,142.2 +1427,148.5 +1428,149.2 +1429,150.2 +1430,158.7 +1431,151.4 +1432,151.3 +1433,142.7 +1434,144.5 +1435,158.6 +1436,159.1 +1437,158.8 +1438,153.6 +1439,145.4 +1440,149.3 +1441,154.4 +1442,155.1 +1443,159.3 +1444,156.1 +1445,156.7 +1446,153.9 +1447,149.2 +1448,153.9 +1449,158.3 +1450,158.5 +1451,163.5 +1452,165.0 +1453,159.6 +1454,153.6 +1455,148.4 +1456,157.1 +1457,169.2 +1458,161.1 +1459,157.5 +1460,159.2 +1461,150.6 +1462,148.6 +1463,163.8 +1464,156.1 +1465,160.8 +1466,163.0 +1467,149.5 +1468,155.4 +1469,154.2 +1470,163.4 +1471,167.8 +1472,162.5 +1473,160.6 +1474,161.8 +1475,155.2 +1476,157.1 +1477,158.4 +1478,158.7 +1479,159.3 +1480,162.6 +1481,157.9 +1482,154.4 +1483,156.0 +1484,160.2 +1485,165.6 +1486,166.4 +1487,159.0 +1488,153.2 +1489,155.6 +1490,165.8 +1491,159.0 +1492,157.0 +1493,158.0 +1494,163.5 +1495,160.7 +1496,161.3 +1497,160.8 +1498,160.1 +1499,164.3 +1500,156.2 +1501,156.3 +1502,157.2 +1503,146.0 +1504,151.8 +1505,151.6 +1506,164.1 +1507,167.1 +1508,154.6 +1509,148.4 +1510,151.1 +1511,153.1 +1512,153.6 +1513,166.5 +1514,166.4 +1515,162.4 +1516,158.0 +1517,148.8 +1518,153.6 +1519,154.1 +1520,161.1 +1521,164.4 +1522,158.1 +1523,152.9 +1524,150.4 +1525,152.9 +1526,156.7 +1527,151.7 +1528,162.7 +1529,156.4 +1530,147.1 +1531,142.1 +1532,146.1 +1533,159.1 +1534,152.3 +1535,156.8 +1536,149.4 +1537,146.8 +1538,146.6 +1539,139.8 +1540,153.2 +1541,159.3 +1542,151.6 +1543,157.0 +1544,143.0 +1545,134.4 +1546,136.6 +1547,145.6 +1548,155.7 +1549,149.6 +1550,147.6 +1551,141.3 +1552,134.9 +1553,143.1 +1554,140.6 +1555,143.3 +1556,145.8 +1557,147.6 +1558,137.5 +1559,127.8 +1560,134.6 +1561,142.0 +1562,147.8 +1563,140.0 +1564,144.4 +1565,135.8 +1566,130.0 +1567,132.9 +1568,136.3 +1569,143.0 +1570,140.9 +1571,142.9 +1572,125.7 +1573,127.8 +1574,129.8 +1575,140.4 +1576,135.1 +1577,152.1 +1578,137.2 +1579,129.8 +1580,127.7 +1581,134.2 +1582,128.0 +1583,136.6 +1584,137.0 +1585,130.5 +1586,126.7 +1587,121.0 +1588,121.8 +1589,123.3 +1590,130.2 +1591,133.7 +1592,132.1 +1593,130.0 +1594,126.7 +1595,121.9 +1596,131.2 +1597,129.8 +1598,129.6 +1599,129.2 +1600,122.2 +1601,117.3 +1602,116.7 +1603,122.1 +1604,125.8 +1605,130.0 +1606,120.7 +1607,116.7 +1608,119.2 +1609,109.7 +1610,119.8 +1611,124.5 +1612,128.1 +1613,122.1 +1614,117.9 +1615,108.0 +1616,111.7 +1617,125.3 +1618,120.5 +1619,121.6 +1620,129.1 +1621,110.6 +1622,111.3 +1623,117.4 +1624,122.7 +1625,123.5 +1626,125.0 +1627,128.2 +1628,113.7 +1629,104.7 +1630,103.5 +1631,118.3 +1632,123.3 +1633,118.9 +1634,115.5 +1635,111.7 +1636,104.4 +1637,106.1 +1638,115.6 +1639,130.5 +1640,114.7 +1641,110.7 +1642,111.3 +1643,105.3 +1644,106.9 +1645,113.6 +1646,112.1 +1647,118.8 +1648,119.1 +1649,110.0 +1650,106.7 +1651,106.9 +1652,105.7 +1653,112.1 +1654,123.5 +1655,114.3 +1656,112.1 +1657,105.6 +1658,104.0 +1659,114.3 +1660,114.2 +1661,117.7 +1662,118.4 +1663,104.0 +1664,108.7 +1665,109.8 +1666,121.2 +1667,115.7 +1668,114.6 +1669,114.0 +1670,109.4 +1671,105.3 +1672,105.9 +1673,107.9 +1674,112.5 +1675,114.0 +1676,113.6 +1677,107.9 +1678,102.2 +1679,109.7 +1680,123.7 +1681,115.8 +1682,122.9 +1683,118.0 +1684,106.9 +1685,107.9 +1686,107.7 +1687,104.0 +1688,116.9 +1689,120.7 +1690,119.3 +1691,110.2 +1692,106.9 +1693,113.6 +1694,119.9 +1695,120.4 +1696,123.0 +1697,115.9 +1698,114.4 +1699,114.7 +1700,112.0 +1701,112.4 +1702,128.6 +1703,127.1 +1704,119.7 +1705,116.6 +1706,114.7 +1707,114.8 +1708,118.8 +1709,123.9 +1710,120.5 +1711,120.4 +1712,125.8 +1713,116.8 +1714,116.1 +1715,121.8 +1716,127.5 +1717,130.1 +1718,124.4 +1719,122.3 +1720,120.2 +1721,100.9 +1722,122.8 +1723,126.7 +1724,136.1 +1725,131.8 +1726,122.8 +1727,113.3 +1728,117.2 +1729,133.9 +1730,130.3 +1731,140.3 +1732,126.6 +1733,126.9 +1734,121.0 +1735,127.9 +1736,135.2 +1737,138.4 +1738,139.8 +1739,137.1 +1740,125.2 +1741,119.2 +1742,124.9 +1743,133.9 +1744,139.9 +1745,139.4 +1746,135.9 +1747,141.0 +1748,131.6 +1749,133.7 +1750,131.2 +1751,141.6 +1752,140.9 +1753,137.7 +1754,141.1 +1755,134.7 +1756,138.3 +1757,147.2 +1758,146.5 +1759,154.2 +1760,146.0 +1761,140.4 +1762,134.4 +1763,130.7 +1764,142.0 +1765,148.7 +1766,146.2 +1767,146.6 +1768,133.7 +1769,144.4 +1770,140.7 +1771,139.5 +1772,151.9 +1773,152.3 +1774,150.1 +1775,147.9 +1776,139.0 +1777,138.7 +1778,143.3 +1779,150.7 +1780,145.9 +1781,162.2 +1782,146.9 +1783,143.2 +1784,147.0 +1785,149.5 +1786,158.0 +1787,152.7 +1788,151.0 +1789,152.6 +1790,138.5 +1791,149.1 +1792,151.0 +1793,157.2 +1794,164.7 +1795,164.7 +1796,154.7 +1797,154.1 +1798,148.1 +1799,156.5 +1800,156.4 +1801,155.5 +1802,155.7 +1803,150.7 +1804,147.7 +1805,146.0 +1806,146.9 +1807,161.7 +1808,170.7 +1809,160.0 +1810,159.3 +1811,152.1 +1812,154.2 +1813,163.0 +1814,159.4 +1815,164.9 +1816,159.6 +1817,155.3 +1818,153.8 +1819,151.8 +1820,162.4 +1821,163.6 +1822,165.7 +1823,163.4 +1824,162.2 +1825,158.1 +1826,153.4 +1827,165.8 +1828,168.7 +1829,171.9 +1830,164.1 +1831,161.0 +1832,155.6 +1833,151.4 +1834,167.1 +1835,172.6 +1836,166.7 +1837,163.7 +1838,155.6 +1839,159.7 +1840,161.7 +1841,160.6 +1842,171.5 +1843,168.0 +1844,161.5 +1845,164.0 +1846,162.4 +1847,159.2 +1848,160.7 +1849,168.6 +1850,165.4 +1851,167.4 +1852,159.6 +1853,168.4 +1854,156.7 +1855,166.9 +1856,171.6 +1857,172.7 +1858,167.4 +1859,159.0 +1860,157.7 +1861,164.1 +1862,164.6 +1863,168.1 +1864,170.7 +1865,160.2 +1866,158.0 +1867,148.1 +1868,162.0 +1869,153.3 +1870,158.5 +1871,173.9 +1872,163.0 +1873,167.3 +1874,153.1 +1875,158.5 +1876,159.9 +1877,161.4 +1878,170.4 +1879,161.7 +1880,163.7 +1881,155.1 +1882,155.7 +1883,168.5 +1884,167.0 +1885,159.1 +1886,159.7 +1887,155.6 +1888,149.6 +1889,154.8 +1890,156.3 +1891,160.5 +1892,153.6 +1893,166.6 +1894,148.4 +1895,149.8 +1896,152.6 +1897,156.3 +1898,163.3 +1899,164.1 +1900,157.2 +1901,154.9 +1902,147.2 +1903,152.9 +1904,157.2 +1905,157.4 +1906,159.7 +1907,146.9 +1908,157.3 +1909,145.8 +1910,156.3 +1911,149.8 +1912,150.7 +1913,159.7 +1914,155.7 +1915,146.4 +1916,139.1 +1917,144.0 +1918,148.1 +1919,149.9 +1920,149.3 +1921,150.4 +1922,151.0 +1923,138.1 +1924,137.6 +1925,139.3 +1926,152.6 +1927,150.5 +1928,144.9 +1929,146.1 +1930,141.4 +1931,135.8 +1932,150.7 +1933,141.2 +1934,145.5 +1935,147.4 +1936,143.2 +1937,133.0 +1938,137.8 +1939,144.2 +1940,144.8 +1941,148.8 +1942,141.8 +1943,141.1 +1944,138.8 +1945,131.2 +1946,135.9 +1947,150.9 +1948,144.1 +1949,142.8 +1950,125.8 +1951,133.0 +1952,129.2 +1953,128.7 +1954,137.0 +1955,138.8 +1956,134.8 +1957,132.9 +1958,128.4 +1959,126.7 +1960,132.6 +1961,133.1 +1962,133.6 +1963,127.4 +1964,123.3 +1965,122.2 +1966,124.8 +1967,130.6 +1968,134.1 +1969,127.0 +1970,131.7 +1971,125.7 +1972,120.0 +1973,120.0 +1974,129.2 +1975,127.2 +1976,136.6 +1977,126.7 +1978,122.0 +1979,121.3 +1980,120.9 +1981,119.2 +1982,126.5 +1983,125.3 +1984,117.9 +1985,121.8 +1986,104.5 +1987,119.5 +1988,120.6 +1989,130.4 +1990,124.3 +1991,123.2 +1992,113.3 +1993,108.6 +1994,113.8 +1995,117.9 +1996,123.9 +1997,121.4 +1998,122.8 +1999,121.9 +2000,112.1 +2001,113.5 +2002,114.3 +2003,121.5 +2004,124.1 +2005,121.9 +2006,113.3 +2007,111.9 +2008,113.6 +2009,115.8 +2010,121.5 +2011,123.8 +2012,120.0 +2013,114.5 +2014,110.3 +2015,117.5 +2016,116.7 +2017,121.2 +2018,124.5 +2019,121.7 +2020,105.5 +2021,103.6 +2022,107.3 +2023,109.6 +2024,115.3 +2025,121.6 +2026,126.2 +2027,104.5 +2028,101.3 +2029,109.9 +2030,113.2 +2031,120.9 +2032,117.8 +2033,121.9 +2034,116.0 +2035,107.8 +2036,107.4 +2037,113.3 +2038,118.8 +2039,116.8 +2040,115.8 +2041,112.5 +2042,116.1 +2043,112.1 +2044,124.4 +2045,120.6 +2046,131.9 +2047,115.2 +2048,113.8 +2049,108.6 +2050,110.8 +2051,113.3 +2052,124.0 +2053,123.4 +2054,127.7 +2055,111.5 +2056,106.4 +2057,110.9 +2058,116.5 +2059,119.1 +2060,123.1 +2061,120.9 +2062,121.2 +2063,111.9 +2064,117.5 +2065,113.7 +2066,122.4 +2067,126.5 +2068,122.0 +2069,122.3 +2070,112.8 +2071,112.5 +2072,122.2 +2073,125.2 +2074,132.5 +2075,128.3 +2076,118.2 +2077,118.2 +2078,123.0 +2079,126.3 +2080,128.7 +2081,135.4 +2082,127.2 +2083,128.3 +2084,123.0 +2085,119.8 +2086,128.4 +2087,132.6 +2088,136.2 +2089,129.7 +2090,121.1 +2091,120.4 +2092,114.9 +2093,124.2 +2094,139.3 +2095,129.6 +2096,132.1 +2097,127.0 +2098,125.3 +2099,124.4 +2100,137.3 +2101,132.7 +2102,140.9 +2103,125.2 +2104,137.5 +2105,130.4 +2106,133.1 +2107,138.6 +2108,140.9 +2109,152.3 +2110,143.4 +2111,125.1 +2112,133.7 +2113,140.3 +2114,141.6 +2115,144.0 +2116,143.3 +2117,136.2 +2118,146.0 +2119,131.3 +2120,136.0 +2121,145.5 +2122,146.7 +2123,151.6 +2124,140.7 +2125,144.6 +2126,139.9 +2127,141.8 +2128,144.3 +2129,148.5 +2130,152.7 +2131,147.1 +2132,141.7 +2133,140.6 +2134,145.5 +2135,151.1 +2136,150.5 +2137,153.0 +2138,146.1 +2139,140.5 +2140,141.9 +2141,146.3 +2142,152.2 +2143,158.6 +2144,162.8 +2145,148.2 +2146,145.3 +2147,151.2 +2148,158.2 +2149,153.4 +2150,159.7 +2151,155.5 +2152,168.3 +2153,156.4 +2154,153.9 +2155,152.7 +2156,159.4 +2157,165.7 +2158,161.4 +2159,158.3 +2160,160.4 +2161,151.3 +2162,152.8 +2163,160.4 +2164,164.9 +2165,164.7 +2166,159.4 +2167,155.7 +2168,150.2 +2169,149.3 +2170,157.2 +2171,160.7 +2172,168.5 +2173,159.8 +2174,156.3 +2175,155.8 +2176,155.7 +2177,166.1 +2178,172.9 +2179,173.5 +2180,167.6 +2181,159.3 +2182,153.9 +2183,159.6 +2184,166.4 +2185,176.7 +2186,167.3 +2187,171.2 +2188,154.0 +2189,164.8 +2190,161.0 +2191,161.8 +2192,170.3 +2193,171.1 +2194,163.7 +2195,166.8 +2196,160.1 +2197,164.2 +2198,161.7 +2199,167.8 +2200,171.1 +2201,168.2 +2202,167.2 +2203,162.9 +2204,168.2 +2205,163.5 +2206,170.5 +2207,171.3 +2208,170.9 +2209,164.6 +2210,151.8 +2211,162.9 +2212,163.9 +2213,179.1 +2214,171.3 +2215,169.6 +2216,158.3 +2217,165.3 +2218,162.6 +2219,172.0 +2220,172.5 +2221,179.4 +2222,169.3 +2223,162.1 +2224,154.4 +2225,165.5 +2226,169.2 +2227,173.1 +2228,174.3 +2229,163.2 +2230,168.5 +2231,161.7 +2232,166.3 +2233,173.7 +2234,158.9 +2235,168.2 +2236,167.5 +2237,166.3 +2238,155.9 +2239,159.3 +2240,163.7 +2241,164.5 +2242,168.1 +2243,167.1 +2244,158.2 +2245,162.3 +2246,155.1 +2247,161.1 +2248,173.5 +2249,171.9 +2250,166.6 +2251,155.7 +2252,162.6 +2253,152.8 +2254,155.8 +2255,168.1 +2256,164.6 +2257,155.1 +2258,163.7 +2259,148.0 +2260,156.4 +2261,156.6 +2262,166.9 +2263,163.6 +2264,157.1 +2265,156.3 +2266,151.6 +2267,148.9 +2268,157.3 +2269,166.1 +2270,156.0 +2271,153.9 +2272,155.0 +2273,142.0 +2274,154.0 +2275,159.2 +2276,152.1 +2277,163.3 +2278,147.5 +2279,149.1 +2280,142.3 +2281,149.7 +2282,154.2 +2283,151.7 +2284,157.5 +2285,152.7 +2286,148.3 +2287,137.4 +2288,148.7 +2289,147.4 +2290,151.8 +2291,152.2 +2292,153.7 +2293,140.9 +2294,140.8 +2295,146.2 +2296,142.3 +2297,158.4 +2298,150.0 +2299,153.3 +2300,137.7 +2301,139.0 +2302,140.8 +2303,144.3 +2304,150.1 +2305,152.4 +2306,146.9 +2307,141.7 +2308,135.8 +2309,135.5 +2310,138.6 +2311,140.7 +2312,145.3 +2313,133.2 +2314,135.3 +2315,137.2 +2316,134.0 +2317,136.8 +2318,146.1 +2319,139.9 +2320,135.6 +2321,127.4 +2322,128.8 +2323,125.0 +2324,135.3 +2325,136.8 +2326,138.4 +2327,136.7 +2328,125.9 +2329,122.1 +2330,123.5 +2331,135.7 +2332,131.1 +2333,137.7 +2334,127.4 +2335,136.3 +2336,123.3 +2337,125.0 +2338,131.3 +2339,131.5 +2340,128.8 +2341,132.0 +2342,126.7 +2343,118.5 +2344,124.1 +2345,124.9 +2346,131.0 +2347,135.4 +2348,124.1 +2349,120.0 +2350,126.9 +2351,118.2 +2352,122.7 +2353,128.4 +2354,136.8 +2355,123.1 +2356,118.5 +2357,118.5 +2358,117.0 +2359,117.1 +2360,124.1 +2361,136.1 +2362,126.1 +2363,118.7 +2364,119.1 +2365,115.7 +2366,122.6 +2367,131.3 +2368,127.5 +2369,115.7 +2370,123.2 +2371,115.0 +2372,115.4 +2373,125.3 +2374,123.8 +2375,129.1 +2376,123.9 +2377,118.0 +2378,117.2 +2379,120.3 +2380,115.9 +2381,121.0 +2382,124.2 +2383,124.7 +2384,117.7 +2385,111.2 +2386,119.5 +2387,117.8 +2388,127.3 +2389,124.1 +2390,116.6 +2391,116.0 +2392,117.8 +2393,107.3 +2394,120.5 +2395,121.8 +2396,124.5 +2397,117.2 +2398,116.5 +2399,102.7 +2400,114.8 +2401,122.1 +2402,128.1 +2403,123.1 +2404,119.3 +2405,116.4 +2406,117.5 +2407,113.2 +2408,119.4 +2409,135.6 +2410,122.5 +2411,132.1 +2412,124.8 +2413,116.5 +2414,122.5 +2415,120.5 +2416,124.9 +2417,128.2 +2418,125.5 +2419,118.6 +2420,114.4 +2421,112.1 +2422,125.3 +2423,123.2 +2424,129.3 +2425,127.0 +2426,123.8 +2427,117.7 +2428,119.2 +2429,122.9 +2430,119.8 +2431,127.8 +2432,129.0 +2433,123.6 +2434,116.7 +2435,115.8 +2436,124.5 +2437,123.4 +2438,129.1 +2439,130.2 +2440,117.9 +2441,126.4 +2442,126.8 +2443,127.3 +2444,130.9 +2445,137.6 +2446,131.4 +2447,129.7 +2448,122.5 +2449,120.0 +2450,126.5 +2451,131.6 +2452,135.2 +2453,131.0 +2454,126.8 +2455,131.1 +2456,119.5 +2457,128.3 +2458,135.3 +2459,144.4 +2460,134.1 +2461,125.2 +2462,135.2 +2463,132.8 +2464,133.9 +2465,139.9 +2466,148.3 +2467,139.5 +2468,126.2 +2469,136.0 +2470,127.9 +2471,138.3 +2472,144.0 +2473,142.3 +2474,142.9 +2475,131.7 +2476,137.7 +2477,136.5 +2478,141.5 +2479,142.6 +2480,146.5 +2481,146.7 +2482,147.2 +2483,137.4 +2484,139.2 +2485,142.4 +2486,143.8 +2487,156.1 +2488,141.5 +2489,131.0 +2490,140.7 +2491,140.9 +2492,148.1 +2493,152.2 +2494,154.8 +2495,160.1 +2496,151.1 +2497,136.6 +2498,144.5 +2499,151.0 +2500,151.1 +2501,160.2 +2502,155.5 +2503,153.6 +2504,150.4 +2505,150.3 +2506,152.0 +2507,153.9 +2508,169.3 +2509,158.9 +2510,157.3 +2511,150.7 +2512,150.2 +2513,154.3 +2514,164.9 +2515,173.3 +2516,161.4 +2517,161.1 +2518,162.4 +2519,155.1 +2520,161.8 +2521,158.0 +2522,168.0 +2523,164.6 +2524,160.8 +2525,150.4 +2526,153.8 +2527,165.1 +2528,168.2 +2529,172.0 +2530,161.6 +2531,161.8 +2532,160.4 +2533,162.4 +2534,157.4 +2535,176.6 +2536,169.8 +2537,173.2 +2538,160.9 +2539,157.3 +2540,162.1 +2541,164.2 +2542,172.5 +2543,175.5 +2544,173.1 +2545,161.9 +2546,164.6 +2547,159.6 +2548,163.3 +2549,172.5 +2550,172.8 +2551,165.7 +2552,160.5 +2553,156.3 +2554,158.8 +2555,173.9 +2556,174.2 +2557,174.1 +2558,171.9 +2559,163.2 +2560,163.9 +2561,164.7 +2562,171.1 +2563,175.5 +2564,182.1 +2565,175.5 +2566,170.1 +2567,171.0 +2568,158.6 +2569,172.5 +2570,175.1 +2571,168.8 +2572,169.6 +2573,169.0 +2574,164.8 +2575,171.7 +2576,159.8 +2577,175.4 +2578,172.8 +2579,175.0 +2580,163.9 +2581,171.3 +2582,166.3 +2583,171.4 +2584,175.4 +2585,180.4 +2586,177.6 +2587,161.2 +2588,163.9 +2589,172.7 +2590,170.8 +2591,170.1 +2592,177.9 +2593,173.9 +2594,166.5 +2595,166.7 +2596,165.9 +2597,166.8 +2598,168.7 +2599,182.0 +2600,169.6 +2601,164.3 +2602,162.0 +2603,167.7 +2604,169.3 +2605,172.8 +2606,170.3 +2607,165.3 +2608,166.4 +2609,151.4 +2610,163.4 +2611,166.1 +2612,177.7 +2613,169.9 +2614,168.4 +2615,162.1 +2616,161.8 +2617,154.0 +2618,164.9 +2619,167.8 +2620,163.9 +2621,167.0 +2622,165.8 +2623,149.8 +2624,162.0 +2625,164.2 +2626,168.2 +2627,167.5 +2628,168.2 +2629,164.6 +2630,155.7 +2631,160.2 +2632,162.8 +2633,169.6 +2634,169.2 +2635,158.0 +2636,159.6 +2637,157.6 +2638,155.3 +2639,156.4 +2640,163.3 +2641,157.7 +2642,161.0 +2643,164.7 +2644,148.8 +2645,152.3 +2646,152.7 +2647,158.9 +2648,160.6 +2649,157.1 +2650,148.8 +2651,143.2 +2652,151.1 +2653,151.5 +2654,153.8 +2655,167.4 +2656,157.6 +2657,151.9 +2658,143.0 +2659,145.2 +2660,152.2 +2661,155.0 +2662,149.2 +2663,153.2 +2664,141.5 +2665,145.6 +2666,142.4 +2667,144.7 +2668,147.5 +2669,156.6 +2670,148.6 +2671,146.9 +2672,142.3 +2673,142.0 +2674,140.1 +2675,136.2 +2676,155.7 +2677,155.1 +2678,134.6 +2679,132.2 +2680,128.7 +2681,136.0 +2682,150.5 +2683,148.3 +2684,143.7 +2685,130.4 +2686,132.9 +2687,125.9 +2688,138.7 +2689,132.3 +2690,145.7 +2691,141.8 +2692,134.7 +2693,132.8 +2694,124.1 +2695,139.0 +2696,139.6 +2697,148.0 +2698,137.8 +2699,142.6 +2700,124.9 +2701,135.6 +2702,135.0 +2703,135.2 +2704,138.3 +2705,132.6 +2706,127.2 +2707,126.1 +2708,131.9 +2709,132.4 +2710,131.9 +2711,134.1 +2712,127.8 +2713,123.0 +2714,129.4 +2715,128.0 +2716,123.9 +2717,138.3 +2718,139.6 +2719,134.5 +2720,122.4 +2721,124.6 +2722,121.4 +2723,127.6 +2724,133.4 +2725,132.0 +2726,128.7 +2727,122.1 +2728,118.3 +2729,113.3 +2730,126.7 +2731,132.2 +2732,128.1 +2733,132.5 +2734,124.6 +2735,121.1 +2736,128.5 +2737,125.3 +2738,126.4 +2739,129.2 +2740,124.9 +2741,113.4 +2742,111.5 +2743,124.7 +2744,123.6 +2745,130.0 +2746,126.5 +2747,122.7 +2748,123.5 +2749,115.8 +2750,122.2 +2751,121.8 +2752,128.8 +2753,134.0 +2754,124.2 +2755,116.8 +2756,115.2 +2757,117.5 +2758,120.6 +2759,128.1 +2760,131.5 +2761,124.2 +2762,120.9 +2763,116.3 +2764,120.0 +2765,122.4 +2766,124.5 +2767,123.2 +2768,127.3 +2769,124.5 +2770,119.1 +2771,118.6 +2772,127.2 +2773,125.6 +2774,137.9 +2775,133.3 +2776,120.7 +2777,108.7 +2778,125.2 +2779,122.1 +2780,125.1 +2781,128.4 +2782,123.1 +2783,126.9 +2784,119.3 +2785,117.8 +2786,128.3 +2787,123.7 +2788,124.1 +2789,128.1 +2790,121.8 +2791,121.3 +2792,118.2 +2793,129.5 +2794,125.0 +2795,133.7 +2796,127.1 +2797,129.1 +2798,122.4 +2799,120.2 +2800,121.1 +2801,133.5 +2802,129.3 +2803,133.3 +2804,124.2 +2805,128.2 +2806,124.3 +2807,132.0 +2808,139.2 +2809,135.5 +2810,132.5 +2811,130.5 +2812,128.0 +2813,127.3 +2814,127.3 +2815,148.7 +2816,141.1 +2817,130.6 +2818,131.2 +2819,132.6 +2820,129.7 +2821,144.1 +2822,140.0 +2823,143.6 +2824,142.4 +2825,129.7 +2826,136.1 +2827,124.6 +2828,143.8 +2829,144.2 +2830,145.7 +2831,137.7 +2832,136.2 +2833,134.3 +2834,136.8 +2835,137.4 +2836,145.2 +2837,149.6 +2838,143.4 +2839,145.3 +2840,138.7 +2841,133.8 +2842,137.8 +2843,153.6 +2844,153.0 +2845,151.2 +2846,146.2 +2847,147.5 +2848,139.6 +2849,142.1 +2850,156.0 +2851,156.8 +2852,157.6 +2853,145.1 +2854,145.2 +2855,143.2 +2856,147.4 +2857,155.8 +2858,161.8 +2859,151.2 +2860,144.2 +2861,139.8 +2862,145.7 +2863,156.1 +2864,160.1 +2865,155.9 +2866,158.7 +2867,155.2 +2868,144.4 +2869,157.8 +2870,161.2 +2871,166.6 +2872,167.8 +2873,161.6 +2874,158.1 +2875,151.1 +2876,155.2 +2877,160.4 +2878,166.9 +2879,172.4 +2880,153.6 +2881,153.5 +2882,161.1 +2883,153.7 +2884,163.2 +2885,171.2 +2886,172.2 +2887,165.8 +2888,162.5 +2889,153.9 +2890,157.1 +2891,160.3 +2892,166.7 +2893,174.7 +2894,169.9 +2895,162.0 +2896,167.2 +2897,156.2 +2898,165.1 +2899,173.6 +2900,173.8 +2901,175.1 +2902,164.4 +2903,163.6 +2904,160.6 +2905,168.2 +2906,180.2 +2907,174.9 +2908,167.7 +2909,169.7 +2910,165.0 +2911,169.0 +2912,172.9 +2913,174.5 +2914,177.9 +2915,176.0 +2916,162.6 +2917,171.1 +2918,166.5 +2919,173.4 +2920,181.9 +2921,177.7 +2922,170.4 +2923,167.4 +2924,164.2 +2925,171.0 +2926,172.5 +2927,174.2 +2928,170.8 +2929,176.6 +2930,173.5 +2931,166.7 +2932,171.1 +2933,174.3 +2934,174.0 +2935,178.4 +2936,178.9 +2937,169.6 +2938,163.6 +2939,167.0 +2940,180.1 +2941,178.2 +2942,183.7 +2943,176.3 +2944,168.0 +2945,166.8 +2946,161.1 +2947,173.5 +2948,182.3 +2949,178.3 +2950,182.4 +2951,167.9 +2952,174.1 +2953,176.9 +2954,169.0 +2955,176.5 +2956,183.7 +2957,176.4 +2958,179.1 +2959,171.3 +2960,163.8 +2961,171.4 +2962,177.0 +2963,180.2 +2964,175.2 +2965,168.5 +2966,168.0 +2967,170.2 +2968,165.6 +2969,183.4 +2970,180.0 +2971,170.4 +2972,169.5 +2973,170.4 +2974,168.6 +2975,166.5 +2976,169.6 +2977,175.2 +2978,173.3 +2979,175.0 +2980,160.1 +2981,159.0 +2982,173.3 +2983,171.5 +2984,173.9 +2985,166.8 +2986,156.4 +2987,163.8 +2988,163.4 +2989,165.3 +2990,167.2 +2991,170.9 +2992,166.7 +2993,155.6 +2994,156.7 +2995,158.8 +2996,169.4 +2997,164.6 +2998,176.5 +2999,166.0 +3000,160.6 +3001,149.9 +3002,153.7 +3003,157.7 +3004,169.5 +3005,173.0 +3006,160.9 +3007,159.8 +3008,159.8 +3009,156.5 +3010,151.6 +3011,162.2 +3012,169.0 +3013,155.4 +3014,163.4 +3015,151.0 +3016,156.4 +3017,156.1 +3018,164.1 +3019,157.3 +3020,148.5 +3021,152.0 +3022,152.8 +3023,151.6 +3024,159.8 +3025,159.4 +3026,157.8 +3027,152.1 +3028,149.9 +3029,146.0 +3030,151.0 +3031,156.8 +3032,155.9 +3033,162.6 +3034,148.6 +3035,145.5 +3036,145.3 +3037,143.4 +3038,145.3 +3039,153.5 +3040,148.7 +3041,152.6 +3042,144.6 +3043,144.6 +3044,135.3 +3045,149.6 +3046,149.6 +3047,151.9 +3048,143.8 +3049,140.5 +3050,138.1 +3051,139.6 +3052,140.8 +3053,141.6 +3054,149.2 +3055,150.6 +3056,131.9 +3057,138.2 +3058,131.3 +3059,140.5 +3060,146.4 +3061,141.2 +3062,138.0 +3063,135.9 +3064,127.2 +3065,134.4 +3066,132.3 +3067,142.9 +3068,145.1 +3069,139.5 +3070,131.0 +3071,131.6 +3072,125.2 +3073,141.0 +3074,139.4 +3075,136.4 +3076,134.4 +3077,126.8 +3078,124.0 +3079,138.6 +3080,134.1 +3081,129.8 +3082,137.3 +3083,133.2 +3084,129.7 +3085,123.5 +3086,128.9 +3087,142.3 +3088,132.0 +3089,131.4 +3090,136.3 +3091,127.1 +3092,122.6 +3093,130.8 +3094,130.7 +3095,133.7 +3096,138.0 +3097,131.5 +3098,124.2 +3099,121.1 +3100,123.8 +3101,135.8 +3102,131.5 +3103,132.2 +3104,130.4 +3105,126.0 +3106,121.0 +3107,116.8 +3108,125.3 +3109,139.7 +3110,127.6 +3111,123.9 +3112,129.5 +3113,117.2 +3114,128.6 +3115,124.3 +3116,134.3 +3117,130.2 +3118,125.0 +3119,126.8 +3120,127.0 +3121,121.2 +3122,126.1 +3123,128.7 +3124,134.7 +3125,131.1 +3126,121.3 +3127,119.9 +3128,122.8 +3129,129.9 +3130,131.3 +3131,134.6 +3132,133.9 +3133,124.4 +3134,118.3 +3135,113.2 +3136,126.4 +3137,134.1 +3138,121.8 +3139,131.8 +3140,123.3 +3141,114.7 +3142,127.5 +3143,127.4 +3144,133.6 +3145,137.0 +3146,131.1 +3147,124.4 +3148,124.3 +3149,123.3 +3150,120.3 +3151,138.6 +3152,135.8 +3153,133.3 +3154,119.4 +3155,124.6 +3156,118.0 +3157,133.0 +3158,145.4 +3159,140.0 +3160,126.2 +3161,130.2 +3162,129.9 +3163,130.2 +3164,134.5 +3165,134.5 +3166,135.1 +3167,135.2 +3168,129.9 +3169,127.1 +3170,125.4 +3171,136.6 +3172,146.5 +3173,147.5 +3174,143.2 +3175,130.3 +3176,128.5 +3177,128.2 +3178,137.3 +3179,143.9 +3180,150.2 +3181,139.2 +3182,137.4 +3183,127.3 +3184,137.6 +3185,142.0 +3186,141.2 +3187,138.3 +3188,137.3 +3189,141.6 +3190,130.4 +3191,140.2 +3192,143.8 +3193,151.2 +3194,152.5 +3195,146.0 +3196,137.7 +3197,144.5 +3198,144.1 +3199,147.4 +3200,141.9 +3201,150.4 +3202,149.5 +3203,145.1 +3204,138.1 +3205,143.6 +3206,150.2 +3207,156.5 +3208,155.7 +3209,152.0 +3210,146.8 +3211,144.8 +3212,149.9 +3213,147.6 +3214,156.3 +3215,156.3 +3216,162.6 +3217,152.7 +3218,148.0 +3219,146.5 +3220,150.8 +3221,155.1 +3222,157.6 +3223,163.5 +3224,148.5 +3225,159.0 +3226,152.9 +3227,156.1 +3228,168.8 +3229,165.7 +3230,164.8 +3231,154.0 +3232,147.9 +3233,158.6 +3234,159.6 +3235,168.9 +3236,162.5 +3237,170.6 +3238,158.7 +3239,161.4 +3240,156.5 +3241,170.4 +3242,176.2 +3243,170.2 +3244,167.2 +3245,162.4 +3246,157.5 +3247,167.7 +3248,163.9 +3249,178.6 +3250,175.3 +3251,171.1 +3252,166.9 +3253,164.5 +3254,165.0 +3255,166.4 +3256,171.4 +3257,168.1 +3258,164.8 +3259,169.4 +3260,164.5 +3261,166.8 +3262,175.0 +3263,174.8 +3264,173.5 +3265,167.8 +3266,172.5 +3267,159.6 +3268,162.6 +3269,177.7 +3270,174.5 +3271,183.5 +3272,173.8 +3273,173.8 +3274,169.8 +3275,166.8 +3276,172.2 +3277,185.3 +3278,177.5 +3279,177.0 +3280,176.1 +3281,171.5 +3282,169.9 +3283,177.1 +3284,174.8 +3285,176.0 +3286,180.5 +3287,175.7 +3288,167.6 +3289,169.5 +3290,183.0 +3291,178.9 +3292,174.4 +3293,185.8 +3294,183.4 +3295,173.4 +3296,169.3 +3297,171.0 +3298,172.0 +3299,183.8 +3300,182.0 +3301,176.4 +3302,176.1 +3303,171.7 +3304,178.1 +3305,185.1 +3306,172.5 +3307,179.5 +3308,176.2 +3309,168.3 +3310,175.7 +3311,180.2 +3312,181.9 +3313,183.2 +3314,173.5 +3315,177.7 +3316,170.1 +3317,178.7 +3318,184.3 +3319,181.7 +3320,184.6 +3321,179.2 +3322,172.8 +3323,166.1 +3324,166.2 +3325,176.1 +3326,176.4 +3327,185.2 +3328,181.0 +3329,171.1 +3330,176.8 +3331,176.8 +3332,173.3 +3333,186.0 +3334,186.1 +3335,182.7 +3336,168.6 +3337,173.0 +3338,168.7 +3339,183.6 +3340,171.5 +3341,174.1 +3342,175.6 +3343,170.5 +3344,162.5 +3345,173.2 +3346,168.8 +3347,173.2 +3348,180.8 +3349,169.8 +3350,164.1 +3351,168.7 +3352,161.5 +3353,172.7 +3354,173.6 +3355,175.6 +3356,175.3 +3357,162.5 +3358,158.2 +3359,165.5 +3360,159.2 +3361,178.9 +3362,176.6 +3363,174.5 +3364,164.6 +3365,156.2 +3366,159.3 +3367,168.9 +3368,178.8 +3369,171.0 +3370,163.3 +3371,163.0 +3372,150.8 +3373,160.9 +3374,167.0 +3375,164.1 +3376,172.8 +3377,169.9 +3378,158.5 +3379,155.5 +3380,156.4 +3381,155.3 +3382,169.2 +3383,166.3 +3384,162.6 +3385,158.6 +3386,156.2 +3387,157.6 +3388,163.8 +3389,168.0 +3390,157.1 +3391,158.7 +3392,153.5 +3393,154.7 +3394,152.4 +3395,154.7 +3396,156.6 +3397,157.4 +3398,153.9 +3399,146.1 +3400,139.4 +3401,150.6 +3402,161.5 +3403,152.0 +3404,151.4 +3405,154.0 +3406,148.5 +3407,137.8 +3408,144.2 +3409,145.1 +3410,154.1 +3411,156.2 +3412,152.3 +3413,139.0 +3414,147.0 +3415,143.5 +3416,146.7 +3417,151.0 +3418,152.8 +3419,141.5 +3420,141.4 +3421,143.5 +3422,142.6 +3423,137.9 +3424,140.9 +3425,148.5 +3426,138.3 +3427,142.2 +3428,137.7 +3429,137.4 +3430,145.5 +3431,147.6 +3432,140.5 +3433,143.0 +3434,141.2 +3435,128.3 +3436,130.9 +3437,138.4 +3438,134.8 +3439,148.7 +3440,144.5 +3441,130.7 +3442,130.0 +3443,131.2 +3444,141.8 +3445,142.8 +3446,147.3 +3447,139.6 +3448,135.5 +3449,135.3 +3450,133.3 +3451,134.1 +3452,136.4 +3453,140.0 +3454,135.5 +3455,131.1 +3456,127.2 +3457,130.3 +3458,127.1 +3459,138.4 +3460,139.2 +3461,140.6 +3462,130.6 +3463,130.4 +3464,124.7 +3465,129.2 +3466,137.3 +3467,137.2 +3468,133.4 +3469,121.4 +3470,125.8 +3471,124.5 +3472,135.1 +3473,140.5 +3474,138.5 +3475,136.0 +3476,127.3 +3477,130.7 +3478,125.5 +3479,135.6 +3480,132.2 +3481,138.4 +3482,129.2 +3483,126.1 +3484,119.6 +3485,120.8 +3486,129.1 +3487,128.9 +3488,138.8 +3489,134.2 +3490,127.1 +3491,116.1 +3492,127.1 +3493,126.7 +3494,128.3 +3495,135.2 +3496,136.5 +3497,129.0 +3498,120.7 +3499,116.9 +3500,128.2 +3501,141.5 +3502,134.3 +3503,129.5 +3504,124.9 +3505,125.8 +3506,124.8 +3507,126.7 +3508,134.2 +3509,138.0 +3510,128.2 +3511,116.6 +3512,129.0 +3513,128.1 +3514,131.7 +3515,135.9 +3516,138.3 +3517,135.6 +3518,132.6 +3519,121.6 +3520,128.3 +3521,131.4 +3522,137.4 +3523,139.8 +3524,147.3 +3525,137.7 +3526,127.5 +3527,133.8 +3528,140.1 +3529,140.4 +3530,140.8 +3531,132.8 +3532,136.2 +3533,132.7 +3534,129.5 +3535,136.2 +3536,147.6 +3537,148.8 +3538,135.8 +3539,139.1 +3540,135.9 +3541,139.7 +3542,145.1 +3543,144.1 +3544,149.7 +3545,135.5 +3546,141.0 +3547,139.4 +3548,134.4 +3549,144.7 +3550,151.1 +3551,149.3 +3552,144.6 +3553,140.5 +3554,136.9 +3555,146.1 +3556,144.7 +3557,152.8 +3558,150.2 +3559,150.6 +3560,140.8 +3561,137.5 +3562,147.0 +3563,149.4 +3564,149.3 +3565,156.1 +3566,154.3 +3567,146.0 +3568,141.1 +3569,147.8 +3570,155.8 +3571,151.9 +3572,154.7 +3573,161.8 +3574,151.3 +3575,147.7 +3576,154.9 +3577,160.6 +3578,157.6 +3579,162.6 +3580,158.6 +3581,155.0 +3582,152.8 +3583,148.1 +3584,157.7 +3585,157.3 +3586,160.1 +3587,154.3 +3588,157.6 +3589,156.0 +3590,153.5 +3591,153.8 +3592,168.3 +3593,160.3 +3594,166.0 +3595,166.3 +3596,160.7 +3597,147.8 +3598,167.1 +3599,169.8 +3600,168.0 +3601,165.9 +3602,158.8 +3603,163.5 +3604,155.2 +3605,174.7 +3606,175.5 +3607,176.5 +3608,171.5 +3609,162.3 +3610,160.2 +3611,161.1 +3612,170.9 +3613,168.8 +3614,173.4 +3615,172.1 +3616,168.7 +3617,162.2 +3618,169.7 +3619,171.9 +3620,180.4 +3621,177.0 +3622,176.6 +3623,162.1 +3624,173.0 +3625,172.4 +3626,176.7 +3627,180.5 +3628,178.6 +3629,174.8 +3630,176.3 +3631,172.4 +3632,167.0 +3633,178.5 +3634,181.7 +3635,188.7 +3636,182.1 +3637,168.9 +3638,174.3 +3639,174.1 +3640,182.2 +3641,187.9 +3642,181.3 +3643,193.6 +3644,184.1 +3645,182.2 +3646,174.1 +3647,178.1 +3648,184.3 +3649,185.3 +3650,186.0 +3651,175.9 +3652,170.3 +3653,179.1 +3654,180.4 +3655,187.4 +3656,185.6 +3657,190.1 +3658,181.1 +3659,177.2 +3660,176.6 +3661,191.4 +3662,185.1 +3663,184.2 +3664,186.8 +3665,174.4 +3666,176.7 +3667,170.6 +3668,171.0 +3669,183.8 +3670,184.0 +3671,184.0 +3672,177.6 +3673,177.5 +3674,174.9 +3675,184.1 +3676,192.1 +3677,189.7 +3678,185.0 +3679,184.2 +3680,178.8 +3681,176.0 +3682,186.1 +3683,184.1 +3684,189.3 +3685,180.4 +3686,180.6 +3687,164.7 +3688,176.6 +3689,181.4 +3690,186.5 +3691,188.1 +3692,191.6 +3693,173.4 +3694,173.5 +3695,171.7 +3696,177.4 +3697,183.5 +3698,193.5 +3699,182.3 +3700,184.4 +3701,178.4 +3702,168.9 +3703,181.6 +3704,181.4 +3705,179.2 +3706,182.3 +3707,172.6 +3708,173.1 +3709,176.8 +3710,178.0 +3711,179.0 +3712,179.3 +3713,180.6 +3714,176.7 +3715,166.6 +3716,176.2 +3717,171.8 +3718,180.2 +3719,180.7 +3720,173.2 +3721,175.0 +3722,170.9 +3723,172.0 +3724,176.4 +3725,177.6 +3726,180.7 +3727,171.1 +3728,172.2 +3729,161.2 +3730,168.0 +3731,171.7 +3732,168.4 +3733,177.6 +3734,174.8 +3735,168.6 +3736,155.7 +3737,161.9 +3738,165.7 +3739,177.8 +3740,175.4 +3741,165.4 +3742,162.6 +3743,159.3 +3744,161.0 +3745,168.5 +3746,164.5 +3747,173.4 +3748,167.9 +3749,159.6 +3750,151.3 +3751,162.6 +3752,155.7 +3753,165.7 +3754,166.7 +3755,155.1 +3756,161.6 +3757,157.1 +3758,157.4 +3759,163.9 +3760,168.1 +3761,168.3 +3762,157.3 +3763,149.5 +3764,149.3 +3765,152.6 +3766,154.0 +3767,154.6 +3768,167.4 +3769,158.0 +3770,151.8 +3771,148.6 +3772,145.2 +3773,149.8 +3774,154.3 +3775,154.3 +3776,155.5 +3777,149.1 +3778,146.5 +3779,145.5 +3780,151.7 +3781,151.7 +3782,152.2 +3783,150.9 +3784,144.7 +3785,145.2 +3786,147.1 +3787,152.2 +3788,148.9 +3789,151.9 +3790,148.7 +3791,146.5 +3792,144.8 +3793,148.5 +3794,139.5 +3795,148.8 +3796,153.4 +3797,144.9 +3798,150.1 +3799,137.4 +3800,137.2 +3801,150.7 +3802,149.4 +3803,145.3 +3804,146.7 +3805,141.8 +3806,135.5 +3807,142.5 +3808,139.2 +3809,141.0 +3810,143.5 +3811,143.8 +3812,132.0 +3813,136.4 +3814,133.8 +3815,131.1 +3816,139.5 +3817,141.3 +3818,147.6 +3819,131.8 +3820,134.6 +3821,133.8 +3822,140.9 +3823,143.6 +3824,131.4 +3825,137.7 +3826,132.2 +3827,131.4 +3828,126.7 +3829,132.9 +3830,137.9 +3831,139.9 +3832,132.3 +3833,135.5 +3834,127.2 +3835,130.4 +3836,134.8 +3837,136.5 +3838,147.4 +3839,138.7 +3840,132.8 +3841,135.5 +3842,130.9 +3843,133.0 +3844,134.2 +3845,130.9 +3846,135.1 +3847,131.6 +3848,131.4 +3849,130.2 +3850,131.2 +3851,142.2 +3852,142.8 +3853,134.5 +3854,131.2 +3855,129.9 +3856,130.8 +3857,132.5 +3858,138.0 +3859,140.1 +3860,135.5 +3861,132.0 +3862,124.6 +3863,124.3 +3864,129.6 +3865,137.5 +3866,137.8 +3867,143.7 +3868,131.7 +3869,131.9 +3870,130.6 +3871,133.0 +3872,138.3 +3873,137.5 +3874,141.0 +3875,130.3 +3876,133.3 +3877,128.0 +3878,134.8 +3879,143.0 +3880,138.8 +3881,136.5 +3882,133.4 +3883,127.9 +3884,130.0 +3885,142.0 +3886,136.8 +3887,143.9 +3888,134.7 +3889,139.5 +3890,131.4 +3891,127.3 +3892,140.9 +3893,143.8 +3894,146.4 +3895,142.2 +3896,133.0 +3897,139.4 +3898,123.4 +3899,142.8 +3900,150.9 +3901,152.9 +3902,147.4 +3903,137.0 +3904,141.7 +3905,134.4 +3906,146.7 +3907,154.2 +3908,150.8 +3909,145.8 +3910,143.2 +3911,140.4 +3912,143.8 +3913,142.8 +3914,151.4 +3915,152.3 +3916,152.7 +3917,150.1 +3918,145.1 +3919,143.3 +3920,154.2 +3921,156.7 +3922,151.0 +3923,153.4 +3924,155.7 +3925,147.0 +3926,141.3 +3927,155.7 +3928,158.1 +3929,159.9 +3930,152.8 +3931,148.8 +3932,146.9 +3933,146.5 +3934,154.1 +3935,153.8 +3936,161.4 +3937,158.4 +3938,157.3 +3939,154.5 +3940,146.5 +3941,158.5 +3942,170.0 +3943,169.0 +3944,164.1 +3945,162.1 +3946,159.3 +3947,161.1 +3948,167.9 +3949,167.6 +3950,165.9 +3951,168.8 +3952,164.1 +3953,156.5 +3954,160.3 +3955,161.1 +3956,173.9 +3957,170.6 +3958,170.1 +3959,170.0 +3960,162.4 +3961,158.1 +3962,169.4 +3963,173.9 +3964,168.6 +3965,170.4 +3966,167.6 +3967,157.0 +3968,164.6 +3969,164.5 +3970,179.8 +3971,171.7 +3972,176.8 +3973,164.0 +3974,169.9 +3975,171.8 +3976,172.7 +3977,177.6 +3978,183.0 +3979,176.2 +3980,167.0 +3981,174.4 +3982,170.8 +3983,179.5 +3984,179.5 +3985,181.9 +3986,186.2 +3987,169.0 +3988,171.2 +3989,173.5 +3990,179.2 +3991,182.4 +3992,186.2 +3993,184.8 +3994,180.1 +3995,173.7 +3996,168.0 +3997,178.3 +3998,176.4 +3999,185.9 +4000,184.4 +4001,178.9 +4002,181.7 +4003,181.6 +4004,175.3 +4005,180.5 +4006,180.2 +4007,190.5 +4008,181.8 +4009,169.2 +4010,178.4 +4011,182.1 +4012,194.3 +4013,189.1 +4014,190.3 +4015,188.2 +4016,174.2 +4017,185.6 +4018,189.4 +4019,185.4 +4020,186.5 +4021,193.7 +4022,189.2 +4023,177.1 +4024,175.8 +4025,189.2 +4026,194.3 +4027,189.1 +4028,182.7 +4029,187.0 +4030,185.2 +4031,175.2 +4032,181.3 +4033,185.9 +4034,185.5 +4035,190.0 +4036,186.2 +4037,185.1 +4038,173.9 +4039,186.3 +4040,188.7 +4041,191.2 +4042,191.3 +4043,182.6 +4044,176.7 +4045,180.6 +4046,185.6 +4047,188.1 +4048,188.1 +4049,188.0 +4050,176.7 +4051,184.2 +4052,179.4 +4053,179.1 +4054,188.2 +4055,188.0 +4056,190.3 +4057,184.7 +4058,176.6 +4059,183.4 +4060,180.8 +4061,180.9 +4062,188.3 +4063,190.5 +4064,177.1 +4065,175.7 +4066,178.0 +4067,189.4 +4068,187.9 +4069,192.5 +4070,182.4 +4071,178.7 +4072,169.6 +4073,173.8 +4074,175.0 +4075,182.8 +4076,183.1 +4077,176.6 +4078,177.1 +4079,167.1 +4080,177.7 +4081,169.7 +4082,179.1 +4083,183.4 +4084,179.8 +4085,172.9 +4086,168.2 +4087,171.3 +4088,171.7 +4089,180.9 +4090,181.1 +4091,173.6 +4092,172.2 +4093,173.6 +4094,174.4 +4095,167.3 +4096,179.6 +4097,185.3 +4098,181.6 +4099,171.3 +4100,165.7 +4101,165.8 +4102,172.1 +4103,181.2 +4104,177.0 +4105,182.5 +4106,164.2 +4107,167.1 +4108,162.3 +4109,171.6 +4110,179.1 +4111,170.2 +4112,170.0 +4113,167.0 +4114,158.9 +4115,162.4 +4116,170.5 +4117,172.0 +4118,166.1 +4119,161.5 +4120,158.6 +4121,156.1 +4122,157.9 +4123,164.6 +4124,155.6 +4125,167.0 +4126,162.0 +4127,154.0 +4128,153.9 +4129,153.5 +4130,157.2 +4131,161.3 +4132,169.7 +4133,168.1 +4134,159.1 +4135,148.4 +4136,152.8 +4137,154.4 +4138,159.4 +4139,161.1 +4140,161.7 +4141,151.2 +4142,149.2 +4143,145.2 +4144,153.4 +4145,159.6 +4146,162.7 +4147,154.2 +4148,145.5 +4149,142.9 +4150,150.4 +4151,151.2 +4152,163.9 +4153,158.0 +4154,156.0 +4155,152.7 +4156,138.9 +4157,147.5 +4158,150.1 +4159,154.3 +4160,154.4 +4161,152.4 +4162,138.7 +4163,137.9 +4164,137.6 +4165,148.5 +4166,154.9 +4167,150.4 +4168,148.0 +4169,150.7 +4170,138.6 +4171,132.1 +4172,149.4 +4173,151.7 +4174,149.2 +4175,151.6 +4176,135.1 +4177,139.6 +4178,142.9 +4179,136.6 +4180,153.9 +4181,147.1 +4182,142.5 +4183,134.1 +4184,141.2 +4185,136.3 +4186,141.6 +4187,145.2 +4188,140.7 +4189,143.3 +4190,139.6 +4191,132.9 +4192,131.3 +4193,136.7 +4194,144.8 +4195,139.4 +4196,142.8 +4197,140.3 +4198,129.0 +4199,136.9 +4200,137.9 +4201,144.3 +4202,143.2 +4203,139.4 +4204,141.2 +4205,134.0 +4206,134.9 +4207,137.1 +4208,146.4 +4209,150.8 +4210,143.0 +4211,134.7 +4212,129.2 +4213,125.5 +4214,142.6 +4215,138.0 +4216,145.4 +4217,140.9 +4218,142.1 +4219,132.2 +4220,139.7 +4221,139.6 +4222,147.9 +4223,141.1 +4224,142.7 +4225,130.9 +4226,138.4 +4227,136.3 +4228,142.3 +4229,138.4 +4230,141.6 +4231,136.6 +4232,141.3 +4233,131.4 +4234,134.7 +4235,136.8 +4236,143.4 +4237,136.9 +4238,142.0 +4239,131.5 +4240,137.2 +4241,134.2 +4242,142.3 +4243,139.7 +4244,145.7 +4245,136.8 +4246,142.8 +4247,131.6 +4248,139.4 +4249,139.1 +4250,139.1 +4251,142.5 +4252,138.7 +4253,132.9 +4254,137.7 +4255,134.3 +4256,140.0 +4257,152.3 +4258,155.6 +4259,144.0 +4260,142.3 +4261,139.4 +4262,139.8 +4263,143.5 +4264,157.2 +4265,145.7 +4266,148.8 +4267,150.9 +4268,139.3 +4269,136.5 +4270,140.2 +4271,149.1 +4272,152.2 +4273,148.1 +4274,145.0 +4275,138.8 +4276,139.8 +4277,144.2 +4278,147.8 +4279,154.3 +4280,150.6 +4281,149.2 +4282,146.0 +4283,147.4 +4284,146.2 +4285,152.8 +4286,153.8 +4287,160.6 +4288,149.0 +4289,149.2 +4290,144.7 +4291,153.6 +4292,156.9 +4293,162.7 +4294,160.4 +4295,156.9 +4296,149.4 +4297,155.6 +4298,163.7 +4299,166.7 +4300,169.0 +4301,162.9 +4302,156.1 +4303,153.8 +4304,157.0 +4305,160.9 +4306,166.3 +4307,168.5 +4308,162.5 +4309,158.3 +4310,159.0 +4311,158.7 +4312,158.9 +4313,174.1 +4314,164.2 +4315,169.4 +4316,160.7 +4317,155.7 +4318,154.9 +4319,169.1 +4320,176.0 +4321,170.9 +4322,169.7 +4323,170.8 +4324,162.5 +4325,172.6 +4326,162.6 +4327,167.0 +4328,176.0 +4329,173.8 +4330,169.3 +4331,161.4 +4332,162.0 +4333,170.9 +4334,177.2 +4335,182.0 +4336,176.1 +4337,169.2 +4338,162.4 +4339,169.3 +4340,172.5 +4341,178.0 +4342,176.1 +4343,184.3 +4344,180.8 +4345,174.4 +4346,174.1 +4347,182.2 +4348,174.9 +4349,180.2 +4350,180.7 +4351,184.8 +4352,177.2 +4353,180.8 +4354,172.1 +4355,194.6 +4356,190.9 +4357,185.3 +4358,178.9 +4359,174.3 +4360,181.6 +4361,183.3 +4362,183.3 +4363,185.1 +4364,184.9 +4365,173.0 +4366,178.0 +4367,176.5 +4368,190.6 +4369,186.2 +4370,196.2 +4371,187.7 +4372,182.9 +4373,182.1 +4374,180.0 +4375,194.5 +4376,186.3 +4377,192.2 +4378,187.3 +4379,185.8 +4380,177.8 +4381,179.2 +4382,190.1 +4383,193.2 +4384,196.2 +4385,192.7 +4386,188.8 +4387,178.6 +4388,182.0 +4389,190.4 +4390,193.1 +4391,187.8 +4392,186.9 +4393,182.9 +4394,175.7 +4395,186.6 +4396,188.8 +4397,195.9 +4398,190.8 +4399,197.6 +4400,193.1 +4401,185.0 +4402,183.3 +4403,186.0 +4404,197.0 +4405,199.5 +4406,191.0 +4407,186.8 +4408,182.1 +4409,186.0 +4410,190.0 +4411,192.8 +4412,192.8 +4413,196.2 +4414,181.9 +4415,176.7 +4416,177.7 +4417,187.6 +4418,188.7 +4419,200.1 +4420,190.5 +4421,182.4 +4422,180.4 +4423,185.9 +4424,191.9 +4425,192.0 +4426,190.3 +4427,188.2 +4428,183.8 +4429,179.1 +4430,181.2 +4431,183.5 +4432,183.7 +4433,189.6 +4434,188.4 +4435,174.1 +4436,177.4 +4437,185.8 +4438,179.0 +4439,185.4 +4440,198.9 +4441,184.8 +4442,184.7 +4443,177.3 +4444,184.2 +4445,176.6 +4446,178.7 +4447,189.8 +4448,184.8 +4449,183.9 +4450,174.9 +4451,174.7 +4452,178.4 +4453,184.7 +4454,184.8 +4455,172.7 +4456,178.8 +4457,173.7 +4458,169.6 +4459,181.2 +4460,181.5 +4461,172.8 +4462,180.2 +4463,175.1 +4464,168.5 +4465,174.9 +4466,182.1 +4467,179.5 +4468,182.7 +4469,180.0 +4470,174.0 +4471,163.8 +4472,167.9 +4473,176.0 +4474,170.0 +4475,177.0 +4476,171.7 +4477,169.3 +4478,162.8 +4479,169.5 +4480,163.6 +4481,168.0 +4482,176.4 +4483,173.1 +4484,164.7 +4485,161.8 +4486,159.2 +4487,169.0 +4488,175.9 +4489,170.6 +4490,168.7 +4491,154.8 +4492,161.1 +4493,158.3 +4494,163.7 +4495,165.7 +4496,176.2 +4497,166.0 +4498,165.6 +4499,161.2 +4500,158.2 +4501,156.7 +4502,158.1 +4503,165.7 +4504,159.9 +4505,154.9 +4506,154.0 +4507,152.8 +4508,155.2 +4509,159.1 +4510,169.1 +4511,165.0 +4512,155.1 +4513,153.5 +4514,162.3 +4515,158.7 +4516,163.4 +4517,158.3 +4518,160.8 +4519,149.2 +4520,146.5 +4521,149.6 +4522,146.3 +4523,158.9 +4524,150.7 +4525,149.2 +4526,148.7 +4527,144.5 +4528,146.9 +4529,155.3 +4530,160.7 +4531,148.5 +4532,152.2 +4533,147.0 +4534,143.6 +4535,140.7 +4536,148.7 +4537,155.9 +4538,149.0 +4539,147.7 +4540,150.4 +4541,140.6 +4542,150.8 +4543,146.3 +4544,147.9 +4545,145.5 +4546,152.4 +4547,141.7 +4548,127.5 +4549,138.5 +4550,139.6 +4551,151.2 +4552,145.5 +4553,143.4 +4554,136.3 +4555,129.4 +4556,144.2 +4557,139.2 +4558,144.1 +4559,145.2 +4560,142.5 +4561,136.9 +4562,136.0 +4563,138.7 +4564,148.6 +4565,147.0 +4566,150.8 +4567,140.4 +4568,140.9 +4569,136.0 +4570,137.7 +4571,145.7 +4572,145.3 +4573,138.8 +4574,146.1 +4575,138.5 +4576,130.4 +4577,136.0 +4578,141.3 +4579,153.3 +4580,145.1 +4581,144.6 +4582,140.6 +4583,134.7 +4584,138.0 +4585,141.2 +4586,143.5 +4587,151.8 +4588,142.6 +4589,145.5 +4590,126.6 +4591,144.3 +4592,135.0 +4593,146.8 +4594,147.8 +4595,143.8 +4596,137.2 +4597,133.4 +4598,137.8 +4599,144.4 +4600,139.9 +4601,149.2 +4602,145.4 +4603,142.2 +4604,138.8 +4605,141.5 +4606,144.9 +4607,143.7 +4608,142.9 +4609,145.9 +4610,146.2 +4611,135.6 +4612,143.9 +4613,147.8 +4614,145.7 +4615,154.3 +4616,148.4 +4617,145.9 +4618,141.0 +4619,136.3 +4620,143.9 +4621,147.2 +4622,148.4 +4623,151.4 +4624,141.2 +4625,145.6 +4626,138.9 +4627,147.8 +4628,154.0 +4629,162.6 +4630,150.8 +4631,146.9 +4632,145.0 +4633,140.4 +4634,154.4 +4635,165.6 +4636,161.6 +4637,152.7 +4638,144.0 +4639,138.4 +4640,144.2 +4641,157.3 +4642,156.3 +4643,152.0 +4644,160.0 +4645,152.5 +4646,151.4 +4647,152.0 +4648,150.3 +4649,169.2 +4650,160.8 +4651,152.7 +4652,162.1 +4653,147.9 +4654,145.8 +4655,158.3 +4656,166.1 +4657,170.4 +4658,164.5 +4659,153.9 +4660,155.5 +4661,150.9 +4662,163.9 +4663,164.4 +4664,165.6 +4665,163.2 +4666,157.7 +4667,160.0 +4668,154.7 +4669,160.9 +4670,167.7 +4671,177.3 +4672,160.9 +4673,166.9 +4674,158.6 +4675,159.5 +4676,169.0 +4677,165.7 +4678,175.4 +4679,174.9 +4680,170.0 +4681,163.3 +4682,156.9 +4683,172.5 +4684,175.9 +4685,171.8 +4686,168.3 +4687,163.6 +4688,162.4 +4689,169.2 +4690,173.9 +4691,176.0 +4692,179.8 +4693,181.2 +4694,168.8 +4695,167.2 +4696,174.7 +4697,170.3 +4698,181.0 +4699,182.3 +4700,181.4 +4701,179.3 +4702,170.6 +4703,181.2 +4704,180.4 +4705,185.7 +4706,186.7 +4707,182.4 +4708,183.1 +4709,174.1 +4710,177.4 +4711,185.6 +4712,180.7 +4713,184.5 +4714,185.2 +4715,179.2 +4716,174.6 +4717,173.7 +4718,182.1 +4719,187.2 +4720,182.6 +4721,189.8 +4722,185.4 +4723,181.1 +4724,186.0 +4725,179.3 +4726,191.3 +4727,188.9 +4728,185.2 +4729,188.2 +4730,186.0 +4731,185.9 +4732,186.9 +4733,196.0 +4734,198.0 +4735,190.9 +4736,189.8 +4737,183.3 +4738,183.1 +4739,189.5 +4740,196.4 +4741,192.5 +4742,202.5 +4743,187.1 +4744,185.4 +4745,183.0 +4746,193.8 +4747,196.3 +4748,185.5 +4749,191.7 +4750,189.8 +4751,186.4 +4752,185.7 +4753,180.2 +4754,197.1 +4755,197.7 +4756,197.4 +4757,186.6 +4758,185.3 +4759,188.7 +4760,184.2 +4761,200.3 +4762,201.6 +4763,194.4 +4764,190.5 +4765,192.6 +4766,185.4 +4767,188.1 +4768,199.9 +4769,199.4 +4770,190.1 +4771,189.5 +4772,193.3 +4773,186.2 +4774,190.8 +4775,201.6 +4776,198.4 +4777,194.6 +4778,195.6 +4779,185.6 +4780,187.1 +4781,197.2 +4782,199.5 +4783,199.1 +4784,196.6 +4785,190.9 +4786,191.1 +4787,184.6 +4788,197.4 +4789,202.3 +4790,190.4 +4791,197.9 +4792,184.5 +4793,187.5 +4794,193.6 +4795,188.1 +4796,200.2 +4797,202.2 +4798,189.0 +4799,188.5 +4800,186.5 +4801,188.3 +4802,193.2 +4803,192.0 +4804,197.7 +4805,195.5 +4806,187.1 +4807,182.1 +4808,179.9 +4809,185.8 +4810,192.1 +4811,188.9 +4812,191.9 +4813,186.5 +4814,178.4 +4815,185.8 +4816,190.9 +4817,192.0 +4818,189.9 +4819,188.3 +4820,184.9 +4821,167.6 +4822,176.7 +4823,176.5 +4824,181.5 +4825,185.4 +4826,185.7 +4827,174.0 +4828,178.5 +4829,166.6 +4830,182.7 +4831,190.4 +4832,184.0 +4833,175.3 +4834,178.8 +4835,165.7 +4836,172.0 +4837,166.1 +4838,178.0 +4839,185.4 +4840,181.2 +4841,166.1 +4842,169.4 +4843,176.2 +4844,172.6 +4845,187.4 +4846,182.0 +4847,179.0 +4848,165.3 +4849,172.6 +4850,167.8 +4851,166.1 +4852,171.7 +4853,179.6 +4854,172.4 +4855,169.6 +4856,160.7 +4857,158.4 +4858,170.5 +4859,174.8 +4860,166.1 +4861,171.7 +4862,167.4 +4863,150.6 +4864,162.7 +4865,163.0 +4866,168.7 +4867,173.0 +4868,168.5 +4869,157.5 +4870,155.5 +4871,160.8 +4872,166.5 +4873,168.5 +4874,168.8 +4875,164.0 +4876,160.9 +4877,156.3 +4878,154.0 +4879,156.5 +4880,166.9 +4881,164.6 +4882,160.9 +4883,154.1 +4884,155.4 +4885,150.2 +4886,157.0 +4887,158.4 +4888,170.7 +4889,155.8 +4890,151.9 +4891,153.3 +4892,150.2 +4893,152.0 +4894,156.8 +4895,155.4 +4896,150.7 +4897,156.4 +4898,149.6 +4899,148.6 +4900,155.0 +4901,155.2 +4902,153.9 +4903,158.7 +4904,149.1 +4905,142.0 +4906,146.1 +4907,150.4 +4908,159.1 +4909,146.6 +4910,158.8 +4911,142.2 +4912,148.5 +4913,144.2 +4914,152.2 +4915,158.8 +4916,153.5 +4917,147.2 +4918,143.6 +4919,139.5 +4920,139.1 +4921,148.6 +4922,145.9 +4923,148.1 +4924,147.1 +4925,149.9 +4926,138.7 +4927,144.5 +4928,150.9 +4929,151.5 +4930,152.8 +4931,143.1 +4932,137.2 +4933,135.9 +4934,131.1 +4935,146.8 +4936,148.2 +4937,156.4 +4938,147.3 +4939,151.4 +4940,138.8 +4941,136.9 +4942,143.4 +4943,147.6 +4944,150.9 +4945,146.2 +4946,144.6 +4947,140.5 +4948,133.8 +4949,143.9 +4950,155.5 +4951,150.9 +4952,146.8 +4953,140.8 +4954,140.8 +4955,136.0 +4956,149.3 +4957,152.0 +4958,146.7 +4959,148.6 +4960,145.3 +4961,140.9 +4962,141.2 +4963,145.4 +4964,145.4 +4965,148.4 +4966,149.5 +4967,154.1 +4968,142.3 +4969,135.9 +4970,145.3 +4971,152.6 +4972,153.5 +4973,154.0 +4974,148.9 +4975,142.1 +4976,141.4 +4977,155.4 +4978,158.7 +4979,152.9 +4980,147.1 +4981,144.3 +4982,138.9 +4983,142.9 +4984,151.7 +4985,152.3 +4986,151.8 +4987,155.9 +4988,145.7 +4989,139.1 +4990,151.2 +4991,146.3 +4992,161.6 +4993,159.3 +4994,156.5 +4995,155.1 +4996,146.8 +4997,147.8 +4998,148.7 +4999,160.2 +5000,166.8 diff --git a/agents/evals/fixtures/cases/area-basic-matplotlib-renamed/case.json b/agents/evals/fixtures/cases/area-basic-matplotlib-renamed/case.json new file mode 100644 index 0000000000..8f4cd9c7d8 --- /dev/null +++ b/agents/evals/fixtures/cases/area-basic-matplotlib-renamed/case.json @@ -0,0 +1,25 @@ +{ + "spec_id": "area-basic", + "library": "matplotlib", + "locale": "de", + "perturbation": "renamed", + "bindings": [ + { + "role": "x", + "column": "tag_nr" + }, + { + "role": "y", + "column": "energieverbrauch_mwh" + } + ], + "expected": "accepted", + "tags": [ + "area", + "renamed", + "synthetic", + "renamed-headers", + "smoke" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 707, renamed)" +} diff --git a/agents/evals/fixtures/cases/area-basic-matplotlib-renamed/data.csv b/agents/evals/fixtures/cases/area-basic-matplotlib-renamed/data.csv new file mode 100644 index 0000000000..75a7dc5152 --- /dev/null +++ b/agents/evals/fixtures/cases/area-basic-matplotlib-renamed/data.csv @@ -0,0 +1,91 @@ +tag_nr,energieverbrauch_mwh +1,147.6 +2,138.8 +3,153.7 +4,138.5 +5,135.4 +6,139.8 +7,144.9 +8,149.1 +9,145.9 +10,149.8 +11,141.8 +12,136.3 +13,147.1 +14,146.4 +15,151.6 +16,150.7 +17,151.2 +18,148.5 +19,141.4 +20,148.1 +21,135.8 +22,155.9 +23,150.1 +24,141.6 +25,142.0 +26,144.0 +27,134.5 +28,148.7 +29,150.0 +30,155.0 +31,150.4 +32,147.5 +33,137.6 +34,136.6 +35,150.9 +36,153.8 +37,155.0 +38,147.6 +39,140.9 +40,133.6 +41,137.7 +42,145.8 +43,150.2 +44,151.6 +45,144.1 +46,138.2 +47,131.3 +48,132.4 +49,147.6 +50,139.6 +51,149.7 +52,148.4 +53,147.5 +54,136.8 +55,140.6 +56,143.1 +57,146.2 +58,145.5 +59,144.4 +60,137.4 +61,138.5 +62,135.2 +63,143.3 +64,150.2 +65,150.4 +66,136.3 +67,136.5 +68,133.9 +69,126.3 +70,136.2 +71,130.1 +72,141.8 +73,134.3 +74,135.7 +75,130.6 +76,124.6 +77,135.2 +78,137.1 +79,140.5 +80,131.2 +81,124.6 +82,122.6 +83,126.2 +84,137.7 +85,130.4 +86,135.6 +87,138.5 +88,131.9 +89,121.7 +90,130.0 diff --git a/agents/evals/fixtures/cases/area-basic-matplotlib-x10/case.json b/agents/evals/fixtures/cases/area-basic-matplotlib-x10/case.json new file mode 100644 index 0000000000..e2c28ec7ac --- /dev/null +++ b/agents/evals/fixtures/cases/area-basic-matplotlib-x10/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "area-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "x10", + "bindings": [ + { + "role": "x", + "column": "Day" + }, + { + "role": "y", + "column": "Energy Use (MWh)" + } + ], + "expected": "accepted", + "tags": [ + "area", + "x10", + "synthetic", + "scaled-values" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 707, x10)" +} diff --git a/agents/evals/fixtures/cases/area-basic-matplotlib-x10/data.csv b/agents/evals/fixtures/cases/area-basic-matplotlib-x10/data.csv new file mode 100644 index 0000000000..f682e5e763 --- /dev/null +++ b/agents/evals/fixtures/cases/area-basic-matplotlib-x10/data.csv @@ -0,0 +1,91 @@ +Day,Energy Use (MWh) +1,1475.9 +2,1388.3 +3,1537.1 +4,1385.2 +5,1353.8 +6,1398.0 +7,1449.3 +8,1491.3 +9,1458.8 +10,1497.6 +11,1417.8 +12,1362.7 +13,1470.7 +14,1463.8 +15,1515.9 +16,1507.2 +17,1512.1 +18,1485.4 +19,1413.7 +20,1480.8 +21,1357.7 +22,1559.1 +23,1500.7 +24,1415.7 +25,1419.6 +26,1439.9 +27,1344.7 +28,1487.3 +29,1500.4 +30,1550.3 +31,1503.8 +32,1474.9 +33,1376.2 +34,1365.8 +35,1509.0 +36,1538.3 +37,1549.6 +38,1475.8 +39,1409.0 +40,1336.1 +41,1377.1 +42,1457.7 +43,1501.7 +44,1515.7 +45,1441.2 +46,1381.8 +47,1313.3 +48,1324.1 +49,1476.4 +50,1396.2 +51,1497.0 +52,1483.5 +53,1475.3 +54,1367.9 +55,1406.2 +56,1431.5 +57,1461.8 +58,1455.4 +59,1443.5 +60,1374.5 +61,1385.0 +62,1352.2 +63,1432.8 +64,1502.3 +65,1504.2 +66,1363.2 +67,1364.6 +68,1339.4 +69,1263.1 +70,1361.9 +71,1300.9 +72,1417.7 +73,1343.3 +74,1357.0 +75,1306.4 +76,1246.5 +77,1352.1 +78,1370.6 +79,1404.8 +80,1311.9 +81,1246.4 +82,1226.3 +83,1262.0 +84,1377.2 +85,1303.9 +86,1356.0 +87,1384.5 +88,1319.0 +89,1217.3 +90,1300.0 diff --git a/agents/evals/fixtures/cases/area-basic-seaborn-date/case.json b/agents/evals/fixtures/cases/area-basic-seaborn-date/case.json new file mode 100644 index 0000000000..e6aafbde50 --- /dev/null +++ b/agents/evals/fixtures/cases/area-basic-seaborn-date/case.json @@ -0,0 +1,26 @@ +{ + "spec_id": "area-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "date", + "bindings": [ + { + "role": "x", + "column": "Date" + }, + { + "role": "y", + "column": "Energy Use (MWh)" + } + ], + "expected": "accepted", + "tags": [ + "area", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "date-axis" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 707, date)" +} diff --git a/agents/evals/fixtures/cases/area-basic-seaborn-date/data.csv b/agents/evals/fixtures/cases/area-basic-seaborn-date/data.csv new file mode 100644 index 0000000000..b289097bbd --- /dev/null +++ b/agents/evals/fixtures/cases/area-basic-seaborn-date/data.csv @@ -0,0 +1,91 @@ +Date,Metered On,Energy Use (MWh) +01.01.2026,2026-01-02,147.6 +02.01.2026,2026-01-03,138.8 +03.01.2026,2026-01-04,153.7 +04.01.2026,2026-01-05,138.5 +05.01.2026,2026-01-06,135.4 +06.01.2026,2026-01-07,139.8 +07.01.2026,2026-01-08,144.9 +08.01.2026,2026-01-09,149.1 +09.01.2026,2026-01-10,145.9 +10.01.2026,2026-01-11,149.8 +11.01.2026,2026-01-12,141.8 +12.01.2026,2026-01-13,136.3 +13.01.2026,2026-01-14,147.1 +14.01.2026,2026-01-15,146.4 +15.01.2026,2026-01-16,151.6 +16.01.2026,2026-01-17,150.7 +17.01.2026,2026-01-18,151.2 +18.01.2026,2026-01-19,148.5 +19.01.2026,2026-01-20,141.4 +20.01.2026,2026-01-21,148.1 +21.01.2026,2026-01-22,135.8 +22.01.2026,2026-01-23,155.9 +23.01.2026,2026-01-24,150.1 +24.01.2026,2026-01-25,141.6 +25.01.2026,2026-01-26,142.0 +26.01.2026,2026-01-27,144.0 +27.01.2026,2026-01-28,134.5 +28.01.2026,2026-01-29,148.7 +29.01.2026,2026-01-30,150.0 +30.01.2026,2026-01-31,155.0 +31.01.2026,2026-02-01,150.4 +01.02.2026,2026-02-02,147.5 +02.02.2026,2026-02-03,137.6 +03.02.2026,2026-02-04,136.6 +04.02.2026,2026-02-05,150.9 +05.02.2026,2026-02-06,153.8 +06.02.2026,2026-02-07,155.0 +07.02.2026,2026-02-08,147.6 +08.02.2026,2026-02-09,140.9 +09.02.2026,2026-02-10,133.6 +10.02.2026,2026-02-11,137.7 +11.02.2026,2026-02-12,145.8 +12.02.2026,2026-02-13,150.2 +13.02.2026,2026-02-14,151.6 +14.02.2026,2026-02-15,144.1 +15.02.2026,2026-02-16,138.2 +16.02.2026,2026-02-17,131.3 +17.02.2026,2026-02-18,132.4 +18.02.2026,2026-02-19,147.6 +19.02.2026,2026-02-20,139.6 +20.02.2026,2026-02-21,149.7 +21.02.2026,2026-02-22,148.4 +22.02.2026,2026-02-23,147.5 +23.02.2026,2026-02-24,136.8 +24.02.2026,2026-02-25,140.6 +25.02.2026,2026-02-26,143.1 +26.02.2026,2026-02-27,146.2 +27.02.2026,2026-02-28,145.5 +28.02.2026,2026-03-01,144.4 +01.03.2026,2026-03-02,137.4 +02.03.2026,2026-03-03,138.5 +03.03.2026,2026-03-04,135.2 +04.03.2026,2026-03-05,143.3 +05.03.2026,2026-03-06,150.2 +06.03.2026,2026-03-07,150.4 +07.03.2026,2026-03-08,136.3 +08.03.2026,2026-03-09,136.5 +09.03.2026,2026-03-10,133.9 +10.03.2026,2026-03-11,126.3 +11.03.2026,2026-03-12,136.2 +12.03.2026,2026-03-13,130.1 +13.03.2026,2026-03-14,141.8 +14.03.2026,2026-03-15,134.3 +15.03.2026,2026-03-16,135.7 +16.03.2026,2026-03-17,130.6 +17.03.2026,2026-03-18,124.6 +18.03.2026,2026-03-19,135.2 +19.03.2026,2026-03-20,137.1 +20.03.2026,2026-03-21,140.5 +21.03.2026,2026-03-22,131.2 +22.03.2026,2026-03-23,124.6 +23.03.2026,2026-03-24,122.6 +24.03.2026,2026-03-25,126.2 +25.03.2026,2026-03-26,137.7 +26.03.2026,2026-03-27,130.4 +27.03.2026,2026-03-28,135.6 +28.03.2026,2026-03-29,138.5 +29.03.2026,2026-03-30,131.9 +30.03.2026,2026-03-31,121.7 +31.03.2026,2026-04-01,130.0 diff --git a/agents/evals/fixtures/cases/area-basic-seaborn-decimal-comma/case.json b/agents/evals/fixtures/cases/area-basic-seaborn-decimal-comma/case.json new file mode 100644 index 0000000000..57f685bf61 --- /dev/null +++ b/agents/evals/fixtures/cases/area-basic-seaborn-decimal-comma/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "area-basic", + "library": "seaborn", + "locale": "de", + "perturbation": "decimal-comma", + "bindings": [ + { + "role": "x", + "column": "Day" + }, + { + "role": "y", + "column": "Energy Use (MWh)" + } + ], + "expected": "accepted", + "tags": [ + "area", + "decimal-comma", + "synthetic", + "semicolon" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 707, decimal-comma)" +} diff --git a/agents/evals/fixtures/cases/area-basic-seaborn-decimal-comma/data.csv b/agents/evals/fixtures/cases/area-basic-seaborn-decimal-comma/data.csv new file mode 100644 index 0000000000..ea52040ab1 --- /dev/null +++ b/agents/evals/fixtures/cases/area-basic-seaborn-decimal-comma/data.csv @@ -0,0 +1,91 @@ +Day;Energy Use (MWh) +1;147,6 +2;138,8 +3;153,7 +4;138,5 +5;135,4 +6;139,8 +7;144,9 +8;149,1 +9;145,9 +10;149,8 +11;141,8 +12;136,3 +13;147,1 +14;146,4 +15;151,6 +16;150,7 +17;151,2 +18;148,5 +19;141,4 +20;148,1 +21;135,8 +22;155,9 +23;150,1 +24;141,6 +25;142,0 +26;144,0 +27;134,5 +28;148,7 +29;150,0 +30;155,0 +31;150,4 +32;147,5 +33;137,6 +34;136,6 +35;150,9 +36;153,8 +37;155,0 +38;147,6 +39;140,9 +40;133,6 +41;137,7 +42;145,8 +43;150,2 +44;151,6 +45;144,1 +46;138,2 +47;131,3 +48;132,4 +49;147,6 +50;139,6 +51;149,7 +52;148,4 +53;147,5 +54;136,8 +55;140,6 +56;143,1 +57;146,2 +58;145,5 +59;144,4 +60;137,4 +61;138,5 +62;135,2 +63;143,3 +64;150,2 +65;150,4 +66;136,3 +67;136,5 +68;133,9 +69;126,3 +70;136,2 +71;130,1 +72;141,8 +73;134,3 +74;135,7 +75;130,6 +76;124,6 +77;135,2 +78;137,1 +79;140,5 +80;131,2 +81;124,6 +82;122,6 +83;126,2 +84;137,7 +85;130,4 +86;135,6 +87;138,5 +88;131,9 +89;121,7 +90;130,0 diff --git a/agents/evals/fixtures/cases/area-basic-seaborn-n12/case.json b/agents/evals/fixtures/cases/area-basic-seaborn-n12/case.json new file mode 100644 index 0000000000..015ce538ce --- /dev/null +++ b/agents/evals/fixtures/cases/area-basic-seaborn-n12/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "area-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "n12", + "bindings": [ + { + "role": "x", + "column": "Day" + }, + { + "role": "y", + "column": "Energy Use (MWh)" + } + ], + "expected": "accepted", + "tags": [ + "area", + "n12", + "synthetic", + "small" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 707, n12)" +} diff --git a/agents/evals/fixtures/cases/area-basic-seaborn-n12/data.csv b/agents/evals/fixtures/cases/area-basic-seaborn-n12/data.csv new file mode 100644 index 0000000000..8ab487a48c --- /dev/null +++ b/agents/evals/fixtures/cases/area-basic-seaborn-n12/data.csv @@ -0,0 +1,13 @@ +Day,Energy Use (MWh) +1,142.3 +2,152.9 +3,144.8 +4,140.8 +5,129.5 +6,140.3 +7,144.7 +8,146.5 +9,149.0 +10,149.5 +11,138.6 +12,137.0 diff --git a/agents/evals/fixtures/cases/area-basic-seaborn-n5000/case.json b/agents/evals/fixtures/cases/area-basic-seaborn-n5000/case.json new file mode 100644 index 0000000000..f37b020612 --- /dev/null +++ b/agents/evals/fixtures/cases/area-basic-seaborn-n5000/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "area-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "n5000", + "bindings": [ + { + "role": "x", + "column": "Day" + }, + { + "role": "y", + "column": "Energy Use (MWh)" + } + ], + "expected": "accepted", + "tags": [ + "area", + "n5000", + "synthetic", + "large" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 707, n5000)" +} diff --git a/agents/evals/fixtures/cases/area-basic-seaborn-n5000/data.csv b/agents/evals/fixtures/cases/area-basic-seaborn-n5000/data.csv new file mode 100644 index 0000000000..a171cf4f1f --- /dev/null +++ b/agents/evals/fixtures/cases/area-basic-seaborn-n5000/data.csv @@ -0,0 +1,5001 @@ +Day,Energy Use (MWh) +1,152.6 +2,147.6 +3,144.7 +4,140.0 +5,144.0 +6,141.8 +7,144.8 +8,154.8 +9,149.4 +10,152.8 +11,140.1 +12,142.6 +13,142.4 +14,142.2 +15,153.5 +16,156.7 +17,149.7 +18,147.0 +19,137.9 +20,140.0 +21,139.1 +22,150.2 +23,152.2 +24,154.5 +25,135.6 +26,138.2 +27,137.3 +28,148.6 +29,152.6 +30,159.3 +31,141.9 +32,140.9 +33,140.8 +34,138.7 +35,143.4 +36,152.8 +37,145.7 +38,154.3 +39,139.3 +40,137.4 +41,132.4 +42,146.9 +43,152.0 +44,149.4 +45,144.8 +46,136.9 +47,133.2 +48,138.0 +49,139.9 +50,149.8 +51,153.6 +52,147.5 +53,138.2 +54,139.3 +55,131.3 +56,138.8 +57,147.5 +58,146.6 +59,146.3 +60,131.8 +61,127.7 +62,128.1 +63,133.0 +64,146.9 +65,142.9 +66,136.2 +67,141.6 +68,136.3 +69,131.3 +70,135.5 +71,146.2 +72,147.6 +73,131.5 +74,132.0 +75,133.6 +76,140.8 +77,134.7 +78,144.4 +79,141.9 +80,142.4 +81,132.6 +82,131.3 +83,120.3 +84,137.3 +85,134.9 +86,137.0 +87,133.6 +88,133.2 +89,126.3 +90,123.4 +91,130.8 +92,132.8 +93,135.3 +94,127.0 +95,119.4 +96,113.8 +97,119.9 +98,124.1 +99,133.5 +100,131.7 +101,128.0 +102,123.1 +103,115.6 +104,129.6 +105,127.2 +106,124.0 +107,120.3 +108,121.1 +109,119.0 +110,118.8 +111,123.7 +112,121.2 +113,119.7 +114,135.1 +115,129.3 +116,115.5 +117,110.9 +118,111.1 +119,124.9 +120,120.2 +121,125.5 +122,115.7 +123,116.4 +124,111.7 +125,111.0 +126,110.7 +127,120.1 +128,118.6 +129,116.6 +130,111.1 +131,113.1 +132,108.9 +133,115.4 +134,111.2 +135,118.9 +136,110.9 +137,112.9 +138,113.4 +139,102.0 +140,112.2 +141,112.4 +142,119.5 +143,114.6 +144,103.8 +145,97.5 +146,102.0 +147,109.7 +148,109.5 +149,116.6 +150,102.5 +151,98.8 +152,104.5 +153,98.1 +154,102.2 +155,105.3 +156,109.0 +157,98.7 +158,102.8 +159,94.4 +160,97.4 +161,100.7 +162,102.6 +163,105.0 +164,100.6 +165,100.4 +166,100.7 +167,95.3 +168,98.0 +169,108.0 +170,106.2 +171,101.3 +172,90.5 +173,98.7 +174,96.7 +175,89.9 +176,105.3 +177,101.9 +178,105.0 +179,99.9 +180,94.1 +181,96.1 +182,97.2 +183,98.9 +184,109.6 +185,96.8 +186,96.4 +187,87.0 +188,93.2 +189,94.5 +190,106.8 +191,104.8 +192,98.3 +193,96.4 +194,96.4 +195,94.4 +196,97.6 +197,103.2 +198,110.2 +199,106.6 +200,90.3 +201,89.8 +202,91.4 +203,90.4 +204,105.1 +205,103.8 +206,97.1 +207,96.0 +208,86.6 +209,95.5 +210,95.1 +211,107.4 +212,104.1 +213,93.9 +214,90.2 +215,94.4 +216,89.8 +217,99.4 +218,100.1 +219,104.9 +220,101.4 +221,102.9 +222,88.6 +223,96.5 +224,104.1 +225,101.3 +226,101.5 +227,102.6 +228,93.5 +229,93.1 +230,94.6 +231,102.1 +232,103.1 +233,103.9 +234,103.0 +235,97.1 +236,97.7 +237,95.8 +238,107.8 +239,111.7 +240,100.7 +241,105.3 +242,104.3 +243,92.3 +244,100.1 +245,108.2 +246,110.9 +247,110.3 +248,114.3 +249,103.2 +250,98.8 +251,98.3 +252,111.6 +253,112.7 +254,111.4 +255,109.5 +256,102.7 +257,103.3 +258,97.9 +259,100.7 +260,118.3 +261,115.8 +262,116.4 +263,104.5 +264,103.4 +265,102.5 +266,109.2 +267,121.9 +268,111.9 +269,109.4 +270,113.3 +271,100.6 +272,117.3 +273,124.1 +274,119.7 +275,118.7 +276,123.0 +277,107.8 +278,110.7 +279,116.2 +280,112.6 +281,130.4 +282,125.3 +283,119.1 +284,109.4 +285,112.4 +286,120.3 +287,116.0 +288,124.6 +289,125.2 +290,124.8 +291,116.0 +292,115.2 +293,124.1 +294,126.5 +295,128.0 +296,132.5 +297,128.3 +298,119.5 +299,119.6 +300,125.9 +301,125.3 +302,128.4 +303,127.0 +304,132.2 +305,129.4 +306,117.6 +307,123.6 +308,128.9 +309,125.5 +310,125.9 +311,132.8 +312,121.3 +313,123.5 +314,127.4 +315,125.8 +316,137.3 +317,140.5 +318,124.5 +319,136.1 +320,127.6 +321,121.3 +322,134.3 +323,139.2 +324,142.1 +325,139.1 +326,128.5 +327,129.3 +328,134.4 +329,137.3 +330,141.4 +331,145.2 +332,137.5 +333,140.4 +334,137.1 +335,139.6 +336,137.3 +337,140.9 +338,149.8 +339,143.6 +340,144.1 +341,134.9 +342,132.2 +343,144.0 +344,142.8 +345,149.0 +346,140.2 +347,144.2 +348,134.1 +349,141.6 +350,147.2 +351,149.1 +352,148.7 +353,144.3 +354,136.2 +355,136.4 +356,140.6 +357,146.0 +358,148.8 +359,150.8 +360,150.3 +361,138.7 +362,148.7 +363,153.3 +364,149.6 +365,153.6 +366,155.1 +367,156.4 +368,142.2 +369,142.2 +370,138.7 +371,151.6 +372,154.1 +373,158.2 +374,149.0 +375,147.7 +376,143.4 +377,146.2 +378,150.3 +379,153.6 +380,148.4 +381,150.2 +382,139.8 +383,143.4 +384,145.6 +385,144.6 +386,155.4 +387,155.1 +388,146.2 +389,144.3 +390,147.3 +391,145.5 +392,145.8 +393,145.3 +394,157.2 +395,154.7 +396,149.4 +397,141.0 +398,146.6 +399,147.0 +400,153.9 +401,149.4 +402,159.3 +403,143.0 +404,144.0 +405,145.4 +406,150.3 +407,146.8 +408,150.2 +409,152.8 +410,151.2 +411,143.1 +412,142.6 +413,147.9 +414,160.2 +415,150.6 +416,156.0 +417,147.7 +418,139.6 +419,143.4 +420,147.0 +421,149.3 +422,150.6 +423,143.8 +424,135.7 +425,142.0 +426,135.9 +427,142.7 +428,147.3 +429,149.8 +430,149.1 +431,141.0 +432,135.3 +433,135.3 +434,136.9 +435,145.1 +436,146.4 +437,146.7 +438,140.6 +439,144.1 +440,137.3 +441,142.8 +442,146.2 +443,135.5 +444,135.4 +445,136.5 +446,129.6 +447,132.1 +448,141.1 +449,142.4 +450,146.3 +451,128.4 +452,135.4 +453,130.1 +454,135.1 +455,140.6 +456,139.7 +457,143.5 +458,128.3 +459,121.7 +460,126.9 +461,124.6 +462,140.6 +463,132.6 +464,133.3 +465,129.4 +466,126.4 +467,135.9 +468,124.7 +469,129.9 +470,135.0 +471,130.5 +472,128.1 +473,131.1 +474,125.3 +475,124.5 +476,131.0 +477,136.1 +478,127.0 +479,135.5 +480,122.9 +481,110.0 +482,126.9 +483,119.3 +484,120.0 +485,129.1 +486,131.7 +487,119.8 +488,113.7 +489,116.9 +490,121.5 +491,129.7 +492,122.5 +493,111.7 +494,119.4 +495,112.5 +496,116.4 +497,117.7 +498,115.1 +499,117.4 +500,121.5 +501,116.3 +502,109.4 +503,110.5 +504,113.8 +505,118.3 +506,120.3 +507,117.6 +508,109.0 +509,101.6 +510,112.6 +511,103.5 +512,114.0 +513,118.0 +514,111.1 +515,105.9 +516,107.0 +517,96.8 +518,111.4 +519,108.4 +520,118.6 +521,112.2 +522,100.0 +523,103.6 +524,109.3 +525,104.2 +526,109.3 +527,108.4 +528,111.6 +529,100.0 +530,103.3 +531,96.2 +532,104.5 +533,109.8 +534,108.6 +535,107.7 +536,100.9 +537,96.5 +538,99.2 +539,103.5 +540,104.1 +541,109.8 +542,104.9 +543,104.2 +544,101.5 +545,99.9 +546,107.0 +547,116.0 +548,109.4 +549,103.3 +550,97.5 +551,92.7 +552,85.8 +553,97.9 +554,110.6 +555,109.7 +556,104.3 +557,99.6 +558,89.8 +559,100.1 +560,98.0 +561,103.8 +562,102.9 +563,104.8 +564,102.3 +565,90.4 +566,91.4 +567,100.5 +568,98.2 +569,107.1 +570,103.4 +571,93.7 +572,96.6 +573,89.5 +574,96.6 +575,110.5 +576,111.3 +577,104.7 +578,97.9 +579,98.0 +580,98.4 +581,99.5 +582,105.5 +583,107.6 +584,102.9 +585,108.1 +586,92.6 +587,94.3 +588,100.0 +589,107.4 +590,108.0 +591,101.4 +592,110.6 +593,98.5 +594,90.8 +595,103.5 +596,105.4 +597,106.4 +598,103.9 +599,102.8 +600,106.7 +601,95.0 +602,100.3 +603,104.5 +604,113.3 +605,105.9 +606,108.4 +607,99.8 +608,99.6 +609,111.2 +610,113.2 +611,113.8 +612,113.5 +613,97.5 +614,102.8 +615,107.1 +616,111.2 +617,118.8 +618,117.7 +619,119.1 +620,113.3 +621,104.1 +622,114.6 +623,114.4 +624,121.4 +625,118.4 +626,114.5 +627,110.7 +628,118.2 +629,98.8 +630,107.8 +631,114.1 +632,116.3 +633,118.0 +634,118.4 +635,114.2 +636,113.0 +637,116.6 +638,123.4 +639,122.4 +640,118.9 +641,117.2 +642,114.0 +643,110.6 +644,122.5 +645,126.0 +646,132.6 +647,124.3 +648,113.8 +649,108.9 +650,122.6 +651,120.0 +652,134.1 +653,125.3 +654,119.3 +655,126.1 +656,124.0 +657,123.0 +658,128.1 +659,130.4 +660,134.8 +661,137.1 +662,124.2 +663,119.2 +664,128.9 +665,127.3 +666,128.5 +667,137.3 +668,137.2 +669,125.9 +670,129.6 +671,124.9 +672,128.5 +673,141.3 +674,136.1 +675,141.3 +676,135.1 +677,120.7 +678,124.5 +679,135.9 +680,138.9 +681,141.7 +682,138.1 +683,141.2 +684,131.8 +685,133.4 +686,140.5 +687,143.0 +688,136.5 +689,144.9 +690,134.1 +691,134.8 +692,134.5 +693,139.7 +694,152.8 +695,154.0 +696,142.8 +697,139.6 +698,142.2 +699,138.1 +700,142.5 +701,147.3 +702,149.8 +703,148.0 +704,144.8 +705,136.7 +706,138.3 +707,140.3 +708,154.3 +709,151.2 +710,154.0 +711,150.8 +712,144.3 +713,143.1 +714,139.1 +715,153.5 +716,152.5 +717,150.8 +718,144.3 +719,143.5 +720,145.8 +721,152.3 +722,152.0 +723,152.7 +724,155.2 +725,147.1 +726,135.1 +727,141.9 +728,149.9 +729,151.8 +730,153.5 +731,152.7 +732,151.4 +733,144.9 +734,151.3 +735,151.0 +736,158.1 +737,168.8 +738,155.1 +739,151.2 +740,147.8 +741,146.3 +742,150.4 +743,160.6 +744,157.9 +745,147.1 +746,140.2 +747,147.6 +748,148.0 +749,149.4 +750,161.1 +751,159.0 +752,152.2 +753,145.9 +754,151.7 +755,149.8 +756,150.6 +757,152.7 +758,158.8 +759,152.1 +760,150.9 +761,143.3 +762,149.9 +763,152.6 +764,159.8 +765,157.2 +766,153.9 +767,146.0 +768,139.9 +769,149.4 +770,148.0 +771,156.4 +772,155.5 +773,149.4 +774,141.6 +775,141.3 +776,136.0 +777,153.2 +778,159.4 +779,151.5 +780,152.8 +781,150.8 +782,150.7 +783,145.8 +784,150.0 +785,156.2 +786,158.3 +787,143.9 +788,146.5 +789,141.5 +790,132.9 +791,154.7 +792,151.8 +793,147.6 +794,144.5 +795,139.7 +796,145.5 +797,141.2 +798,142.6 +799,153.0 +800,151.2 +801,146.4 +802,145.8 +803,137.9 +804,132.9 +805,153.1 +806,142.6 +807,148.9 +808,147.5 +809,136.0 +810,139.7 +811,136.9 +812,144.7 +813,143.4 +814,145.3 +815,140.3 +816,141.6 +817,129.2 +818,132.8 +819,143.2 +820,148.0 +821,141.4 +822,142.0 +823,145.0 +824,132.0 +825,134.0 +826,134.3 +827,135.5 +828,142.0 +829,140.2 +830,134.9 +831,130.8 +832,125.0 +833,133.9 +834,136.4 +835,142.7 +836,131.2 +837,130.1 +838,133.4 +839,123.4 +840,129.7 +841,136.6 +842,141.7 +843,127.7 +844,125.7 +845,120.9 +846,120.2 +847,122.5 +848,131.9 +849,129.6 +850,122.6 +851,123.3 +852,112.9 +853,118.4 +854,127.0 +855,127.3 +856,130.9 +857,128.6 +858,114.4 +859,116.5 +860,105.8 +861,119.2 +862,122.6 +863,121.9 +864,123.7 +865,118.9 +866,114.3 +867,111.4 +868,117.9 +869,123.8 +870,121.2 +871,119.8 +872,115.9 +873,107.6 +874,114.1 +875,105.3 +876,116.5 +877,119.9 +878,119.4 +879,112.4 +880,110.7 +881,106.4 +882,113.4 +883,111.1 +884,119.1 +885,116.9 +886,108.9 +887,107.6 +888,111.2 +889,111.4 +890,119.9 +891,120.4 +892,114.9 +893,108.5 +894,104.4 +895,106.5 +896,105.0 +897,114.7 +898,117.6 +899,112.3 +900,111.9 +901,101.2 +902,101.3 +903,107.2 +904,122.3 +905,112.3 +906,99.8 +907,109.6 +908,101.0 +909,93.7 +910,100.5 +911,113.7 +912,106.1 +913,112.2 +914,100.6 +915,98.4 +916,98.0 +917,106.3 +918,113.0 +919,114.0 +920,108.7 +921,91.4 +922,94.4 +923,101.5 +924,104.0 +925,102.8 +926,112.3 +927,111.0 +928,105.1 +929,96.7 +930,102.9 +931,103.6 +932,113.5 +933,107.9 +934,105.3 +935,105.9 +936,101.0 +937,103.2 +938,106.4 +939,103.8 +940,113.7 +941,106.1 +942,104.6 +943,97.8 +944,104.1 +945,105.1 +946,112.9 +947,111.1 +948,98.6 +949,102.2 +950,100.5 +951,102.2 +952,102.3 +953,107.1 +954,106.6 +955,107.6 +956,103.7 +957,101.7 +958,102.1 +959,109.9 +960,99.3 +961,113.7 +962,103.9 +963,105.0 +964,96.8 +965,96.8 +966,109.2 +967,118.4 +968,111.1 +969,106.2 +970,109.1 +971,104.2 +972,103.4 +973,113.2 +974,115.3 +975,116.1 +976,115.9 +977,106.4 +978,100.6 +979,105.9 +980,111.1 +981,116.9 +982,126.6 +983,114.2 +984,113.2 +985,108.4 +986,110.9 +987,120.2 +988,118.8 +989,121.6 +990,117.1 +991,107.6 +992,111.7 +993,116.4 +994,117.9 +995,117.8 +996,131.3 +997,125.9 +998,124.3 +999,118.2 +1000,110.6 +1001,125.2 +1002,134.2 +1003,118.4 +1004,116.0 +1005,122.6 +1006,109.5 +1007,115.3 +1008,113.8 +1009,128.7 +1010,129.2 +1011,120.9 +1012,122.2 +1013,118.0 +1014,134.1 +1015,130.2 +1016,132.0 +1017,127.7 +1018,130.5 +1019,133.3 +1020,117.2 +1021,125.1 +1022,134.5 +1023,144.1 +1024,133.6 +1025,134.9 +1026,126.8 +1027,132.8 +1028,131.1 +1029,128.3 +1030,132.7 +1031,147.6 +1032,134.6 +1033,135.4 +1034,128.7 +1035,127.1 +1036,131.0 +1037,137.6 +1038,135.9 +1039,145.7 +1040,133.2 +1041,123.9 +1042,131.1 +1043,137.3 +1044,144.1 +1045,144.7 +1046,144.6 +1047,133.0 +1048,136.6 +1049,138.0 +1050,136.5 +1051,146.3 +1052,145.8 +1053,146.5 +1054,137.5 +1055,143.4 +1056,139.8 +1057,147.1 +1058,152.0 +1059,151.9 +1060,145.4 +1061,149.5 +1062,129.8 +1063,135.1 +1064,139.7 +1065,150.9 +1066,147.6 +1067,149.5 +1068,145.9 +1069,143.9 +1070,146.1 +1071,148.4 +1072,159.7 +1073,154.1 +1074,148.1 +1075,144.1 +1076,136.2 +1077,148.2 +1078,151.7 +1079,155.5 +1080,151.8 +1081,154.4 +1082,143.1 +1083,142.3 +1084,146.4 +1085,153.5 +1086,149.8 +1087,162.0 +1088,153.5 +1089,153.2 +1090,148.0 +1091,145.4 +1092,146.5 +1093,161.4 +1094,160.2 +1095,154.2 +1096,149.1 +1097,144.1 +1098,150.3 +1099,160.3 +1100,159.3 +1101,163.4 +1102,160.9 +1103,158.1 +1104,145.8 +1105,150.6 +1106,162.5 +1107,159.5 +1108,166.5 +1109,163.3 +1110,155.8 +1111,154.7 +1112,147.5 +1113,153.2 +1114,160.5 +1115,154.2 +1116,152.7 +1117,156.6 +1118,151.4 +1119,146.4 +1120,150.6 +1121,162.5 +1122,162.3 +1123,161.2 +1124,158.7 +1125,146.3 +1126,154.8 +1127,160.5 +1128,156.8 +1129,167.5 +1130,165.3 +1131,155.4 +1132,147.4 +1133,152.9 +1134,153.7 +1135,162.4 +1136,155.5 +1137,148.5 +1138,155.6 +1139,151.6 +1140,151.9 +1141,151.7 +1142,164.5 +1143,165.5 +1144,153.5 +1145,148.5 +1146,140.9 +1147,146.2 +1148,147.1 +1149,156.1 +1150,162.6 +1151,156.9 +1152,144.2 +1153,145.4 +1154,146.3 +1155,147.3 +1156,155.3 +1157,152.3 +1158,153.2 +1159,142.7 +1160,146.9 +1161,142.6 +1162,147.1 +1163,150.6 +1164,154.3 +1165,150.7 +1166,144.7 +1167,140.0 +1168,149.5 +1169,142.5 +1170,152.4 +1171,155.6 +1172,148.4 +1173,135.9 +1174,140.2 +1175,142.5 +1176,145.4 +1177,153.7 +1178,144.8 +1179,153.0 +1180,145.6 +1181,138.2 +1182,137.2 +1183,144.4 +1184,143.9 +1185,142.6 +1186,141.4 +1187,142.0 +1188,136.8 +1189,133.0 +1190,142.6 +1191,145.2 +1192,136.8 +1193,147.0 +1194,133.1 +1195,126.8 +1196,134.5 +1197,136.1 +1198,136.6 +1199,141.4 +1200,135.4 +1201,135.3 +1202,125.6 +1203,138.3 +1204,129.5 +1205,141.6 +1206,138.0 +1207,133.1 +1208,133.7 +1209,130.4 +1210,122.8 +1211,132.5 +1212,133.9 +1213,136.2 +1214,127.8 +1215,120.3 +1216,123.8 +1217,127.0 +1218,122.9 +1219,135.4 +1220,129.6 +1221,130.9 +1222,127.3 +1223,117.2 +1224,118.8 +1225,117.1 +1226,123.2 +1227,134.0 +1228,131.3 +1229,122.1 +1230,116.6 +1231,119.7 +1232,122.5 +1233,128.7 +1234,131.2 +1235,120.3 +1236,125.0 +1237,117.9 +1238,110.1 +1239,115.3 +1240,118.5 +1241,128.9 +1242,123.1 +1243,112.5 +1244,110.9 +1245,113.6 +1246,114.7 +1247,125.4 +1248,116.9 +1249,115.5 +1250,110.1 +1251,110.2 +1252,109.3 +1253,114.8 +1254,119.8 +1255,124.1 +1256,114.0 +1257,109.5 +1258,105.1 +1259,107.7 +1260,112.6 +1261,113.6 +1262,114.2 +1263,111.5 +1264,111.5 +1265,106.0 +1266,111.0 +1267,116.5 +1268,117.4 +1269,120.0 +1270,118.0 +1271,105.2 +1272,106.0 +1273,104.6 +1274,119.2 +1275,110.1 +1276,110.2 +1277,118.7 +1278,115.6 +1279,95.9 +1280,107.8 +1281,113.4 +1282,112.1 +1283,119.3 +1284,114.1 +1285,103.3 +1286,101.2 +1287,100.6 +1288,105.3 +1289,107.0 +1290,114.5 +1291,110.4 +1292,103.3 +1293,106.1 +1294,102.8 +1295,106.3 +1296,114.8 +1297,113.4 +1298,111.0 +1299,107.8 +1300,100.3 +1301,104.8 +1302,105.1 +1303,111.3 +1304,114.8 +1305,112.5 +1306,105.9 +1307,100.5 +1308,103.7 +1309,111.5 +1310,121.3 +1311,117.2 +1312,105.6 +1313,105.7 +1314,101.7 +1315,105.2 +1316,112.0 +1317,114.0 +1318,117.2 +1319,112.2 +1320,109.0 +1321,107.4 +1322,106.6 +1323,109.9 +1324,119.5 +1325,111.8 +1326,115.7 +1327,110.8 +1328,106.5 +1329,106.2 +1330,105.8 +1331,113.8 +1332,112.6 +1333,120.3 +1334,110.8 +1335,106.6 +1336,105.2 +1337,110.3 +1338,117.9 +1339,118.1 +1340,123.2 +1341,113.2 +1342,107.1 +1343,113.0 +1344,119.8 +1345,120.5 +1346,125.4 +1347,119.1 +1348,111.7 +1349,111.0 +1350,105.0 +1351,117.3 +1352,120.0 +1353,121.4 +1354,121.0 +1355,114.0 +1356,112.4 +1357,116.2 +1358,118.7 +1359,136.3 +1360,127.9 +1361,116.3 +1362,122.1 +1363,115.9 +1364,128.9 +1365,126.5 +1366,127.8 +1367,132.2 +1368,129.5 +1369,118.3 +1370,122.3 +1371,120.3 +1372,126.8 +1373,130.5 +1374,131.4 +1375,135.7 +1376,123.6 +1377,123.0 +1378,128.3 +1379,132.8 +1380,131.6 +1381,135.7 +1382,133.6 +1383,127.9 +1384,118.5 +1385,126.5 +1386,136.2 +1387,136.8 +1388,134.4 +1389,128.3 +1390,134.8 +1391,119.6 +1392,130.9 +1393,132.7 +1394,135.9 +1395,144.3 +1396,139.9 +1397,139.1 +1398,137.4 +1399,134.4 +1400,145.0 +1401,136.6 +1402,141.1 +1403,147.4 +1404,135.8 +1405,137.9 +1406,141.2 +1407,138.5 +1408,144.4 +1409,148.8 +1410,144.4 +1411,137.9 +1412,131.4 +1413,137.0 +1414,143.8 +1415,145.9 +1416,149.6 +1417,149.6 +1418,142.8 +1419,143.4 +1420,139.5 +1421,134.3 +1422,153.3 +1423,152.3 +1424,154.1 +1425,146.0 +1426,142.2 +1427,148.5 +1428,149.2 +1429,150.2 +1430,158.7 +1431,151.4 +1432,151.3 +1433,142.7 +1434,144.5 +1435,158.6 +1436,159.1 +1437,158.8 +1438,153.6 +1439,145.4 +1440,149.3 +1441,154.4 +1442,155.1 +1443,159.3 +1444,156.1 +1445,156.7 +1446,153.9 +1447,149.2 +1448,153.9 +1449,158.3 +1450,158.5 +1451,163.5 +1452,165.0 +1453,159.6 +1454,153.6 +1455,148.4 +1456,157.1 +1457,169.2 +1458,161.1 +1459,157.5 +1460,159.2 +1461,150.6 +1462,148.6 +1463,163.8 +1464,156.1 +1465,160.8 +1466,163.0 +1467,149.5 +1468,155.4 +1469,154.2 +1470,163.4 +1471,167.8 +1472,162.5 +1473,160.6 +1474,161.8 +1475,155.2 +1476,157.1 +1477,158.4 +1478,158.7 +1479,159.3 +1480,162.6 +1481,157.9 +1482,154.4 +1483,156.0 +1484,160.2 +1485,165.6 +1486,166.4 +1487,159.0 +1488,153.2 +1489,155.6 +1490,165.8 +1491,159.0 +1492,157.0 +1493,158.0 +1494,163.5 +1495,160.7 +1496,161.3 +1497,160.8 +1498,160.1 +1499,164.3 +1500,156.2 +1501,156.3 +1502,157.2 +1503,146.0 +1504,151.8 +1505,151.6 +1506,164.1 +1507,167.1 +1508,154.6 +1509,148.4 +1510,151.1 +1511,153.1 +1512,153.6 +1513,166.5 +1514,166.4 +1515,162.4 +1516,158.0 +1517,148.8 +1518,153.6 +1519,154.1 +1520,161.1 +1521,164.4 +1522,158.1 +1523,152.9 +1524,150.4 +1525,152.9 +1526,156.7 +1527,151.7 +1528,162.7 +1529,156.4 +1530,147.1 +1531,142.1 +1532,146.1 +1533,159.1 +1534,152.3 +1535,156.8 +1536,149.4 +1537,146.8 +1538,146.6 +1539,139.8 +1540,153.2 +1541,159.3 +1542,151.6 +1543,157.0 +1544,143.0 +1545,134.4 +1546,136.6 +1547,145.6 +1548,155.7 +1549,149.6 +1550,147.6 +1551,141.3 +1552,134.9 +1553,143.1 +1554,140.6 +1555,143.3 +1556,145.8 +1557,147.6 +1558,137.5 +1559,127.8 +1560,134.6 +1561,142.0 +1562,147.8 +1563,140.0 +1564,144.4 +1565,135.8 +1566,130.0 +1567,132.9 +1568,136.3 +1569,143.0 +1570,140.9 +1571,142.9 +1572,125.7 +1573,127.8 +1574,129.8 +1575,140.4 +1576,135.1 +1577,152.1 +1578,137.2 +1579,129.8 +1580,127.7 +1581,134.2 +1582,128.0 +1583,136.6 +1584,137.0 +1585,130.5 +1586,126.7 +1587,121.0 +1588,121.8 +1589,123.3 +1590,130.2 +1591,133.7 +1592,132.1 +1593,130.0 +1594,126.7 +1595,121.9 +1596,131.2 +1597,129.8 +1598,129.6 +1599,129.2 +1600,122.2 +1601,117.3 +1602,116.7 +1603,122.1 +1604,125.8 +1605,130.0 +1606,120.7 +1607,116.7 +1608,119.2 +1609,109.7 +1610,119.8 +1611,124.5 +1612,128.1 +1613,122.1 +1614,117.9 +1615,108.0 +1616,111.7 +1617,125.3 +1618,120.5 +1619,121.6 +1620,129.1 +1621,110.6 +1622,111.3 +1623,117.4 +1624,122.7 +1625,123.5 +1626,125.0 +1627,128.2 +1628,113.7 +1629,104.7 +1630,103.5 +1631,118.3 +1632,123.3 +1633,118.9 +1634,115.5 +1635,111.7 +1636,104.4 +1637,106.1 +1638,115.6 +1639,130.5 +1640,114.7 +1641,110.7 +1642,111.3 +1643,105.3 +1644,106.9 +1645,113.6 +1646,112.1 +1647,118.8 +1648,119.1 +1649,110.0 +1650,106.7 +1651,106.9 +1652,105.7 +1653,112.1 +1654,123.5 +1655,114.3 +1656,112.1 +1657,105.6 +1658,104.0 +1659,114.3 +1660,114.2 +1661,117.7 +1662,118.4 +1663,104.0 +1664,108.7 +1665,109.8 +1666,121.2 +1667,115.7 +1668,114.6 +1669,114.0 +1670,109.4 +1671,105.3 +1672,105.9 +1673,107.9 +1674,112.5 +1675,114.0 +1676,113.6 +1677,107.9 +1678,102.2 +1679,109.7 +1680,123.7 +1681,115.8 +1682,122.9 +1683,118.0 +1684,106.9 +1685,107.9 +1686,107.7 +1687,104.0 +1688,116.9 +1689,120.7 +1690,119.3 +1691,110.2 +1692,106.9 +1693,113.6 +1694,119.9 +1695,120.4 +1696,123.0 +1697,115.9 +1698,114.4 +1699,114.7 +1700,112.0 +1701,112.4 +1702,128.6 +1703,127.1 +1704,119.7 +1705,116.6 +1706,114.7 +1707,114.8 +1708,118.8 +1709,123.9 +1710,120.5 +1711,120.4 +1712,125.8 +1713,116.8 +1714,116.1 +1715,121.8 +1716,127.5 +1717,130.1 +1718,124.4 +1719,122.3 +1720,120.2 +1721,100.9 +1722,122.8 +1723,126.7 +1724,136.1 +1725,131.8 +1726,122.8 +1727,113.3 +1728,117.2 +1729,133.9 +1730,130.3 +1731,140.3 +1732,126.6 +1733,126.9 +1734,121.0 +1735,127.9 +1736,135.2 +1737,138.4 +1738,139.8 +1739,137.1 +1740,125.2 +1741,119.2 +1742,124.9 +1743,133.9 +1744,139.9 +1745,139.4 +1746,135.9 +1747,141.0 +1748,131.6 +1749,133.7 +1750,131.2 +1751,141.6 +1752,140.9 +1753,137.7 +1754,141.1 +1755,134.7 +1756,138.3 +1757,147.2 +1758,146.5 +1759,154.2 +1760,146.0 +1761,140.4 +1762,134.4 +1763,130.7 +1764,142.0 +1765,148.7 +1766,146.2 +1767,146.6 +1768,133.7 +1769,144.4 +1770,140.7 +1771,139.5 +1772,151.9 +1773,152.3 +1774,150.1 +1775,147.9 +1776,139.0 +1777,138.7 +1778,143.3 +1779,150.7 +1780,145.9 +1781,162.2 +1782,146.9 +1783,143.2 +1784,147.0 +1785,149.5 +1786,158.0 +1787,152.7 +1788,151.0 +1789,152.6 +1790,138.5 +1791,149.1 +1792,151.0 +1793,157.2 +1794,164.7 +1795,164.7 +1796,154.7 +1797,154.1 +1798,148.1 +1799,156.5 +1800,156.4 +1801,155.5 +1802,155.7 +1803,150.7 +1804,147.7 +1805,146.0 +1806,146.9 +1807,161.7 +1808,170.7 +1809,160.0 +1810,159.3 +1811,152.1 +1812,154.2 +1813,163.0 +1814,159.4 +1815,164.9 +1816,159.6 +1817,155.3 +1818,153.8 +1819,151.8 +1820,162.4 +1821,163.6 +1822,165.7 +1823,163.4 +1824,162.2 +1825,158.1 +1826,153.4 +1827,165.8 +1828,168.7 +1829,171.9 +1830,164.1 +1831,161.0 +1832,155.6 +1833,151.4 +1834,167.1 +1835,172.6 +1836,166.7 +1837,163.7 +1838,155.6 +1839,159.7 +1840,161.7 +1841,160.6 +1842,171.5 +1843,168.0 +1844,161.5 +1845,164.0 +1846,162.4 +1847,159.2 +1848,160.7 +1849,168.6 +1850,165.4 +1851,167.4 +1852,159.6 +1853,168.4 +1854,156.7 +1855,166.9 +1856,171.6 +1857,172.7 +1858,167.4 +1859,159.0 +1860,157.7 +1861,164.1 +1862,164.6 +1863,168.1 +1864,170.7 +1865,160.2 +1866,158.0 +1867,148.1 +1868,162.0 +1869,153.3 +1870,158.5 +1871,173.9 +1872,163.0 +1873,167.3 +1874,153.1 +1875,158.5 +1876,159.9 +1877,161.4 +1878,170.4 +1879,161.7 +1880,163.7 +1881,155.1 +1882,155.7 +1883,168.5 +1884,167.0 +1885,159.1 +1886,159.7 +1887,155.6 +1888,149.6 +1889,154.8 +1890,156.3 +1891,160.5 +1892,153.6 +1893,166.6 +1894,148.4 +1895,149.8 +1896,152.6 +1897,156.3 +1898,163.3 +1899,164.1 +1900,157.2 +1901,154.9 +1902,147.2 +1903,152.9 +1904,157.2 +1905,157.4 +1906,159.7 +1907,146.9 +1908,157.3 +1909,145.8 +1910,156.3 +1911,149.8 +1912,150.7 +1913,159.7 +1914,155.7 +1915,146.4 +1916,139.1 +1917,144.0 +1918,148.1 +1919,149.9 +1920,149.3 +1921,150.4 +1922,151.0 +1923,138.1 +1924,137.6 +1925,139.3 +1926,152.6 +1927,150.5 +1928,144.9 +1929,146.1 +1930,141.4 +1931,135.8 +1932,150.7 +1933,141.2 +1934,145.5 +1935,147.4 +1936,143.2 +1937,133.0 +1938,137.8 +1939,144.2 +1940,144.8 +1941,148.8 +1942,141.8 +1943,141.1 +1944,138.8 +1945,131.2 +1946,135.9 +1947,150.9 +1948,144.1 +1949,142.8 +1950,125.8 +1951,133.0 +1952,129.2 +1953,128.7 +1954,137.0 +1955,138.8 +1956,134.8 +1957,132.9 +1958,128.4 +1959,126.7 +1960,132.6 +1961,133.1 +1962,133.6 +1963,127.4 +1964,123.3 +1965,122.2 +1966,124.8 +1967,130.6 +1968,134.1 +1969,127.0 +1970,131.7 +1971,125.7 +1972,120.0 +1973,120.0 +1974,129.2 +1975,127.2 +1976,136.6 +1977,126.7 +1978,122.0 +1979,121.3 +1980,120.9 +1981,119.2 +1982,126.5 +1983,125.3 +1984,117.9 +1985,121.8 +1986,104.5 +1987,119.5 +1988,120.6 +1989,130.4 +1990,124.3 +1991,123.2 +1992,113.3 +1993,108.6 +1994,113.8 +1995,117.9 +1996,123.9 +1997,121.4 +1998,122.8 +1999,121.9 +2000,112.1 +2001,113.5 +2002,114.3 +2003,121.5 +2004,124.1 +2005,121.9 +2006,113.3 +2007,111.9 +2008,113.6 +2009,115.8 +2010,121.5 +2011,123.8 +2012,120.0 +2013,114.5 +2014,110.3 +2015,117.5 +2016,116.7 +2017,121.2 +2018,124.5 +2019,121.7 +2020,105.5 +2021,103.6 +2022,107.3 +2023,109.6 +2024,115.3 +2025,121.6 +2026,126.2 +2027,104.5 +2028,101.3 +2029,109.9 +2030,113.2 +2031,120.9 +2032,117.8 +2033,121.9 +2034,116.0 +2035,107.8 +2036,107.4 +2037,113.3 +2038,118.8 +2039,116.8 +2040,115.8 +2041,112.5 +2042,116.1 +2043,112.1 +2044,124.4 +2045,120.6 +2046,131.9 +2047,115.2 +2048,113.8 +2049,108.6 +2050,110.8 +2051,113.3 +2052,124.0 +2053,123.4 +2054,127.7 +2055,111.5 +2056,106.4 +2057,110.9 +2058,116.5 +2059,119.1 +2060,123.1 +2061,120.9 +2062,121.2 +2063,111.9 +2064,117.5 +2065,113.7 +2066,122.4 +2067,126.5 +2068,122.0 +2069,122.3 +2070,112.8 +2071,112.5 +2072,122.2 +2073,125.2 +2074,132.5 +2075,128.3 +2076,118.2 +2077,118.2 +2078,123.0 +2079,126.3 +2080,128.7 +2081,135.4 +2082,127.2 +2083,128.3 +2084,123.0 +2085,119.8 +2086,128.4 +2087,132.6 +2088,136.2 +2089,129.7 +2090,121.1 +2091,120.4 +2092,114.9 +2093,124.2 +2094,139.3 +2095,129.6 +2096,132.1 +2097,127.0 +2098,125.3 +2099,124.4 +2100,137.3 +2101,132.7 +2102,140.9 +2103,125.2 +2104,137.5 +2105,130.4 +2106,133.1 +2107,138.6 +2108,140.9 +2109,152.3 +2110,143.4 +2111,125.1 +2112,133.7 +2113,140.3 +2114,141.6 +2115,144.0 +2116,143.3 +2117,136.2 +2118,146.0 +2119,131.3 +2120,136.0 +2121,145.5 +2122,146.7 +2123,151.6 +2124,140.7 +2125,144.6 +2126,139.9 +2127,141.8 +2128,144.3 +2129,148.5 +2130,152.7 +2131,147.1 +2132,141.7 +2133,140.6 +2134,145.5 +2135,151.1 +2136,150.5 +2137,153.0 +2138,146.1 +2139,140.5 +2140,141.9 +2141,146.3 +2142,152.2 +2143,158.6 +2144,162.8 +2145,148.2 +2146,145.3 +2147,151.2 +2148,158.2 +2149,153.4 +2150,159.7 +2151,155.5 +2152,168.3 +2153,156.4 +2154,153.9 +2155,152.7 +2156,159.4 +2157,165.7 +2158,161.4 +2159,158.3 +2160,160.4 +2161,151.3 +2162,152.8 +2163,160.4 +2164,164.9 +2165,164.7 +2166,159.4 +2167,155.7 +2168,150.2 +2169,149.3 +2170,157.2 +2171,160.7 +2172,168.5 +2173,159.8 +2174,156.3 +2175,155.8 +2176,155.7 +2177,166.1 +2178,172.9 +2179,173.5 +2180,167.6 +2181,159.3 +2182,153.9 +2183,159.6 +2184,166.4 +2185,176.7 +2186,167.3 +2187,171.2 +2188,154.0 +2189,164.8 +2190,161.0 +2191,161.8 +2192,170.3 +2193,171.1 +2194,163.7 +2195,166.8 +2196,160.1 +2197,164.2 +2198,161.7 +2199,167.8 +2200,171.1 +2201,168.2 +2202,167.2 +2203,162.9 +2204,168.2 +2205,163.5 +2206,170.5 +2207,171.3 +2208,170.9 +2209,164.6 +2210,151.8 +2211,162.9 +2212,163.9 +2213,179.1 +2214,171.3 +2215,169.6 +2216,158.3 +2217,165.3 +2218,162.6 +2219,172.0 +2220,172.5 +2221,179.4 +2222,169.3 +2223,162.1 +2224,154.4 +2225,165.5 +2226,169.2 +2227,173.1 +2228,174.3 +2229,163.2 +2230,168.5 +2231,161.7 +2232,166.3 +2233,173.7 +2234,158.9 +2235,168.2 +2236,167.5 +2237,166.3 +2238,155.9 +2239,159.3 +2240,163.7 +2241,164.5 +2242,168.1 +2243,167.1 +2244,158.2 +2245,162.3 +2246,155.1 +2247,161.1 +2248,173.5 +2249,171.9 +2250,166.6 +2251,155.7 +2252,162.6 +2253,152.8 +2254,155.8 +2255,168.1 +2256,164.6 +2257,155.1 +2258,163.7 +2259,148.0 +2260,156.4 +2261,156.6 +2262,166.9 +2263,163.6 +2264,157.1 +2265,156.3 +2266,151.6 +2267,148.9 +2268,157.3 +2269,166.1 +2270,156.0 +2271,153.9 +2272,155.0 +2273,142.0 +2274,154.0 +2275,159.2 +2276,152.1 +2277,163.3 +2278,147.5 +2279,149.1 +2280,142.3 +2281,149.7 +2282,154.2 +2283,151.7 +2284,157.5 +2285,152.7 +2286,148.3 +2287,137.4 +2288,148.7 +2289,147.4 +2290,151.8 +2291,152.2 +2292,153.7 +2293,140.9 +2294,140.8 +2295,146.2 +2296,142.3 +2297,158.4 +2298,150.0 +2299,153.3 +2300,137.7 +2301,139.0 +2302,140.8 +2303,144.3 +2304,150.1 +2305,152.4 +2306,146.9 +2307,141.7 +2308,135.8 +2309,135.5 +2310,138.6 +2311,140.7 +2312,145.3 +2313,133.2 +2314,135.3 +2315,137.2 +2316,134.0 +2317,136.8 +2318,146.1 +2319,139.9 +2320,135.6 +2321,127.4 +2322,128.8 +2323,125.0 +2324,135.3 +2325,136.8 +2326,138.4 +2327,136.7 +2328,125.9 +2329,122.1 +2330,123.5 +2331,135.7 +2332,131.1 +2333,137.7 +2334,127.4 +2335,136.3 +2336,123.3 +2337,125.0 +2338,131.3 +2339,131.5 +2340,128.8 +2341,132.0 +2342,126.7 +2343,118.5 +2344,124.1 +2345,124.9 +2346,131.0 +2347,135.4 +2348,124.1 +2349,120.0 +2350,126.9 +2351,118.2 +2352,122.7 +2353,128.4 +2354,136.8 +2355,123.1 +2356,118.5 +2357,118.5 +2358,117.0 +2359,117.1 +2360,124.1 +2361,136.1 +2362,126.1 +2363,118.7 +2364,119.1 +2365,115.7 +2366,122.6 +2367,131.3 +2368,127.5 +2369,115.7 +2370,123.2 +2371,115.0 +2372,115.4 +2373,125.3 +2374,123.8 +2375,129.1 +2376,123.9 +2377,118.0 +2378,117.2 +2379,120.3 +2380,115.9 +2381,121.0 +2382,124.2 +2383,124.7 +2384,117.7 +2385,111.2 +2386,119.5 +2387,117.8 +2388,127.3 +2389,124.1 +2390,116.6 +2391,116.0 +2392,117.8 +2393,107.3 +2394,120.5 +2395,121.8 +2396,124.5 +2397,117.2 +2398,116.5 +2399,102.7 +2400,114.8 +2401,122.1 +2402,128.1 +2403,123.1 +2404,119.3 +2405,116.4 +2406,117.5 +2407,113.2 +2408,119.4 +2409,135.6 +2410,122.5 +2411,132.1 +2412,124.8 +2413,116.5 +2414,122.5 +2415,120.5 +2416,124.9 +2417,128.2 +2418,125.5 +2419,118.6 +2420,114.4 +2421,112.1 +2422,125.3 +2423,123.2 +2424,129.3 +2425,127.0 +2426,123.8 +2427,117.7 +2428,119.2 +2429,122.9 +2430,119.8 +2431,127.8 +2432,129.0 +2433,123.6 +2434,116.7 +2435,115.8 +2436,124.5 +2437,123.4 +2438,129.1 +2439,130.2 +2440,117.9 +2441,126.4 +2442,126.8 +2443,127.3 +2444,130.9 +2445,137.6 +2446,131.4 +2447,129.7 +2448,122.5 +2449,120.0 +2450,126.5 +2451,131.6 +2452,135.2 +2453,131.0 +2454,126.8 +2455,131.1 +2456,119.5 +2457,128.3 +2458,135.3 +2459,144.4 +2460,134.1 +2461,125.2 +2462,135.2 +2463,132.8 +2464,133.9 +2465,139.9 +2466,148.3 +2467,139.5 +2468,126.2 +2469,136.0 +2470,127.9 +2471,138.3 +2472,144.0 +2473,142.3 +2474,142.9 +2475,131.7 +2476,137.7 +2477,136.5 +2478,141.5 +2479,142.6 +2480,146.5 +2481,146.7 +2482,147.2 +2483,137.4 +2484,139.2 +2485,142.4 +2486,143.8 +2487,156.1 +2488,141.5 +2489,131.0 +2490,140.7 +2491,140.9 +2492,148.1 +2493,152.2 +2494,154.8 +2495,160.1 +2496,151.1 +2497,136.6 +2498,144.5 +2499,151.0 +2500,151.1 +2501,160.2 +2502,155.5 +2503,153.6 +2504,150.4 +2505,150.3 +2506,152.0 +2507,153.9 +2508,169.3 +2509,158.9 +2510,157.3 +2511,150.7 +2512,150.2 +2513,154.3 +2514,164.9 +2515,173.3 +2516,161.4 +2517,161.1 +2518,162.4 +2519,155.1 +2520,161.8 +2521,158.0 +2522,168.0 +2523,164.6 +2524,160.8 +2525,150.4 +2526,153.8 +2527,165.1 +2528,168.2 +2529,172.0 +2530,161.6 +2531,161.8 +2532,160.4 +2533,162.4 +2534,157.4 +2535,176.6 +2536,169.8 +2537,173.2 +2538,160.9 +2539,157.3 +2540,162.1 +2541,164.2 +2542,172.5 +2543,175.5 +2544,173.1 +2545,161.9 +2546,164.6 +2547,159.6 +2548,163.3 +2549,172.5 +2550,172.8 +2551,165.7 +2552,160.5 +2553,156.3 +2554,158.8 +2555,173.9 +2556,174.2 +2557,174.1 +2558,171.9 +2559,163.2 +2560,163.9 +2561,164.7 +2562,171.1 +2563,175.5 +2564,182.1 +2565,175.5 +2566,170.1 +2567,171.0 +2568,158.6 +2569,172.5 +2570,175.1 +2571,168.8 +2572,169.6 +2573,169.0 +2574,164.8 +2575,171.7 +2576,159.8 +2577,175.4 +2578,172.8 +2579,175.0 +2580,163.9 +2581,171.3 +2582,166.3 +2583,171.4 +2584,175.4 +2585,180.4 +2586,177.6 +2587,161.2 +2588,163.9 +2589,172.7 +2590,170.8 +2591,170.1 +2592,177.9 +2593,173.9 +2594,166.5 +2595,166.7 +2596,165.9 +2597,166.8 +2598,168.7 +2599,182.0 +2600,169.6 +2601,164.3 +2602,162.0 +2603,167.7 +2604,169.3 +2605,172.8 +2606,170.3 +2607,165.3 +2608,166.4 +2609,151.4 +2610,163.4 +2611,166.1 +2612,177.7 +2613,169.9 +2614,168.4 +2615,162.1 +2616,161.8 +2617,154.0 +2618,164.9 +2619,167.8 +2620,163.9 +2621,167.0 +2622,165.8 +2623,149.8 +2624,162.0 +2625,164.2 +2626,168.2 +2627,167.5 +2628,168.2 +2629,164.6 +2630,155.7 +2631,160.2 +2632,162.8 +2633,169.6 +2634,169.2 +2635,158.0 +2636,159.6 +2637,157.6 +2638,155.3 +2639,156.4 +2640,163.3 +2641,157.7 +2642,161.0 +2643,164.7 +2644,148.8 +2645,152.3 +2646,152.7 +2647,158.9 +2648,160.6 +2649,157.1 +2650,148.8 +2651,143.2 +2652,151.1 +2653,151.5 +2654,153.8 +2655,167.4 +2656,157.6 +2657,151.9 +2658,143.0 +2659,145.2 +2660,152.2 +2661,155.0 +2662,149.2 +2663,153.2 +2664,141.5 +2665,145.6 +2666,142.4 +2667,144.7 +2668,147.5 +2669,156.6 +2670,148.6 +2671,146.9 +2672,142.3 +2673,142.0 +2674,140.1 +2675,136.2 +2676,155.7 +2677,155.1 +2678,134.6 +2679,132.2 +2680,128.7 +2681,136.0 +2682,150.5 +2683,148.3 +2684,143.7 +2685,130.4 +2686,132.9 +2687,125.9 +2688,138.7 +2689,132.3 +2690,145.7 +2691,141.8 +2692,134.7 +2693,132.8 +2694,124.1 +2695,139.0 +2696,139.6 +2697,148.0 +2698,137.8 +2699,142.6 +2700,124.9 +2701,135.6 +2702,135.0 +2703,135.2 +2704,138.3 +2705,132.6 +2706,127.2 +2707,126.1 +2708,131.9 +2709,132.4 +2710,131.9 +2711,134.1 +2712,127.8 +2713,123.0 +2714,129.4 +2715,128.0 +2716,123.9 +2717,138.3 +2718,139.6 +2719,134.5 +2720,122.4 +2721,124.6 +2722,121.4 +2723,127.6 +2724,133.4 +2725,132.0 +2726,128.7 +2727,122.1 +2728,118.3 +2729,113.3 +2730,126.7 +2731,132.2 +2732,128.1 +2733,132.5 +2734,124.6 +2735,121.1 +2736,128.5 +2737,125.3 +2738,126.4 +2739,129.2 +2740,124.9 +2741,113.4 +2742,111.5 +2743,124.7 +2744,123.6 +2745,130.0 +2746,126.5 +2747,122.7 +2748,123.5 +2749,115.8 +2750,122.2 +2751,121.8 +2752,128.8 +2753,134.0 +2754,124.2 +2755,116.8 +2756,115.2 +2757,117.5 +2758,120.6 +2759,128.1 +2760,131.5 +2761,124.2 +2762,120.9 +2763,116.3 +2764,120.0 +2765,122.4 +2766,124.5 +2767,123.2 +2768,127.3 +2769,124.5 +2770,119.1 +2771,118.6 +2772,127.2 +2773,125.6 +2774,137.9 +2775,133.3 +2776,120.7 +2777,108.7 +2778,125.2 +2779,122.1 +2780,125.1 +2781,128.4 +2782,123.1 +2783,126.9 +2784,119.3 +2785,117.8 +2786,128.3 +2787,123.7 +2788,124.1 +2789,128.1 +2790,121.8 +2791,121.3 +2792,118.2 +2793,129.5 +2794,125.0 +2795,133.7 +2796,127.1 +2797,129.1 +2798,122.4 +2799,120.2 +2800,121.1 +2801,133.5 +2802,129.3 +2803,133.3 +2804,124.2 +2805,128.2 +2806,124.3 +2807,132.0 +2808,139.2 +2809,135.5 +2810,132.5 +2811,130.5 +2812,128.0 +2813,127.3 +2814,127.3 +2815,148.7 +2816,141.1 +2817,130.6 +2818,131.2 +2819,132.6 +2820,129.7 +2821,144.1 +2822,140.0 +2823,143.6 +2824,142.4 +2825,129.7 +2826,136.1 +2827,124.6 +2828,143.8 +2829,144.2 +2830,145.7 +2831,137.7 +2832,136.2 +2833,134.3 +2834,136.8 +2835,137.4 +2836,145.2 +2837,149.6 +2838,143.4 +2839,145.3 +2840,138.7 +2841,133.8 +2842,137.8 +2843,153.6 +2844,153.0 +2845,151.2 +2846,146.2 +2847,147.5 +2848,139.6 +2849,142.1 +2850,156.0 +2851,156.8 +2852,157.6 +2853,145.1 +2854,145.2 +2855,143.2 +2856,147.4 +2857,155.8 +2858,161.8 +2859,151.2 +2860,144.2 +2861,139.8 +2862,145.7 +2863,156.1 +2864,160.1 +2865,155.9 +2866,158.7 +2867,155.2 +2868,144.4 +2869,157.8 +2870,161.2 +2871,166.6 +2872,167.8 +2873,161.6 +2874,158.1 +2875,151.1 +2876,155.2 +2877,160.4 +2878,166.9 +2879,172.4 +2880,153.6 +2881,153.5 +2882,161.1 +2883,153.7 +2884,163.2 +2885,171.2 +2886,172.2 +2887,165.8 +2888,162.5 +2889,153.9 +2890,157.1 +2891,160.3 +2892,166.7 +2893,174.7 +2894,169.9 +2895,162.0 +2896,167.2 +2897,156.2 +2898,165.1 +2899,173.6 +2900,173.8 +2901,175.1 +2902,164.4 +2903,163.6 +2904,160.6 +2905,168.2 +2906,180.2 +2907,174.9 +2908,167.7 +2909,169.7 +2910,165.0 +2911,169.0 +2912,172.9 +2913,174.5 +2914,177.9 +2915,176.0 +2916,162.6 +2917,171.1 +2918,166.5 +2919,173.4 +2920,181.9 +2921,177.7 +2922,170.4 +2923,167.4 +2924,164.2 +2925,171.0 +2926,172.5 +2927,174.2 +2928,170.8 +2929,176.6 +2930,173.5 +2931,166.7 +2932,171.1 +2933,174.3 +2934,174.0 +2935,178.4 +2936,178.9 +2937,169.6 +2938,163.6 +2939,167.0 +2940,180.1 +2941,178.2 +2942,183.7 +2943,176.3 +2944,168.0 +2945,166.8 +2946,161.1 +2947,173.5 +2948,182.3 +2949,178.3 +2950,182.4 +2951,167.9 +2952,174.1 +2953,176.9 +2954,169.0 +2955,176.5 +2956,183.7 +2957,176.4 +2958,179.1 +2959,171.3 +2960,163.8 +2961,171.4 +2962,177.0 +2963,180.2 +2964,175.2 +2965,168.5 +2966,168.0 +2967,170.2 +2968,165.6 +2969,183.4 +2970,180.0 +2971,170.4 +2972,169.5 +2973,170.4 +2974,168.6 +2975,166.5 +2976,169.6 +2977,175.2 +2978,173.3 +2979,175.0 +2980,160.1 +2981,159.0 +2982,173.3 +2983,171.5 +2984,173.9 +2985,166.8 +2986,156.4 +2987,163.8 +2988,163.4 +2989,165.3 +2990,167.2 +2991,170.9 +2992,166.7 +2993,155.6 +2994,156.7 +2995,158.8 +2996,169.4 +2997,164.6 +2998,176.5 +2999,166.0 +3000,160.6 +3001,149.9 +3002,153.7 +3003,157.7 +3004,169.5 +3005,173.0 +3006,160.9 +3007,159.8 +3008,159.8 +3009,156.5 +3010,151.6 +3011,162.2 +3012,169.0 +3013,155.4 +3014,163.4 +3015,151.0 +3016,156.4 +3017,156.1 +3018,164.1 +3019,157.3 +3020,148.5 +3021,152.0 +3022,152.8 +3023,151.6 +3024,159.8 +3025,159.4 +3026,157.8 +3027,152.1 +3028,149.9 +3029,146.0 +3030,151.0 +3031,156.8 +3032,155.9 +3033,162.6 +3034,148.6 +3035,145.5 +3036,145.3 +3037,143.4 +3038,145.3 +3039,153.5 +3040,148.7 +3041,152.6 +3042,144.6 +3043,144.6 +3044,135.3 +3045,149.6 +3046,149.6 +3047,151.9 +3048,143.8 +3049,140.5 +3050,138.1 +3051,139.6 +3052,140.8 +3053,141.6 +3054,149.2 +3055,150.6 +3056,131.9 +3057,138.2 +3058,131.3 +3059,140.5 +3060,146.4 +3061,141.2 +3062,138.0 +3063,135.9 +3064,127.2 +3065,134.4 +3066,132.3 +3067,142.9 +3068,145.1 +3069,139.5 +3070,131.0 +3071,131.6 +3072,125.2 +3073,141.0 +3074,139.4 +3075,136.4 +3076,134.4 +3077,126.8 +3078,124.0 +3079,138.6 +3080,134.1 +3081,129.8 +3082,137.3 +3083,133.2 +3084,129.7 +3085,123.5 +3086,128.9 +3087,142.3 +3088,132.0 +3089,131.4 +3090,136.3 +3091,127.1 +3092,122.6 +3093,130.8 +3094,130.7 +3095,133.7 +3096,138.0 +3097,131.5 +3098,124.2 +3099,121.1 +3100,123.8 +3101,135.8 +3102,131.5 +3103,132.2 +3104,130.4 +3105,126.0 +3106,121.0 +3107,116.8 +3108,125.3 +3109,139.7 +3110,127.6 +3111,123.9 +3112,129.5 +3113,117.2 +3114,128.6 +3115,124.3 +3116,134.3 +3117,130.2 +3118,125.0 +3119,126.8 +3120,127.0 +3121,121.2 +3122,126.1 +3123,128.7 +3124,134.7 +3125,131.1 +3126,121.3 +3127,119.9 +3128,122.8 +3129,129.9 +3130,131.3 +3131,134.6 +3132,133.9 +3133,124.4 +3134,118.3 +3135,113.2 +3136,126.4 +3137,134.1 +3138,121.8 +3139,131.8 +3140,123.3 +3141,114.7 +3142,127.5 +3143,127.4 +3144,133.6 +3145,137.0 +3146,131.1 +3147,124.4 +3148,124.3 +3149,123.3 +3150,120.3 +3151,138.6 +3152,135.8 +3153,133.3 +3154,119.4 +3155,124.6 +3156,118.0 +3157,133.0 +3158,145.4 +3159,140.0 +3160,126.2 +3161,130.2 +3162,129.9 +3163,130.2 +3164,134.5 +3165,134.5 +3166,135.1 +3167,135.2 +3168,129.9 +3169,127.1 +3170,125.4 +3171,136.6 +3172,146.5 +3173,147.5 +3174,143.2 +3175,130.3 +3176,128.5 +3177,128.2 +3178,137.3 +3179,143.9 +3180,150.2 +3181,139.2 +3182,137.4 +3183,127.3 +3184,137.6 +3185,142.0 +3186,141.2 +3187,138.3 +3188,137.3 +3189,141.6 +3190,130.4 +3191,140.2 +3192,143.8 +3193,151.2 +3194,152.5 +3195,146.0 +3196,137.7 +3197,144.5 +3198,144.1 +3199,147.4 +3200,141.9 +3201,150.4 +3202,149.5 +3203,145.1 +3204,138.1 +3205,143.6 +3206,150.2 +3207,156.5 +3208,155.7 +3209,152.0 +3210,146.8 +3211,144.8 +3212,149.9 +3213,147.6 +3214,156.3 +3215,156.3 +3216,162.6 +3217,152.7 +3218,148.0 +3219,146.5 +3220,150.8 +3221,155.1 +3222,157.6 +3223,163.5 +3224,148.5 +3225,159.0 +3226,152.9 +3227,156.1 +3228,168.8 +3229,165.7 +3230,164.8 +3231,154.0 +3232,147.9 +3233,158.6 +3234,159.6 +3235,168.9 +3236,162.5 +3237,170.6 +3238,158.7 +3239,161.4 +3240,156.5 +3241,170.4 +3242,176.2 +3243,170.2 +3244,167.2 +3245,162.4 +3246,157.5 +3247,167.7 +3248,163.9 +3249,178.6 +3250,175.3 +3251,171.1 +3252,166.9 +3253,164.5 +3254,165.0 +3255,166.4 +3256,171.4 +3257,168.1 +3258,164.8 +3259,169.4 +3260,164.5 +3261,166.8 +3262,175.0 +3263,174.8 +3264,173.5 +3265,167.8 +3266,172.5 +3267,159.6 +3268,162.6 +3269,177.7 +3270,174.5 +3271,183.5 +3272,173.8 +3273,173.8 +3274,169.8 +3275,166.8 +3276,172.2 +3277,185.3 +3278,177.5 +3279,177.0 +3280,176.1 +3281,171.5 +3282,169.9 +3283,177.1 +3284,174.8 +3285,176.0 +3286,180.5 +3287,175.7 +3288,167.6 +3289,169.5 +3290,183.0 +3291,178.9 +3292,174.4 +3293,185.8 +3294,183.4 +3295,173.4 +3296,169.3 +3297,171.0 +3298,172.0 +3299,183.8 +3300,182.0 +3301,176.4 +3302,176.1 +3303,171.7 +3304,178.1 +3305,185.1 +3306,172.5 +3307,179.5 +3308,176.2 +3309,168.3 +3310,175.7 +3311,180.2 +3312,181.9 +3313,183.2 +3314,173.5 +3315,177.7 +3316,170.1 +3317,178.7 +3318,184.3 +3319,181.7 +3320,184.6 +3321,179.2 +3322,172.8 +3323,166.1 +3324,166.2 +3325,176.1 +3326,176.4 +3327,185.2 +3328,181.0 +3329,171.1 +3330,176.8 +3331,176.8 +3332,173.3 +3333,186.0 +3334,186.1 +3335,182.7 +3336,168.6 +3337,173.0 +3338,168.7 +3339,183.6 +3340,171.5 +3341,174.1 +3342,175.6 +3343,170.5 +3344,162.5 +3345,173.2 +3346,168.8 +3347,173.2 +3348,180.8 +3349,169.8 +3350,164.1 +3351,168.7 +3352,161.5 +3353,172.7 +3354,173.6 +3355,175.6 +3356,175.3 +3357,162.5 +3358,158.2 +3359,165.5 +3360,159.2 +3361,178.9 +3362,176.6 +3363,174.5 +3364,164.6 +3365,156.2 +3366,159.3 +3367,168.9 +3368,178.8 +3369,171.0 +3370,163.3 +3371,163.0 +3372,150.8 +3373,160.9 +3374,167.0 +3375,164.1 +3376,172.8 +3377,169.9 +3378,158.5 +3379,155.5 +3380,156.4 +3381,155.3 +3382,169.2 +3383,166.3 +3384,162.6 +3385,158.6 +3386,156.2 +3387,157.6 +3388,163.8 +3389,168.0 +3390,157.1 +3391,158.7 +3392,153.5 +3393,154.7 +3394,152.4 +3395,154.7 +3396,156.6 +3397,157.4 +3398,153.9 +3399,146.1 +3400,139.4 +3401,150.6 +3402,161.5 +3403,152.0 +3404,151.4 +3405,154.0 +3406,148.5 +3407,137.8 +3408,144.2 +3409,145.1 +3410,154.1 +3411,156.2 +3412,152.3 +3413,139.0 +3414,147.0 +3415,143.5 +3416,146.7 +3417,151.0 +3418,152.8 +3419,141.5 +3420,141.4 +3421,143.5 +3422,142.6 +3423,137.9 +3424,140.9 +3425,148.5 +3426,138.3 +3427,142.2 +3428,137.7 +3429,137.4 +3430,145.5 +3431,147.6 +3432,140.5 +3433,143.0 +3434,141.2 +3435,128.3 +3436,130.9 +3437,138.4 +3438,134.8 +3439,148.7 +3440,144.5 +3441,130.7 +3442,130.0 +3443,131.2 +3444,141.8 +3445,142.8 +3446,147.3 +3447,139.6 +3448,135.5 +3449,135.3 +3450,133.3 +3451,134.1 +3452,136.4 +3453,140.0 +3454,135.5 +3455,131.1 +3456,127.2 +3457,130.3 +3458,127.1 +3459,138.4 +3460,139.2 +3461,140.6 +3462,130.6 +3463,130.4 +3464,124.7 +3465,129.2 +3466,137.3 +3467,137.2 +3468,133.4 +3469,121.4 +3470,125.8 +3471,124.5 +3472,135.1 +3473,140.5 +3474,138.5 +3475,136.0 +3476,127.3 +3477,130.7 +3478,125.5 +3479,135.6 +3480,132.2 +3481,138.4 +3482,129.2 +3483,126.1 +3484,119.6 +3485,120.8 +3486,129.1 +3487,128.9 +3488,138.8 +3489,134.2 +3490,127.1 +3491,116.1 +3492,127.1 +3493,126.7 +3494,128.3 +3495,135.2 +3496,136.5 +3497,129.0 +3498,120.7 +3499,116.9 +3500,128.2 +3501,141.5 +3502,134.3 +3503,129.5 +3504,124.9 +3505,125.8 +3506,124.8 +3507,126.7 +3508,134.2 +3509,138.0 +3510,128.2 +3511,116.6 +3512,129.0 +3513,128.1 +3514,131.7 +3515,135.9 +3516,138.3 +3517,135.6 +3518,132.6 +3519,121.6 +3520,128.3 +3521,131.4 +3522,137.4 +3523,139.8 +3524,147.3 +3525,137.7 +3526,127.5 +3527,133.8 +3528,140.1 +3529,140.4 +3530,140.8 +3531,132.8 +3532,136.2 +3533,132.7 +3534,129.5 +3535,136.2 +3536,147.6 +3537,148.8 +3538,135.8 +3539,139.1 +3540,135.9 +3541,139.7 +3542,145.1 +3543,144.1 +3544,149.7 +3545,135.5 +3546,141.0 +3547,139.4 +3548,134.4 +3549,144.7 +3550,151.1 +3551,149.3 +3552,144.6 +3553,140.5 +3554,136.9 +3555,146.1 +3556,144.7 +3557,152.8 +3558,150.2 +3559,150.6 +3560,140.8 +3561,137.5 +3562,147.0 +3563,149.4 +3564,149.3 +3565,156.1 +3566,154.3 +3567,146.0 +3568,141.1 +3569,147.8 +3570,155.8 +3571,151.9 +3572,154.7 +3573,161.8 +3574,151.3 +3575,147.7 +3576,154.9 +3577,160.6 +3578,157.6 +3579,162.6 +3580,158.6 +3581,155.0 +3582,152.8 +3583,148.1 +3584,157.7 +3585,157.3 +3586,160.1 +3587,154.3 +3588,157.6 +3589,156.0 +3590,153.5 +3591,153.8 +3592,168.3 +3593,160.3 +3594,166.0 +3595,166.3 +3596,160.7 +3597,147.8 +3598,167.1 +3599,169.8 +3600,168.0 +3601,165.9 +3602,158.8 +3603,163.5 +3604,155.2 +3605,174.7 +3606,175.5 +3607,176.5 +3608,171.5 +3609,162.3 +3610,160.2 +3611,161.1 +3612,170.9 +3613,168.8 +3614,173.4 +3615,172.1 +3616,168.7 +3617,162.2 +3618,169.7 +3619,171.9 +3620,180.4 +3621,177.0 +3622,176.6 +3623,162.1 +3624,173.0 +3625,172.4 +3626,176.7 +3627,180.5 +3628,178.6 +3629,174.8 +3630,176.3 +3631,172.4 +3632,167.0 +3633,178.5 +3634,181.7 +3635,188.7 +3636,182.1 +3637,168.9 +3638,174.3 +3639,174.1 +3640,182.2 +3641,187.9 +3642,181.3 +3643,193.6 +3644,184.1 +3645,182.2 +3646,174.1 +3647,178.1 +3648,184.3 +3649,185.3 +3650,186.0 +3651,175.9 +3652,170.3 +3653,179.1 +3654,180.4 +3655,187.4 +3656,185.6 +3657,190.1 +3658,181.1 +3659,177.2 +3660,176.6 +3661,191.4 +3662,185.1 +3663,184.2 +3664,186.8 +3665,174.4 +3666,176.7 +3667,170.6 +3668,171.0 +3669,183.8 +3670,184.0 +3671,184.0 +3672,177.6 +3673,177.5 +3674,174.9 +3675,184.1 +3676,192.1 +3677,189.7 +3678,185.0 +3679,184.2 +3680,178.8 +3681,176.0 +3682,186.1 +3683,184.1 +3684,189.3 +3685,180.4 +3686,180.6 +3687,164.7 +3688,176.6 +3689,181.4 +3690,186.5 +3691,188.1 +3692,191.6 +3693,173.4 +3694,173.5 +3695,171.7 +3696,177.4 +3697,183.5 +3698,193.5 +3699,182.3 +3700,184.4 +3701,178.4 +3702,168.9 +3703,181.6 +3704,181.4 +3705,179.2 +3706,182.3 +3707,172.6 +3708,173.1 +3709,176.8 +3710,178.0 +3711,179.0 +3712,179.3 +3713,180.6 +3714,176.7 +3715,166.6 +3716,176.2 +3717,171.8 +3718,180.2 +3719,180.7 +3720,173.2 +3721,175.0 +3722,170.9 +3723,172.0 +3724,176.4 +3725,177.6 +3726,180.7 +3727,171.1 +3728,172.2 +3729,161.2 +3730,168.0 +3731,171.7 +3732,168.4 +3733,177.6 +3734,174.8 +3735,168.6 +3736,155.7 +3737,161.9 +3738,165.7 +3739,177.8 +3740,175.4 +3741,165.4 +3742,162.6 +3743,159.3 +3744,161.0 +3745,168.5 +3746,164.5 +3747,173.4 +3748,167.9 +3749,159.6 +3750,151.3 +3751,162.6 +3752,155.7 +3753,165.7 +3754,166.7 +3755,155.1 +3756,161.6 +3757,157.1 +3758,157.4 +3759,163.9 +3760,168.1 +3761,168.3 +3762,157.3 +3763,149.5 +3764,149.3 +3765,152.6 +3766,154.0 +3767,154.6 +3768,167.4 +3769,158.0 +3770,151.8 +3771,148.6 +3772,145.2 +3773,149.8 +3774,154.3 +3775,154.3 +3776,155.5 +3777,149.1 +3778,146.5 +3779,145.5 +3780,151.7 +3781,151.7 +3782,152.2 +3783,150.9 +3784,144.7 +3785,145.2 +3786,147.1 +3787,152.2 +3788,148.9 +3789,151.9 +3790,148.7 +3791,146.5 +3792,144.8 +3793,148.5 +3794,139.5 +3795,148.8 +3796,153.4 +3797,144.9 +3798,150.1 +3799,137.4 +3800,137.2 +3801,150.7 +3802,149.4 +3803,145.3 +3804,146.7 +3805,141.8 +3806,135.5 +3807,142.5 +3808,139.2 +3809,141.0 +3810,143.5 +3811,143.8 +3812,132.0 +3813,136.4 +3814,133.8 +3815,131.1 +3816,139.5 +3817,141.3 +3818,147.6 +3819,131.8 +3820,134.6 +3821,133.8 +3822,140.9 +3823,143.6 +3824,131.4 +3825,137.7 +3826,132.2 +3827,131.4 +3828,126.7 +3829,132.9 +3830,137.9 +3831,139.9 +3832,132.3 +3833,135.5 +3834,127.2 +3835,130.4 +3836,134.8 +3837,136.5 +3838,147.4 +3839,138.7 +3840,132.8 +3841,135.5 +3842,130.9 +3843,133.0 +3844,134.2 +3845,130.9 +3846,135.1 +3847,131.6 +3848,131.4 +3849,130.2 +3850,131.2 +3851,142.2 +3852,142.8 +3853,134.5 +3854,131.2 +3855,129.9 +3856,130.8 +3857,132.5 +3858,138.0 +3859,140.1 +3860,135.5 +3861,132.0 +3862,124.6 +3863,124.3 +3864,129.6 +3865,137.5 +3866,137.8 +3867,143.7 +3868,131.7 +3869,131.9 +3870,130.6 +3871,133.0 +3872,138.3 +3873,137.5 +3874,141.0 +3875,130.3 +3876,133.3 +3877,128.0 +3878,134.8 +3879,143.0 +3880,138.8 +3881,136.5 +3882,133.4 +3883,127.9 +3884,130.0 +3885,142.0 +3886,136.8 +3887,143.9 +3888,134.7 +3889,139.5 +3890,131.4 +3891,127.3 +3892,140.9 +3893,143.8 +3894,146.4 +3895,142.2 +3896,133.0 +3897,139.4 +3898,123.4 +3899,142.8 +3900,150.9 +3901,152.9 +3902,147.4 +3903,137.0 +3904,141.7 +3905,134.4 +3906,146.7 +3907,154.2 +3908,150.8 +3909,145.8 +3910,143.2 +3911,140.4 +3912,143.8 +3913,142.8 +3914,151.4 +3915,152.3 +3916,152.7 +3917,150.1 +3918,145.1 +3919,143.3 +3920,154.2 +3921,156.7 +3922,151.0 +3923,153.4 +3924,155.7 +3925,147.0 +3926,141.3 +3927,155.7 +3928,158.1 +3929,159.9 +3930,152.8 +3931,148.8 +3932,146.9 +3933,146.5 +3934,154.1 +3935,153.8 +3936,161.4 +3937,158.4 +3938,157.3 +3939,154.5 +3940,146.5 +3941,158.5 +3942,170.0 +3943,169.0 +3944,164.1 +3945,162.1 +3946,159.3 +3947,161.1 +3948,167.9 +3949,167.6 +3950,165.9 +3951,168.8 +3952,164.1 +3953,156.5 +3954,160.3 +3955,161.1 +3956,173.9 +3957,170.6 +3958,170.1 +3959,170.0 +3960,162.4 +3961,158.1 +3962,169.4 +3963,173.9 +3964,168.6 +3965,170.4 +3966,167.6 +3967,157.0 +3968,164.6 +3969,164.5 +3970,179.8 +3971,171.7 +3972,176.8 +3973,164.0 +3974,169.9 +3975,171.8 +3976,172.7 +3977,177.6 +3978,183.0 +3979,176.2 +3980,167.0 +3981,174.4 +3982,170.8 +3983,179.5 +3984,179.5 +3985,181.9 +3986,186.2 +3987,169.0 +3988,171.2 +3989,173.5 +3990,179.2 +3991,182.4 +3992,186.2 +3993,184.8 +3994,180.1 +3995,173.7 +3996,168.0 +3997,178.3 +3998,176.4 +3999,185.9 +4000,184.4 +4001,178.9 +4002,181.7 +4003,181.6 +4004,175.3 +4005,180.5 +4006,180.2 +4007,190.5 +4008,181.8 +4009,169.2 +4010,178.4 +4011,182.1 +4012,194.3 +4013,189.1 +4014,190.3 +4015,188.2 +4016,174.2 +4017,185.6 +4018,189.4 +4019,185.4 +4020,186.5 +4021,193.7 +4022,189.2 +4023,177.1 +4024,175.8 +4025,189.2 +4026,194.3 +4027,189.1 +4028,182.7 +4029,187.0 +4030,185.2 +4031,175.2 +4032,181.3 +4033,185.9 +4034,185.5 +4035,190.0 +4036,186.2 +4037,185.1 +4038,173.9 +4039,186.3 +4040,188.7 +4041,191.2 +4042,191.3 +4043,182.6 +4044,176.7 +4045,180.6 +4046,185.6 +4047,188.1 +4048,188.1 +4049,188.0 +4050,176.7 +4051,184.2 +4052,179.4 +4053,179.1 +4054,188.2 +4055,188.0 +4056,190.3 +4057,184.7 +4058,176.6 +4059,183.4 +4060,180.8 +4061,180.9 +4062,188.3 +4063,190.5 +4064,177.1 +4065,175.7 +4066,178.0 +4067,189.4 +4068,187.9 +4069,192.5 +4070,182.4 +4071,178.7 +4072,169.6 +4073,173.8 +4074,175.0 +4075,182.8 +4076,183.1 +4077,176.6 +4078,177.1 +4079,167.1 +4080,177.7 +4081,169.7 +4082,179.1 +4083,183.4 +4084,179.8 +4085,172.9 +4086,168.2 +4087,171.3 +4088,171.7 +4089,180.9 +4090,181.1 +4091,173.6 +4092,172.2 +4093,173.6 +4094,174.4 +4095,167.3 +4096,179.6 +4097,185.3 +4098,181.6 +4099,171.3 +4100,165.7 +4101,165.8 +4102,172.1 +4103,181.2 +4104,177.0 +4105,182.5 +4106,164.2 +4107,167.1 +4108,162.3 +4109,171.6 +4110,179.1 +4111,170.2 +4112,170.0 +4113,167.0 +4114,158.9 +4115,162.4 +4116,170.5 +4117,172.0 +4118,166.1 +4119,161.5 +4120,158.6 +4121,156.1 +4122,157.9 +4123,164.6 +4124,155.6 +4125,167.0 +4126,162.0 +4127,154.0 +4128,153.9 +4129,153.5 +4130,157.2 +4131,161.3 +4132,169.7 +4133,168.1 +4134,159.1 +4135,148.4 +4136,152.8 +4137,154.4 +4138,159.4 +4139,161.1 +4140,161.7 +4141,151.2 +4142,149.2 +4143,145.2 +4144,153.4 +4145,159.6 +4146,162.7 +4147,154.2 +4148,145.5 +4149,142.9 +4150,150.4 +4151,151.2 +4152,163.9 +4153,158.0 +4154,156.0 +4155,152.7 +4156,138.9 +4157,147.5 +4158,150.1 +4159,154.3 +4160,154.4 +4161,152.4 +4162,138.7 +4163,137.9 +4164,137.6 +4165,148.5 +4166,154.9 +4167,150.4 +4168,148.0 +4169,150.7 +4170,138.6 +4171,132.1 +4172,149.4 +4173,151.7 +4174,149.2 +4175,151.6 +4176,135.1 +4177,139.6 +4178,142.9 +4179,136.6 +4180,153.9 +4181,147.1 +4182,142.5 +4183,134.1 +4184,141.2 +4185,136.3 +4186,141.6 +4187,145.2 +4188,140.7 +4189,143.3 +4190,139.6 +4191,132.9 +4192,131.3 +4193,136.7 +4194,144.8 +4195,139.4 +4196,142.8 +4197,140.3 +4198,129.0 +4199,136.9 +4200,137.9 +4201,144.3 +4202,143.2 +4203,139.4 +4204,141.2 +4205,134.0 +4206,134.9 +4207,137.1 +4208,146.4 +4209,150.8 +4210,143.0 +4211,134.7 +4212,129.2 +4213,125.5 +4214,142.6 +4215,138.0 +4216,145.4 +4217,140.9 +4218,142.1 +4219,132.2 +4220,139.7 +4221,139.6 +4222,147.9 +4223,141.1 +4224,142.7 +4225,130.9 +4226,138.4 +4227,136.3 +4228,142.3 +4229,138.4 +4230,141.6 +4231,136.6 +4232,141.3 +4233,131.4 +4234,134.7 +4235,136.8 +4236,143.4 +4237,136.9 +4238,142.0 +4239,131.5 +4240,137.2 +4241,134.2 +4242,142.3 +4243,139.7 +4244,145.7 +4245,136.8 +4246,142.8 +4247,131.6 +4248,139.4 +4249,139.1 +4250,139.1 +4251,142.5 +4252,138.7 +4253,132.9 +4254,137.7 +4255,134.3 +4256,140.0 +4257,152.3 +4258,155.6 +4259,144.0 +4260,142.3 +4261,139.4 +4262,139.8 +4263,143.5 +4264,157.2 +4265,145.7 +4266,148.8 +4267,150.9 +4268,139.3 +4269,136.5 +4270,140.2 +4271,149.1 +4272,152.2 +4273,148.1 +4274,145.0 +4275,138.8 +4276,139.8 +4277,144.2 +4278,147.8 +4279,154.3 +4280,150.6 +4281,149.2 +4282,146.0 +4283,147.4 +4284,146.2 +4285,152.8 +4286,153.8 +4287,160.6 +4288,149.0 +4289,149.2 +4290,144.7 +4291,153.6 +4292,156.9 +4293,162.7 +4294,160.4 +4295,156.9 +4296,149.4 +4297,155.6 +4298,163.7 +4299,166.7 +4300,169.0 +4301,162.9 +4302,156.1 +4303,153.8 +4304,157.0 +4305,160.9 +4306,166.3 +4307,168.5 +4308,162.5 +4309,158.3 +4310,159.0 +4311,158.7 +4312,158.9 +4313,174.1 +4314,164.2 +4315,169.4 +4316,160.7 +4317,155.7 +4318,154.9 +4319,169.1 +4320,176.0 +4321,170.9 +4322,169.7 +4323,170.8 +4324,162.5 +4325,172.6 +4326,162.6 +4327,167.0 +4328,176.0 +4329,173.8 +4330,169.3 +4331,161.4 +4332,162.0 +4333,170.9 +4334,177.2 +4335,182.0 +4336,176.1 +4337,169.2 +4338,162.4 +4339,169.3 +4340,172.5 +4341,178.0 +4342,176.1 +4343,184.3 +4344,180.8 +4345,174.4 +4346,174.1 +4347,182.2 +4348,174.9 +4349,180.2 +4350,180.7 +4351,184.8 +4352,177.2 +4353,180.8 +4354,172.1 +4355,194.6 +4356,190.9 +4357,185.3 +4358,178.9 +4359,174.3 +4360,181.6 +4361,183.3 +4362,183.3 +4363,185.1 +4364,184.9 +4365,173.0 +4366,178.0 +4367,176.5 +4368,190.6 +4369,186.2 +4370,196.2 +4371,187.7 +4372,182.9 +4373,182.1 +4374,180.0 +4375,194.5 +4376,186.3 +4377,192.2 +4378,187.3 +4379,185.8 +4380,177.8 +4381,179.2 +4382,190.1 +4383,193.2 +4384,196.2 +4385,192.7 +4386,188.8 +4387,178.6 +4388,182.0 +4389,190.4 +4390,193.1 +4391,187.8 +4392,186.9 +4393,182.9 +4394,175.7 +4395,186.6 +4396,188.8 +4397,195.9 +4398,190.8 +4399,197.6 +4400,193.1 +4401,185.0 +4402,183.3 +4403,186.0 +4404,197.0 +4405,199.5 +4406,191.0 +4407,186.8 +4408,182.1 +4409,186.0 +4410,190.0 +4411,192.8 +4412,192.8 +4413,196.2 +4414,181.9 +4415,176.7 +4416,177.7 +4417,187.6 +4418,188.7 +4419,200.1 +4420,190.5 +4421,182.4 +4422,180.4 +4423,185.9 +4424,191.9 +4425,192.0 +4426,190.3 +4427,188.2 +4428,183.8 +4429,179.1 +4430,181.2 +4431,183.5 +4432,183.7 +4433,189.6 +4434,188.4 +4435,174.1 +4436,177.4 +4437,185.8 +4438,179.0 +4439,185.4 +4440,198.9 +4441,184.8 +4442,184.7 +4443,177.3 +4444,184.2 +4445,176.6 +4446,178.7 +4447,189.8 +4448,184.8 +4449,183.9 +4450,174.9 +4451,174.7 +4452,178.4 +4453,184.7 +4454,184.8 +4455,172.7 +4456,178.8 +4457,173.7 +4458,169.6 +4459,181.2 +4460,181.5 +4461,172.8 +4462,180.2 +4463,175.1 +4464,168.5 +4465,174.9 +4466,182.1 +4467,179.5 +4468,182.7 +4469,180.0 +4470,174.0 +4471,163.8 +4472,167.9 +4473,176.0 +4474,170.0 +4475,177.0 +4476,171.7 +4477,169.3 +4478,162.8 +4479,169.5 +4480,163.6 +4481,168.0 +4482,176.4 +4483,173.1 +4484,164.7 +4485,161.8 +4486,159.2 +4487,169.0 +4488,175.9 +4489,170.6 +4490,168.7 +4491,154.8 +4492,161.1 +4493,158.3 +4494,163.7 +4495,165.7 +4496,176.2 +4497,166.0 +4498,165.6 +4499,161.2 +4500,158.2 +4501,156.7 +4502,158.1 +4503,165.7 +4504,159.9 +4505,154.9 +4506,154.0 +4507,152.8 +4508,155.2 +4509,159.1 +4510,169.1 +4511,165.0 +4512,155.1 +4513,153.5 +4514,162.3 +4515,158.7 +4516,163.4 +4517,158.3 +4518,160.8 +4519,149.2 +4520,146.5 +4521,149.6 +4522,146.3 +4523,158.9 +4524,150.7 +4525,149.2 +4526,148.7 +4527,144.5 +4528,146.9 +4529,155.3 +4530,160.7 +4531,148.5 +4532,152.2 +4533,147.0 +4534,143.6 +4535,140.7 +4536,148.7 +4537,155.9 +4538,149.0 +4539,147.7 +4540,150.4 +4541,140.6 +4542,150.8 +4543,146.3 +4544,147.9 +4545,145.5 +4546,152.4 +4547,141.7 +4548,127.5 +4549,138.5 +4550,139.6 +4551,151.2 +4552,145.5 +4553,143.4 +4554,136.3 +4555,129.4 +4556,144.2 +4557,139.2 +4558,144.1 +4559,145.2 +4560,142.5 +4561,136.9 +4562,136.0 +4563,138.7 +4564,148.6 +4565,147.0 +4566,150.8 +4567,140.4 +4568,140.9 +4569,136.0 +4570,137.7 +4571,145.7 +4572,145.3 +4573,138.8 +4574,146.1 +4575,138.5 +4576,130.4 +4577,136.0 +4578,141.3 +4579,153.3 +4580,145.1 +4581,144.6 +4582,140.6 +4583,134.7 +4584,138.0 +4585,141.2 +4586,143.5 +4587,151.8 +4588,142.6 +4589,145.5 +4590,126.6 +4591,144.3 +4592,135.0 +4593,146.8 +4594,147.8 +4595,143.8 +4596,137.2 +4597,133.4 +4598,137.8 +4599,144.4 +4600,139.9 +4601,149.2 +4602,145.4 +4603,142.2 +4604,138.8 +4605,141.5 +4606,144.9 +4607,143.7 +4608,142.9 +4609,145.9 +4610,146.2 +4611,135.6 +4612,143.9 +4613,147.8 +4614,145.7 +4615,154.3 +4616,148.4 +4617,145.9 +4618,141.0 +4619,136.3 +4620,143.9 +4621,147.2 +4622,148.4 +4623,151.4 +4624,141.2 +4625,145.6 +4626,138.9 +4627,147.8 +4628,154.0 +4629,162.6 +4630,150.8 +4631,146.9 +4632,145.0 +4633,140.4 +4634,154.4 +4635,165.6 +4636,161.6 +4637,152.7 +4638,144.0 +4639,138.4 +4640,144.2 +4641,157.3 +4642,156.3 +4643,152.0 +4644,160.0 +4645,152.5 +4646,151.4 +4647,152.0 +4648,150.3 +4649,169.2 +4650,160.8 +4651,152.7 +4652,162.1 +4653,147.9 +4654,145.8 +4655,158.3 +4656,166.1 +4657,170.4 +4658,164.5 +4659,153.9 +4660,155.5 +4661,150.9 +4662,163.9 +4663,164.4 +4664,165.6 +4665,163.2 +4666,157.7 +4667,160.0 +4668,154.7 +4669,160.9 +4670,167.7 +4671,177.3 +4672,160.9 +4673,166.9 +4674,158.6 +4675,159.5 +4676,169.0 +4677,165.7 +4678,175.4 +4679,174.9 +4680,170.0 +4681,163.3 +4682,156.9 +4683,172.5 +4684,175.9 +4685,171.8 +4686,168.3 +4687,163.6 +4688,162.4 +4689,169.2 +4690,173.9 +4691,176.0 +4692,179.8 +4693,181.2 +4694,168.8 +4695,167.2 +4696,174.7 +4697,170.3 +4698,181.0 +4699,182.3 +4700,181.4 +4701,179.3 +4702,170.6 +4703,181.2 +4704,180.4 +4705,185.7 +4706,186.7 +4707,182.4 +4708,183.1 +4709,174.1 +4710,177.4 +4711,185.6 +4712,180.7 +4713,184.5 +4714,185.2 +4715,179.2 +4716,174.6 +4717,173.7 +4718,182.1 +4719,187.2 +4720,182.6 +4721,189.8 +4722,185.4 +4723,181.1 +4724,186.0 +4725,179.3 +4726,191.3 +4727,188.9 +4728,185.2 +4729,188.2 +4730,186.0 +4731,185.9 +4732,186.9 +4733,196.0 +4734,198.0 +4735,190.9 +4736,189.8 +4737,183.3 +4738,183.1 +4739,189.5 +4740,196.4 +4741,192.5 +4742,202.5 +4743,187.1 +4744,185.4 +4745,183.0 +4746,193.8 +4747,196.3 +4748,185.5 +4749,191.7 +4750,189.8 +4751,186.4 +4752,185.7 +4753,180.2 +4754,197.1 +4755,197.7 +4756,197.4 +4757,186.6 +4758,185.3 +4759,188.7 +4760,184.2 +4761,200.3 +4762,201.6 +4763,194.4 +4764,190.5 +4765,192.6 +4766,185.4 +4767,188.1 +4768,199.9 +4769,199.4 +4770,190.1 +4771,189.5 +4772,193.3 +4773,186.2 +4774,190.8 +4775,201.6 +4776,198.4 +4777,194.6 +4778,195.6 +4779,185.6 +4780,187.1 +4781,197.2 +4782,199.5 +4783,199.1 +4784,196.6 +4785,190.9 +4786,191.1 +4787,184.6 +4788,197.4 +4789,202.3 +4790,190.4 +4791,197.9 +4792,184.5 +4793,187.5 +4794,193.6 +4795,188.1 +4796,200.2 +4797,202.2 +4798,189.0 +4799,188.5 +4800,186.5 +4801,188.3 +4802,193.2 +4803,192.0 +4804,197.7 +4805,195.5 +4806,187.1 +4807,182.1 +4808,179.9 +4809,185.8 +4810,192.1 +4811,188.9 +4812,191.9 +4813,186.5 +4814,178.4 +4815,185.8 +4816,190.9 +4817,192.0 +4818,189.9 +4819,188.3 +4820,184.9 +4821,167.6 +4822,176.7 +4823,176.5 +4824,181.5 +4825,185.4 +4826,185.7 +4827,174.0 +4828,178.5 +4829,166.6 +4830,182.7 +4831,190.4 +4832,184.0 +4833,175.3 +4834,178.8 +4835,165.7 +4836,172.0 +4837,166.1 +4838,178.0 +4839,185.4 +4840,181.2 +4841,166.1 +4842,169.4 +4843,176.2 +4844,172.6 +4845,187.4 +4846,182.0 +4847,179.0 +4848,165.3 +4849,172.6 +4850,167.8 +4851,166.1 +4852,171.7 +4853,179.6 +4854,172.4 +4855,169.6 +4856,160.7 +4857,158.4 +4858,170.5 +4859,174.8 +4860,166.1 +4861,171.7 +4862,167.4 +4863,150.6 +4864,162.7 +4865,163.0 +4866,168.7 +4867,173.0 +4868,168.5 +4869,157.5 +4870,155.5 +4871,160.8 +4872,166.5 +4873,168.5 +4874,168.8 +4875,164.0 +4876,160.9 +4877,156.3 +4878,154.0 +4879,156.5 +4880,166.9 +4881,164.6 +4882,160.9 +4883,154.1 +4884,155.4 +4885,150.2 +4886,157.0 +4887,158.4 +4888,170.7 +4889,155.8 +4890,151.9 +4891,153.3 +4892,150.2 +4893,152.0 +4894,156.8 +4895,155.4 +4896,150.7 +4897,156.4 +4898,149.6 +4899,148.6 +4900,155.0 +4901,155.2 +4902,153.9 +4903,158.7 +4904,149.1 +4905,142.0 +4906,146.1 +4907,150.4 +4908,159.1 +4909,146.6 +4910,158.8 +4911,142.2 +4912,148.5 +4913,144.2 +4914,152.2 +4915,158.8 +4916,153.5 +4917,147.2 +4918,143.6 +4919,139.5 +4920,139.1 +4921,148.6 +4922,145.9 +4923,148.1 +4924,147.1 +4925,149.9 +4926,138.7 +4927,144.5 +4928,150.9 +4929,151.5 +4930,152.8 +4931,143.1 +4932,137.2 +4933,135.9 +4934,131.1 +4935,146.8 +4936,148.2 +4937,156.4 +4938,147.3 +4939,151.4 +4940,138.8 +4941,136.9 +4942,143.4 +4943,147.6 +4944,150.9 +4945,146.2 +4946,144.6 +4947,140.5 +4948,133.8 +4949,143.9 +4950,155.5 +4951,150.9 +4952,146.8 +4953,140.8 +4954,140.8 +4955,136.0 +4956,149.3 +4957,152.0 +4958,146.7 +4959,148.6 +4960,145.3 +4961,140.9 +4962,141.2 +4963,145.4 +4964,145.4 +4965,148.4 +4966,149.5 +4967,154.1 +4968,142.3 +4969,135.9 +4970,145.3 +4971,152.6 +4972,153.5 +4973,154.0 +4974,148.9 +4975,142.1 +4976,141.4 +4977,155.4 +4978,158.7 +4979,152.9 +4980,147.1 +4981,144.3 +4982,138.9 +4983,142.9 +4984,151.7 +4985,152.3 +4986,151.8 +4987,155.9 +4988,145.7 +4989,139.1 +4990,151.2 +4991,146.3 +4992,161.6 +4993,159.3 +4994,156.5 +4995,155.1 +4996,146.8 +4997,147.8 +4998,148.7 +4999,160.2 +5000,166.8 diff --git a/agents/evals/fixtures/cases/area-basic-seaborn-renamed/case.json b/agents/evals/fixtures/cases/area-basic-seaborn-renamed/case.json new file mode 100644 index 0000000000..7b9606b271 --- /dev/null +++ b/agents/evals/fixtures/cases/area-basic-seaborn-renamed/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "area-basic", + "library": "seaborn", + "locale": "de", + "perturbation": "renamed", + "bindings": [ + { + "role": "x", + "column": "tag_nr" + }, + { + "role": "y", + "column": "energieverbrauch_mwh" + } + ], + "expected": "accepted", + "tags": [ + "area", + "renamed", + "synthetic", + "renamed-headers" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 707, renamed)" +} diff --git a/agents/evals/fixtures/cases/area-basic-seaborn-renamed/data.csv b/agents/evals/fixtures/cases/area-basic-seaborn-renamed/data.csv new file mode 100644 index 0000000000..75a7dc5152 --- /dev/null +++ b/agents/evals/fixtures/cases/area-basic-seaborn-renamed/data.csv @@ -0,0 +1,91 @@ +tag_nr,energieverbrauch_mwh +1,147.6 +2,138.8 +3,153.7 +4,138.5 +5,135.4 +6,139.8 +7,144.9 +8,149.1 +9,145.9 +10,149.8 +11,141.8 +12,136.3 +13,147.1 +14,146.4 +15,151.6 +16,150.7 +17,151.2 +18,148.5 +19,141.4 +20,148.1 +21,135.8 +22,155.9 +23,150.1 +24,141.6 +25,142.0 +26,144.0 +27,134.5 +28,148.7 +29,150.0 +30,155.0 +31,150.4 +32,147.5 +33,137.6 +34,136.6 +35,150.9 +36,153.8 +37,155.0 +38,147.6 +39,140.9 +40,133.6 +41,137.7 +42,145.8 +43,150.2 +44,151.6 +45,144.1 +46,138.2 +47,131.3 +48,132.4 +49,147.6 +50,139.6 +51,149.7 +52,148.4 +53,147.5 +54,136.8 +55,140.6 +56,143.1 +57,146.2 +58,145.5 +59,144.4 +60,137.4 +61,138.5 +62,135.2 +63,143.3 +64,150.2 +65,150.4 +66,136.3 +67,136.5 +68,133.9 +69,126.3 +70,136.2 +71,130.1 +72,141.8 +73,134.3 +74,135.7 +75,130.6 +76,124.6 +77,135.2 +78,137.1 +79,140.5 +80,131.2 +81,124.6 +82,122.6 +83,126.2 +84,137.7 +85,130.4 +86,135.6 +87,138.5 +88,131.9 +89,121.7 +90,130.0 diff --git a/agents/evals/fixtures/cases/area-basic-seaborn-x10/case.json b/agents/evals/fixtures/cases/area-basic-seaborn-x10/case.json new file mode 100644 index 0000000000..b6feafa480 --- /dev/null +++ b/agents/evals/fixtures/cases/area-basic-seaborn-x10/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "area-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "x10", + "bindings": [ + { + "role": "x", + "column": "Day" + }, + { + "role": "y", + "column": "Energy Use (MWh)" + } + ], + "expected": "accepted", + "tags": [ + "area", + "x10", + "synthetic", + "scaled-values" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 707, x10)" +} diff --git a/agents/evals/fixtures/cases/area-basic-seaborn-x10/data.csv b/agents/evals/fixtures/cases/area-basic-seaborn-x10/data.csv new file mode 100644 index 0000000000..f682e5e763 --- /dev/null +++ b/agents/evals/fixtures/cases/area-basic-seaborn-x10/data.csv @@ -0,0 +1,91 @@ +Day,Energy Use (MWh) +1,1475.9 +2,1388.3 +3,1537.1 +4,1385.2 +5,1353.8 +6,1398.0 +7,1449.3 +8,1491.3 +9,1458.8 +10,1497.6 +11,1417.8 +12,1362.7 +13,1470.7 +14,1463.8 +15,1515.9 +16,1507.2 +17,1512.1 +18,1485.4 +19,1413.7 +20,1480.8 +21,1357.7 +22,1559.1 +23,1500.7 +24,1415.7 +25,1419.6 +26,1439.9 +27,1344.7 +28,1487.3 +29,1500.4 +30,1550.3 +31,1503.8 +32,1474.9 +33,1376.2 +34,1365.8 +35,1509.0 +36,1538.3 +37,1549.6 +38,1475.8 +39,1409.0 +40,1336.1 +41,1377.1 +42,1457.7 +43,1501.7 +44,1515.7 +45,1441.2 +46,1381.8 +47,1313.3 +48,1324.1 +49,1476.4 +50,1396.2 +51,1497.0 +52,1483.5 +53,1475.3 +54,1367.9 +55,1406.2 +56,1431.5 +57,1461.8 +58,1455.4 +59,1443.5 +60,1374.5 +61,1385.0 +62,1352.2 +63,1432.8 +64,1502.3 +65,1504.2 +66,1363.2 +67,1364.6 +68,1339.4 +69,1263.1 +70,1361.9 +71,1300.9 +72,1417.7 +73,1343.3 +74,1357.0 +75,1306.4 +76,1246.5 +77,1352.1 +78,1370.6 +79,1404.8 +80,1311.9 +81,1246.4 +82,1226.3 +83,1262.0 +84,1377.2 +85,1303.9 +86,1356.0 +87,1384.5 +88,1319.0 +89,1217.3 +90,1300.0 diff --git a/agents/evals/fixtures/cases/bar-grouped-matplotlib-date/case.json b/agents/evals/fixtures/cases/bar-grouped-matplotlib-date/case.json new file mode 100644 index 0000000000..8494efbd6b --- /dev/null +++ b/agents/evals/fixtures/cases/bar-grouped-matplotlib-date/case.json @@ -0,0 +1,30 @@ +{ + "spec_id": "bar-grouped", + "library": "matplotlib", + "locale": "en", + "perturbation": "date", + "bindings": [ + { + "role": "category", + "column": "Subject" + }, + { + "role": "group", + "column": "Grade Level" + }, + { + "role": "value", + "column": "Test Score" + } + ], + "expected": "accepted", + "tags": [ + "bar", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 303, date)" +} diff --git a/agents/evals/fixtures/cases/bar-grouped-matplotlib-date/data.csv b/agents/evals/fixtures/cases/bar-grouped-matplotlib-date/data.csv new file mode 100644 index 0000000000..c6a4430116 --- /dev/null +++ b/agents/evals/fixtures/cases/bar-grouped-matplotlib-date/data.csv @@ -0,0 +1,16 @@ +Subject,Grade Level,Test Score,Exam Date,Graded On +Mathematics,Grade 7,66.1,21.01.2026,2026-01-23 +Mathematics,Grade 8,69.9,13.06.2026,2026-06-15 +Mathematics,Grade 9,71.8,22.05.2026,2026-05-22 +Physics,Grade 7,64.6,23.01.2026,2026-01-24 +Physics,Grade 8,65.3,21.02.2026,2026-02-21 +Physics,Grade 9,74.1,23.04.2026,2026-04-25 +Chemistry,Grade 7,63.4,22.04.2026,2026-04-23 +Chemistry,Grade 8,66.5,17.03.2026,2026-03-20 +Chemistry,Grade 9,68.7,01.02.2026,2026-02-04 +Biology,Grade 7,73.0,10.03.2026,2026-03-10 +Biology,Grade 8,72.1,03.03.2026,2026-03-04 +Biology,Grade 9,80.7,20.06.2026,2026-06-23 +History,Grade 7,73.0,10.02.2026,2026-02-13 +History,Grade 8,79.9,30.05.2026,2026-05-31 +History,Grade 9,85.8,03.06.2026,2026-06-05 diff --git a/agents/evals/fixtures/cases/bar-grouped-matplotlib-decimal-comma/case.json b/agents/evals/fixtures/cases/bar-grouped-matplotlib-decimal-comma/case.json new file mode 100644 index 0000000000..11d64bc16a --- /dev/null +++ b/agents/evals/fixtures/cases/bar-grouped-matplotlib-decimal-comma/case.json @@ -0,0 +1,28 @@ +{ + "spec_id": "bar-grouped", + "library": "matplotlib", + "locale": "de", + "perturbation": "decimal-comma", + "bindings": [ + { + "role": "category", + "column": "Subject" + }, + { + "role": "group", + "column": "Grade Level" + }, + { + "role": "value", + "column": "Test Score" + } + ], + "expected": "accepted", + "tags": [ + "bar", + "decimal-comma", + "synthetic", + "semicolon" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 303, decimal-comma)" +} diff --git a/agents/evals/fixtures/cases/bar-grouped-matplotlib-decimal-comma/data.csv b/agents/evals/fixtures/cases/bar-grouped-matplotlib-decimal-comma/data.csv new file mode 100644 index 0000000000..5a4fdf74c5 --- /dev/null +++ b/agents/evals/fixtures/cases/bar-grouped-matplotlib-decimal-comma/data.csv @@ -0,0 +1,16 @@ +Subject;Grade Level;Test Score +Mathematics;Grade 7;66,1 +Mathematics;Grade 8;69,9 +Mathematics;Grade 9;71,8 +Physics;Grade 7;64,6 +Physics;Grade 8;65,3 +Physics;Grade 9;74,1 +Chemistry;Grade 7;63,4 +Chemistry;Grade 8;66,5 +Chemistry;Grade 9;68,7 +Biology;Grade 7;73,0 +Biology;Grade 8;72,1 +Biology;Grade 9;80,7 +History;Grade 7;73,0 +History;Grade 8;79,9 +History;Grade 9;85,8 diff --git a/agents/evals/fixtures/cases/bar-grouped-matplotlib-n12/case.json b/agents/evals/fixtures/cases/bar-grouped-matplotlib-n12/case.json new file mode 100644 index 0000000000..56cc0ed234 --- /dev/null +++ b/agents/evals/fixtures/cases/bar-grouped-matplotlib-n12/case.json @@ -0,0 +1,29 @@ +{ + "spec_id": "bar-grouped", + "library": "matplotlib", + "locale": "en", + "perturbation": "n12", + "bindings": [ + { + "role": "category", + "column": "Subject" + }, + { + "role": "group", + "column": "Grade Level" + }, + { + "role": "value", + "column": "Test Score" + } + ], + "expected": "accepted", + "tags": [ + "bar", + "n12", + "synthetic", + "small", + "smoke" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 303, n12)" +} diff --git a/agents/evals/fixtures/cases/bar-grouped-matplotlib-n12/data.csv b/agents/evals/fixtures/cases/bar-grouped-matplotlib-n12/data.csv new file mode 100644 index 0000000000..056babdf94 --- /dev/null +++ b/agents/evals/fixtures/cases/bar-grouped-matplotlib-n12/data.csv @@ -0,0 +1,13 @@ +Subject,Grade Level,Test Score +Mathematics,Grade 7,66.1 +Mathematics,Grade 8,70.9 +Mathematics,Grade 9,75.3 +Physics,Grade 7,66.7 +Physics,Grade 8,63.5 +Physics,Grade 9,73.7 +Chemistry,Grade 7,69.1 +Chemistry,Grade 8,69.7 +Chemistry,Grade 9,75.1 +Biology,Grade 7,71.7 +Biology,Grade 8,76.4 +Biology,Grade 9,77.3 diff --git a/agents/evals/fixtures/cases/bar-grouped-matplotlib-n5000/case.json b/agents/evals/fixtures/cases/bar-grouped-matplotlib-n5000/case.json new file mode 100644 index 0000000000..647abe19a8 --- /dev/null +++ b/agents/evals/fixtures/cases/bar-grouped-matplotlib-n5000/case.json @@ -0,0 +1,29 @@ +{ + "spec_id": "bar-grouped", + "library": "matplotlib", + "locale": "en", + "perturbation": "n5000", + "bindings": [ + { + "role": "category", + "column": "Subject" + }, + { + "role": "group", + "column": "Grade Level" + }, + { + "role": "value", + "column": "Test Score" + } + ], + "expected": "accepted", + "tags": [ + "bar", + "n5000", + "synthetic", + "large", + "aggregation" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 303, n5000)" +} diff --git a/agents/evals/fixtures/cases/bar-grouped-matplotlib-n5000/data.csv b/agents/evals/fixtures/cases/bar-grouped-matplotlib-n5000/data.csv new file mode 100644 index 0000000000..aaee49deb4 --- /dev/null +++ b/agents/evals/fixtures/cases/bar-grouped-matplotlib-n5000/data.csv @@ -0,0 +1,5001 @@ +Subject,Grade Level,Test Score +History,Grade 9,91.7 +Physics,Grade 9,48.8 +Mathematics,Grade 8,61.5 +Mathematics,Grade 9,66.2 +Mathematics,Grade 9,63.3 +Physics,Grade 9,69.9 +History,Grade 8,84.7 +Biology,Grade 8,67.7 +Chemistry,Grade 9,71.1 +Mathematics,Grade 9,60.9 +Physics,Grade 9,62.6 +History,Grade 8,92.3 +Physics,Grade 7,48.6 +Biology,Grade 7,68.0 +Mathematics,Grade 9,71.5 +Physics,Grade 9,60.5 +History,Grade 9,68.7 +Biology,Grade 8,73.5 +Biology,Grade 9,77.4 +Biology,Grade 8,95.1 +History,Grade 8,78.0 +Mathematics,Grade 9,72.4 +History,Grade 7,75.8 +Chemistry,Grade 9,81.9 +History,Grade 7,76.0 +Physics,Grade 8,69.9 +Chemistry,Grade 9,70.7 +Chemistry,Grade 8,88.3 +Mathematics,Grade 9,58.3 +History,Grade 9,85.1 +Biology,Grade 8,69.9 +Physics,Grade 8,63.3 +Mathematics,Grade 9,84.1 +Chemistry,Grade 9,66.6 +Physics,Grade 9,63.1 +Mathematics,Grade 7,85.8 +Mathematics,Grade 8,78.7 +Biology,Grade 8,73.1 +History,Grade 8,66.1 +Biology,Grade 7,81.5 +History,Grade 7,88.2 +Chemistry,Grade 7,52.9 +Physics,Grade 8,67.4 +History,Grade 9,79.3 +Biology,Grade 9,67.5 +Mathematics,Grade 7,62.9 +Mathematics,Grade 7,51.0 +Biology,Grade 8,54.8 +History,Grade 8,59.6 +Chemistry,Grade 9,67.6 +Chemistry,Grade 8,64.8 +Chemistry,Grade 9,70.0 +Mathematics,Grade 7,56.8 +Biology,Grade 9,77.2 +Chemistry,Grade 9,71.6 +Biology,Grade 9,94.1 +Chemistry,Grade 7,77.2 +History,Grade 9,73.5 +Mathematics,Grade 7,70.7 +Chemistry,Grade 9,82.5 +Biology,Grade 9,72.3 +Biology,Grade 7,60.8 +Chemistry,Grade 7,53.3 +History,Grade 8,84.6 +History,Grade 8,62.9 +Physics,Grade 7,63.9 +Biology,Grade 7,78.5 +Physics,Grade 7,66.2 +Physics,Grade 9,70.0 +History,Grade 9,84.4 +Mathematics,Grade 7,76.4 +Chemistry,Grade 8,68.6 +History,Grade 9,89.7 +Chemistry,Grade 8,84.3 +History,Grade 9,78.1 +Biology,Grade 8,69.9 +Physics,Grade 8,49.0 +Mathematics,Grade 7,72.8 +History,Grade 8,86.4 +Biology,Grade 7,69.5 +History,Grade 8,98.4 +Physics,Grade 7,68.3 +Chemistry,Grade 9,75.0 +Biology,Grade 8,73.0 +Chemistry,Grade 8,65.2 +Mathematics,Grade 7,51.3 +Mathematics,Grade 9,83.3 +Mathematics,Grade 8,67.1 +History,Grade 8,56.2 +Mathematics,Grade 8,73.6 +Biology,Grade 7,71.5 +History,Grade 9,74.1 +Biology,Grade 7,63.5 +Mathematics,Grade 9,61.6 +Physics,Grade 9,76.8 +Biology,Grade 8,53.8 +Chemistry,Grade 7,40.9 +Physics,Grade 7,62.0 +Biology,Grade 7,50.8 +Physics,Grade 9,76.4 +Mathematics,Grade 8,73.7 +Chemistry,Grade 7,78.4 +Mathematics,Grade 7,75.8 +Chemistry,Grade 8,82.7 +History,Grade 7,69.4 +Biology,Grade 8,75.3 +Chemistry,Grade 8,69.0 +Biology,Grade 9,79.7 +Physics,Grade 7,74.9 +Biology,Grade 8,81.0 +Physics,Grade 7,60.5 +History,Grade 8,87.0 +Physics,Grade 9,67.6 +Physics,Grade 8,70.6 +Mathematics,Grade 9,65.6 +Physics,Grade 7,64.4 +History,Grade 9,70.0 +Biology,Grade 8,63.2 +Mathematics,Grade 8,67.5 +Physics,Grade 7,65.1 +Biology,Grade 7,64.2 +Physics,Grade 7,53.9 +History,Grade 9,68.4 +Mathematics,Grade 8,82.0 +History,Grade 8,71.2 +Physics,Grade 8,67.2 +Mathematics,Grade 7,77.1 +History,Grade 9,88.4 +Physics,Grade 9,65.3 +History,Grade 7,84.8 +Chemistry,Grade 9,49.8 +Biology,Grade 8,76.5 +History,Grade 8,57.1 +Mathematics,Grade 9,78.0 +Biology,Grade 8,74.5 +Chemistry,Grade 9,63.0 +History,Grade 8,78.8 +Mathematics,Grade 7,68.3 +History,Grade 7,72.9 +Biology,Grade 8,87.5 +Biology,Grade 8,52.9 +History,Grade 9,91.8 +Biology,Grade 8,90.5 +Chemistry,Grade 7,64.1 +History,Grade 8,93.8 +Chemistry,Grade 7,87.8 +Biology,Grade 8,73.8 +Biology,Grade 7,57.7 +History,Grade 7,97.9 +Biology,Grade 9,67.9 +Chemistry,Grade 9,88.7 +Chemistry,Grade 9,82.9 +Mathematics,Grade 9,89.3 +Chemistry,Grade 9,76.8 +Mathematics,Grade 7,70.6 +Chemistry,Grade 7,54.0 +History,Grade 9,64.5 +Physics,Grade 8,69.2 +History,Grade 8,85.5 +Physics,Grade 7,61.3 +Chemistry,Grade 7,68.1 +Physics,Grade 9,65.0 +Chemistry,Grade 9,77.2 +Physics,Grade 7,70.0 +Physics,Grade 8,41.4 +Physics,Grade 7,56.8 +Physics,Grade 7,60.7 +History,Grade 7,68.3 +History,Grade 9,87.0 +Biology,Grade 9,89.1 +Chemistry,Grade 8,85.2 +History,Grade 7,92.6 +Mathematics,Grade 9,74.2 +Biology,Grade 7,72.5 +Chemistry,Grade 9,59.7 +Chemistry,Grade 7,54.6 +History,Grade 8,71.8 +Chemistry,Grade 9,57.0 +Mathematics,Grade 9,67.4 +Biology,Grade 9,74.6 +History,Grade 9,78.5 +Biology,Grade 8,76.9 +Mathematics,Grade 8,72.5 +Chemistry,Grade 7,67.8 +History,Grade 7,51.3 +Biology,Grade 7,76.8 +Chemistry,Grade 7,46.4 +Biology,Grade 9,75.4 +History,Grade 8,67.2 +Chemistry,Grade 9,69.1 +Physics,Grade 7,56.2 +Biology,Grade 7,69.6 +Physics,Grade 8,76.7 +Chemistry,Grade 7,67.4 +Chemistry,Grade 8,95.3 +Chemistry,Grade 8,65.5 +Chemistry,Grade 7,71.9 +History,Grade 7,60.6 +Mathematics,Grade 7,76.0 +Physics,Grade 7,60.0 +Chemistry,Grade 8,50.1 +Chemistry,Grade 7,64.6 +Chemistry,Grade 9,70.4 +Chemistry,Grade 9,90.6 +History,Grade 7,64.8 +Chemistry,Grade 7,76.7 +History,Grade 8,83.1 +Physics,Grade 8,76.1 +History,Grade 8,80.0 +Physics,Grade 9,73.7 +Chemistry,Grade 9,90.4 +History,Grade 8,89.7 +Mathematics,Grade 9,83.9 +Biology,Grade 9,65.4 +Physics,Grade 7,57.8 +Physics,Grade 9,62.8 +Physics,Grade 9,71.3 +Chemistry,Grade 8,88.8 +Biology,Grade 9,88.0 +Mathematics,Grade 9,70.8 +History,Grade 7,90.7 +Biology,Grade 7,64.3 +Mathematics,Grade 7,60.2 +Physics,Grade 8,52.6 +Mathematics,Grade 8,80.6 +Chemistry,Grade 7,53.2 +Physics,Grade 9,47.7 +History,Grade 9,71.9 +Chemistry,Grade 9,64.3 +Mathematics,Grade 9,70.7 +Physics,Grade 9,64.0 +Physics,Grade 9,66.3 +Biology,Grade 9,67.5 +Mathematics,Grade 9,58.3 +Chemistry,Grade 9,78.2 +Mathematics,Grade 7,57.9 +History,Grade 7,70.8 +Physics,Grade 7,57.4 +Biology,Grade 7,68.5 +Mathematics,Grade 7,63.9 +Biology,Grade 9,80.3 +Physics,Grade 7,52.6 +History,Grade 7,66.7 +Chemistry,Grade 7,43.2 +Mathematics,Grade 9,78.4 +Chemistry,Grade 9,68.3 +History,Grade 7,81.7 +Physics,Grade 8,43.2 +Chemistry,Grade 9,57.0 +Chemistry,Grade 8,51.2 +Chemistry,Grade 7,84.6 +Mathematics,Grade 8,78.4 +History,Grade 8,84.8 +Mathematics,Grade 9,64.4 +Physics,Grade 8,64.4 +History,Grade 7,74.8 +Physics,Grade 8,72.5 +Biology,Grade 8,62.1 +Physics,Grade 7,89.3 +Mathematics,Grade 8,62.2 +Physics,Grade 9,69.9 +Chemistry,Grade 7,68.5 +Physics,Grade 9,39.4 +Biology,Grade 7,95.7 +History,Grade 7,56.9 +History,Grade 8,80.9 +History,Grade 8,81.5 +Biology,Grade 8,79.5 +Chemistry,Grade 8,69.5 +Chemistry,Grade 9,72.4 +Mathematics,Grade 8,62.2 +Chemistry,Grade 8,61.4 +Biology,Grade 9,83.6 +History,Grade 8,86.5 +Physics,Grade 7,76.7 +Physics,Grade 7,47.1 +History,Grade 7,77.8 +Physics,Grade 9,75.8 +Biology,Grade 9,72.8 +History,Grade 9,83.4 +Chemistry,Grade 9,90.8 +Biology,Grade 8,75.0 +Physics,Grade 8,80.1 +Biology,Grade 7,54.8 +Biology,Grade 8,89.6 +History,Grade 7,68.4 +Physics,Grade 8,53.4 +Biology,Grade 9,95.6 +History,Grade 7,79.5 +Chemistry,Grade 7,91.9 +Biology,Grade 8,83.1 +Physics,Grade 9,74.3 +Chemistry,Grade 8,71.7 +Biology,Grade 9,96.6 +History,Grade 9,77.6 +Mathematics,Grade 7,73.7 +Biology,Grade 9,84.2 +Biology,Grade 8,57.8 +Mathematics,Grade 9,80.1 +Physics,Grade 9,78.0 +Physics,Grade 9,83.0 +Physics,Grade 7,73.2 +Biology,Grade 7,50.9 +History,Grade 8,81.7 +Biology,Grade 8,100.0 +Chemistry,Grade 7,69.6 +History,Grade 7,72.0 +Physics,Grade 8,85.9 +Chemistry,Grade 9,74.6 +History,Grade 9,69.3 +Physics,Grade 7,62.5 +Biology,Grade 9,77.8 +Physics,Grade 9,75.3 +Mathematics,Grade 9,65.1 +Chemistry,Grade 7,69.2 +Biology,Grade 8,52.2 +Mathematics,Grade 8,72.6 +Mathematics,Grade 8,78.0 +Mathematics,Grade 7,63.9 +Mathematics,Grade 8,54.6 +Chemistry,Grade 7,65.8 +Chemistry,Grade 9,86.2 +Biology,Grade 8,56.2 +Physics,Grade 8,63.0 +Mathematics,Grade 8,91.1 +Biology,Grade 8,59.2 +History,Grade 7,88.5 +Biology,Grade 7,69.1 +History,Grade 7,80.1 +Mathematics,Grade 8,51.8 +Physics,Grade 8,71.0 +Biology,Grade 9,86.5 +Physics,Grade 9,61.8 +Biology,Grade 9,83.2 +Chemistry,Grade 8,68.3 +History,Grade 8,76.6 +Biology,Grade 7,78.3 +Biology,Grade 9,62.1 +Physics,Grade 7,65.9 +Biology,Grade 9,89.7 +Physics,Grade 9,65.0 +Biology,Grade 7,72.6 +Mathematics,Grade 7,88.8 +Chemistry,Grade 9,56.5 +Chemistry,Grade 7,58.6 +Biology,Grade 7,74.5 +Biology,Grade 8,75.2 +Chemistry,Grade 8,52.4 +Mathematics,Grade 9,76.3 +Biology,Grade 9,72.3 +History,Grade 8,84.3 +Mathematics,Grade 9,56.0 +Chemistry,Grade 9,57.4 +Mathematics,Grade 8,45.3 +Mathematics,Grade 7,87.1 +Biology,Grade 8,72.5 +History,Grade 8,79.5 +History,Grade 9,86.8 +Physics,Grade 9,47.5 +Physics,Grade 8,64.9 +History,Grade 9,70.5 +History,Grade 8,88.6 +Mathematics,Grade 8,84.4 +Biology,Grade 8,61.8 +History,Grade 9,88.8 +History,Grade 9,61.0 +History,Grade 8,75.5 +Mathematics,Grade 8,73.8 +History,Grade 7,77.4 +Mathematics,Grade 9,73.6 +Biology,Grade 7,65.3 +Biology,Grade 8,77.6 +History,Grade 9,77.1 +Mathematics,Grade 8,58.2 +Physics,Grade 8,68.1 +Physics,Grade 7,69.6 +History,Grade 9,77.6 +History,Grade 8,94.0 +Mathematics,Grade 7,68.8 +Mathematics,Grade 7,96.2 +Mathematics,Grade 7,66.6 +Biology,Grade 7,67.0 +History,Grade 9,74.9 +Chemistry,Grade 8,74.8 +History,Grade 8,95.3 +History,Grade 8,89.0 +History,Grade 9,79.8 +Chemistry,Grade 7,65.1 +Mathematics,Grade 7,74.4 +History,Grade 8,85.0 +Mathematics,Grade 7,86.1 +History,Grade 9,75.4 +Mathematics,Grade 8,58.3 +Chemistry,Grade 7,54.1 +History,Grade 7,83.2 +Physics,Grade 8,61.6 +Mathematics,Grade 7,88.0 +Physics,Grade 8,75.3 +Chemistry,Grade 8,72.9 +Biology,Grade 9,56.5 +Physics,Grade 7,78.6 +History,Grade 9,81.5 +Mathematics,Grade 9,73.0 +History,Grade 7,66.6 +Physics,Grade 7,46.2 +Biology,Grade 8,82.9 +Physics,Grade 9,78.2 +History,Grade 8,88.0 +History,Grade 7,72.3 +Chemistry,Grade 7,64.8 +History,Grade 7,83.3 +Biology,Grade 7,81.2 +Chemistry,Grade 7,76.6 +Physics,Grade 9,60.1 +History,Grade 8,66.2 +Biology,Grade 8,91.5 +Mathematics,Grade 8,74.7 +History,Grade 9,85.0 +Chemistry,Grade 8,60.8 +History,Grade 7,88.8 +Biology,Grade 9,68.3 +Chemistry,Grade 9,79.0 +Mathematics,Grade 8,76.3 +Physics,Grade 7,65.4 +Chemistry,Grade 9,75.8 +Chemistry,Grade 8,50.2 +Physics,Grade 8,63.9 +Biology,Grade 8,73.3 +Mathematics,Grade 8,63.2 +Chemistry,Grade 8,50.5 +Mathematics,Grade 8,74.5 +Physics,Grade 9,67.3 +History,Grade 8,89.0 +History,Grade 7,61.5 +History,Grade 7,68.7 +Mathematics,Grade 9,71.4 +Chemistry,Grade 7,54.2 +Physics,Grade 7,68.1 +Biology,Grade 9,87.4 +Physics,Grade 9,70.9 +Chemistry,Grade 9,56.3 +History,Grade 7,89.3 +History,Grade 8,97.4 +Mathematics,Grade 8,86.8 +Mathematics,Grade 8,66.5 +Chemistry,Grade 8,70.1 +Chemistry,Grade 8,84.1 +Biology,Grade 7,71.8 +History,Grade 8,62.4 +History,Grade 8,75.2 +History,Grade 8,71.9 +Mathematics,Grade 9,78.4 +Mathematics,Grade 9,85.3 +History,Grade 7,89.1 +History,Grade 8,62.2 +Biology,Grade 7,81.2 +Chemistry,Grade 9,76.6 +Mathematics,Grade 9,62.9 +Physics,Grade 9,61.3 +Chemistry,Grade 7,58.7 +Chemistry,Grade 7,66.1 +Biology,Grade 9,66.3 +Biology,Grade 9,79.1 +History,Grade 8,75.0 +History,Grade 9,65.1 +Biology,Grade 9,70.4 +Biology,Grade 9,84.9 +Chemistry,Grade 7,57.1 +Biology,Grade 9,77.4 +History,Grade 8,75.9 +Biology,Grade 7,86.9 +Chemistry,Grade 9,70.7 +History,Grade 8,70.6 +Chemistry,Grade 7,50.8 +Chemistry,Grade 8,60.9 +Biology,Grade 9,60.1 +Chemistry,Grade 8,77.2 +Mathematics,Grade 7,44.4 +Biology,Grade 7,76.1 +Biology,Grade 7,55.3 +Biology,Grade 7,73.7 +Biology,Grade 7,71.2 +History,Grade 8,65.3 +Mathematics,Grade 8,62.1 +History,Grade 9,77.5 +Chemistry,Grade 7,63.8 +Physics,Grade 7,69.8 +Physics,Grade 8,61.8 +Biology,Grade 8,66.4 +Biology,Grade 7,89.4 +Biology,Grade 7,93.9 +Biology,Grade 7,78.9 +History,Grade 8,83.0 +Chemistry,Grade 8,73.9 +Mathematics,Grade 8,54.3 +History,Grade 9,66.6 +Physics,Grade 8,63.7 +History,Grade 7,74.3 +Mathematics,Grade 7,70.7 +Chemistry,Grade 7,82.6 +Mathematics,Grade 7,73.7 +Mathematics,Grade 7,66.6 +Physics,Grade 7,63.5 +Biology,Grade 9,71.0 +History,Grade 8,81.2 +History,Grade 9,90.6 +Mathematics,Grade 7,56.5 +Biology,Grade 7,74.1 +Chemistry,Grade 8,86.7 +Mathematics,Grade 8,70.9 +Biology,Grade 7,80.7 +Physics,Grade 7,70.9 +Mathematics,Grade 9,87.5 +Chemistry,Grade 9,62.5 +Physics,Grade 9,58.9 +Biology,Grade 7,62.6 +Mathematics,Grade 8,80.5 +History,Grade 7,74.1 +Biology,Grade 9,80.0 +History,Grade 7,71.9 +Chemistry,Grade 8,85.5 +Chemistry,Grade 9,67.1 +History,Grade 9,79.3 +Biology,Grade 8,67.3 +Physics,Grade 8,65.5 +Biology,Grade 9,72.8 +History,Grade 7,71.3 +History,Grade 9,77.6 +Mathematics,Grade 7,68.3 +Mathematics,Grade 8,82.9 +Mathematics,Grade 7,70.3 +Chemistry,Grade 7,47.8 +Mathematics,Grade 8,61.3 +Biology,Grade 9,84.4 +Chemistry,Grade 8,74.2 +History,Grade 8,65.5 +Chemistry,Grade 8,55.4 +Physics,Grade 9,76.6 +Physics,Grade 7,47.1 +Mathematics,Grade 9,59.7 +History,Grade 9,87.5 +Physics,Grade 8,54.2 +Chemistry,Grade 9,65.3 +Chemistry,Grade 8,62.4 +History,Grade 9,62.8 +History,Grade 7,73.4 +History,Grade 7,72.8 +Biology,Grade 8,71.4 +Biology,Grade 9,78.4 +Chemistry,Grade 7,66.7 +Physics,Grade 7,65.3 +Mathematics,Grade 9,64.3 +History,Grade 7,65.1 +History,Grade 8,83.7 +Chemistry,Grade 8,53.4 +Physics,Grade 9,91.5 +Chemistry,Grade 8,63.4 +Chemistry,Grade 7,66.5 +Physics,Grade 9,70.0 +History,Grade 7,68.8 +Physics,Grade 9,71.1 +History,Grade 8,69.7 +Chemistry,Grade 9,87.4 +History,Grade 8,72.0 +Chemistry,Grade 9,56.8 +Chemistry,Grade 7,67.6 +History,Grade 9,79.9 +Mathematics,Grade 8,59.3 +Physics,Grade 9,61.6 +Biology,Grade 8,96.1 +Biology,Grade 9,59.6 +Mathematics,Grade 7,64.3 +Biology,Grade 9,78.6 +Chemistry,Grade 8,57.4 +History,Grade 9,95.1 +Chemistry,Grade 8,82.3 +Biology,Grade 9,69.2 +Chemistry,Grade 8,61.5 +History,Grade 9,89.5 +History,Grade 7,70.4 +Biology,Grade 7,72.1 +Chemistry,Grade 9,67.3 +Physics,Grade 9,65.0 +Biology,Grade 7,72.0 +History,Grade 8,89.2 +Biology,Grade 8,71.6 +History,Grade 9,73.1 +Physics,Grade 9,56.3 +Biology,Grade 9,65.2 +Mathematics,Grade 7,54.0 +History,Grade 7,85.3 +Chemistry,Grade 7,72.6 +History,Grade 8,72.2 +Physics,Grade 8,72.5 +Physics,Grade 8,64.1 +Chemistry,Grade 7,52.8 +Mathematics,Grade 9,84.7 +Chemistry,Grade 7,80.5 +Biology,Grade 8,70.3 +Chemistry,Grade 7,74.6 +History,Grade 7,82.5 +Mathematics,Grade 8,72.2 +History,Grade 9,77.9 +Chemistry,Grade 8,77.4 +Mathematics,Grade 7,59.5 +Physics,Grade 9,80.7 +History,Grade 7,67.1 +Mathematics,Grade 8,85.2 +Chemistry,Grade 9,78.4 +Physics,Grade 9,78.3 +History,Grade 8,77.5 +History,Grade 7,69.4 +Chemistry,Grade 9,74.9 +Mathematics,Grade 7,56.9 +History,Grade 8,72.7 +Mathematics,Grade 8,75.9 +Physics,Grade 9,59.3 +Physics,Grade 7,63.4 +Biology,Grade 7,83.5 +History,Grade 7,58.0 +Mathematics,Grade 7,81.6 +Physics,Grade 8,74.4 +Mathematics,Grade 9,74.7 +History,Grade 9,82.6 +Chemistry,Grade 8,73.2 +History,Grade 7,67.5 +Biology,Grade 8,83.2 +History,Grade 8,73.8 +Biology,Grade 8,71.0 +Mathematics,Grade 9,76.6 +Biology,Grade 7,51.5 +Mathematics,Grade 8,67.5 +Biology,Grade 9,73.6 +History,Grade 7,85.6 +Biology,Grade 9,67.9 +History,Grade 9,99.1 +Biology,Grade 8,56.6 +Physics,Grade 8,58.9 +History,Grade 9,63.7 +Biology,Grade 7,61.8 +History,Grade 9,92.0 +Chemistry,Grade 9,66.8 +Chemistry,Grade 8,74.2 +History,Grade 9,94.8 +Chemistry,Grade 7,65.6 +History,Grade 8,94.5 +Chemistry,Grade 9,58.9 +Physics,Grade 8,44.0 +Physics,Grade 8,59.8 +Biology,Grade 9,71.2 +Chemistry,Grade 9,74.5 +Chemistry,Grade 8,67.8 +Chemistry,Grade 8,59.3 +Mathematics,Grade 7,69.9 +Physics,Grade 8,67.0 +Chemistry,Grade 7,54.8 +History,Grade 8,71.2 +Mathematics,Grade 7,74.8 +History,Grade 8,43.6 +Mathematics,Grade 9,57.4 +Chemistry,Grade 9,68.5 +Physics,Grade 8,66.5 +Biology,Grade 8,70.8 +Mathematics,Grade 8,62.3 +Biology,Grade 8,89.6 +Biology,Grade 9,70.3 +Physics,Grade 7,68.9 +Biology,Grade 9,95.5 +Physics,Grade 8,59.5 +Biology,Grade 7,85.5 +Physics,Grade 9,72.1 +Biology,Grade 7,72.9 +History,Grade 7,86.0 +Chemistry,Grade 7,63.4 +History,Grade 9,69.7 +Physics,Grade 9,71.7 +Biology,Grade 9,68.3 +Chemistry,Grade 8,80.2 +Chemistry,Grade 8,67.4 +Biology,Grade 9,75.2 +History,Grade 7,79.5 +Physics,Grade 9,81.1 +Biology,Grade 7,76.7 +History,Grade 7,71.1 +History,Grade 7,77.6 +Physics,Grade 9,75.0 +Chemistry,Grade 9,98.4 +History,Grade 8,83.7 +History,Grade 7,78.4 +Physics,Grade 8,73.7 +Biology,Grade 7,76.1 +Mathematics,Grade 8,62.0 +Biology,Grade 9,64.2 +History,Grade 9,78.2 +Mathematics,Grade 7,83.9 +Biology,Grade 8,83.4 +Physics,Grade 8,65.4 +Biology,Grade 8,69.6 +Physics,Grade 7,67.2 +History,Grade 7,84.8 +Biology,Grade 9,76.2 +Chemistry,Grade 7,51.6 +Biology,Grade 9,73.6 +Chemistry,Grade 7,68.9 +Biology,Grade 8,79.8 +Physics,Grade 8,60.0 +Chemistry,Grade 8,42.4 +Mathematics,Grade 9,87.8 +Physics,Grade 9,58.1 +Mathematics,Grade 7,66.8 +Mathematics,Grade 8,79.3 +Physics,Grade 9,69.7 +Physics,Grade 8,55.0 +Mathematics,Grade 8,77.2 +Chemistry,Grade 7,51.0 +Chemistry,Grade 9,81.0 +Biology,Grade 9,68.9 +Mathematics,Grade 8,76.5 +Physics,Grade 9,64.5 +Mathematics,Grade 8,74.4 +History,Grade 7,54.9 +Mathematics,Grade 7,75.5 +Mathematics,Grade 9,66.2 +Mathematics,Grade 7,72.6 +Chemistry,Grade 8,52.1 +Biology,Grade 8,67.2 +Biology,Grade 9,70.8 +History,Grade 8,92.6 +Mathematics,Grade 9,83.0 +History,Grade 7,80.5 +Biology,Grade 8,58.6 +Biology,Grade 9,67.0 +Physics,Grade 8,58.7 +Chemistry,Grade 7,37.2 +Physics,Grade 9,66.0 +Mathematics,Grade 9,66.4 +Mathematics,Grade 9,46.6 +History,Grade 9,81.4 +History,Grade 7,76.8 +Chemistry,Grade 7,71.1 +Biology,Grade 8,79.4 +Biology,Grade 8,63.0 +Mathematics,Grade 9,95.2 +Physics,Grade 7,57.3 +Chemistry,Grade 9,83.4 +History,Grade 9,90.8 +Mathematics,Grade 7,93.3 +Mathematics,Grade 8,71.5 +Mathematics,Grade 9,62.0 +Physics,Grade 9,74.3 +History,Grade 8,85.5 +Physics,Grade 9,56.1 +Physics,Grade 7,67.6 +History,Grade 9,81.4 +Physics,Grade 9,69.8 +History,Grade 8,88.3 +Physics,Grade 9,70.5 +Physics,Grade 8,72.7 +Biology,Grade 7,62.6 +Biology,Grade 8,78.1 +Physics,Grade 8,79.8 +History,Grade 7,60.7 +History,Grade 7,64.9 +Physics,Grade 9,75.0 +Chemistry,Grade 9,70.1 +Biology,Grade 8,65.5 +History,Grade 9,100.0 +Biology,Grade 8,73.8 +Biology,Grade 8,60.9 +Mathematics,Grade 7,77.5 +Biology,Grade 8,49.8 +History,Grade 8,84.2 +History,Grade 8,69.5 +History,Grade 8,61.7 +Biology,Grade 8,84.6 +Physics,Grade 7,50.4 +Biology,Grade 8,79.3 +Chemistry,Grade 8,69.8 +Mathematics,Grade 7,79.7 +History,Grade 7,90.8 +Biology,Grade 7,84.2 +Biology,Grade 9,73.6 +Biology,Grade 9,63.8 +Biology,Grade 9,61.2 +Biology,Grade 9,85.4 +Biology,Grade 8,76.7 +Chemistry,Grade 9,67.4 +History,Grade 8,58.3 +History,Grade 9,90.8 +Biology,Grade 7,59.2 +Mathematics,Grade 7,73.0 +Chemistry,Grade 7,63.5 +Mathematics,Grade 9,64.6 +History,Grade 7,71.3 +Mathematics,Grade 7,72.3 +History,Grade 7,49.6 +Physics,Grade 8,73.2 +Physics,Grade 7,60.2 +Biology,Grade 8,87.8 +History,Grade 9,99.5 +History,Grade 9,81.2 +Chemistry,Grade 7,67.0 +History,Grade 9,87.3 +Chemistry,Grade 9,55.5 +Chemistry,Grade 8,78.5 +History,Grade 7,70.1 +Chemistry,Grade 9,79.0 +Biology,Grade 7,59.5 +Physics,Grade 7,75.2 +History,Grade 8,84.2 +Physics,Grade 7,79.1 +Chemistry,Grade 9,61.8 +Physics,Grade 9,77.4 +Chemistry,Grade 8,54.0 +Physics,Grade 7,73.4 +Physics,Grade 9,56.6 +History,Grade 8,58.6 +Mathematics,Grade 8,65.9 +History,Grade 8,83.0 +Biology,Grade 8,67.0 +Biology,Grade 9,92.8 +Biology,Grade 7,64.3 +Mathematics,Grade 9,65.3 +History,Grade 8,73.5 +Mathematics,Grade 9,69.6 +Chemistry,Grade 9,65.6 +Biology,Grade 8,93.3 +Biology,Grade 7,71.2 +Biology,Grade 9,80.9 +Mathematics,Grade 8,66.2 +Physics,Grade 7,69.9 +Mathematics,Grade 9,69.0 +Biology,Grade 9,84.2 +Mathematics,Grade 8,100.0 +Mathematics,Grade 8,73.9 +Physics,Grade 8,78.5 +Physics,Grade 8,62.0 +History,Grade 7,85.8 +History,Grade 7,65.4 +Mathematics,Grade 8,71.8 +Physics,Grade 9,54.2 +Biology,Grade 9,100.0 +Chemistry,Grade 9,54.9 +Biology,Grade 8,100.0 +Chemistry,Grade 9,72.0 +Biology,Grade 9,68.5 +Physics,Grade 9,87.8 +Mathematics,Grade 7,50.2 +Mathematics,Grade 8,80.2 +Physics,Grade 7,56.9 +Chemistry,Grade 7,65.6 +Mathematics,Grade 8,51.6 +Chemistry,Grade 8,89.2 +Chemistry,Grade 8,76.3 +History,Grade 7,79.9 +History,Grade 9,98.5 +Physics,Grade 8,43.8 +Biology,Grade 9,87.5 +History,Grade 8,81.8 +Mathematics,Grade 8,60.4 +Physics,Grade 8,78.2 +Mathematics,Grade 7,67.1 +History,Grade 7,72.8 +Chemistry,Grade 9,83.3 +Physics,Grade 7,74.7 +History,Grade 7,71.6 +History,Grade 7,75.5 +Chemistry,Grade 9,95.4 +Chemistry,Grade 8,76.1 +Biology,Grade 9,77.9 +History,Grade 8,82.5 +Mathematics,Grade 7,57.7 +History,Grade 9,74.2 +Physics,Grade 8,63.8 +History,Grade 9,81.4 +Biology,Grade 8,93.2 +Physics,Grade 8,57.3 +Physics,Grade 9,84.1 +History,Grade 9,92.7 +Biology,Grade 7,79.1 +Physics,Grade 8,62.8 +History,Grade 7,83.2 +Physics,Grade 8,54.3 +Biology,Grade 8,82.5 +History,Grade 8,61.8 +Mathematics,Grade 8,75.7 +Chemistry,Grade 8,70.0 +History,Grade 8,63.1 +Mathematics,Grade 9,86.2 +History,Grade 9,96.3 +Physics,Grade 9,68.0 +Physics,Grade 9,67.3 +Chemistry,Grade 7,80.2 +Mathematics,Grade 9,71.9 +Physics,Grade 9,42.4 +Mathematics,Grade 9,76.4 +Biology,Grade 8,74.2 +Mathematics,Grade 8,94.2 +Chemistry,Grade 7,63.0 +Biology,Grade 8,87.0 +History,Grade 8,83.2 +Biology,Grade 9,68.5 +Mathematics,Grade 8,78.8 +Mathematics,Grade 8,62.4 +History,Grade 9,67.3 +Physics,Grade 7,63.7 +History,Grade 9,74.0 +Physics,Grade 7,59.9 +Physics,Grade 7,77.3 +Chemistry,Grade 8,74.0 +History,Grade 8,76.8 +Mathematics,Grade 8,85.4 +Biology,Grade 7,71.8 +History,Grade 7,78.2 +Mathematics,Grade 8,85.8 +Physics,Grade 7,83.6 +Physics,Grade 8,62.4 +Physics,Grade 8,63.0 +Biology,Grade 8,73.5 +History,Grade 7,64.8 +Mathematics,Grade 7,67.7 +Mathematics,Grade 7,79.3 +Mathematics,Grade 7,63.7 +Mathematics,Grade 8,79.8 +Biology,Grade 9,77.2 +History,Grade 7,81.8 +History,Grade 7,75.3 +Physics,Grade 9,82.5 +Chemistry,Grade 9,76.9 +Physics,Grade 9,83.4 +History,Grade 7,82.5 +Mathematics,Grade 8,67.4 +Physics,Grade 9,62.2 +Chemistry,Grade 9,75.9 +Physics,Grade 9,70.4 +Physics,Grade 7,65.9 +Physics,Grade 8,59.4 +Chemistry,Grade 7,59.3 +Chemistry,Grade 7,65.7 +History,Grade 9,76.2 +Chemistry,Grade 9,68.8 +Physics,Grade 8,71.1 +Mathematics,Grade 8,71.5 +History,Grade 7,69.2 +Biology,Grade 8,71.5 +Biology,Grade 7,78.5 +Chemistry,Grade 9,65.0 +Biology,Grade 9,76.2 +Chemistry,Grade 7,75.1 +Chemistry,Grade 9,57.8 +Chemistry,Grade 8,66.8 +Chemistry,Grade 8,80.0 +History,Grade 9,87.7 +Mathematics,Grade 8,63.7 +Mathematics,Grade 7,86.9 +History,Grade 7,88.5 +Physics,Grade 7,68.3 +Mathematics,Grade 8,67.8 +Biology,Grade 9,72.2 +Chemistry,Grade 9,62.5 +Mathematics,Grade 9,71.3 +Physics,Grade 8,79.6 +History,Grade 8,62.2 +Chemistry,Grade 7,60.5 +Mathematics,Grade 8,80.6 +Chemistry,Grade 8,94.3 +Mathematics,Grade 7,74.3 +Mathematics,Grade 7,67.8 +History,Grade 9,100.0 +Physics,Grade 8,58.0 +Biology,Grade 7,88.5 +Chemistry,Grade 7,67.0 +Mathematics,Grade 7,44.8 +Mathematics,Grade 7,65.7 +History,Grade 8,75.8 +History,Grade 9,91.2 +Biology,Grade 7,71.0 +History,Grade 8,91.6 +Chemistry,Grade 7,49.0 +Chemistry,Grade 8,54.6 +History,Grade 7,74.4 +History,Grade 8,83.3 +History,Grade 9,66.8 +Biology,Grade 7,48.3 +Chemistry,Grade 9,69.2 +Mathematics,Grade 9,98.0 +Biology,Grade 9,82.4 +Chemistry,Grade 9,73.9 +Mathematics,Grade 7,61.0 +Mathematics,Grade 9,87.2 +Biology,Grade 9,70.7 +Biology,Grade 7,88.8 +History,Grade 9,100.0 +History,Grade 9,89.6 +Mathematics,Grade 8,61.6 +History,Grade 7,72.5 +Mathematics,Grade 7,92.1 +Physics,Grade 7,64.3 +History,Grade 9,74.4 +History,Grade 8,100.0 +Physics,Grade 9,68.6 +Chemistry,Grade 9,68.3 +Chemistry,Grade 7,67.3 +Physics,Grade 9,64.2 +History,Grade 9,92.0 +Physics,Grade 9,70.8 +History,Grade 9,81.7 +Mathematics,Grade 9,78.8 +Physics,Grade 7,84.5 +Biology,Grade 9,66.0 +Chemistry,Grade 7,82.8 +History,Grade 8,63.8 +History,Grade 9,75.2 +Mathematics,Grade 9,73.4 +Biology,Grade 9,97.3 +Mathematics,Grade 7,52.8 +Mathematics,Grade 8,66.7 +Biology,Grade 7,62.3 +History,Grade 7,83.9 +Biology,Grade 9,72.3 +Chemistry,Grade 9,72.7 +History,Grade 7,71.7 +Physics,Grade 8,59.2 +History,Grade 7,64.3 +History,Grade 7,57.4 +Physics,Grade 8,75.9 +Physics,Grade 7,79.6 +Biology,Grade 9,85.3 +Mathematics,Grade 8,62.8 +Biology,Grade 9,76.3 +History,Grade 8,81.3 +Chemistry,Grade 9,64.0 +Mathematics,Grade 7,72.2 +Physics,Grade 9,77.7 +Biology,Grade 7,77.4 +Mathematics,Grade 8,70.1 +Biology,Grade 7,65.6 +Mathematics,Grade 8,89.6 +History,Grade 9,87.7 +Physics,Grade 8,78.1 +Physics,Grade 7,47.8 +Biology,Grade 9,70.2 +Mathematics,Grade 9,65.8 +Physics,Grade 8,74.7 +Physics,Grade 7,65.7 +Chemistry,Grade 9,73.4 +Physics,Grade 8,68.6 +Chemistry,Grade 8,66.5 +Physics,Grade 7,58.5 +History,Grade 8,77.2 +Physics,Grade 7,59.1 +History,Grade 9,73.4 +Mathematics,Grade 7,72.4 +Chemistry,Grade 8,59.3 +History,Grade 8,74.5 +Chemistry,Grade 9,80.9 +Biology,Grade 9,79.1 +Biology,Grade 9,86.6 +Mathematics,Grade 9,76.6 +Mathematics,Grade 9,83.3 +Physics,Grade 8,74.1 +Chemistry,Grade 9,66.1 +History,Grade 7,60.3 +Mathematics,Grade 9,91.2 +Physics,Grade 7,74.6 +Biology,Grade 8,81.5 +Biology,Grade 7,79.1 +Mathematics,Grade 8,68.9 +Chemistry,Grade 7,69.0 +Physics,Grade 8,81.2 +Physics,Grade 8,58.9 +Physics,Grade 7,65.7 +Physics,Grade 9,85.2 +Mathematics,Grade 7,50.3 +History,Grade 7,95.4 +Biology,Grade 7,73.0 +Mathematics,Grade 8,58.5 +History,Grade 7,78.2 +Chemistry,Grade 7,51.1 +History,Grade 7,59.9 +History,Grade 9,80.2 +Biology,Grade 8,73.6 +Biology,Grade 8,74.5 +Physics,Grade 9,70.3 +Chemistry,Grade 9,79.0 +Chemistry,Grade 9,92.8 +Chemistry,Grade 8,78.2 +Biology,Grade 9,98.4 +Chemistry,Grade 8,65.7 +Mathematics,Grade 8,50.1 +Physics,Grade 9,70.9 +Mathematics,Grade 7,73.0 +Mathematics,Grade 8,83.6 +Biology,Grade 9,59.6 +History,Grade 7,57.9 +Biology,Grade 7,66.0 +Mathematics,Grade 7,84.3 +History,Grade 8,54.5 +Biology,Grade 7,77.7 +History,Grade 8,77.9 +Mathematics,Grade 9,64.0 +Mathematics,Grade 7,77.1 +Biology,Grade 9,86.1 +Biology,Grade 7,76.2 +Chemistry,Grade 9,90.4 +Chemistry,Grade 8,81.8 +History,Grade 9,79.8 +Physics,Grade 9,70.0 +Physics,Grade 8,63.6 +Physics,Grade 8,73.0 +Chemistry,Grade 9,59.4 +Biology,Grade 8,91.9 +Physics,Grade 8,55.9 +Physics,Grade 9,72.5 +Chemistry,Grade 8,71.6 +Biology,Grade 8,84.3 +Chemistry,Grade 9,75.7 +Chemistry,Grade 7,71.9 +Physics,Grade 9,69.5 +Physics,Grade 8,58.2 +Chemistry,Grade 7,72.1 +Biology,Grade 8,75.4 +History,Grade 8,63.7 +Chemistry,Grade 7,67.3 +Chemistry,Grade 7,64.5 +History,Grade 9,100.0 +Mathematics,Grade 8,69.6 +History,Grade 9,72.8 +Mathematics,Grade 7,61.1 +Physics,Grade 9,79.0 +Biology,Grade 7,76.3 +Biology,Grade 8,96.4 +History,Grade 9,97.7 +Physics,Grade 8,78.2 +Biology,Grade 9,75.0 +Mathematics,Grade 9,63.1 +Chemistry,Grade 9,82.3 +Physics,Grade 9,71.0 +Physics,Grade 7,63.5 +Chemistry,Grade 8,70.9 +Chemistry,Grade 7,67.8 +Physics,Grade 7,53.3 +Mathematics,Grade 7,84.1 +History,Grade 9,86.5 +Biology,Grade 8,72.8 +History,Grade 9,79.3 +History,Grade 8,64.6 +Chemistry,Grade 9,89.9 +Biology,Grade 9,100.0 +Chemistry,Grade 7,61.7 +Mathematics,Grade 7,61.9 +Physics,Grade 9,75.5 +Biology,Grade 7,58.1 +Physics,Grade 8,77.3 +Physics,Grade 7,46.7 +Chemistry,Grade 9,76.5 +History,Grade 8,78.5 +Biology,Grade 7,68.4 +Mathematics,Grade 8,69.7 +History,Grade 7,60.4 +Mathematics,Grade 7,74.6 +Physics,Grade 8,62.4 +Physics,Grade 9,66.0 +History,Grade 9,77.7 +Mathematics,Grade 9,80.2 +Mathematics,Grade 9,63.6 +History,Grade 8,80.2 +History,Grade 8,73.2 +Chemistry,Grade 8,71.3 +Biology,Grade 9,61.9 +Physics,Grade 8,72.5 +Physics,Grade 7,41.3 +Mathematics,Grade 8,60.8 +History,Grade 9,82.1 +Biology,Grade 9,100.0 +Chemistry,Grade 7,82.6 +Mathematics,Grade 7,81.8 +Biology,Grade 7,72.9 +Biology,Grade 7,62.6 +Chemistry,Grade 7,79.4 +Mathematics,Grade 9,69.8 +Biology,Grade 9,64.1 +History,Grade 8,66.3 +Chemistry,Grade 8,56.1 +Biology,Grade 7,77.6 +Physics,Grade 7,72.3 +Physics,Grade 8,58.8 +Physics,Grade 8,68.2 +History,Grade 9,76.7 +Chemistry,Grade 9,70.8 +Chemistry,Grade 7,58.5 +Mathematics,Grade 8,82.1 +Physics,Grade 8,53.9 +Chemistry,Grade 9,73.7 +Physics,Grade 7,64.9 +History,Grade 9,85.5 +Chemistry,Grade 9,75.7 +Physics,Grade 9,76.9 +Biology,Grade 9,68.5 +Biology,Grade 9,84.1 +History,Grade 7,84.4 +Mathematics,Grade 7,68.0 +Physics,Grade 8,81.0 +History,Grade 7,84.2 +Physics,Grade 9,54.9 +Chemistry,Grade 8,85.8 +Biology,Grade 7,68.0 +Physics,Grade 8,51.0 +Mathematics,Grade 9,43.9 +Chemistry,Grade 7,57.8 +Biology,Grade 7,75.9 +Chemistry,Grade 9,68.6 +Physics,Grade 7,79.7 +History,Grade 9,80.0 +Chemistry,Grade 9,71.5 +Biology,Grade 8,61.5 +Biology,Grade 9,100.0 +Chemistry,Grade 8,79.5 +Mathematics,Grade 9,64.3 +History,Grade 9,64.8 +History,Grade 7,75.3 +Biology,Grade 8,74.4 +Biology,Grade 8,70.3 +Mathematics,Grade 8,65.5 +Mathematics,Grade 8,82.9 +Physics,Grade 8,63.8 +Biology,Grade 7,65.6 +Physics,Grade 9,59.1 +Physics,Grade 8,64.2 +Physics,Grade 7,51.1 +History,Grade 9,100.0 +Biology,Grade 7,55.7 +Mathematics,Grade 8,68.1 +Biology,Grade 8,71.4 +History,Grade 8,76.3 +History,Grade 9,65.1 +Biology,Grade 7,75.4 +Biology,Grade 8,80.2 +Mathematics,Grade 8,70.1 +Physics,Grade 7,84.3 +Mathematics,Grade 7,56.8 +History,Grade 8,78.5 +History,Grade 8,80.3 +Chemistry,Grade 7,42.4 +Chemistry,Grade 9,69.7 +Mathematics,Grade 9,89.2 +Physics,Grade 8,87.5 +Mathematics,Grade 9,60.8 +History,Grade 8,61.5 +Mathematics,Grade 9,87.0 +Chemistry,Grade 8,61.9 +Chemistry,Grade 8,77.4 +Mathematics,Grade 8,66.5 +Biology,Grade 8,88.6 +Mathematics,Grade 7,65.6 +Mathematics,Grade 8,62.4 +Mathematics,Grade 8,85.8 +Physics,Grade 7,66.5 +Biology,Grade 8,77.9 +Biology,Grade 7,87.5 +Biology,Grade 7,73.9 +Biology,Grade 8,69.0 +Physics,Grade 8,89.5 +Physics,Grade 9,84.2 +Biology,Grade 9,68.7 +Biology,Grade 8,64.8 +Mathematics,Grade 9,75.7 +Mathematics,Grade 8,65.9 +History,Grade 7,82.3 +Chemistry,Grade 8,51.2 +Chemistry,Grade 7,56.3 +History,Grade 8,73.3 +Mathematics,Grade 9,85.1 +Biology,Grade 8,92.5 +Mathematics,Grade 7,58.9 +Biology,Grade 9,83.9 +Physics,Grade 8,67.6 +Chemistry,Grade 8,57.1 +History,Grade 8,61.4 +Physics,Grade 9,74.1 +Mathematics,Grade 7,67.1 +Chemistry,Grade 8,68.5 +Mathematics,Grade 7,75.1 +Mathematics,Grade 9,59.6 +History,Grade 9,75.5 +History,Grade 8,70.1 +Chemistry,Grade 8,66.0 +Biology,Grade 9,66.3 +Mathematics,Grade 7,71.5 +History,Grade 7,65.5 +Physics,Grade 8,58.6 +Biology,Grade 9,76.2 +History,Grade 8,90.7 +Biology,Grade 7,56.1 +Chemistry,Grade 9,50.7 +Mathematics,Grade 9,80.2 +Chemistry,Grade 8,59.6 +Chemistry,Grade 9,75.5 +History,Grade 9,100.0 +History,Grade 7,71.4 +Physics,Grade 9,76.4 +Biology,Grade 7,66.0 +Physics,Grade 9,79.7 +Chemistry,Grade 8,58.0 +Physics,Grade 9,78.7 +Chemistry,Grade 7,85.3 +Biology,Grade 8,66.1 +Mathematics,Grade 9,77.4 +Biology,Grade 7,79.8 +Biology,Grade 7,63.1 +History,Grade 9,89.9 +Mathematics,Grade 8,61.7 +History,Grade 8,97.8 +Chemistry,Grade 7,66.1 +History,Grade 9,87.3 +Chemistry,Grade 7,55.3 +Biology,Grade 8,73.2 +Physics,Grade 7,68.3 +Physics,Grade 8,60.4 +Biology,Grade 9,100.0 +Physics,Grade 9,66.7 +Physics,Grade 8,68.2 +Chemistry,Grade 8,68.6 +Chemistry,Grade 7,73.6 +History,Grade 8,78.5 +Mathematics,Grade 9,60.2 +Mathematics,Grade 9,70.0 +Physics,Grade 7,46.6 +Chemistry,Grade 9,67.3 +Biology,Grade 9,60.0 +Chemistry,Grade 8,53.8 +Chemistry,Grade 9,74.4 +History,Grade 7,94.8 +History,Grade 8,80.6 +Chemistry,Grade 9,65.8 +History,Grade 7,47.9 +Chemistry,Grade 8,58.0 +Physics,Grade 9,61.3 +History,Grade 7,75.7 +Mathematics,Grade 8,72.1 +History,Grade 7,77.8 +Mathematics,Grade 9,67.7 +Physics,Grade 7,40.1 +History,Grade 7,78.0 +Mathematics,Grade 7,72.7 +Mathematics,Grade 7,56.9 +History,Grade 8,73.2 +Chemistry,Grade 7,71.1 +History,Grade 7,79.9 +Chemistry,Grade 7,75.7 +Mathematics,Grade 7,70.5 +History,Grade 7,78.2 +Chemistry,Grade 9,59.4 +History,Grade 8,75.5 +Physics,Grade 8,65.5 +History,Grade 8,85.7 +Biology,Grade 7,80.1 +Biology,Grade 7,72.1 +Chemistry,Grade 8,79.1 +Physics,Grade 7,44.8 +Chemistry,Grade 9,76.7 +Chemistry,Grade 8,65.6 +History,Grade 7,68.0 +History,Grade 9,86.7 +Biology,Grade 8,83.9 +Physics,Grade 9,71.5 +Biology,Grade 9,74.2 +Mathematics,Grade 7,51.6 +Biology,Grade 7,72.0 +Physics,Grade 7,58.9 +History,Grade 8,81.3 +Physics,Grade 9,67.3 +Mathematics,Grade 7,69.4 +Biology,Grade 8,58.1 +Mathematics,Grade 8,69.6 +Physics,Grade 7,63.1 +History,Grade 7,71.5 +Chemistry,Grade 7,63.9 +Mathematics,Grade 9,92.8 +History,Grade 7,86.1 +Chemistry,Grade 9,71.6 +Mathematics,Grade 8,65.6 +Biology,Grade 9,76.7 +Chemistry,Grade 8,68.8 +Chemistry,Grade 8,55.8 +Physics,Grade 8,60.5 +History,Grade 7,85.0 +Biology,Grade 8,85.0 +History,Grade 9,84.3 +Mathematics,Grade 8,76.0 +History,Grade 9,70.3 +Biology,Grade 7,76.1 +Mathematics,Grade 9,64.7 +Chemistry,Grade 9,77.1 +Mathematics,Grade 8,72.7 +Physics,Grade 7,54.6 +Biology,Grade 9,93.4 +History,Grade 9,98.4 +Chemistry,Grade 8,80.8 +Mathematics,Grade 9,61.5 +Mathematics,Grade 9,69.9 +Physics,Grade 7,76.9 +Mathematics,Grade 7,56.0 +Biology,Grade 7,74.8 +Mathematics,Grade 8,56.1 +Chemistry,Grade 7,56.7 +History,Grade 9,86.0 +Biology,Grade 8,76.3 +Chemistry,Grade 8,50.7 +History,Grade 7,73.9 +Biology,Grade 8,86.7 +Biology,Grade 7,80.3 +Chemistry,Grade 9,71.0 +Physics,Grade 9,70.3 +History,Grade 9,77.1 +History,Grade 7,76.4 +History,Grade 8,73.6 +Mathematics,Grade 7,55.3 +Mathematics,Grade 8,72.4 +Physics,Grade 9,50.1 +Mathematics,Grade 8,73.5 +Mathematics,Grade 9,71.9 +Biology,Grade 7,81.4 +Chemistry,Grade 7,71.9 +Physics,Grade 8,62.9 +Biology,Grade 9,87.7 +Physics,Grade 7,68.0 +History,Grade 8,85.1 +Biology,Grade 8,92.7 +History,Grade 9,77.3 +Physics,Grade 9,64.8 +Mathematics,Grade 9,65.8 +Mathematics,Grade 9,90.1 +Mathematics,Grade 8,62.0 +Physics,Grade 7,69.6 +Biology,Grade 8,81.4 +Chemistry,Grade 9,85.7 +Biology,Grade 8,78.7 +History,Grade 7,80.9 +Biology,Grade 9,93.2 +Mathematics,Grade 7,57.3 +Physics,Grade 8,49.4 +Mathematics,Grade 8,92.1 +Chemistry,Grade 8,66.6 +Biology,Grade 8,70.7 +Mathematics,Grade 9,83.5 +Mathematics,Grade 7,69.4 +Physics,Grade 8,63.8 +Biology,Grade 7,81.1 +Chemistry,Grade 9,70.0 +Chemistry,Grade 8,71.4 +Chemistry,Grade 7,72.9 +Physics,Grade 8,58.6 +Physics,Grade 8,68.6 +Chemistry,Grade 8,76.7 +Physics,Grade 8,69.8 +Biology,Grade 9,78.3 +History,Grade 9,78.2 +Mathematics,Grade 7,60.1 +Chemistry,Grade 8,59.6 +Mathematics,Grade 8,79.6 +Biology,Grade 9,79.8 +Physics,Grade 9,78.0 +Mathematics,Grade 9,80.2 +Chemistry,Grade 8,72.5 +Biology,Grade 9,79.4 +Biology,Grade 7,80.5 +Biology,Grade 9,70.1 +Biology,Grade 8,68.2 +Mathematics,Grade 8,67.5 +Chemistry,Grade 7,64.6 +Physics,Grade 8,92.0 +Mathematics,Grade 9,80.8 +Mathematics,Grade 8,71.1 +Mathematics,Grade 9,80.0 +History,Grade 9,71.8 +Mathematics,Grade 7,72.1 +Biology,Grade 7,60.6 +Mathematics,Grade 7,73.3 +History,Grade 7,96.4 +Mathematics,Grade 8,64.8 +History,Grade 8,68.6 +History,Grade 9,78.2 +Biology,Grade 8,77.2 +Mathematics,Grade 8,56.3 +Chemistry,Grade 8,79.3 +Mathematics,Grade 7,77.7 +Physics,Grade 7,69.5 +Biology,Grade 9,70.5 +Chemistry,Grade 9,73.3 +Mathematics,Grade 7,64.1 +Chemistry,Grade 7,77.1 +History,Grade 8,85.5 +Physics,Grade 7,50.0 +Physics,Grade 8,73.3 +Mathematics,Grade 9,72.1 +Physics,Grade 7,61.2 +Biology,Grade 8,68.8 +History,Grade 9,71.5 +Mathematics,Grade 8,95.2 +Biology,Grade 9,86.3 +Mathematics,Grade 7,52.3 +Mathematics,Grade 8,74.6 +History,Grade 9,49.3 +History,Grade 8,88.0 +Physics,Grade 8,81.2 +Biology,Grade 7,67.2 +Physics,Grade 9,69.6 +Physics,Grade 7,59.2 +Chemistry,Grade 9,43.9 +Chemistry,Grade 8,65.1 +History,Grade 7,84.0 +History,Grade 7,87.8 +Physics,Grade 7,71.9 +Mathematics,Grade 9,69.3 +Physics,Grade 7,63.4 +Physics,Grade 8,65.2 +Biology,Grade 8,99.6 +Biology,Grade 7,77.0 +Mathematics,Grade 9,82.8 +History,Grade 9,85.3 +Biology,Grade 8,69.4 +Chemistry,Grade 7,72.3 +Chemistry,Grade 7,68.4 +Mathematics,Grade 8,76.3 +Mathematics,Grade 8,64.3 +Mathematics,Grade 9,85.6 +Biology,Grade 9,84.0 +History,Grade 9,63.5 +Chemistry,Grade 7,65.0 +Physics,Grade 9,49.1 +Mathematics,Grade 9,84.7 +Physics,Grade 8,58.4 +Physics,Grade 7,67.6 +Physics,Grade 8,68.3 +History,Grade 9,82.4 +Mathematics,Grade 7,81.1 +History,Grade 7,72.6 +History,Grade 8,70.8 +History,Grade 9,79.7 +Physics,Grade 9,85.7 +Chemistry,Grade 8,83.2 +Biology,Grade 9,53.2 +Chemistry,Grade 9,90.5 +Physics,Grade 9,73.2 +Mathematics,Grade 8,78.6 +Biology,Grade 8,100.0 +Biology,Grade 9,74.0 +History,Grade 9,91.7 +Physics,Grade 7,57.0 +Chemistry,Grade 8,67.3 +History,Grade 7,79.4 +Chemistry,Grade 7,53.3 +Biology,Grade 8,61.6 +Biology,Grade 8,81.3 +History,Grade 9,83.8 +Biology,Grade 9,81.4 +Biology,Grade 9,80.8 +Biology,Grade 9,98.3 +History,Grade 7,65.0 +Chemistry,Grade 7,63.7 +Physics,Grade 9,66.4 +Chemistry,Grade 9,84.1 +Chemistry,Grade 8,84.8 +Chemistry,Grade 7,67.4 +History,Grade 8,61.1 +Biology,Grade 7,70.0 +History,Grade 9,78.8 +Physics,Grade 7,70.2 +Chemistry,Grade 7,68.5 +History,Grade 8,82.2 +Biology,Grade 9,83.9 +Biology,Grade 9,74.9 +Mathematics,Grade 9,70.8 +History,Grade 8,79.7 +Physics,Grade 7,70.2 +Physics,Grade 8,69.3 +Biology,Grade 7,70.4 +Physics,Grade 9,62.6 +History,Grade 8,76.6 +Chemistry,Grade 8,65.5 +Chemistry,Grade 9,80.7 +Mathematics,Grade 8,65.0 +Biology,Grade 9,75.7 +Mathematics,Grade 7,57.2 +Chemistry,Grade 7,59.4 +Biology,Grade 8,95.2 +Chemistry,Grade 9,79.5 +Physics,Grade 9,72.0 +Mathematics,Grade 8,80.9 +Biology,Grade 8,75.5 +History,Grade 9,97.4 +History,Grade 9,71.7 +Mathematics,Grade 8,62.2 +Chemistry,Grade 9,88.1 +Physics,Grade 9,77.1 +Mathematics,Grade 9,62.7 +Mathematics,Grade 7,80.0 +History,Grade 7,79.3 +Physics,Grade 9,68.5 +History,Grade 7,87.4 +Biology,Grade 8,100.0 +Mathematics,Grade 7,68.9 +Chemistry,Grade 9,64.6 +History,Grade 8,62.6 +History,Grade 7,71.5 +Physics,Grade 8,70.4 +Biology,Grade 7,66.6 +Mathematics,Grade 9,78.6 +History,Grade 9,84.1 +Chemistry,Grade 8,64.7 +Physics,Grade 8,77.3 +Mathematics,Grade 9,60.7 +Chemistry,Grade 8,75.3 +Physics,Grade 9,57.7 +History,Grade 9,61.7 +Mathematics,Grade 8,86.5 +Mathematics,Grade 7,55.2 +Biology,Grade 9,77.2 +Mathematics,Grade 8,100.0 +History,Grade 8,89.5 +History,Grade 9,87.1 +Biology,Grade 9,68.1 +History,Grade 7,81.3 +Chemistry,Grade 7,78.0 +Chemistry,Grade 7,76.8 +Physics,Grade 9,90.3 +Biology,Grade 8,74.9 +Mathematics,Grade 8,62.6 +History,Grade 9,65.5 +Mathematics,Grade 8,68.9 +Mathematics,Grade 7,47.7 +Biology,Grade 9,72.6 +Mathematics,Grade 8,84.9 +Biology,Grade 7,80.7 +Biology,Grade 7,97.4 +Physics,Grade 9,42.6 +Mathematics,Grade 9,72.7 +Physics,Grade 8,69.0 +Mathematics,Grade 7,48.0 +Biology,Grade 7,58.1 +Chemistry,Grade 9,76.6 +History,Grade 9,88.8 +Physics,Grade 7,51.5 +Mathematics,Grade 9,77.6 +Biology,Grade 7,65.5 +Mathematics,Grade 7,57.8 +Biology,Grade 9,67.4 +Mathematics,Grade 8,71.7 +History,Grade 8,56.9 +Chemistry,Grade 7,61.9 +Mathematics,Grade 8,82.9 +Mathematics,Grade 8,75.5 +Physics,Grade 7,60.9 +Chemistry,Grade 9,63.9 +History,Grade 7,81.0 +Chemistry,Grade 8,69.7 +Mathematics,Grade 7,60.4 +Mathematics,Grade 9,70.2 +Biology,Grade 7,77.4 +Physics,Grade 7,80.5 +Mathematics,Grade 9,73.2 +Mathematics,Grade 9,60.6 +Chemistry,Grade 9,91.5 +Physics,Grade 7,68.9 +Biology,Grade 7,89.6 +Mathematics,Grade 9,68.9 +History,Grade 7,69.1 +Biology,Grade 8,77.8 +Biology,Grade 8,96.9 +Chemistry,Grade 9,61.7 +History,Grade 8,86.4 +Physics,Grade 8,56.8 +Mathematics,Grade 7,78.8 +History,Grade 7,59.6 +Biology,Grade 8,60.1 +Physics,Grade 7,34.3 +History,Grade 8,78.8 +Chemistry,Grade 8,73.0 +Physics,Grade 9,54.0 +Physics,Grade 8,56.8 +Biology,Grade 7,58.9 +Physics,Grade 8,68.9 +Biology,Grade 7,75.5 +Mathematics,Grade 8,82.1 +Physics,Grade 9,54.6 +Mathematics,Grade 9,82.8 +Mathematics,Grade 7,79.1 +History,Grade 9,76.7 +Biology,Grade 8,73.2 +Physics,Grade 9,57.9 +Chemistry,Grade 7,65.6 +Mathematics,Grade 9,80.4 +Biology,Grade 9,89.5 +History,Grade 8,73.6 +History,Grade 8,76.1 +Physics,Grade 9,72.9 +History,Grade 8,90.6 +Biology,Grade 8,75.2 +Chemistry,Grade 7,61.9 +Physics,Grade 9,74.3 +Biology,Grade 8,67.8 +Physics,Grade 8,71.7 +Chemistry,Grade 9,73.2 +Mathematics,Grade 8,77.8 +Chemistry,Grade 9,60.4 +History,Grade 9,49.6 +History,Grade 7,72.4 +Mathematics,Grade 8,86.2 +Biology,Grade 8,77.9 +Biology,Grade 7,77.5 +Physics,Grade 8,72.8 +Mathematics,Grade 7,69.4 +History,Grade 8,86.8 +History,Grade 8,77.7 +Chemistry,Grade 8,70.5 +Mathematics,Grade 9,99.7 +Chemistry,Grade 9,58.9 +Biology,Grade 7,77.1 +History,Grade 9,67.7 +Chemistry,Grade 7,72.9 +Chemistry,Grade 8,60.8 +Biology,Grade 9,74.1 +History,Grade 9,65.9 +Biology,Grade 8,73.3 +Physics,Grade 8,52.3 +Mathematics,Grade 7,48.6 +Chemistry,Grade 9,73.6 +Chemistry,Grade 7,55.5 +Mathematics,Grade 7,52.1 +History,Grade 7,86.6 +History,Grade 7,75.3 +Physics,Grade 8,72.5 +Mathematics,Grade 9,78.2 +Chemistry,Grade 8,76.2 +Chemistry,Grade 8,79.8 +Chemistry,Grade 8,78.2 +History,Grade 7,78.8 +Chemistry,Grade 8,56.8 +Physics,Grade 8,66.0 +Biology,Grade 9,85.1 +Physics,Grade 7,44.0 +Mathematics,Grade 9,74.1 +Chemistry,Grade 9,75.5 +Physics,Grade 9,85.5 +Chemistry,Grade 8,79.5 +Physics,Grade 7,69.5 +Mathematics,Grade 8,57.4 +Mathematics,Grade 8,83.8 +Biology,Grade 7,59.8 +Physics,Grade 9,57.6 +Chemistry,Grade 9,57.9 +Biology,Grade 9,83.3 +Biology,Grade 9,74.9 +Physics,Grade 9,69.6 +History,Grade 9,89.6 +Physics,Grade 9,57.7 +Biology,Grade 8,54.3 +Chemistry,Grade 7,48.8 +Physics,Grade 9,52.2 +Chemistry,Grade 7,62.5 +Physics,Grade 9,83.9 +Biology,Grade 7,91.0 +Mathematics,Grade 8,70.5 +Mathematics,Grade 9,77.3 +Mathematics,Grade 8,74.9 +Physics,Grade 9,74.5 +Chemistry,Grade 7,60.8 +History,Grade 8,76.6 +Chemistry,Grade 8,46.8 +Mathematics,Grade 9,79.5 +Physics,Grade 8,59.6 +Biology,Grade 8,81.8 +Biology,Grade 8,75.7 +Biology,Grade 8,77.4 +Mathematics,Grade 8,85.2 +History,Grade 9,92.3 +Chemistry,Grade 8,72.2 +Mathematics,Grade 8,55.4 +Mathematics,Grade 8,75.9 +Mathematics,Grade 9,48.8 +Physics,Grade 7,61.0 +History,Grade 9,87.4 +Physics,Grade 7,53.2 +Chemistry,Grade 8,76.3 +History,Grade 9,99.5 +History,Grade 8,80.8 +Mathematics,Grade 8,75.3 +History,Grade 7,83.3 +Mathematics,Grade 8,53.7 +Physics,Grade 8,52.3 +Mathematics,Grade 9,89.2 +Mathematics,Grade 9,80.1 +Mathematics,Grade 9,77.1 +Biology,Grade 8,65.9 +History,Grade 8,100.0 +Physics,Grade 9,64.9 +Physics,Grade 7,87.5 +Mathematics,Grade 7,80.6 +Physics,Grade 8,72.5 +Mathematics,Grade 8,75.2 +History,Grade 8,67.2 +Biology,Grade 8,72.6 +Chemistry,Grade 8,70.4 +Mathematics,Grade 9,77.4 +Chemistry,Grade 9,67.2 +Chemistry,Grade 7,79.0 +Biology,Grade 7,93.1 +Chemistry,Grade 9,73.6 +History,Grade 7,89.4 +History,Grade 7,70.4 +Mathematics,Grade 9,59.0 +Mathematics,Grade 9,65.3 +Mathematics,Grade 9,69.8 +Chemistry,Grade 8,86.4 +Biology,Grade 9,100.0 +Biology,Grade 8,79.8 +Physics,Grade 9,76.9 +Biology,Grade 9,77.5 +Physics,Grade 7,55.8 +Physics,Grade 7,43.9 +Physics,Grade 8,64.7 +History,Grade 9,91.3 +Mathematics,Grade 7,71.8 +Biology,Grade 8,65.7 +Chemistry,Grade 9,85.9 +Chemistry,Grade 8,72.7 +Chemistry,Grade 8,76.5 +Biology,Grade 8,85.2 +History,Grade 8,88.1 +Biology,Grade 9,70.6 +Chemistry,Grade 9,80.4 +Physics,Grade 8,72.0 +Chemistry,Grade 7,70.0 +Mathematics,Grade 9,53.3 +Chemistry,Grade 8,75.7 +Physics,Grade 9,62.1 +Mathematics,Grade 9,71.9 +History,Grade 7,89.4 +Physics,Grade 8,71.4 +History,Grade 9,88.3 +Physics,Grade 8,91.5 +Physics,Grade 9,70.0 +Chemistry,Grade 7,43.3 +History,Grade 8,80.6 +Chemistry,Grade 7,72.1 +Physics,Grade 8,55.2 +Physics,Grade 8,69.1 +Physics,Grade 8,83.1 +Biology,Grade 8,89.8 +Mathematics,Grade 8,53.4 +History,Grade 7,80.9 +History,Grade 9,69.5 +Physics,Grade 7,66.4 +Biology,Grade 7,55.2 +History,Grade 8,78.4 +Mathematics,Grade 9,58.2 +Chemistry,Grade 8,70.0 +Biology,Grade 7,58.4 +Biology,Grade 7,49.1 +Mathematics,Grade 7,63.6 +Mathematics,Grade 7,82.1 +Physics,Grade 7,54.2 +Mathematics,Grade 8,73.1 +History,Grade 8,73.4 +History,Grade 8,79.3 +Mathematics,Grade 9,73.0 +Biology,Grade 8,81.3 +Mathematics,Grade 8,64.3 +History,Grade 7,75.8 +Chemistry,Grade 8,77.3 +Biology,Grade 8,77.4 +Chemistry,Grade 8,65.9 +Physics,Grade 8,63.0 +Chemistry,Grade 8,80.6 +Chemistry,Grade 8,71.3 +History,Grade 9,77.5 +Biology,Grade 7,65.7 +Physics,Grade 8,51.8 +Physics,Grade 8,62.0 +Biology,Grade 8,66.7 +Physics,Grade 9,52.5 +Biology,Grade 9,86.5 +Biology,Grade 7,77.7 +Physics,Grade 8,55.2 +History,Grade 7,58.4 +Biology,Grade 7,65.4 +Physics,Grade 8,57.3 +History,Grade 7,73.3 +Biology,Grade 7,77.1 +Biology,Grade 9,67.8 +History,Grade 8,92.5 +History,Grade 8,72.5 +Mathematics,Grade 7,76.4 +Mathematics,Grade 9,73.9 +History,Grade 7,80.6 +Mathematics,Grade 8,59.9 +Chemistry,Grade 8,56.5 +Chemistry,Grade 7,49.3 +Physics,Grade 8,97.9 +Chemistry,Grade 7,72.6 +Mathematics,Grade 8,65.6 +Mathematics,Grade 8,87.5 +Mathematics,Grade 7,77.2 +Mathematics,Grade 8,80.5 +Mathematics,Grade 8,74.6 +History,Grade 7,79.6 +Mathematics,Grade 7,54.4 +Mathematics,Grade 8,75.0 +Physics,Grade 7,57.5 +Chemistry,Grade 9,86.4 +Chemistry,Grade 8,63.4 +Physics,Grade 8,72.8 +Mathematics,Grade 8,48.0 +Biology,Grade 8,57.9 +Physics,Grade 9,69.0 +History,Grade 9,75.8 +Physics,Grade 7,70.6 +Physics,Grade 7,70.2 +Chemistry,Grade 7,67.7 +History,Grade 7,90.1 +Mathematics,Grade 9,68.6 +Mathematics,Grade 8,80.2 +Physics,Grade 8,49.6 +History,Grade 9,70.7 +Chemistry,Grade 9,69.0 +Physics,Grade 9,77.2 +Mathematics,Grade 7,67.8 +History,Grade 7,74.2 +Physics,Grade 8,65.4 +Biology,Grade 8,81.5 +History,Grade 9,84.2 +Chemistry,Grade 9,53.7 +Biology,Grade 9,76.6 +Physics,Grade 7,75.2 +History,Grade 9,98.9 +Physics,Grade 8,72.1 +Physics,Grade 7,78.0 +Chemistry,Grade 7,53.6 +Chemistry,Grade 7,64.9 +Mathematics,Grade 7,61.5 +Chemistry,Grade 7,70.9 +Mathematics,Grade 8,67.7 +Physics,Grade 8,56.2 +History,Grade 9,79.0 +History,Grade 8,75.1 +Physics,Grade 7,74.7 +Mathematics,Grade 8,62.9 +Chemistry,Grade 7,69.2 +Biology,Grade 7,69.6 +Physics,Grade 7,35.6 +Biology,Grade 8,68.7 +Physics,Grade 7,76.2 +Biology,Grade 8,68.7 +History,Grade 9,84.3 +Biology,Grade 8,81.2 +Biology,Grade 9,85.7 +Biology,Grade 9,98.6 +Chemistry,Grade 9,57.3 +Physics,Grade 8,78.1 +Mathematics,Grade 7,61.1 +Biology,Grade 7,83.9 +Mathematics,Grade 9,82.9 +Biology,Grade 8,74.5 +Physics,Grade 7,71.6 +Physics,Grade 9,64.6 +Chemistry,Grade 7,40.5 +Mathematics,Grade 9,100.0 +Biology,Grade 7,62.4 +Biology,Grade 9,97.2 +History,Grade 8,93.8 +Biology,Grade 7,77.8 +History,Grade 9,85.9 +Physics,Grade 7,84.7 +Chemistry,Grade 9,66.9 +Mathematics,Grade 8,76.3 +Mathematics,Grade 7,79.0 +Mathematics,Grade 7,68.4 +Mathematics,Grade 7,66.0 +Mathematics,Grade 7,73.5 +Physics,Grade 7,63.7 +Biology,Grade 8,70.6 +Biology,Grade 7,69.2 +Physics,Grade 7,61.5 +Physics,Grade 8,64.2 +Chemistry,Grade 8,58.8 +Mathematics,Grade 9,94.9 +Chemistry,Grade 9,77.5 +Physics,Grade 7,62.3 +Biology,Grade 9,69.2 +History,Grade 7,71.2 +Physics,Grade 8,63.6 +Chemistry,Grade 9,78.4 +Chemistry,Grade 9,68.9 +Mathematics,Grade 7,57.9 +History,Grade 9,81.1 +Biology,Grade 7,75.1 +Mathematics,Grade 7,46.5 +History,Grade 7,74.0 +Mathematics,Grade 8,82.2 +History,Grade 7,70.1 +Chemistry,Grade 7,73.4 +Physics,Grade 7,71.0 +Physics,Grade 8,57.3 +Biology,Grade 8,82.0 +Biology,Grade 9,61.4 +Physics,Grade 9,65.5 +History,Grade 8,62.1 +History,Grade 9,85.4 +Biology,Grade 8,92.7 +History,Grade 9,88.5 +Chemistry,Grade 7,74.6 +Biology,Grade 7,58.6 +Chemistry,Grade 8,70.0 +Mathematics,Grade 7,93.4 +Physics,Grade 9,86.0 +History,Grade 7,76.1 +History,Grade 8,78.0 +Biology,Grade 7,84.3 +History,Grade 8,81.6 +Chemistry,Grade 9,66.4 +History,Grade 8,100.0 +Biology,Grade 7,84.5 +History,Grade 7,73.9 +Mathematics,Grade 7,45.7 +Physics,Grade 9,66.9 +Biology,Grade 9,70.6 +History,Grade 7,69.7 +Biology,Grade 9,68.0 +Physics,Grade 8,62.3 +Chemistry,Grade 8,81.5 +Chemistry,Grade 7,69.7 +Biology,Grade 9,64.8 +Biology,Grade 9,67.9 +Mathematics,Grade 7,69.7 +Chemistry,Grade 7,42.2 +Physics,Grade 9,85.2 +Biology,Grade 8,80.6 +Physics,Grade 8,89.2 +Biology,Grade 7,68.5 +Chemistry,Grade 9,87.5 +Biology,Grade 9,72.1 +History,Grade 7,64.0 +Mathematics,Grade 7,79.3 +Biology,Grade 8,62.6 +Mathematics,Grade 9,64.3 +Chemistry,Grade 7,60.6 +Mathematics,Grade 7,62.4 +Physics,Grade 9,96.4 +Biology,Grade 7,67.9 +History,Grade 7,68.3 +Biology,Grade 8,95.7 +Biology,Grade 7,62.7 +Chemistry,Grade 7,52.0 +History,Grade 8,98.4 +Biology,Grade 7,76.1 +Physics,Grade 9,77.7 +Biology,Grade 7,60.0 +Biology,Grade 9,87.1 +Chemistry,Grade 8,90.5 +Physics,Grade 9,75.8 +History,Grade 9,70.9 +Chemistry,Grade 8,57.9 +Mathematics,Grade 8,73.0 +Biology,Grade 9,80.6 +Mathematics,Grade 7,67.0 +Physics,Grade 9,72.7 +Chemistry,Grade 8,71.6 +Physics,Grade 7,81.1 +History,Grade 8,69.9 +History,Grade 9,97.4 +History,Grade 9,75.4 +History,Grade 9,95.0 +Mathematics,Grade 7,70.4 +History,Grade 9,73.0 +Physics,Grade 8,73.2 +Chemistry,Grade 8,71.1 +Biology,Grade 8,93.0 +History,Grade 8,55.8 +Biology,Grade 9,78.9 +Biology,Grade 8,76.5 +Physics,Grade 7,62.8 +Mathematics,Grade 7,86.5 +Physics,Grade 8,51.8 +Physics,Grade 9,61.0 +Biology,Grade 8,72.9 +Mathematics,Grade 8,83.9 +Physics,Grade 8,83.6 +Physics,Grade 9,72.8 +Chemistry,Grade 9,60.0 +Chemistry,Grade 7,68.4 +Physics,Grade 8,54.2 +Chemistry,Grade 9,56.7 +History,Grade 7,63.3 +Physics,Grade 8,80.3 +Physics,Grade 9,74.8 +Physics,Grade 7,68.8 +Physics,Grade 7,70.5 +History,Grade 9,78.2 +Chemistry,Grade 7,72.9 +Chemistry,Grade 9,81.3 +Chemistry,Grade 7,84.1 +Mathematics,Grade 9,91.7 +Biology,Grade 8,70.3 +Chemistry,Grade 7,64.1 +Mathematics,Grade 9,52.4 +Chemistry,Grade 9,68.2 +Mathematics,Grade 9,72.0 +Biology,Grade 9,78.6 +Chemistry,Grade 8,96.6 +Chemistry,Grade 8,79.8 +Chemistry,Grade 8,61.6 +Physics,Grade 7,66.9 +Physics,Grade 9,74.6 +Chemistry,Grade 8,78.7 +Biology,Grade 7,78.4 +History,Grade 9,67.4 +History,Grade 8,64.8 +Biology,Grade 9,76.0 +Biology,Grade 8,61.9 +Chemistry,Grade 7,58.8 +History,Grade 8,82.9 +History,Grade 9,87.6 +Physics,Grade 7,37.6 +Chemistry,Grade 8,77.4 +Physics,Grade 7,62.3 +Mathematics,Grade 7,80.6 +Mathematics,Grade 9,71.2 +Physics,Grade 8,84.7 +Mathematics,Grade 7,64.0 +History,Grade 7,63.6 +History,Grade 7,92.9 +Biology,Grade 7,94.8 +Mathematics,Grade 9,76.9 +Chemistry,Grade 7,59.0 +Biology,Grade 9,71.4 +History,Grade 8,85.0 +Biology,Grade 8,73.3 +Chemistry,Grade 8,68.0 +Mathematics,Grade 9,62.5 +Chemistry,Grade 7,73.9 +Physics,Grade 7,66.6 +Chemistry,Grade 9,86.7 +Physics,Grade 8,71.6 +History,Grade 7,65.2 +Chemistry,Grade 8,65.9 +Chemistry,Grade 8,75.3 +Mathematics,Grade 8,76.3 +Biology,Grade 8,59.6 +Physics,Grade 7,64.5 +Physics,Grade 8,47.8 +History,Grade 9,87.2 +Physics,Grade 9,53.4 +Biology,Grade 8,71.7 +History,Grade 9,83.7 +Biology,Grade 8,67.1 +History,Grade 9,84.4 +Mathematics,Grade 7,62.9 +Physics,Grade 9,68.8 +Mathematics,Grade 9,66.9 +Physics,Grade 8,74.1 +Biology,Grade 7,75.9 +Chemistry,Grade 8,73.9 +History,Grade 8,80.1 +Mathematics,Grade 8,66.3 +Physics,Grade 8,58.3 +Mathematics,Grade 7,75.6 +Physics,Grade 9,79.2 +Biology,Grade 9,81.3 +Mathematics,Grade 9,75.6 +Biology,Grade 9,83.1 +Biology,Grade 9,74.3 +Physics,Grade 9,71.2 +Mathematics,Grade 7,63.0 +History,Grade 7,77.4 +History,Grade 8,91.3 +Physics,Grade 8,73.3 +History,Grade 9,85.7 +Mathematics,Grade 9,64.7 +Mathematics,Grade 7,76.5 +Physics,Grade 8,62.9 +Chemistry,Grade 7,56.0 +Physics,Grade 8,72.6 +History,Grade 9,80.3 +Physics,Grade 7,65.1 +Physics,Grade 7,61.6 +Biology,Grade 7,52.0 +Chemistry,Grade 7,71.3 +Chemistry,Grade 8,73.6 +History,Grade 7,78.8 +Biology,Grade 8,84.6 +History,Grade 8,74.4 +History,Grade 8,100.0 +Biology,Grade 7,70.2 +Mathematics,Grade 7,57.1 +Biology,Grade 7,68.1 +Biology,Grade 9,84.7 +Physics,Grade 9,93.2 +Biology,Grade 8,75.4 +Chemistry,Grade 7,68.1 +Mathematics,Grade 9,51.3 +Biology,Grade 9,93.6 +Biology,Grade 9,58.3 +Chemistry,Grade 7,55.7 +Chemistry,Grade 9,63.7 +Mathematics,Grade 8,98.0 +Mathematics,Grade 9,76.9 +Chemistry,Grade 8,79.7 +Chemistry,Grade 7,70.6 +Mathematics,Grade 8,66.3 +Chemistry,Grade 7,81.1 +Chemistry,Grade 8,57.1 +Chemistry,Grade 7,100.0 +Mathematics,Grade 9,74.9 +Biology,Grade 8,73.5 +Mathematics,Grade 8,54.1 +Physics,Grade 8,54.9 +Mathematics,Grade 7,58.8 +History,Grade 9,73.3 +History,Grade 8,67.3 +Chemistry,Grade 9,69.2 +Physics,Grade 7,68.3 +History,Grade 7,76.4 +Biology,Grade 9,62.9 +Physics,Grade 8,70.7 +Chemistry,Grade 9,73.8 +Chemistry,Grade 9,86.6 +Chemistry,Grade 9,44.1 +Biology,Grade 7,83.7 +Biology,Grade 9,91.3 +Mathematics,Grade 9,68.6 +History,Grade 7,54.0 +Chemistry,Grade 9,50.7 +Biology,Grade 8,65.8 +Physics,Grade 7,68.5 +Chemistry,Grade 7,65.1 +Chemistry,Grade 8,76.8 +Biology,Grade 7,85.4 +Mathematics,Grade 8,51.9 +Mathematics,Grade 7,80.5 +Chemistry,Grade 9,64.2 +History,Grade 9,67.0 +Physics,Grade 9,58.4 +History,Grade 9,72.7 +Physics,Grade 9,76.0 +Mathematics,Grade 9,60.0 +History,Grade 7,77.6 +Mathematics,Grade 9,74.3 +Physics,Grade 7,70.9 +Physics,Grade 7,70.7 +History,Grade 8,67.0 +Biology,Grade 8,72.2 +Mathematics,Grade 9,74.8 +Mathematics,Grade 8,74.8 +History,Grade 9,85.1 +Biology,Grade 7,66.3 +Biology,Grade 7,56.8 +Physics,Grade 9,76.2 +History,Grade 8,77.7 +History,Grade 8,75.6 +History,Grade 7,76.6 +Physics,Grade 7,59.5 +Biology,Grade 9,85.7 +Biology,Grade 8,70.1 +History,Grade 7,82.1 +History,Grade 7,79.1 +Chemistry,Grade 7,45.0 +Biology,Grade 9,81.8 +Chemistry,Grade 8,70.5 +Mathematics,Grade 9,93.2 +Chemistry,Grade 7,80.7 +Biology,Grade 9,68.2 +Biology,Grade 7,70.8 +History,Grade 9,51.9 +History,Grade 8,73.7 +Physics,Grade 8,77.0 +Mathematics,Grade 9,74.5 +Physics,Grade 9,54.4 +Biology,Grade 8,100.0 +Physics,Grade 8,70.4 +Physics,Grade 7,65.0 +Biology,Grade 9,61.9 +Physics,Grade 7,49.7 +Chemistry,Grade 8,86.8 +Physics,Grade 9,61.2 +Biology,Grade 9,80.6 +History,Grade 9,83.7 +Biology,Grade 8,77.9 +Physics,Grade 9,76.5 +Mathematics,Grade 8,71.2 +Mathematics,Grade 7,69.9 +Chemistry,Grade 8,69.5 +Chemistry,Grade 9,97.2 +Physics,Grade 8,45.5 +Chemistry,Grade 7,69.4 +History,Grade 8,97.3 +Biology,Grade 9,71.2 +Mathematics,Grade 8,71.6 +Chemistry,Grade 8,74.6 +Mathematics,Grade 7,56.2 +Physics,Grade 8,75.5 +History,Grade 9,100.0 +History,Grade 7,82.4 +Physics,Grade 8,85.2 +Mathematics,Grade 8,70.2 +Physics,Grade 8,70.4 +Physics,Grade 8,77.9 +Mathematics,Grade 7,86.7 +History,Grade 7,77.5 +History,Grade 7,81.1 +Mathematics,Grade 8,72.5 +Chemistry,Grade 7,59.2 +Biology,Grade 8,78.0 +History,Grade 9,100.0 +Mathematics,Grade 7,76.5 +Biology,Grade 7,68.2 +Mathematics,Grade 9,76.8 +Biology,Grade 8,62.4 +History,Grade 8,98.7 +History,Grade 8,67.5 +History,Grade 9,81.0 +Physics,Grade 7,53.3 +Chemistry,Grade 8,65.9 +Mathematics,Grade 9,61.5 +Chemistry,Grade 7,53.0 +Chemistry,Grade 7,47.7 +Physics,Grade 9,93.7 +Mathematics,Grade 7,70.3 +Physics,Grade 7,76.4 +Physics,Grade 7,52.5 +History,Grade 8,67.6 +Mathematics,Grade 8,54.3 +History,Grade 8,79.2 +Chemistry,Grade 8,62.2 +Biology,Grade 8,66.1 +Physics,Grade 7,77.0 +Biology,Grade 7,63.8 +Physics,Grade 8,80.3 +Chemistry,Grade 8,69.4 +Physics,Grade 8,58.7 +History,Grade 9,76.1 +Mathematics,Grade 8,64.9 +Chemistry,Grade 8,59.9 +Chemistry,Grade 7,63.3 +Biology,Grade 7,66.2 +History,Grade 7,75.6 +Biology,Grade 7,56.5 +Biology,Grade 9,84.3 +Chemistry,Grade 8,60.1 +Physics,Grade 9,73.5 +Biology,Grade 9,78.6 +Mathematics,Grade 8,57.8 +History,Grade 7,60.7 +Physics,Grade 9,65.9 +Mathematics,Grade 7,69.5 +Biology,Grade 8,80.7 +Mathematics,Grade 7,76.1 +History,Grade 8,72.8 +Chemistry,Grade 9,58.2 +Mathematics,Grade 7,56.0 +History,Grade 9,81.1 +History,Grade 8,77.3 +Chemistry,Grade 7,57.9 +Mathematics,Grade 7,78.5 +History,Grade 9,80.3 +Chemistry,Grade 7,57.4 +Physics,Grade 8,62.5 +Physics,Grade 8,56.1 +Chemistry,Grade 7,79.7 +Chemistry,Grade 7,59.8 +Biology,Grade 9,82.3 +Physics,Grade 8,80.8 +History,Grade 7,77.5 +Biology,Grade 7,60.3 +Mathematics,Grade 7,54.4 +Mathematics,Grade 7,54.3 +Chemistry,Grade 9,67.4 +Mathematics,Grade 9,79.5 +Physics,Grade 8,49.6 +Physics,Grade 7,83.9 +History,Grade 8,75.0 +Chemistry,Grade 8,59.9 +Mathematics,Grade 8,55.1 +History,Grade 8,73.9 +Biology,Grade 8,75.9 +Biology,Grade 9,81.6 +Chemistry,Grade 9,69.8 +History,Grade 9,77.9 +History,Grade 8,80.8 +Biology,Grade 7,95.7 +Mathematics,Grade 9,66.7 +Physics,Grade 8,47.2 +Chemistry,Grade 9,81.8 +Chemistry,Grade 7,76.1 +Biology,Grade 9,61.8 +Physics,Grade 7,79.9 +Chemistry,Grade 8,72.9 +Physics,Grade 9,60.4 +History,Grade 7,73.9 +Biology,Grade 8,73.2 +Chemistry,Grade 7,69.5 +Mathematics,Grade 7,62.5 +Biology,Grade 7,69.6 +Chemistry,Grade 7,59.6 +History,Grade 7,69.7 +History,Grade 8,53.4 +Mathematics,Grade 7,59.3 +Mathematics,Grade 9,80.8 +Mathematics,Grade 7,69.5 +Biology,Grade 9,90.9 +Biology,Grade 7,60.6 +Biology,Grade 7,80.9 +Mathematics,Grade 9,80.4 +Chemistry,Grade 8,63.6 +Physics,Grade 8,38.7 +Biology,Grade 9,62.1 +History,Grade 7,77.6 +History,Grade 8,86.1 +Biology,Grade 7,76.6 +Mathematics,Grade 7,63.2 +Chemistry,Grade 9,54.0 +Mathematics,Grade 8,57.6 +Mathematics,Grade 9,81.2 +Physics,Grade 7,56.6 +Chemistry,Grade 8,67.6 +History,Grade 8,82.7 +Mathematics,Grade 8,61.2 +Mathematics,Grade 7,52.6 +Biology,Grade 7,70.0 +Physics,Grade 7,65.3 +Mathematics,Grade 9,71.0 +History,Grade 7,57.5 +Mathematics,Grade 7,65.3 +Biology,Grade 7,51.1 +Chemistry,Grade 9,74.2 +History,Grade 9,76.1 +Mathematics,Grade 7,62.5 +History,Grade 7,75.0 +Chemistry,Grade 7,71.2 +History,Grade 8,83.0 +Physics,Grade 8,69.9 +Chemistry,Grade 7,46.7 +History,Grade 9,83.3 +Biology,Grade 9,100.0 +Biology,Grade 7,67.3 +Physics,Grade 7,55.9 +Mathematics,Grade 7,66.5 +Physics,Grade 8,71.2 +Biology,Grade 7,73.4 +Mathematics,Grade 8,64.4 +Chemistry,Grade 7,72.7 +History,Grade 9,76.1 +Chemistry,Grade 9,63.8 +Chemistry,Grade 9,77.2 +Chemistry,Grade 7,68.9 +Chemistry,Grade 9,84.0 +History,Grade 8,61.3 +History,Grade 9,94.1 +History,Grade 7,73.7 +Chemistry,Grade 7,51.5 +Chemistry,Grade 9,80.5 +Biology,Grade 8,93.5 +History,Grade 7,73.7 +Chemistry,Grade 9,52.5 +Mathematics,Grade 8,84.0 +Mathematics,Grade 8,75.2 +Physics,Grade 8,71.7 +History,Grade 9,59.1 +History,Grade 7,73.6 +Biology,Grade 7,75.1 +Biology,Grade 7,85.1 +Physics,Grade 8,59.8 +Biology,Grade 9,50.5 +Biology,Grade 7,79.1 +Physics,Grade 7,60.8 +Chemistry,Grade 7,73.8 +Chemistry,Grade 8,68.5 +Biology,Grade 9,61.4 +Biology,Grade 7,65.1 +History,Grade 8,70.0 +Chemistry,Grade 7,69.9 +Chemistry,Grade 7,58.0 +Biology,Grade 9,97.5 +Mathematics,Grade 9,80.0 +Chemistry,Grade 7,65.8 +History,Grade 9,66.4 +Biology,Grade 7,83.9 +Chemistry,Grade 9,78.5 +Mathematics,Grade 7,66.4 +Biology,Grade 8,95.1 +Biology,Grade 9,100.0 +Biology,Grade 8,50.5 +History,Grade 7,97.3 +Biology,Grade 9,80.3 +Biology,Grade 8,69.6 +History,Grade 9,75.7 +Mathematics,Grade 7,73.7 +Physics,Grade 8,60.9 +Chemistry,Grade 7,79.0 +Physics,Grade 9,56.2 +Chemistry,Grade 7,52.0 +History,Grade 7,72.4 +Mathematics,Grade 7,65.8 +Chemistry,Grade 7,67.0 +Chemistry,Grade 7,46.7 +History,Grade 8,89.4 +Mathematics,Grade 8,64.9 +Mathematics,Grade 7,68.0 +Mathematics,Grade 8,60.9 +Mathematics,Grade 9,70.9 +Biology,Grade 8,56.7 +History,Grade 7,72.0 +Biology,Grade 9,66.8 +History,Grade 7,83.9 +Physics,Grade 8,50.0 +Physics,Grade 7,51.6 +History,Grade 8,85.1 +History,Grade 9,69.4 +Biology,Grade 9,84.5 +History,Grade 9,78.2 +Chemistry,Grade 9,77.7 +Biology,Grade 7,74.4 +Chemistry,Grade 8,69.5 +Mathematics,Grade 9,88.0 +Physics,Grade 7,63.4 +History,Grade 9,66.5 +Physics,Grade 7,60.4 +History,Grade 9,87.4 +History,Grade 8,76.6 +Physics,Grade 7,75.2 +Mathematics,Grade 8,66.5 +Chemistry,Grade 7,74.6 +Physics,Grade 9,65.2 +History,Grade 8,68.5 +Biology,Grade 7,77.6 +History,Grade 8,76.2 +History,Grade 8,75.7 +History,Grade 8,63.6 +Mathematics,Grade 8,77.5 +Biology,Grade 8,83.5 +History,Grade 7,77.2 +Biology,Grade 8,85.5 +Mathematics,Grade 8,63.3 +History,Grade 9,89.7 +Mathematics,Grade 9,66.4 +Biology,Grade 8,71.2 +Physics,Grade 7,59.1 +Biology,Grade 8,71.3 +Chemistry,Grade 7,80.6 +Chemistry,Grade 7,62.6 +History,Grade 9,72.8 +History,Grade 7,82.5 +Chemistry,Grade 7,69.5 +History,Grade 9,79.2 +Chemistry,Grade 7,62.4 +History,Grade 9,96.1 +Chemistry,Grade 9,68.0 +Mathematics,Grade 9,73.5 +Mathematics,Grade 9,76.9 +Biology,Grade 8,80.0 +Mathematics,Grade 9,71.7 +Chemistry,Grade 8,73.7 +Chemistry,Grade 9,68.3 +Physics,Grade 9,44.2 +Physics,Grade 9,55.1 +Biology,Grade 8,78.0 +Biology,Grade 8,45.9 +Mathematics,Grade 7,73.7 +Biology,Grade 9,68.3 +Biology,Grade 8,89.8 +Chemistry,Grade 7,66.5 +Physics,Grade 7,71.0 +Biology,Grade 8,94.2 +Physics,Grade 9,71.3 +History,Grade 7,76.4 +Chemistry,Grade 7,55.7 +Biology,Grade 8,81.3 +Physics,Grade 7,61.5 +History,Grade 7,65.4 +Mathematics,Grade 8,79.1 +Physics,Grade 9,71.7 +Mathematics,Grade 9,86.3 +Chemistry,Grade 7,55.8 +Biology,Grade 7,70.5 +Biology,Grade 8,57.9 +Biology,Grade 7,80.1 +Biology,Grade 7,72.7 +Biology,Grade 7,83.1 +Chemistry,Grade 9,59.2 +History,Grade 8,88.5 +Chemistry,Grade 9,57.5 +Physics,Grade 9,75.1 +Physics,Grade 7,70.1 +Chemistry,Grade 9,96.3 +Biology,Grade 8,76.0 +History,Grade 8,78.1 +Biology,Grade 9,75.1 +Mathematics,Grade 7,64.8 +Biology,Grade 8,78.1 +Chemistry,Grade 8,83.9 +Physics,Grade 9,70.8 +Biology,Grade 9,72.5 +Physics,Grade 8,65.9 +History,Grade 8,83.2 +Physics,Grade 7,70.8 +Chemistry,Grade 8,58.8 +Biology,Grade 8,90.3 +Physics,Grade 7,71.7 +Chemistry,Grade 8,100.0 +History,Grade 8,70.1 +Chemistry,Grade 7,52.4 +Mathematics,Grade 7,93.0 +Chemistry,Grade 7,78.2 +Physics,Grade 9,65.0 +Chemistry,Grade 9,63.2 +Mathematics,Grade 7,73.4 +Chemistry,Grade 8,93.7 +Biology,Grade 9,76.8 +History,Grade 8,100.0 +History,Grade 9,93.5 +Chemistry,Grade 8,54.8 +Chemistry,Grade 7,74.7 +Chemistry,Grade 9,73.7 +Biology,Grade 9,74.3 +Chemistry,Grade 7,98.6 +Mathematics,Grade 9,78.7 +Biology,Grade 7,63.0 +Mathematics,Grade 7,81.9 +Chemistry,Grade 9,79.0 +Chemistry,Grade 7,63.1 +History,Grade 9,73.2 +Mathematics,Grade 7,50.5 +Biology,Grade 8,74.0 +Biology,Grade 7,90.9 +Mathematics,Grade 8,61.9 +History,Grade 8,79.4 +Biology,Grade 9,74.5 +Biology,Grade 8,74.4 +Mathematics,Grade 7,62.0 +History,Grade 9,82.8 +Mathematics,Grade 9,89.7 +History,Grade 9,50.7 +Physics,Grade 8,76.0 +Chemistry,Grade 9,68.8 +Chemistry,Grade 7,48.7 +Biology,Grade 7,57.2 +Physics,Grade 7,70.7 +History,Grade 8,88.0 +History,Grade 7,67.4 +Chemistry,Grade 9,85.2 +History,Grade 8,64.2 +Mathematics,Grade 7,76.9 +Physics,Grade 7,51.2 +Chemistry,Grade 9,74.9 +Physics,Grade 9,64.6 +Mathematics,Grade 7,71.7 +Mathematics,Grade 8,71.3 +Chemistry,Grade 8,75.0 +Mathematics,Grade 7,71.2 +Biology,Grade 7,84.5 +Mathematics,Grade 8,64.6 +Physics,Grade 9,62.4 +History,Grade 8,88.8 +Physics,Grade 9,73.7 +Chemistry,Grade 7,65.0 +Physics,Grade 9,68.0 +History,Grade 8,81.5 +Mathematics,Grade 9,86.5 +Physics,Grade 7,71.2 +Chemistry,Grade 9,74.7 +History,Grade 9,100.0 +Biology,Grade 7,57.1 +History,Grade 9,75.7 +Chemistry,Grade 8,86.2 +Mathematics,Grade 8,91.5 +Chemistry,Grade 9,80.2 +Mathematics,Grade 7,58.2 +Physics,Grade 9,81.9 +Physics,Grade 9,66.9 +Biology,Grade 9,86.6 +Mathematics,Grade 8,58.2 +Biology,Grade 7,72.5 +History,Grade 7,82.7 +History,Grade 9,74.1 +Biology,Grade 7,81.6 +Chemistry,Grade 8,74.1 +Biology,Grade 8,69.3 +History,Grade 7,73.3 +History,Grade 7,77.8 +Biology,Grade 7,66.4 +Physics,Grade 8,76.3 +Physics,Grade 8,69.4 +History,Grade 7,87.1 +Biology,Grade 8,67.7 +Chemistry,Grade 7,70.5 +Biology,Grade 7,58.4 +Physics,Grade 9,72.6 +Biology,Grade 8,82.8 +Mathematics,Grade 9,76.7 +History,Grade 7,88.4 +Chemistry,Grade 7,55.5 +Physics,Grade 7,79.8 +Biology,Grade 8,75.8 +Physics,Grade 9,63.7 +Biology,Grade 7,71.7 +Chemistry,Grade 7,76.4 +Mathematics,Grade 9,83.3 +Physics,Grade 9,67.9 +Biology,Grade 9,83.2 +Mathematics,Grade 7,44.4 +Physics,Grade 7,77.3 +History,Grade 7,62.9 +Chemistry,Grade 7,66.4 +Mathematics,Grade 7,59.7 +Chemistry,Grade 8,69.7 +Physics,Grade 9,71.1 +Chemistry,Grade 7,76.1 +Chemistry,Grade 9,72.1 +Physics,Grade 8,65.0 +Physics,Grade 7,51.7 +Mathematics,Grade 8,85.5 +Physics,Grade 8,78.6 +Physics,Grade 7,63.8 +Chemistry,Grade 8,52.7 +History,Grade 8,83.5 +Biology,Grade 8,88.7 +Biology,Grade 7,74.9 +Mathematics,Grade 7,68.0 +Mathematics,Grade 8,69.3 +History,Grade 7,58.8 +Chemistry,Grade 7,55.5 +Biology,Grade 7,94.7 +Physics,Grade 7,63.6 +History,Grade 7,84.2 +History,Grade 9,100.0 +Mathematics,Grade 9,76.6 +Physics,Grade 9,69.8 +Physics,Grade 9,60.0 +Physics,Grade 9,55.3 +Mathematics,Grade 8,67.6 +Biology,Grade 7,84.0 +Mathematics,Grade 9,71.1 +Physics,Grade 9,56.3 +Biology,Grade 9,97.0 +Mathematics,Grade 8,83.0 +Physics,Grade 8,74.4 +Chemistry,Grade 7,65.1 +History,Grade 8,57.4 +History,Grade 8,81.8 +Physics,Grade 8,81.1 +Mathematics,Grade 9,83.7 +History,Grade 8,56.2 +History,Grade 8,69.6 +Biology,Grade 7,67.2 +Chemistry,Grade 9,62.8 +Mathematics,Grade 8,78.3 +Physics,Grade 7,65.7 +Chemistry,Grade 7,58.3 +Chemistry,Grade 9,65.7 +History,Grade 8,69.6 +Physics,Grade 8,60.7 +Biology,Grade 7,69.3 +Chemistry,Grade 7,79.4 +Mathematics,Grade 9,94.1 +Physics,Grade 8,75.6 +History,Grade 9,54.2 +Mathematics,Grade 8,68.8 +Biology,Grade 7,64.8 +History,Grade 7,60.2 +Physics,Grade 7,58.9 +Mathematics,Grade 7,57.6 +Biology,Grade 7,63.4 +Chemistry,Grade 9,59.6 +Mathematics,Grade 9,77.4 +Chemistry,Grade 8,62.4 +Mathematics,Grade 9,71.5 +Physics,Grade 8,74.0 +Physics,Grade 9,93.9 +History,Grade 7,68.3 +Biology,Grade 9,62.5 +Physics,Grade 9,76.9 +Biology,Grade 8,89.2 +Mathematics,Grade 9,77.8 +History,Grade 7,95.4 +Mathematics,Grade 9,86.2 +History,Grade 8,59.1 +Physics,Grade 9,56.9 +Physics,Grade 8,66.6 +Physics,Grade 7,53.9 +Physics,Grade 8,78.1 +Biology,Grade 9,72.7 +History,Grade 9,88.9 +Biology,Grade 9,81.0 +Chemistry,Grade 8,69.9 +Physics,Grade 9,55.8 +Mathematics,Grade 9,79.4 +Chemistry,Grade 8,69.3 +Chemistry,Grade 7,77.8 +Mathematics,Grade 9,58.5 +History,Grade 9,85.3 +Physics,Grade 8,57.6 +History,Grade 7,66.9 +Physics,Grade 8,70.5 +Physics,Grade 8,49.3 +History,Grade 8,69.9 +Chemistry,Grade 7,55.6 +Physics,Grade 8,60.4 +Physics,Grade 9,67.3 +Biology,Grade 9,88.7 +History,Grade 8,77.1 +Physics,Grade 9,76.8 +History,Grade 8,76.8 +History,Grade 7,87.3 +Chemistry,Grade 8,71.2 +Biology,Grade 9,72.9 +History,Grade 7,80.2 +Physics,Grade 8,71.2 +Chemistry,Grade 8,67.9 +Chemistry,Grade 7,72.0 +Chemistry,Grade 8,57.3 +Chemistry,Grade 8,80.3 +History,Grade 7,77.4 +History,Grade 8,92.3 +Chemistry,Grade 7,60.2 +History,Grade 8,68.7 +Mathematics,Grade 8,80.1 +Chemistry,Grade 7,61.7 +Physics,Grade 9,58.4 +Mathematics,Grade 9,56.7 +Biology,Grade 9,68.4 +History,Grade 9,86.1 +Chemistry,Grade 8,65.3 +Biology,Grade 9,72.3 +Mathematics,Grade 7,81.6 +Biology,Grade 8,59.2 +Chemistry,Grade 9,71.8 +Mathematics,Grade 8,71.1 +History,Grade 7,94.0 +Chemistry,Grade 8,62.6 +History,Grade 7,83.4 +Biology,Grade 9,82.9 +Biology,Grade 9,91.1 +History,Grade 7,78.0 +Mathematics,Grade 9,67.6 +Mathematics,Grade 8,67.0 +Mathematics,Grade 9,78.6 +Mathematics,Grade 7,63.4 +Physics,Grade 9,89.4 +Mathematics,Grade 9,69.1 +Biology,Grade 8,83.8 +Biology,Grade 8,72.0 +Mathematics,Grade 9,90.8 +Biology,Grade 7,54.4 +History,Grade 9,73.7 +Biology,Grade 8,66.7 +Mathematics,Grade 9,96.3 +Biology,Grade 8,77.8 +Biology,Grade 7,78.8 +History,Grade 7,78.8 +Mathematics,Grade 8,76.7 +Physics,Grade 8,79.1 +Physics,Grade 8,58.8 +Mathematics,Grade 7,69.0 +Chemistry,Grade 7,44.1 +Mathematics,Grade 9,78.5 +History,Grade 7,73.9 +Chemistry,Grade 7,67.0 +History,Grade 8,78.4 +Mathematics,Grade 9,65.0 +Physics,Grade 8,46.1 +History,Grade 8,70.2 +Mathematics,Grade 8,75.8 +Biology,Grade 7,59.5 +Chemistry,Grade 9,91.2 +Biology,Grade 8,92.9 +History,Grade 7,93.1 +Physics,Grade 9,81.1 +Mathematics,Grade 8,66.4 +Physics,Grade 8,46.4 +Mathematics,Grade 9,72.4 +Chemistry,Grade 9,81.8 +History,Grade 8,68.8 +Biology,Grade 8,79.2 +Physics,Grade 8,66.5 +Physics,Grade 9,64.7 +Biology,Grade 7,79.7 +History,Grade 7,89.2 +Biology,Grade 8,79.0 +Biology,Grade 8,58.7 +Physics,Grade 9,69.5 +Mathematics,Grade 7,85.6 +Mathematics,Grade 7,38.1 +Mathematics,Grade 7,72.1 +Biology,Grade 7,68.1 +Biology,Grade 7,80.8 +Physics,Grade 8,66.4 +Physics,Grade 9,57.2 +History,Grade 8,70.8 +Physics,Grade 8,73.2 +Biology,Grade 8,87.4 +Biology,Grade 9,82.8 +Biology,Grade 9,74.0 +Mathematics,Grade 9,59.9 +Physics,Grade 7,71.4 +Mathematics,Grade 9,72.1 +Physics,Grade 7,74.1 +Mathematics,Grade 8,58.5 +Mathematics,Grade 8,75.7 +History,Grade 9,74.7 +Biology,Grade 7,78.1 +History,Grade 7,58.3 +History,Grade 7,65.9 +Chemistry,Grade 7,49.5 +Mathematics,Grade 9,97.7 +Mathematics,Grade 9,89.4 +Chemistry,Grade 8,70.7 +History,Grade 8,56.4 +Biology,Grade 9,72.8 +Mathematics,Grade 9,79.7 +Physics,Grade 9,55.3 +Mathematics,Grade 8,57.8 +History,Grade 9,87.8 +Chemistry,Grade 8,70.8 +Chemistry,Grade 8,78.1 +Mathematics,Grade 7,58.9 +Mathematics,Grade 8,77.3 +History,Grade 8,78.1 +Physics,Grade 8,69.7 +Mathematics,Grade 8,64.9 +History,Grade 7,60.4 +Chemistry,Grade 7,74.3 +Physics,Grade 9,57.4 +History,Grade 8,65.7 +Mathematics,Grade 8,60.9 +Mathematics,Grade 8,81.9 +Chemistry,Grade 7,66.9 +Mathematics,Grade 9,86.8 +Mathematics,Grade 7,51.9 +Chemistry,Grade 8,60.7 +Physics,Grade 8,68.0 +Mathematics,Grade 7,54.5 +Chemistry,Grade 7,73.3 +Biology,Grade 7,72.9 +Physics,Grade 8,74.5 +History,Grade 7,54.3 +History,Grade 9,85.1 +Physics,Grade 9,62.1 +History,Grade 9,72.9 +Mathematics,Grade 7,76.8 +Physics,Grade 7,59.9 +Chemistry,Grade 8,69.5 +Chemistry,Grade 7,57.6 +Mathematics,Grade 7,65.5 +Mathematics,Grade 9,84.8 +Physics,Grade 9,65.0 +History,Grade 7,61.8 +Mathematics,Grade 9,61.2 +Chemistry,Grade 7,79.1 +Mathematics,Grade 7,100.0 +History,Grade 8,74.6 +Mathematics,Grade 9,65.9 +Mathematics,Grade 9,90.6 +Biology,Grade 9,82.7 +Mathematics,Grade 7,60.6 +Biology,Grade 8,88.0 +History,Grade 9,79.3 +Biology,Grade 9,74.4 +Chemistry,Grade 9,78.8 +Physics,Grade 9,71.2 +Biology,Grade 9,79.9 +Chemistry,Grade 7,90.1 +Mathematics,Grade 8,64.5 +Mathematics,Grade 9,54.9 +Physics,Grade 9,44.8 +Biology,Grade 8,70.9 +History,Grade 7,75.8 +Biology,Grade 8,74.1 +Physics,Grade 7,58.8 +History,Grade 9,93.0 +Chemistry,Grade 8,73.1 +Physics,Grade 8,58.7 +Biology,Grade 9,74.0 +Chemistry,Grade 9,69.2 +Mathematics,Grade 9,92.4 +History,Grade 9,79.7 +Mathematics,Grade 7,90.1 +History,Grade 9,69.8 +Biology,Grade 8,91.0 +Chemistry,Grade 9,56.8 +Chemistry,Grade 7,64.6 +Mathematics,Grade 7,78.6 +History,Grade 9,62.6 +Biology,Grade 8,72.5 +Biology,Grade 7,75.7 +Mathematics,Grade 8,67.7 +History,Grade 8,69.5 +Chemistry,Grade 9,82.1 +Physics,Grade 7,67.6 +History,Grade 9,100.0 +History,Grade 7,69.0 +Chemistry,Grade 9,79.0 +Physics,Grade 8,72.8 +Physics,Grade 8,73.3 +Biology,Grade 9,65.6 +History,Grade 8,77.5 +Biology,Grade 7,71.4 +Biology,Grade 9,83.6 +Physics,Grade 9,86.6 +Chemistry,Grade 9,68.9 +Mathematics,Grade 9,79.5 +History,Grade 7,63.1 +Physics,Grade 9,68.5 +History,Grade 8,84.2 +Chemistry,Grade 7,79.2 +Physics,Grade 7,55.6 +Biology,Grade 7,61.2 +History,Grade 9,81.0 +History,Grade 7,75.2 +Mathematics,Grade 8,78.1 +History,Grade 8,63.2 +Chemistry,Grade 9,80.4 +Biology,Grade 8,80.8 +Physics,Grade 9,56.9 +History,Grade 7,70.3 +History,Grade 8,76.3 +Chemistry,Grade 7,52.8 +History,Grade 9,67.6 +Mathematics,Grade 9,71.2 +Mathematics,Grade 9,82.9 +Biology,Grade 9,70.1 +Chemistry,Grade 7,76.4 +Physics,Grade 7,44.9 +Biology,Grade 9,73.7 +Biology,Grade 7,73.7 +Mathematics,Grade 7,79.1 +Physics,Grade 9,73.0 +History,Grade 7,84.9 +History,Grade 8,78.5 +History,Grade 7,87.9 +Physics,Grade 8,81.8 +History,Grade 8,71.7 +Mathematics,Grade 7,61.9 +Biology,Grade 9,70.0 +Biology,Grade 9,86.7 +Chemistry,Grade 8,56.3 +Mathematics,Grade 8,85.7 +Physics,Grade 7,54.6 +History,Grade 8,62.9 +History,Grade 7,71.2 +Physics,Grade 8,76.5 +Chemistry,Grade 8,74.5 +History,Grade 9,80.4 +Chemistry,Grade 9,81.3 +History,Grade 8,75.1 +Physics,Grade 9,79.4 +Biology,Grade 8,78.8 +History,Grade 8,70.9 +History,Grade 8,72.5 +Mathematics,Grade 9,91.1 +Biology,Grade 7,66.2 +Physics,Grade 7,56.8 +Chemistry,Grade 7,77.3 +History,Grade 7,62.1 +Biology,Grade 8,67.0 +Chemistry,Grade 9,81.4 +Chemistry,Grade 9,56.2 +Biology,Grade 9,100.0 +Mathematics,Grade 7,47.6 +History,Grade 8,69.2 +Biology,Grade 7,65.8 +Physics,Grade 8,53.9 +History,Grade 8,76.7 +Chemistry,Grade 9,70.6 +Mathematics,Grade 9,67.6 +Physics,Grade 9,60.3 +History,Grade 8,78.9 +Chemistry,Grade 9,67.4 +Physics,Grade 8,77.8 +Mathematics,Grade 8,70.1 +History,Grade 9,74.1 +Mathematics,Grade 7,88.9 +Physics,Grade 7,67.8 +Chemistry,Grade 8,67.3 +Mathematics,Grade 7,50.7 +Chemistry,Grade 8,66.4 +Biology,Grade 8,87.9 +Physics,Grade 7,59.8 +History,Grade 7,78.3 +Chemistry,Grade 8,65.3 +History,Grade 7,73.4 +History,Grade 8,89.9 +History,Grade 9,74.0 +Mathematics,Grade 9,72.3 +Mathematics,Grade 7,82.9 +Physics,Grade 7,72.5 +History,Grade 7,62.9 +History,Grade 8,72.8 +History,Grade 8,66.2 +Physics,Grade 7,72.3 +Mathematics,Grade 7,67.3 +Biology,Grade 9,83.0 +History,Grade 9,90.7 +Physics,Grade 8,57.8 +History,Grade 8,75.0 +Physics,Grade 7,53.6 +History,Grade 7,77.5 +Mathematics,Grade 9,65.4 +Physics,Grade 8,56.2 +Mathematics,Grade 9,82.0 +Biology,Grade 8,76.9 +Chemistry,Grade 9,62.3 +Chemistry,Grade 7,62.7 +History,Grade 7,83.7 +Biology,Grade 7,78.9 +Chemistry,Grade 8,93.0 +History,Grade 7,82.7 +History,Grade 9,93.4 +Mathematics,Grade 7,63.2 +Physics,Grade 9,70.6 +Chemistry,Grade 9,56.7 +Biology,Grade 7,74.2 +History,Grade 7,72.5 +Mathematics,Grade 8,65.9 +Biology,Grade 9,79.6 +Chemistry,Grade 7,69.2 +Physics,Grade 8,57.0 +Chemistry,Grade 9,60.9 +Biology,Grade 7,82.7 +Biology,Grade 9,76.0 +Biology,Grade 9,78.3 +History,Grade 7,78.0 +Physics,Grade 8,59.7 +Mathematics,Grade 8,76.0 +Physics,Grade 9,55.6 +History,Grade 8,89.1 +Biology,Grade 9,65.8 +History,Grade 9,74.8 +Chemistry,Grade 8,51.1 +Mathematics,Grade 7,69.6 +Mathematics,Grade 7,61.9 +Physics,Grade 7,51.6 +Chemistry,Grade 7,77.9 +Physics,Grade 9,65.4 +Physics,Grade 8,75.0 +Chemistry,Grade 7,76.1 +Physics,Grade 7,59.6 +Mathematics,Grade 8,74.7 +Physics,Grade 7,63.8 +Chemistry,Grade 7,58.8 +Physics,Grade 9,85.8 +Biology,Grade 7,68.6 +Mathematics,Grade 8,56.1 +Chemistry,Grade 7,60.3 +Biology,Grade 7,87.2 +Physics,Grade 7,52.4 +Physics,Grade 9,78.7 +Mathematics,Grade 9,80.2 +Chemistry,Grade 9,66.6 +History,Grade 8,88.9 +History,Grade 8,99.1 +Biology,Grade 8,87.7 +Biology,Grade 7,71.1 +Biology,Grade 9,84.6 +History,Grade 9,90.2 +Mathematics,Grade 9,69.5 +History,Grade 7,69.8 +Chemistry,Grade 8,45.5 +Physics,Grade 8,57.4 +Physics,Grade 8,51.3 +Chemistry,Grade 7,65.4 +Biology,Grade 9,72.9 +Mathematics,Grade 7,61.3 +Mathematics,Grade 9,69.9 +Physics,Grade 8,50.2 +Physics,Grade 9,66.5 +Chemistry,Grade 8,66.4 +Chemistry,Grade 9,85.0 +Chemistry,Grade 7,85.1 +Mathematics,Grade 8,70.3 +Mathematics,Grade 9,83.3 +Mathematics,Grade 9,75.7 +Mathematics,Grade 9,88.8 +Mathematics,Grade 7,73.6 +History,Grade 7,78.4 +Biology,Grade 8,82.8 +Physics,Grade 9,84.4 +Mathematics,Grade 7,61.1 +Mathematics,Grade 8,64.0 +Biology,Grade 8,79.4 +Chemistry,Grade 9,77.8 +Chemistry,Grade 8,60.7 +Biology,Grade 9,87.2 +History,Grade 8,96.5 +Mathematics,Grade 8,66.4 +Mathematics,Grade 7,68.2 +History,Grade 8,86.3 +Biology,Grade 7,94.3 +Chemistry,Grade 9,78.9 +Biology,Grade 9,81.4 +History,Grade 7,92.7 +History,Grade 7,78.8 +Chemistry,Grade 9,68.9 +Physics,Grade 7,68.9 +History,Grade 7,74.6 +History,Grade 7,66.0 +Physics,Grade 9,57.9 +Chemistry,Grade 8,82.2 +Chemistry,Grade 7,51.3 +Physics,Grade 7,56.5 +History,Grade 7,60.7 +Biology,Grade 7,85.1 +Physics,Grade 8,64.9 +Physics,Grade 8,69.8 +History,Grade 9,78.0 +Physics,Grade 8,70.9 +Biology,Grade 7,66.5 +Biology,Grade 8,61.8 +Chemistry,Grade 9,58.0 +Physics,Grade 8,64.8 +Physics,Grade 8,40.5 +Mathematics,Grade 7,74.5 +Chemistry,Grade 9,60.2 +Chemistry,Grade 8,67.9 +History,Grade 7,99.0 +Chemistry,Grade 9,70.3 +History,Grade 8,70.2 +Chemistry,Grade 9,64.0 +History,Grade 7,87.6 +Physics,Grade 7,76.3 +Biology,Grade 9,83.5 +History,Grade 7,68.1 +Chemistry,Grade 8,85.1 +History,Grade 9,80.0 +Physics,Grade 9,80.7 +History,Grade 7,87.2 +Physics,Grade 9,74.6 +Chemistry,Grade 9,67.0 +Mathematics,Grade 9,61.8 +History,Grade 8,66.7 +Chemistry,Grade 7,54.3 +Chemistry,Grade 9,100.0 +Physics,Grade 8,42.7 +Mathematics,Grade 7,84.4 +Mathematics,Grade 9,47.5 +Physics,Grade 8,82.5 +Biology,Grade 9,81.0 +Mathematics,Grade 7,52.1 +Chemistry,Grade 9,51.1 +Mathematics,Grade 7,62.8 +History,Grade 9,79.3 +History,Grade 7,66.4 +Mathematics,Grade 9,74.1 +Chemistry,Grade 9,73.6 +Biology,Grade 8,75.2 +Chemistry,Grade 8,64.8 +Physics,Grade 8,54.1 +Chemistry,Grade 7,88.3 +Chemistry,Grade 7,62.8 +Mathematics,Grade 8,71.3 +Mathematics,Grade 7,89.7 +History,Grade 8,100.0 +Biology,Grade 9,68.2 +Chemistry,Grade 7,82.5 +Mathematics,Grade 7,66.7 +Chemistry,Grade 7,42.2 +Mathematics,Grade 8,64.3 +Chemistry,Grade 9,63.7 +Chemistry,Grade 9,88.1 +Biology,Grade 8,87.4 +Mathematics,Grade 9,71.7 +Biology,Grade 9,65.6 +History,Grade 8,81.3 +Chemistry,Grade 7,60.5 +Chemistry,Grade 8,79.8 +Physics,Grade 7,55.1 +History,Grade 9,72.0 +Chemistry,Grade 9,77.7 +Biology,Grade 7,93.0 +History,Grade 8,84.6 +Physics,Grade 9,66.7 +Mathematics,Grade 7,80.4 +History,Grade 7,82.0 +History,Grade 9,69.4 +Physics,Grade 7,68.5 +Physics,Grade 9,65.9 +Chemistry,Grade 8,76.8 +Mathematics,Grade 8,61.4 +Biology,Grade 7,73.8 +Mathematics,Grade 7,65.3 +Biology,Grade 7,53.3 +Biology,Grade 9,86.3 +History,Grade 9,83.8 +History,Grade 9,69.6 +Biology,Grade 9,72.9 +History,Grade 9,79.6 +Chemistry,Grade 8,64.8 +Mathematics,Grade 8,77.1 +Physics,Grade 7,65.8 +Mathematics,Grade 9,55.0 +Mathematics,Grade 7,79.4 +Biology,Grade 7,72.2 +Physics,Grade 9,59.8 +Chemistry,Grade 8,67.8 +History,Grade 8,62.3 +Biology,Grade 8,73.9 +Chemistry,Grade 9,76.7 +Biology,Grade 8,72.0 +Chemistry,Grade 8,76.5 +History,Grade 8,54.9 +Mathematics,Grade 8,69.1 +Physics,Grade 7,69.5 +Biology,Grade 9,100.0 +Biology,Grade 9,78.9 +Mathematics,Grade 7,76.4 +Chemistry,Grade 9,68.3 +Mathematics,Grade 7,62.2 +History,Grade 8,71.6 +History,Grade 7,71.1 +Physics,Grade 8,69.2 +Physics,Grade 7,51.9 +Chemistry,Grade 8,58.2 +Biology,Grade 8,79.6 +Biology,Grade 8,100.0 +History,Grade 8,79.1 +Physics,Grade 7,68.8 +History,Grade 7,68.7 +Biology,Grade 8,65.6 +Mathematics,Grade 7,68.7 +History,Grade 7,69.8 +Biology,Grade 9,91.1 +Mathematics,Grade 7,73.8 +Mathematics,Grade 8,48.5 +Physics,Grade 8,57.5 +Biology,Grade 7,67.3 +Mathematics,Grade 7,73.7 +Mathematics,Grade 7,74.0 +Biology,Grade 8,73.5 +Chemistry,Grade 8,79.2 +Chemistry,Grade 8,70.1 +Mathematics,Grade 7,49.1 +Physics,Grade 9,55.8 +Chemistry,Grade 7,64.7 +Biology,Grade 8,91.6 +Physics,Grade 8,80.9 +Mathematics,Grade 9,84.8 +Biology,Grade 9,83.9 +History,Grade 7,69.7 +Chemistry,Grade 7,66.4 +History,Grade 7,79.4 +Biology,Grade 7,59.8 +Biology,Grade 8,79.4 +Chemistry,Grade 7,84.2 +Biology,Grade 7,61.9 +Mathematics,Grade 9,65.4 +Physics,Grade 9,58.9 +Biology,Grade 7,57.2 +Mathematics,Grade 7,61.4 +Mathematics,Grade 9,61.1 +Chemistry,Grade 9,67.0 +Biology,Grade 7,62.9 +Chemistry,Grade 8,71.1 +History,Grade 8,65.8 +Chemistry,Grade 8,48.8 +Biology,Grade 9,82.2 +Chemistry,Grade 7,62.1 +Chemistry,Grade 7,62.1 +Chemistry,Grade 9,83.4 +History,Grade 9,79.1 +Biology,Grade 9,94.7 +Mathematics,Grade 8,57.8 +Chemistry,Grade 8,68.4 +Mathematics,Grade 9,86.4 +Chemistry,Grade 9,71.4 +Biology,Grade 8,84.9 +History,Grade 7,76.7 +Mathematics,Grade 9,88.1 +History,Grade 9,73.4 +Physics,Grade 7,56.6 +History,Grade 7,60.4 +Biology,Grade 8,68.3 +Chemistry,Grade 7,62.7 +Biology,Grade 9,65.1 +Biology,Grade 7,80.2 +Chemistry,Grade 7,72.6 +Mathematics,Grade 9,85.1 +Mathematics,Grade 8,80.0 +Physics,Grade 7,62.3 +History,Grade 9,87.2 +History,Grade 8,71.8 +Physics,Grade 7,76.6 +Biology,Grade 8,64.6 +Mathematics,Grade 7,85.3 +Biology,Grade 8,58.9 +Mathematics,Grade 7,54.5 +History,Grade 8,86.4 +Physics,Grade 9,80.9 +Chemistry,Grade 7,66.0 +Biology,Grade 7,73.9 +Physics,Grade 8,59.4 +Chemistry,Grade 8,70.1 +Mathematics,Grade 7,60.4 +History,Grade 9,76.0 +Mathematics,Grade 8,81.7 +Chemistry,Grade 7,69.3 +Biology,Grade 9,70.6 +Mathematics,Grade 7,75.2 +Biology,Grade 7,67.7 +Biology,Grade 9,87.4 +Chemistry,Grade 7,64.1 +Mathematics,Grade 7,67.3 +History,Grade 8,100.0 +Physics,Grade 7,54.5 +Mathematics,Grade 7,41.9 +Biology,Grade 7,75.8 +Chemistry,Grade 9,58.7 +Physics,Grade 7,53.4 +History,Grade 7,83.0 +Biology,Grade 8,71.5 +Biology,Grade 7,96.8 +Biology,Grade 7,58.2 +Biology,Grade 8,89.3 +History,Grade 9,83.0 +Physics,Grade 9,47.7 +Chemistry,Grade 7,68.6 +Physics,Grade 9,80.4 +History,Grade 8,78.7 +Mathematics,Grade 8,70.6 +History,Grade 9,86.5 +Physics,Grade 9,76.8 +Physics,Grade 9,66.1 +Chemistry,Grade 9,64.0 +Mathematics,Grade 9,66.9 +Chemistry,Grade 7,80.4 +Chemistry,Grade 7,63.2 +Biology,Grade 8,76.5 +Biology,Grade 9,71.5 +Physics,Grade 8,47.2 +History,Grade 9,44.3 +History,Grade 8,67.4 +Biology,Grade 7,54.8 +Chemistry,Grade 8,67.6 +Mathematics,Grade 9,63.0 +Biology,Grade 9,76.1 +Chemistry,Grade 8,85.8 +Biology,Grade 8,67.4 +Biology,Grade 8,84.9 +Biology,Grade 9,60.5 +Mathematics,Grade 7,63.5 +Biology,Grade 9,87.3 +Chemistry,Grade 7,45.3 +Chemistry,Grade 7,52.2 +History,Grade 9,100.0 +Biology,Grade 7,72.1 +Biology,Grade 9,74.9 +History,Grade 7,73.6 +Chemistry,Grade 7,47.2 +Physics,Grade 7,78.7 +Biology,Grade 9,89.9 +Chemistry,Grade 9,77.1 +Physics,Grade 7,81.4 +Mathematics,Grade 7,43.2 +History,Grade 9,91.2 +Mathematics,Grade 7,89.8 +Biology,Grade 8,83.0 +Physics,Grade 7,64.1 +Chemistry,Grade 9,94.4 +History,Grade 7,72.2 +Physics,Grade 7,55.3 +History,Grade 9,76.0 +Physics,Grade 7,66.1 +Physics,Grade 7,62.7 +Biology,Grade 9,66.8 +History,Grade 8,82.0 +Biology,Grade 8,55.7 +Mathematics,Grade 7,73.2 +History,Grade 9,85.0 +Biology,Grade 8,80.8 +Biology,Grade 8,77.2 +Chemistry,Grade 8,85.8 +History,Grade 7,79.0 +History,Grade 7,67.1 +History,Grade 9,84.5 +Chemistry,Grade 7,57.0 +Mathematics,Grade 9,68.6 +Physics,Grade 7,61.4 +History,Grade 7,63.9 +Chemistry,Grade 7,46.6 +History,Grade 8,64.2 +History,Grade 7,73.0 +Chemistry,Grade 8,61.0 +Biology,Grade 7,91.7 +Mathematics,Grade 8,68.7 +Mathematics,Grade 7,64.9 +Physics,Grade 9,83.6 +Biology,Grade 8,70.0 +History,Grade 7,54.9 +History,Grade 7,68.2 +Chemistry,Grade 8,64.8 +History,Grade 9,73.8 +Mathematics,Grade 8,82.6 +History,Grade 8,78.1 +History,Grade 7,65.7 +Biology,Grade 9,59.8 +Chemistry,Grade 8,81.9 +Chemistry,Grade 7,72.7 +Biology,Grade 9,87.5 +History,Grade 8,79.1 +Mathematics,Grade 9,74.5 +Chemistry,Grade 8,48.4 +Chemistry,Grade 9,72.0 +Biology,Grade 8,77.2 +Biology,Grade 9,86.8 +History,Grade 7,80.9 +History,Grade 7,82.8 +Physics,Grade 9,54.4 +Physics,Grade 8,63.5 +Chemistry,Grade 8,73.1 +Biology,Grade 7,87.1 +Mathematics,Grade 9,79.3 +Physics,Grade 9,70.1 +History,Grade 9,77.4 +Physics,Grade 7,78.0 +Chemistry,Grade 7,45.9 +Biology,Grade 9,83.8 +History,Grade 7,82.2 +History,Grade 7,56.9 +Biology,Grade 7,72.8 +Mathematics,Grade 9,85.5 +Chemistry,Grade 8,69.8 +Chemistry,Grade 8,77.7 +Physics,Grade 9,70.1 +Mathematics,Grade 8,92.1 +Chemistry,Grade 8,81.9 +Mathematics,Grade 8,69.4 +History,Grade 9,64.5 +Biology,Grade 9,78.7 +Biology,Grade 7,51.3 +Physics,Grade 8,62.5 +Physics,Grade 8,67.0 +Chemistry,Grade 8,77.2 +History,Grade 9,72.2 +Mathematics,Grade 9,54.3 +Biology,Grade 7,77.0 +History,Grade 7,82.2 +Mathematics,Grade 9,55.0 +Physics,Grade 8,67.3 +Mathematics,Grade 8,69.2 +Mathematics,Grade 7,58.6 +Physics,Grade 7,72.5 +Mathematics,Grade 7,58.9 +Biology,Grade 7,71.6 +Chemistry,Grade 8,89.1 +Mathematics,Grade 9,53.5 +Chemistry,Grade 7,54.2 +Mathematics,Grade 8,66.4 +Biology,Grade 9,72.8 +Biology,Grade 9,61.4 +Physics,Grade 7,60.1 +Physics,Grade 7,79.2 +Mathematics,Grade 9,73.2 +Chemistry,Grade 7,78.6 +Biology,Grade 7,75.8 +Chemistry,Grade 8,69.7 +History,Grade 9,83.3 +Chemistry,Grade 9,62.4 +Mathematics,Grade 8,66.4 +Physics,Grade 8,75.1 +History,Grade 7,52.3 +Physics,Grade 7,54.0 +Mathematics,Grade 8,56.6 +Biology,Grade 8,81.1 +Chemistry,Grade 9,99.5 +Chemistry,Grade 7,72.7 +History,Grade 7,70.1 +Physics,Grade 8,49.2 +Mathematics,Grade 8,62.0 +Biology,Grade 7,81.0 +History,Grade 9,75.6 +History,Grade 7,73.2 +Physics,Grade 7,62.0 +History,Grade 9,75.7 +Physics,Grade 9,69.4 +History,Grade 9,90.8 +Biology,Grade 7,76.2 +History,Grade 7,88.1 +History,Grade 8,86.7 +Physics,Grade 7,68.2 +History,Grade 9,75.7 +Physics,Grade 8,67.7 +Chemistry,Grade 7,56.1 +Mathematics,Grade 8,67.5 +History,Grade 8,91.3 +History,Grade 7,89.7 +Mathematics,Grade 7,84.7 +Mathematics,Grade 8,78.1 +Mathematics,Grade 9,87.9 +Chemistry,Grade 8,62.7 +Mathematics,Grade 7,73.0 +Mathematics,Grade 8,69.1 +Biology,Grade 9,76.1 +History,Grade 9,73.1 +Biology,Grade 7,86.6 +Chemistry,Grade 9,77.9 +Chemistry,Grade 9,59.7 +Chemistry,Grade 7,91.7 +Mathematics,Grade 8,76.5 +Physics,Grade 8,60.2 +Mathematics,Grade 7,74.2 +Chemistry,Grade 8,50.1 +Chemistry,Grade 8,65.7 +Chemistry,Grade 8,72.0 +Chemistry,Grade 9,70.1 +History,Grade 7,69.4 +History,Grade 9,77.6 +Chemistry,Grade 9,73.0 +Physics,Grade 7,81.7 +Mathematics,Grade 9,65.9 +Physics,Grade 7,52.9 +Mathematics,Grade 8,70.9 +Biology,Grade 8,86.6 +Chemistry,Grade 8,63.9 +History,Grade 9,91.9 +Physics,Grade 7,51.9 +Physics,Grade 8,64.0 +Physics,Grade 9,67.4 +Chemistry,Grade 7,69.2 +Biology,Grade 9,83.6 +Physics,Grade 7,76.8 +Mathematics,Grade 8,70.3 +Biology,Grade 9,86.5 +Mathematics,Grade 9,78.9 +History,Grade 8,72.9 +Mathematics,Grade 7,74.0 +Mathematics,Grade 9,70.6 +Chemistry,Grade 7,50.7 +Biology,Grade 9,100.0 +History,Grade 9,81.7 +Physics,Grade 9,76.4 +Mathematics,Grade 9,92.9 +Biology,Grade 7,76.0 +Physics,Grade 8,89.8 +Biology,Grade 8,82.6 +Mathematics,Grade 7,60.6 +Physics,Grade 9,52.6 +Mathematics,Grade 9,78.8 +Physics,Grade 7,59.7 +Biology,Grade 9,71.5 +Biology,Grade 8,54.6 +Mathematics,Grade 7,54.6 +Biology,Grade 7,48.8 +Biology,Grade 8,84.1 +History,Grade 8,80.8 +Mathematics,Grade 9,66.8 +Physics,Grade 7,68.0 +History,Grade 8,57.3 +Chemistry,Grade 9,61.8 +Physics,Grade 9,69.7 +Physics,Grade 8,85.2 +Chemistry,Grade 8,84.0 +History,Grade 9,71.8 +Physics,Grade 7,69.1 +Biology,Grade 9,74.0 +Physics,Grade 9,50.0 +Chemistry,Grade 9,63.5 +Mathematics,Grade 8,79.1 +Mathematics,Grade 8,76.9 +Biology,Grade 7,68.3 +Physics,Grade 9,60.7 +Chemistry,Grade 8,86.8 +Chemistry,Grade 9,75.1 +Chemistry,Grade 9,85.1 +Mathematics,Grade 7,47.2 +History,Grade 7,61.2 +Mathematics,Grade 8,67.7 +History,Grade 7,66.6 +Physics,Grade 9,83.5 +Physics,Grade 7,61.0 +Mathematics,Grade 8,64.0 +Biology,Grade 9,67.9 +Physics,Grade 8,57.0 +History,Grade 7,66.2 +Physics,Grade 7,65.5 +Chemistry,Grade 7,69.0 +Mathematics,Grade 8,96.8 +History,Grade 7,85.5 +Chemistry,Grade 7,76.0 +Physics,Grade 9,58.5 +History,Grade 9,86.2 +Physics,Grade 8,71.5 +Physics,Grade 7,51.7 +Biology,Grade 8,77.3 +History,Grade 7,75.5 +Biology,Grade 8,87.6 +Chemistry,Grade 8,53.1 +History,Grade 7,71.4 +History,Grade 8,89.2 +Mathematics,Grade 8,70.9 +Chemistry,Grade 9,66.1 +Biology,Grade 9,88.7 +Mathematics,Grade 7,72.4 +Physics,Grade 9,71.3 +Mathematics,Grade 8,60.0 +Chemistry,Grade 7,59.1 +Biology,Grade 8,80.7 +Physics,Grade 8,74.3 +Physics,Grade 7,63.9 +Biology,Grade 8,70.6 +Physics,Grade 8,91.2 +Chemistry,Grade 8,68.4 +Mathematics,Grade 7,71.3 +Chemistry,Grade 9,70.4 +Mathematics,Grade 7,62.5 +Mathematics,Grade 7,67.1 +Chemistry,Grade 7,54.5 +Chemistry,Grade 9,68.3 +History,Grade 8,66.4 +History,Grade 8,93.3 +History,Grade 7,58.9 +Chemistry,Grade 8,71.3 +Biology,Grade 9,77.6 +Physics,Grade 7,81.0 +Biology,Grade 9,65.4 +Mathematics,Grade 7,73.9 +Mathematics,Grade 8,71.1 +Biology,Grade 9,81.0 +Mathematics,Grade 7,57.0 +Chemistry,Grade 7,68.0 +History,Grade 9,95.2 +Chemistry,Grade 7,78.6 +History,Grade 9,94.3 +History,Grade 8,74.5 +Mathematics,Grade 9,65.7 +Mathematics,Grade 9,60.7 +Physics,Grade 8,75.1 +Biology,Grade 9,86.7 +Chemistry,Grade 9,78.0 +Chemistry,Grade 9,67.3 +Biology,Grade 7,79.5 +History,Grade 7,69.5 +Physics,Grade 8,88.9 +Biology,Grade 9,94.2 +Chemistry,Grade 8,68.9 +Chemistry,Grade 9,80.4 +Mathematics,Grade 7,74.2 +Mathematics,Grade 9,61.8 +Mathematics,Grade 8,71.7 +Mathematics,Grade 9,55.3 +Chemistry,Grade 9,72.1 +Physics,Grade 9,83.6 +Chemistry,Grade 8,71.5 +Biology,Grade 8,54.0 +Chemistry,Grade 7,62.6 +History,Grade 9,67.8 +Mathematics,Grade 8,70.0 +Mathematics,Grade 8,68.1 +Mathematics,Grade 8,72.2 +Biology,Grade 7,67.0 +Mathematics,Grade 7,79.8 +Physics,Grade 8,65.8 +Chemistry,Grade 7,75.2 +Mathematics,Grade 8,70.0 +Chemistry,Grade 9,66.7 +Biology,Grade 9,67.9 +History,Grade 8,78.7 +Biology,Grade 7,83.4 +Chemistry,Grade 9,65.4 +Mathematics,Grade 9,66.3 +Mathematics,Grade 9,56.3 +Biology,Grade 9,77.3 +Physics,Grade 8,61.5 +Physics,Grade 7,42.7 +Chemistry,Grade 8,62.8 +Mathematics,Grade 7,67.8 +Physics,Grade 9,88.2 +Biology,Grade 8,61.3 +Mathematics,Grade 9,63.4 +Mathematics,Grade 8,69.6 +History,Grade 7,74.9 +Chemistry,Grade 9,85.6 +History,Grade 9,93.0 +Biology,Grade 7,65.1 +Biology,Grade 9,90.5 +Mathematics,Grade 8,84.6 +Chemistry,Grade 9,75.4 +History,Grade 7,93.9 +Chemistry,Grade 7,74.8 +Mathematics,Grade 9,89.2 +Biology,Grade 7,57.3 +Mathematics,Grade 7,81.7 +Biology,Grade 7,90.9 +Biology,Grade 7,80.6 +History,Grade 7,61.2 +Mathematics,Grade 9,73.9 +History,Grade 7,84.9 +Mathematics,Grade 8,57.2 +Mathematics,Grade 9,77.8 +Biology,Grade 9,83.1 +Chemistry,Grade 8,64.1 +History,Grade 9,72.3 +Chemistry,Grade 7,56.9 +Biology,Grade 7,64.5 +Physics,Grade 7,77.1 +History,Grade 8,82.2 +History,Grade 8,74.2 +Chemistry,Grade 8,78.5 +History,Grade 9,91.7 +History,Grade 9,83.4 +Chemistry,Grade 8,67.6 +Biology,Grade 8,90.3 +Biology,Grade 9,86.2 +Mathematics,Grade 7,56.4 +History,Grade 8,76.8 +History,Grade 9,96.9 +History,Grade 9,75.1 +Physics,Grade 8,74.1 +Mathematics,Grade 8,93.3 +Physics,Grade 9,82.6 +History,Grade 8,84.8 +History,Grade 7,64.8 +Chemistry,Grade 9,84.0 +Mathematics,Grade 9,90.5 +Mathematics,Grade 7,58.7 +History,Grade 8,86.3 +Biology,Grade 8,79.4 +Mathematics,Grade 8,65.0 +Biology,Grade 7,66.1 +Mathematics,Grade 9,86.6 +Physics,Grade 9,87.5 +Biology,Grade 8,90.9 +History,Grade 9,89.3 +History,Grade 7,75.4 +Biology,Grade 7,68.5 +Biology,Grade 9,67.3 +Mathematics,Grade 8,90.0 +History,Grade 7,81.0 +Biology,Grade 8,45.7 +Mathematics,Grade 7,90.2 +Chemistry,Grade 8,71.3 +Mathematics,Grade 8,51.1 +Biology,Grade 8,63.2 +Mathematics,Grade 7,73.5 +Chemistry,Grade 9,84.6 +History,Grade 8,67.4 +Chemistry,Grade 9,53.0 +Mathematics,Grade 8,66.1 +History,Grade 8,87.4 +Mathematics,Grade 8,65.4 +History,Grade 8,66.1 +Chemistry,Grade 7,51.4 +Mathematics,Grade 9,86.3 +Biology,Grade 9,80.6 +History,Grade 7,81.7 +Biology,Grade 7,64.1 +Biology,Grade 7,60.0 +Chemistry,Grade 7,67.2 +Biology,Grade 9,70.9 +Biology,Grade 8,75.4 +Mathematics,Grade 9,58.2 +Mathematics,Grade 7,82.7 +History,Grade 7,76.7 +Mathematics,Grade 9,62.6 +Physics,Grade 7,72.9 +History,Grade 7,89.0 +Physics,Grade 8,79.8 +Mathematics,Grade 9,80.5 +Chemistry,Grade 9,80.8 +Physics,Grade 9,80.9 +Physics,Grade 8,73.1 +Chemistry,Grade 8,61.2 +Biology,Grade 8,88.2 +Chemistry,Grade 7,60.8 +Mathematics,Grade 7,59.8 +Mathematics,Grade 7,75.1 +Chemistry,Grade 9,70.8 +Biology,Grade 8,61.5 +Chemistry,Grade 8,62.5 +Chemistry,Grade 8,75.1 +History,Grade 8,67.9 +Physics,Grade 9,85.2 +History,Grade 7,70.1 +Mathematics,Grade 7,53.6 +History,Grade 9,84.4 +Biology,Grade 8,82.5 +Chemistry,Grade 7,71.7 +Physics,Grade 9,57.2 +Chemistry,Grade 9,73.5 +Chemistry,Grade 9,68.4 +Mathematics,Grade 9,69.9 +Chemistry,Grade 8,73.8 +History,Grade 8,92.5 +Physics,Grade 9,51.8 +Biology,Grade 9,83.1 +History,Grade 9,70.0 +Biology,Grade 8,56.9 +Chemistry,Grade 7,63.1 +Chemistry,Grade 8,89.0 +Chemistry,Grade 7,74.4 +History,Grade 7,74.2 +History,Grade 7,75.2 +Biology,Grade 8,81.0 +Biology,Grade 7,64.0 +Chemistry,Grade 8,66.3 +Biology,Grade 9,81.4 +Mathematics,Grade 8,93.1 +History,Grade 9,87.1 +Biology,Grade 7,71.9 +History,Grade 9,93.4 +Biology,Grade 9,87.0 +Mathematics,Grade 9,81.5 +Mathematics,Grade 8,74.4 +History,Grade 7,85.6 +Mathematics,Grade 7,61.4 +Physics,Grade 8,74.1 +Physics,Grade 8,66.6 +Chemistry,Grade 8,52.0 +Biology,Grade 9,90.6 +Biology,Grade 7,72.0 +History,Grade 7,87.0 +History,Grade 9,71.7 +Mathematics,Grade 7,58.9 +Biology,Grade 9,67.2 +Mathematics,Grade 8,73.5 +Mathematics,Grade 7,74.5 +Chemistry,Grade 9,79.6 +History,Grade 7,84.2 +Chemistry,Grade 9,91.6 +Chemistry,Grade 7,53.3 +Chemistry,Grade 8,87.8 +Biology,Grade 8,72.7 +Physics,Grade 7,64.2 +History,Grade 7,62.8 +Biology,Grade 9,87.7 +Mathematics,Grade 7,74.5 +Mathematics,Grade 8,54.8 +Physics,Grade 8,72.3 +Physics,Grade 7,73.7 +Mathematics,Grade 8,68.4 +Chemistry,Grade 7,76.9 +Biology,Grade 9,84.2 +History,Grade 7,53.9 +Biology,Grade 9,73.7 +Mathematics,Grade 9,77.4 +Chemistry,Grade 8,57.3 +Mathematics,Grade 7,62.1 +Chemistry,Grade 9,81.3 +Biology,Grade 8,65.8 +Biology,Grade 7,75.5 +Mathematics,Grade 9,74.6 +History,Grade 7,45.4 +Mathematics,Grade 8,84.6 +Biology,Grade 9,81.3 +History,Grade 8,90.1 +Mathematics,Grade 7,68.3 +Physics,Grade 7,63.6 +Biology,Grade 8,75.4 +Mathematics,Grade 8,63.8 +History,Grade 7,92.1 +Physics,Grade 9,56.8 +Chemistry,Grade 8,76.6 +Mathematics,Grade 9,86.3 +Mathematics,Grade 8,68.3 +History,Grade 9,43.8 +Mathematics,Grade 7,68.7 +History,Grade 7,71.3 +Biology,Grade 8,79.0 +Chemistry,Grade 9,71.2 +History,Grade 7,82.8 +Physics,Grade 9,54.9 +Mathematics,Grade 8,72.2 +Mathematics,Grade 7,52.1 +Chemistry,Grade 8,68.3 +Chemistry,Grade 8,84.1 +Biology,Grade 9,74.1 +Physics,Grade 8,71.1 +Biology,Grade 9,80.2 +Biology,Grade 8,68.2 +History,Grade 8,78.2 +Physics,Grade 9,63.2 +History,Grade 7,70.5 +Biology,Grade 7,72.8 +Physics,Grade 7,58.4 +Biology,Grade 8,55.5 +Biology,Grade 9,69.2 +Mathematics,Grade 8,73.1 +Chemistry,Grade 8,63.0 +Physics,Grade 7,64.8 +Physics,Grade 8,57.0 +Chemistry,Grade 8,71.6 +Biology,Grade 9,80.9 +Physics,Grade 9,63.5 +History,Grade 8,81.0 +Chemistry,Grade 8,78.7 +Physics,Grade 8,73.4 +Physics,Grade 9,85.4 +Chemistry,Grade 8,73.0 +Mathematics,Grade 8,73.1 +Physics,Grade 7,65.7 +Physics,Grade 7,47.6 +Biology,Grade 9,98.2 +Physics,Grade 8,56.6 +Biology,Grade 9,83.2 +History,Grade 9,94.2 +Physics,Grade 8,46.7 +Biology,Grade 7,78.0 +Chemistry,Grade 9,46.3 +History,Grade 7,89.6 +Chemistry,Grade 7,44.3 +Physics,Grade 9,57.7 +Biology,Grade 7,76.1 +Biology,Grade 8,50.9 +Chemistry,Grade 9,69.3 +Mathematics,Grade 9,85.2 +History,Grade 9,75.1 +Chemistry,Grade 7,46.9 +Biology,Grade 7,60.0 +Physics,Grade 8,57.3 +History,Grade 9,94.9 +History,Grade 7,67.1 +Biology,Grade 9,70.2 +Mathematics,Grade 7,71.8 +Physics,Grade 9,62.7 +Physics,Grade 7,46.2 +Mathematics,Grade 8,87.9 +Physics,Grade 9,79.6 +History,Grade 9,67.1 +History,Grade 7,82.7 +History,Grade 7,62.8 +Mathematics,Grade 9,99.3 +Biology,Grade 8,79.1 +Physics,Grade 8,61.0 +Mathematics,Grade 8,62.2 +Physics,Grade 7,62.1 +Mathematics,Grade 9,80.6 +History,Grade 7,66.5 +Chemistry,Grade 9,74.6 +Mathematics,Grade 8,48.9 +Mathematics,Grade 8,51.5 +Chemistry,Grade 8,87.6 +History,Grade 7,43.6 +Chemistry,Grade 9,93.3 +Chemistry,Grade 7,71.7 +Mathematics,Grade 9,85.2 +History,Grade 8,62.4 +Physics,Grade 9,72.5 +Mathematics,Grade 8,62.5 +History,Grade 7,73.3 +Physics,Grade 7,59.6 +Physics,Grade 9,51.8 +Chemistry,Grade 7,64.8 +Mathematics,Grade 7,60.0 +Mathematics,Grade 9,89.3 +Physics,Grade 7,84.2 +Mathematics,Grade 7,67.6 +Biology,Grade 8,77.1 +Physics,Grade 9,86.1 +Chemistry,Grade 7,70.1 +Mathematics,Grade 8,68.3 +Physics,Grade 7,69.2 +Mathematics,Grade 9,75.0 +Biology,Grade 7,62.6 +History,Grade 8,65.3 +History,Grade 9,92.7 +Mathematics,Grade 7,65.8 +Physics,Grade 7,54.1 +Biology,Grade 9,80.0 +Physics,Grade 9,68.5 +History,Grade 8,88.0 +Chemistry,Grade 9,68.7 +History,Grade 7,73.3 +Biology,Grade 9,87.9 +Mathematics,Grade 7,72.1 +History,Grade 9,96.7 +Physics,Grade 9,66.1 +Biology,Grade 7,69.6 +Physics,Grade 9,77.8 +Biology,Grade 7,65.8 +History,Grade 7,78.0 +Mathematics,Grade 9,82.0 +History,Grade 9,68.0 +Physics,Grade 7,53.3 +Physics,Grade 9,69.5 +Biology,Grade 9,71.0 +History,Grade 8,75.7 +History,Grade 9,67.4 +Chemistry,Grade 7,55.2 +Mathematics,Grade 8,68.5 +History,Grade 9,95.8 +History,Grade 7,55.4 +Physics,Grade 9,77.3 +Physics,Grade 8,77.1 +Mathematics,Grade 7,67.6 +History,Grade 8,79.5 +Physics,Grade 9,64.1 +Physics,Grade 9,54.4 +History,Grade 9,70.3 +Chemistry,Grade 8,73.5 +Mathematics,Grade 9,88.4 +Physics,Grade 8,71.3 +Biology,Grade 7,84.8 +History,Grade 7,65.4 +Mathematics,Grade 7,57.0 +Mathematics,Grade 7,76.0 +Chemistry,Grade 9,62.3 +Biology,Grade 9,84.9 +Physics,Grade 7,71.3 +Biology,Grade 8,73.2 +Physics,Grade 7,79.8 +Physics,Grade 7,70.8 +History,Grade 8,74.7 +Chemistry,Grade 7,65.2 +Mathematics,Grade 7,66.7 +Biology,Grade 7,64.4 +Biology,Grade 9,95.6 +History,Grade 7,67.9 +Physics,Grade 9,68.8 +History,Grade 9,83.7 +Biology,Grade 8,60.0 +Physics,Grade 8,76.0 +Chemistry,Grade 7,64.5 +Physics,Grade 9,76.3 +Mathematics,Grade 8,90.4 +Mathematics,Grade 8,56.3 +Chemistry,Grade 7,72.2 +Biology,Grade 8,79.0 +History,Grade 7,69.1 +Chemistry,Grade 7,55.6 +Mathematics,Grade 7,68.2 +Chemistry,Grade 8,57.4 +Physics,Grade 8,70.1 +Chemistry,Grade 9,67.7 +Chemistry,Grade 7,74.5 +Mathematics,Grade 9,61.7 +History,Grade 9,73.2 +History,Grade 8,82.7 +Biology,Grade 9,81.3 +Biology,Grade 7,74.8 +Mathematics,Grade 8,71.7 +History,Grade 8,79.5 +Mathematics,Grade 8,72.4 +Physics,Grade 9,57.2 +Biology,Grade 7,66.1 +Chemistry,Grade 8,79.6 +History,Grade 7,56.8 +Chemistry,Grade 8,56.4 +History,Grade 9,75.0 +Physics,Grade 7,78.7 +Physics,Grade 8,70.0 +Mathematics,Grade 9,70.4 +History,Grade 9,68.7 +History,Grade 8,96.3 +History,Grade 7,80.0 +Physics,Grade 7,80.9 +Chemistry,Grade 7,59.7 +History,Grade 8,82.0 +History,Grade 8,77.3 +Mathematics,Grade 9,88.6 +History,Grade 7,81.6 +Biology,Grade 8,85.0 +Mathematics,Grade 7,64.8 +Physics,Grade 8,80.6 +History,Grade 9,73.8 +Mathematics,Grade 9,68.0 +Physics,Grade 9,73.5 +Biology,Grade 8,74.0 +Biology,Grade 9,65.7 +Chemistry,Grade 8,74.1 +Mathematics,Grade 7,57.4 +History,Grade 9,94.4 +History,Grade 7,64.8 +Mathematics,Grade 7,76.2 +History,Grade 7,94.5 +Mathematics,Grade 7,71.2 +History,Grade 9,80.1 +Physics,Grade 7,88.8 +Mathematics,Grade 7,73.3 +Physics,Grade 8,89.2 +History,Grade 8,79.1 +Mathematics,Grade 9,92.9 +Chemistry,Grade 9,57.6 +Biology,Grade 8,75.3 +Mathematics,Grade 8,67.9 +Mathematics,Grade 7,65.1 +Chemistry,Grade 8,81.3 +Mathematics,Grade 7,78.7 +Mathematics,Grade 9,78.9 +Mathematics,Grade 7,57.6 +History,Grade 8,83.6 +Biology,Grade 8,67.0 +Chemistry,Grade 9,87.2 +Mathematics,Grade 8,64.2 +Mathematics,Grade 8,78.4 +Mathematics,Grade 8,72.8 +Biology,Grade 7,71.6 +Biology,Grade 7,65.3 +Mathematics,Grade 8,71.7 +Biology,Grade 7,51.2 +History,Grade 7,69.6 +Physics,Grade 9,44.3 +History,Grade 7,83.8 +Physics,Grade 8,92.8 +Physics,Grade 7,73.2 +Chemistry,Grade 9,78.0 +Mathematics,Grade 9,66.0 +History,Grade 9,83.6 +Mathematics,Grade 7,79.8 +History,Grade 8,79.3 +Physics,Grade 8,62.5 +Biology,Grade 8,69.0 +Biology,Grade 8,75.6 +Chemistry,Grade 7,82.8 +Mathematics,Grade 9,88.4 +History,Grade 9,88.8 +Chemistry,Grade 7,63.4 +Biology,Grade 9,72.3 +History,Grade 8,55.1 +Mathematics,Grade 8,71.7 +Mathematics,Grade 9,60.7 +Biology,Grade 9,86.6 +Chemistry,Grade 7,65.6 +Mathematics,Grade 7,64.7 +History,Grade 7,90.8 +Chemistry,Grade 7,68.2 +Physics,Grade 7,59.4 +Physics,Grade 7,43.8 +History,Grade 7,83.3 +History,Grade 7,66.7 +Physics,Grade 9,71.6 +Biology,Grade 9,95.1 +Chemistry,Grade 9,68.5 +Physics,Grade 7,66.4 +History,Grade 7,83.3 +Physics,Grade 9,93.1 +Chemistry,Grade 7,79.0 +Mathematics,Grade 8,77.0 +History,Grade 8,68.6 +Physics,Grade 8,87.2 +History,Grade 7,58.6 +History,Grade 7,85.9 +Biology,Grade 7,88.8 +Chemistry,Grade 7,48.9 +History,Grade 9,82.5 +Mathematics,Grade 9,90.3 +Chemistry,Grade 7,72.5 +Chemistry,Grade 9,62.2 +Mathematics,Grade 9,62.2 +History,Grade 8,82.8 +Biology,Grade 9,74.3 +Biology,Grade 7,74.2 +Chemistry,Grade 8,72.9 +Biology,Grade 7,71.7 +Physics,Grade 7,53.4 +Physics,Grade 7,53.6 +Physics,Grade 9,59.3 +History,Grade 8,77.9 +History,Grade 9,72.5 +Physics,Grade 8,64.4 +History,Grade 9,90.1 +Mathematics,Grade 7,65.2 +Chemistry,Grade 8,48.1 +History,Grade 8,69.2 +Biology,Grade 9,69.9 +Physics,Grade 7,83.9 +Chemistry,Grade 8,63.2 +History,Grade 8,82.0 +Mathematics,Grade 7,70.6 +Mathematics,Grade 9,78.3 +Physics,Grade 9,64.3 +History,Grade 7,66.4 +Mathematics,Grade 8,66.0 +History,Grade 7,68.2 +Chemistry,Grade 7,68.1 +Chemistry,Grade 8,83.4 +History,Grade 9,67.4 +Mathematics,Grade 8,56.0 +Biology,Grade 8,78.6 +Physics,Grade 7,73.5 +Chemistry,Grade 9,39.5 +Physics,Grade 9,84.1 +Physics,Grade 9,76.0 +Biology,Grade 9,66.2 +Mathematics,Grade 9,76.1 +History,Grade 8,61.0 +Physics,Grade 9,62.0 +Physics,Grade 7,61.2 +Physics,Grade 7,62.8 +Biology,Grade 8,88.5 +Physics,Grade 9,77.7 +History,Grade 9,77.6 +Biology,Grade 9,67.7 +History,Grade 9,85.1 +Mathematics,Grade 8,74.5 +Physics,Grade 9,63.7 +Physics,Grade 7,62.3 +History,Grade 8,82.3 +History,Grade 7,78.9 +Physics,Grade 9,75.5 +History,Grade 9,77.6 +Biology,Grade 7,79.6 +Physics,Grade 7,54.6 +Chemistry,Grade 9,70.3 +Mathematics,Grade 8,75.2 +Physics,Grade 7,56.2 +Biology,Grade 7,72.9 +Biology,Grade 7,59.1 +Physics,Grade 7,73.5 +Biology,Grade 7,54.1 +History,Grade 9,76.5 +Physics,Grade 8,63.7 +Biology,Grade 7,58.9 +Chemistry,Grade 8,83.1 +Physics,Grade 9,73.7 +Physics,Grade 7,52.2 +Chemistry,Grade 9,82.0 +Biology,Grade 7,62.0 +Biology,Grade 9,81.4 +Biology,Grade 7,69.0 +Mathematics,Grade 8,77.8 +Biology,Grade 8,71.4 +Physics,Grade 7,73.6 +Physics,Grade 7,60.9 +Physics,Grade 9,70.8 +Biology,Grade 9,80.6 +Physics,Grade 8,53.8 +Biology,Grade 9,100.0 +Biology,Grade 8,69.1 +History,Grade 7,54.4 +Biology,Grade 9,67.7 +Chemistry,Grade 9,72.7 +Chemistry,Grade 8,57.1 +Physics,Grade 9,73.1 +Mathematics,Grade 9,72.8 +Chemistry,Grade 9,63.3 +Physics,Grade 8,58.3 +Physics,Grade 8,71.4 +Chemistry,Grade 7,65.9 +History,Grade 7,98.7 +Chemistry,Grade 8,54.1 +Biology,Grade 7,73.7 +Chemistry,Grade 7,52.6 +History,Grade 7,78.3 +Biology,Grade 7,90.3 +History,Grade 9,88.9 +Chemistry,Grade 7,58.3 +Chemistry,Grade 9,73.6 +Physics,Grade 7,84.6 +Mathematics,Grade 9,84.8 +Biology,Grade 8,69.5 +Chemistry,Grade 9,52.1 +Chemistry,Grade 8,66.6 +Mathematics,Grade 8,96.1 +Mathematics,Grade 7,81.0 +Chemistry,Grade 9,71.1 +History,Grade 8,90.5 +Physics,Grade 8,78.2 +Physics,Grade 9,84.3 +Biology,Grade 9,63.0 +Chemistry,Grade 9,84.0 +Mathematics,Grade 8,82.5 +History,Grade 7,73.0 +Physics,Grade 7,49.4 +Chemistry,Grade 9,77.4 +Physics,Grade 8,66.4 +Mathematics,Grade 8,47.4 +Biology,Grade 7,84.8 +Chemistry,Grade 9,79.3 +Physics,Grade 9,78.4 +Biology,Grade 9,77.6 +Physics,Grade 9,94.8 +Chemistry,Grade 7,65.5 +Chemistry,Grade 8,93.1 +Biology,Grade 8,79.7 +Physics,Grade 7,74.0 +Chemistry,Grade 7,72.3 +Chemistry,Grade 7,57.3 +Chemistry,Grade 7,70.8 +History,Grade 9,64.0 +Mathematics,Grade 8,69.0 +Biology,Grade 7,66.9 +Mathematics,Grade 8,73.6 +Biology,Grade 9,76.7 +Physics,Grade 8,61.4 +Biology,Grade 7,92.4 +Chemistry,Grade 7,74.9 +History,Grade 8,75.5 +Chemistry,Grade 7,60.6 +Mathematics,Grade 9,75.3 +Mathematics,Grade 9,86.1 +History,Grade 8,91.9 +Mathematics,Grade 9,73.2 +Biology,Grade 9,77.7 +History,Grade 9,77.0 +Mathematics,Grade 8,85.6 +Mathematics,Grade 7,54.4 +Mathematics,Grade 8,67.9 +Biology,Grade 7,79.7 +Chemistry,Grade 9,71.2 +Physics,Grade 9,96.4 +Biology,Grade 9,86.5 +Mathematics,Grade 7,59.4 +Physics,Grade 9,73.0 +History,Grade 7,82.5 +Biology,Grade 7,61.9 +Biology,Grade 7,86.2 +Chemistry,Grade 8,63.6 +History,Grade 8,85.6 +History,Grade 7,82.9 +Physics,Grade 9,85.3 +Chemistry,Grade 9,58.2 +Physics,Grade 7,69.5 +Chemistry,Grade 9,79.5 +Physics,Grade 7,56.2 +Physics,Grade 7,52.5 +Mathematics,Grade 8,78.1 +Mathematics,Grade 9,69.2 +Chemistry,Grade 9,91.9 +Physics,Grade 7,53.7 +History,Grade 8,100.0 +Mathematics,Grade 7,66.6 +Physics,Grade 8,68.7 +Biology,Grade 8,80.3 +History,Grade 9,92.5 +Chemistry,Grade 8,75.2 +Physics,Grade 7,65.2 +History,Grade 8,70.5 +History,Grade 8,64.0 +History,Grade 7,96.3 +Physics,Grade 7,68.6 +History,Grade 8,96.6 +History,Grade 9,84.8 +Mathematics,Grade 7,56.2 +Physics,Grade 9,95.7 +Biology,Grade 7,55.1 +History,Grade 8,83.2 +Chemistry,Grade 8,42.2 +History,Grade 8,76.9 +Biology,Grade 8,78.3 +Chemistry,Grade 8,90.6 +Physics,Grade 9,80.4 +Physics,Grade 8,69.4 +History,Grade 9,80.9 +Chemistry,Grade 8,64.1 +History,Grade 9,81.1 +Mathematics,Grade 7,73.1 +Chemistry,Grade 9,88.5 +Biology,Grade 9,60.7 +Biology,Grade 9,84.9 +History,Grade 8,83.4 +History,Grade 8,70.9 +History,Grade 7,67.3 +Chemistry,Grade 8,59.9 +Biology,Grade 9,69.2 +History,Grade 7,58.4 +Physics,Grade 8,70.1 +History,Grade 8,80.7 +Chemistry,Grade 7,79.9 +History,Grade 7,60.4 +Biology,Grade 9,73.6 +Biology,Grade 9,91.5 +Chemistry,Grade 9,68.3 +Mathematics,Grade 7,43.8 +History,Grade 8,85.0 +Mathematics,Grade 8,56.9 +Biology,Grade 8,87.4 +Physics,Grade 8,54.9 +Physics,Grade 7,62.7 +Physics,Grade 7,73.5 +Mathematics,Grade 9,82.8 +Mathematics,Grade 8,76.7 +Physics,Grade 7,68.3 +Biology,Grade 8,62.9 +Biology,Grade 8,68.3 +History,Grade 8,70.4 +Physics,Grade 8,83.0 +Biology,Grade 7,79.3 +Chemistry,Grade 8,75.0 +Physics,Grade 9,70.4 +Mathematics,Grade 8,76.0 +Chemistry,Grade 7,67.2 +History,Grade 9,81.5 +Biology,Grade 7,73.7 +History,Grade 7,95.3 +Chemistry,Grade 7,33.6 +Physics,Grade 9,78.9 +Biology,Grade 8,56.0 +Biology,Grade 7,52.8 +Biology,Grade 7,70.3 +Mathematics,Grade 7,72.0 +Mathematics,Grade 8,76.5 +Chemistry,Grade 9,64.6 +History,Grade 9,91.3 +Chemistry,Grade 7,55.7 +Physics,Grade 9,73.3 +Biology,Grade 8,87.4 +Physics,Grade 8,78.8 +Biology,Grade 8,75.9 +Mathematics,Grade 8,58.6 +History,Grade 7,80.3 +Biology,Grade 7,93.2 +Chemistry,Grade 8,69.5 +History,Grade 8,87.6 +Mathematics,Grade 9,88.3 +Mathematics,Grade 9,52.3 +Mathematics,Grade 9,71.9 +Biology,Grade 7,68.2 +Physics,Grade 9,76.5 +Physics,Grade 9,65.4 +Mathematics,Grade 9,79.8 +History,Grade 8,88.3 +History,Grade 8,70.6 +History,Grade 8,80.0 +Biology,Grade 7,94.0 +Mathematics,Grade 9,59.6 +Biology,Grade 7,76.9 +Chemistry,Grade 9,68.1 +Physics,Grade 8,53.3 +Physics,Grade 8,80.4 +Chemistry,Grade 8,69.7 +Mathematics,Grade 9,74.7 +Chemistry,Grade 9,63.9 +Mathematics,Grade 7,67.3 +Mathematics,Grade 9,68.8 +Biology,Grade 7,59.9 +Chemistry,Grade 8,62.9 +Physics,Grade 7,65.0 +Mathematics,Grade 9,94.2 +Physics,Grade 8,60.8 +Chemistry,Grade 8,71.6 +Biology,Grade 7,65.5 +Biology,Grade 9,93.0 +History,Grade 7,78.1 +Physics,Grade 7,47.8 +Biology,Grade 9,77.4 +Chemistry,Grade 9,66.6 +History,Grade 8,63.7 +Chemistry,Grade 9,62.8 +Chemistry,Grade 8,79.7 +Chemistry,Grade 9,39.5 +Physics,Grade 9,74.3 +Chemistry,Grade 7,68.2 +Chemistry,Grade 7,79.3 +History,Grade 7,63.3 +Mathematics,Grade 7,57.6 +Chemistry,Grade 9,76.6 +Chemistry,Grade 9,76.3 +Mathematics,Grade 7,79.5 +Physics,Grade 7,58.7 +History,Grade 8,73.1 +History,Grade 7,77.7 +Mathematics,Grade 8,71.5 +Mathematics,Grade 9,74.4 +Chemistry,Grade 9,95.0 +Chemistry,Grade 9,73.7 +Mathematics,Grade 8,92.8 +Chemistry,Grade 7,56.5 +Mathematics,Grade 7,58.4 +History,Grade 9,72.3 +Chemistry,Grade 8,56.9 +Chemistry,Grade 7,67.7 +Mathematics,Grade 8,79.6 +Biology,Grade 7,84.5 +History,Grade 8,78.2 +Chemistry,Grade 8,69.3 +Physics,Grade 7,49.0 +Chemistry,Grade 9,71.1 +Mathematics,Grade 9,81.6 +Chemistry,Grade 8,62.7 +Mathematics,Grade 8,69.7 +Biology,Grade 7,68.0 +Biology,Grade 7,55.3 +Chemistry,Grade 7,61.6 +Chemistry,Grade 9,71.9 +Physics,Grade 8,65.1 +History,Grade 8,60.4 +Chemistry,Grade 7,64.9 +History,Grade 9,84.0 +Physics,Grade 7,38.9 +Biology,Grade 7,58.6 +Physics,Grade 8,67.1 +Chemistry,Grade 8,93.8 +Physics,Grade 9,57.4 +Chemistry,Grade 7,60.1 +Mathematics,Grade 9,75.9 +Biology,Grade 7,63.8 +Physics,Grade 7,76.2 +History,Grade 8,77.8 +Physics,Grade 8,51.1 +History,Grade 9,79.9 +Mathematics,Grade 9,79.6 +Biology,Grade 7,74.7 +Chemistry,Grade 8,73.9 +History,Grade 7,85.1 +Chemistry,Grade 8,64.1 +Mathematics,Grade 7,46.9 +History,Grade 8,76.9 +Mathematics,Grade 7,55.3 +Physics,Grade 8,69.4 +Biology,Grade 7,61.9 +Physics,Grade 8,75.4 +History,Grade 7,82.6 +Physics,Grade 8,72.3 +History,Grade 7,80.6 +Chemistry,Grade 7,77.4 +Biology,Grade 9,89.1 +Biology,Grade 8,82.1 +Mathematics,Grade 8,72.3 +Chemistry,Grade 7,68.2 +Physics,Grade 9,64.6 +Chemistry,Grade 7,50.7 +History,Grade 7,77.5 +History,Grade 8,72.1 +Chemistry,Grade 7,64.7 +Chemistry,Grade 7,77.5 +Biology,Grade 7,75.9 +History,Grade 7,81.1 +Chemistry,Grade 9,65.6 +Mathematics,Grade 9,80.4 +Biology,Grade 7,69.9 +History,Grade 8,66.2 +Chemistry,Grade 7,76.0 +Biology,Grade 7,82.0 +Chemistry,Grade 9,77.3 +Mathematics,Grade 8,91.2 +Chemistry,Grade 7,55.6 +History,Grade 8,78.6 +Biology,Grade 7,64.0 +Physics,Grade 9,75.6 +Mathematics,Grade 8,80.7 +Biology,Grade 8,74.8 +Mathematics,Grade 8,64.2 +History,Grade 7,69.2 +Mathematics,Grade 9,90.0 +Chemistry,Grade 9,80.7 +Biology,Grade 9,93.5 +Mathematics,Grade 7,55.0 +Physics,Grade 9,63.5 +Physics,Grade 8,57.5 +Biology,Grade 7,64.3 +Biology,Grade 7,56.2 +Chemistry,Grade 7,51.1 +Mathematics,Grade 9,69.4 +Chemistry,Grade 8,64.5 +Biology,Grade 9,71.4 +Chemistry,Grade 8,67.3 +Mathematics,Grade 7,54.9 +History,Grade 8,87.3 +Physics,Grade 7,53.6 +Biology,Grade 9,84.4 +Mathematics,Grade 9,69.9 +Chemistry,Grade 9,63.0 +Chemistry,Grade 8,75.3 +Physics,Grade 9,73.7 +Chemistry,Grade 9,69.8 +Physics,Grade 7,37.4 +Biology,Grade 9,100.0 +History,Grade 7,68.4 +Physics,Grade 7,63.8 +Mathematics,Grade 7,62.5 +Chemistry,Grade 9,69.4 +Mathematics,Grade 7,73.4 +Mathematics,Grade 8,81.1 +History,Grade 7,65.2 +Physics,Grade 9,74.4 +History,Grade 7,62.8 +Physics,Grade 9,91.6 +Biology,Grade 7,82.8 +Physics,Grade 7,62.2 +Physics,Grade 7,72.9 +History,Grade 9,70.9 +Chemistry,Grade 8,59.7 +History,Grade 7,76.3 +History,Grade 9,100.0 +History,Grade 7,57.7 +Chemistry,Grade 8,72.4 +Physics,Grade 9,75.3 +Mathematics,Grade 8,77.5 +Mathematics,Grade 7,58.3 +Mathematics,Grade 7,77.6 +History,Grade 8,89.5 +History,Grade 7,74.9 +Chemistry,Grade 9,77.5 +Biology,Grade 8,70.5 +Mathematics,Grade 7,72.5 +Biology,Grade 9,61.1 +Biology,Grade 7,71.8 +History,Grade 8,60.0 +History,Grade 9,88.3 +Mathematics,Grade 7,85.2 +Chemistry,Grade 8,74.4 +Biology,Grade 8,86.1 +Physics,Grade 9,65.6 +Mathematics,Grade 8,55.9 +Chemistry,Grade 7,69.1 +Physics,Grade 7,51.6 +History,Grade 8,73.0 +History,Grade 8,77.7 +Chemistry,Grade 7,71.3 +History,Grade 9,76.2 +Physics,Grade 7,62.0 +Biology,Grade 7,64.1 +Physics,Grade 7,71.5 +Biology,Grade 8,62.5 +Biology,Grade 7,67.5 +Chemistry,Grade 8,53.6 +Chemistry,Grade 8,49.6 +Physics,Grade 7,82.8 +History,Grade 8,99.3 +Biology,Grade 7,64.9 +Mathematics,Grade 7,85.6 +Biology,Grade 7,83.8 +Chemistry,Grade 9,59.4 +Chemistry,Grade 8,54.8 +Biology,Grade 7,59.1 +Physics,Grade 9,62.7 +Biology,Grade 8,80.0 +History,Grade 7,56.9 +Mathematics,Grade 9,93.6 +Biology,Grade 8,74.6 +Physics,Grade 9,61.9 +History,Grade 8,93.9 +Mathematics,Grade 9,64.5 +Physics,Grade 8,61.8 +Chemistry,Grade 7,61.4 +Chemistry,Grade 9,65.4 +Physics,Grade 9,78.8 +Biology,Grade 8,81.8 +Physics,Grade 8,60.8 +Biology,Grade 8,82.3 +Physics,Grade 8,58.1 +Biology,Grade 8,90.0 +Chemistry,Grade 7,80.3 +History,Grade 9,97.5 +Biology,Grade 8,70.7 +Physics,Grade 8,62.0 +History,Grade 9,78.1 +Chemistry,Grade 8,60.7 +Biology,Grade 9,88.7 +Chemistry,Grade 9,83.6 +History,Grade 9,86.1 +Chemistry,Grade 8,63.1 +History,Grade 9,59.5 +Physics,Grade 9,89.5 +Biology,Grade 9,75.9 +Chemistry,Grade 7,59.7 +Physics,Grade 7,75.5 +Biology,Grade 8,85.6 +Physics,Grade 7,69.0 +Mathematics,Grade 7,73.3 +Mathematics,Grade 7,79.3 +History,Grade 7,68.2 +Physics,Grade 8,67.9 +Physics,Grade 7,50.6 +Chemistry,Grade 9,83.2 +Physics,Grade 8,66.2 +Chemistry,Grade 9,61.2 +Chemistry,Grade 9,63.0 +Biology,Grade 7,79.8 +Mathematics,Grade 7,72.2 +History,Grade 7,88.0 +History,Grade 8,73.2 +History,Grade 7,61.3 +History,Grade 9,91.6 +Mathematics,Grade 8,85.5 +Mathematics,Grade 7,75.0 +Mathematics,Grade 8,63.4 +Chemistry,Grade 9,63.2 +History,Grade 8,63.7 +History,Grade 9,70.4 +Physics,Grade 7,54.5 +History,Grade 8,84.6 +Biology,Grade 9,75.0 +Physics,Grade 9,72.4 +History,Grade 9,80.1 +History,Grade 9,73.1 +Chemistry,Grade 9,67.2 +Biology,Grade 7,71.7 +History,Grade 8,73.9 +Biology,Grade 8,59.7 +Biology,Grade 7,66.4 +Biology,Grade 9,89.4 +Mathematics,Grade 8,51.9 +History,Grade 8,86.4 +History,Grade 9,77.9 +Biology,Grade 7,72.4 +Mathematics,Grade 8,88.9 +Chemistry,Grade 7,78.3 +History,Grade 8,79.8 +Biology,Grade 8,80.0 +Biology,Grade 7,75.5 +Chemistry,Grade 8,55.2 +Chemistry,Grade 8,77.9 +Mathematics,Grade 8,59.2 +Physics,Grade 7,56.4 +Mathematics,Grade 7,57.5 +Biology,Grade 7,63.7 +Biology,Grade 8,81.9 +Mathematics,Grade 8,84.0 +Biology,Grade 9,73.8 +Biology,Grade 7,85.4 +Physics,Grade 9,59.0 +History,Grade 8,97.2 +History,Grade 9,73.3 +Chemistry,Grade 9,61.9 +Physics,Grade 9,67.8 +History,Grade 8,82.9 +Biology,Grade 7,96.7 +Mathematics,Grade 7,43.9 +Chemistry,Grade 9,69.5 +Mathematics,Grade 8,61.6 +Physics,Grade 9,79.6 +Physics,Grade 8,61.1 +Chemistry,Grade 7,75.3 +Physics,Grade 8,58.1 +Biology,Grade 8,71.2 +Mathematics,Grade 9,55.7 +Biology,Grade 9,69.4 +Physics,Grade 8,45.6 +History,Grade 7,72.9 +Mathematics,Grade 7,55.3 +Mathematics,Grade 9,64.1 +Chemistry,Grade 9,73.1 +Biology,Grade 8,86.5 +History,Grade 7,86.6 +Chemistry,Grade 7,72.7 +Chemistry,Grade 8,57.1 +Physics,Grade 7,57.1 +Physics,Grade 7,67.1 +Biology,Grade 9,100.0 +Biology,Grade 8,66.2 +History,Grade 9,77.6 +Chemistry,Grade 8,76.6 +Biology,Grade 9,68.8 +Chemistry,Grade 8,60.6 +Chemistry,Grade 9,81.9 +Biology,Grade 7,67.3 +Biology,Grade 7,64.7 +Chemistry,Grade 8,66.3 +History,Grade 9,69.5 +History,Grade 8,73.0 +Physics,Grade 7,71.8 +History,Grade 7,86.3 +Biology,Grade 8,79.8 +Mathematics,Grade 7,60.8 +Biology,Grade 8,91.5 +Biology,Grade 8,82.7 +Chemistry,Grade 7,76.4 +Biology,Grade 7,68.7 +Biology,Grade 7,60.5 +History,Grade 8,85.7 +History,Grade 8,77.8 +Biology,Grade 9,78.4 +Mathematics,Grade 9,69.5 +Mathematics,Grade 9,74.4 +Chemistry,Grade 8,42.9 +Mathematics,Grade 8,74.1 +Biology,Grade 8,75.0 +Mathematics,Grade 8,63.4 +History,Grade 9,76.3 +Chemistry,Grade 7,65.5 +Physics,Grade 7,80.4 +History,Grade 7,72.8 +Chemistry,Grade 8,56.9 +Mathematics,Grade 7,62.1 +History,Grade 7,69.0 +Mathematics,Grade 8,74.7 +Physics,Grade 9,79.9 +Physics,Grade 8,65.8 +Mathematics,Grade 7,71.7 +Biology,Grade 8,60.5 +History,Grade 7,86.3 +Physics,Grade 8,77.0 +Biology,Grade 8,71.0 +Chemistry,Grade 7,60.5 +Biology,Grade 9,58.3 +Mathematics,Grade 7,60.0 +Mathematics,Grade 9,64.8 +Mathematics,Grade 7,73.3 +Biology,Grade 7,85.6 +History,Grade 8,67.5 +Chemistry,Grade 8,69.5 +Biology,Grade 7,74.8 +Mathematics,Grade 8,65.6 +Biology,Grade 9,83.0 +Mathematics,Grade 7,54.1 +Chemistry,Grade 7,68.0 +Mathematics,Grade 9,74.4 +Biology,Grade 7,78.7 +Biology,Grade 8,71.5 +Mathematics,Grade 7,61.5 +History,Grade 9,86.8 +History,Grade 9,100.0 +History,Grade 9,83.8 +Mathematics,Grade 9,60.9 +History,Grade 9,93.8 +Chemistry,Grade 8,68.1 +Chemistry,Grade 9,66.0 +Biology,Grade 8,85.4 +Biology,Grade 9,70.4 +History,Grade 9,69.6 +Mathematics,Grade 9,72.9 +Mathematics,Grade 7,93.1 +Biology,Grade 8,78.6 +History,Grade 9,59.2 +Mathematics,Grade 9,81.0 +Physics,Grade 9,58.4 +Biology,Grade 7,78.3 +Chemistry,Grade 8,69.1 +Biology,Grade 9,66.8 +Mathematics,Grade 8,56.0 +Mathematics,Grade 9,63.2 +Chemistry,Grade 9,71.6 +Physics,Grade 8,59.7 +Biology,Grade 7,77.4 +Physics,Grade 9,61.2 +History,Grade 9,75.5 +Mathematics,Grade 8,41.9 +Physics,Grade 7,65.4 +History,Grade 9,84.2 +Mathematics,Grade 9,66.2 +Physics,Grade 7,78.0 +Mathematics,Grade 9,84.3 +History,Grade 7,95.0 +Mathematics,Grade 8,62.6 +Biology,Grade 8,79.0 +Mathematics,Grade 8,75.4 +Mathematics,Grade 9,69.7 +History,Grade 9,79.6 +Mathematics,Grade 9,76.3 +Physics,Grade 7,68.8 +History,Grade 7,76.1 +Mathematics,Grade 9,49.5 +Physics,Grade 7,63.2 +Mathematics,Grade 9,75.5 +Biology,Grade 7,81.8 +Mathematics,Grade 8,69.0 +History,Grade 7,91.3 +Biology,Grade 7,83.1 +Biology,Grade 8,83.6 +Chemistry,Grade 8,80.9 +Mathematics,Grade 8,63.4 +Mathematics,Grade 8,67.0 +Physics,Grade 8,86.4 +Mathematics,Grade 8,77.8 +Mathematics,Grade 7,84.7 +Mathematics,Grade 9,66.3 +History,Grade 9,98.9 +History,Grade 7,83.1 +Mathematics,Grade 8,58.1 +Biology,Grade 9,69.7 +Chemistry,Grade 8,53.5 +History,Grade 8,72.2 +Biology,Grade 8,53.8 +Biology,Grade 9,65.2 +Mathematics,Grade 9,80.5 +Chemistry,Grade 8,76.2 +Mathematics,Grade 8,81.9 +History,Grade 8,79.2 +History,Grade 8,84.2 +Chemistry,Grade 7,64.1 +Physics,Grade 9,83.1 +Biology,Grade 8,59.4 +Mathematics,Grade 8,56.7 +Mathematics,Grade 9,62.0 +Biology,Grade 8,63.4 +Physics,Grade 9,70.9 +Biology,Grade 8,62.2 +Biology,Grade 7,71.1 +History,Grade 7,74.9 +History,Grade 7,65.1 +Chemistry,Grade 8,73.0 +Physics,Grade 7,61.0 +History,Grade 9,86.2 +History,Grade 7,68.2 +Physics,Grade 7,46.9 +Physics,Grade 9,61.2 +Mathematics,Grade 8,95.5 +Chemistry,Grade 7,89.7 +History,Grade 7,69.6 +Chemistry,Grade 8,69.1 +Biology,Grade 7,69.1 +Biology,Grade 7,86.7 +Chemistry,Grade 8,69.7 +History,Grade 7,66.2 +Chemistry,Grade 9,71.2 +Chemistry,Grade 9,73.1 +Chemistry,Grade 7,42.9 +Chemistry,Grade 7,53.9 +History,Grade 9,100.0 +Chemistry,Grade 7,60.8 +Chemistry,Grade 9,68.7 +Physics,Grade 8,74.4 +Mathematics,Grade 7,44.2 +History,Grade 7,94.1 +Chemistry,Grade 7,63.8 +Chemistry,Grade 9,96.0 +Mathematics,Grade 9,75.9 +Chemistry,Grade 9,82.1 +Mathematics,Grade 8,74.8 +History,Grade 7,84.6 +Physics,Grade 9,71.1 +Physics,Grade 8,88.5 diff --git a/agents/evals/fixtures/cases/bar-grouped-matplotlib-renamed/case.json b/agents/evals/fixtures/cases/bar-grouped-matplotlib-renamed/case.json new file mode 100644 index 0000000000..fb494fc2e6 --- /dev/null +++ b/agents/evals/fixtures/cases/bar-grouped-matplotlib-renamed/case.json @@ -0,0 +1,29 @@ +{ + "spec_id": "bar-grouped", + "library": "matplotlib", + "locale": "de", + "perturbation": "renamed", + "bindings": [ + { + "role": "category", + "column": "Fach" + }, + { + "role": "group", + "column": "Jahrgangsstufe" + }, + { + "role": "value", + "column": "Punkte (Ø)" + } + ], + "expected": "accepted", + "tags": [ + "bar", + "renamed", + "synthetic", + "renamed-headers", + "non-ascii-headers" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 303, renamed)" +} diff --git a/agents/evals/fixtures/cases/bar-grouped-matplotlib-renamed/data.csv b/agents/evals/fixtures/cases/bar-grouped-matplotlib-renamed/data.csv new file mode 100644 index 0000000000..8bbc890c19 --- /dev/null +++ b/agents/evals/fixtures/cases/bar-grouped-matplotlib-renamed/data.csv @@ -0,0 +1,16 @@ +Fach,Jahrgangsstufe,Punkte (Ø) +Mathematics,Grade 7,66.1 +Mathematics,Grade 8,69.9 +Mathematics,Grade 9,71.8 +Physics,Grade 7,64.6 +Physics,Grade 8,65.3 +Physics,Grade 9,74.1 +Chemistry,Grade 7,63.4 +Chemistry,Grade 8,66.5 +Chemistry,Grade 9,68.7 +Biology,Grade 7,73.0 +Biology,Grade 8,72.1 +Biology,Grade 9,80.7 +History,Grade 7,73.0 +History,Grade 8,79.9 +History,Grade 9,85.8 diff --git a/agents/evals/fixtures/cases/bar-grouped-matplotlib-x10/case.json b/agents/evals/fixtures/cases/bar-grouped-matplotlib-x10/case.json new file mode 100644 index 0000000000..86b8065f6f --- /dev/null +++ b/agents/evals/fixtures/cases/bar-grouped-matplotlib-x10/case.json @@ -0,0 +1,28 @@ +{ + "spec_id": "bar-grouped", + "library": "matplotlib", + "locale": "en", + "perturbation": "x10", + "bindings": [ + { + "role": "category", + "column": "Subject" + }, + { + "role": "group", + "column": "Grade Level" + }, + { + "role": "value", + "column": "Test Score" + } + ], + "expected": "accepted", + "tags": [ + "bar", + "x10", + "synthetic", + "scaled-values" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 303, x10)" +} diff --git a/agents/evals/fixtures/cases/bar-grouped-matplotlib-x10/data.csv b/agents/evals/fixtures/cases/bar-grouped-matplotlib-x10/data.csv new file mode 100644 index 0000000000..8bb5979214 --- /dev/null +++ b/agents/evals/fixtures/cases/bar-grouped-matplotlib-x10/data.csv @@ -0,0 +1,16 @@ +Subject,Grade Level,Test Score +Mathematics,Grade 7,660.8 +Mathematics,Grade 8,698.8 +Mathematics,Grade 9,718.1 +Physics,Grade 7,645.9 +Physics,Grade 8,653.1 +Physics,Grade 9,740.6 +Chemistry,Grade 7,633.8 +Chemistry,Grade 8,664.8 +Chemistry,Grade 9,687.1 +Biology,Grade 7,730.0 +Biology,Grade 8,720.9 +Biology,Grade 9,806.7 +History,Grade 7,730.3 +History,Grade 8,798.6 +History,Grade 9,858.1 diff --git a/agents/evals/fixtures/cases/bar-grouped-seaborn-date/case.json b/agents/evals/fixtures/cases/bar-grouped-seaborn-date/case.json new file mode 100644 index 0000000000..73ffe2a6eb --- /dev/null +++ b/agents/evals/fixtures/cases/bar-grouped-seaborn-date/case.json @@ -0,0 +1,30 @@ +{ + "spec_id": "bar-grouped", + "library": "seaborn", + "locale": "en", + "perturbation": "date", + "bindings": [ + { + "role": "category", + "column": "Subject" + }, + { + "role": "group", + "column": "Grade Level" + }, + { + "role": "value", + "column": "Test Score" + } + ], + "expected": "accepted", + "tags": [ + "bar", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 303, date)" +} diff --git a/agents/evals/fixtures/cases/bar-grouped-seaborn-date/data.csv b/agents/evals/fixtures/cases/bar-grouped-seaborn-date/data.csv new file mode 100644 index 0000000000..c6a4430116 --- /dev/null +++ b/agents/evals/fixtures/cases/bar-grouped-seaborn-date/data.csv @@ -0,0 +1,16 @@ +Subject,Grade Level,Test Score,Exam Date,Graded On +Mathematics,Grade 7,66.1,21.01.2026,2026-01-23 +Mathematics,Grade 8,69.9,13.06.2026,2026-06-15 +Mathematics,Grade 9,71.8,22.05.2026,2026-05-22 +Physics,Grade 7,64.6,23.01.2026,2026-01-24 +Physics,Grade 8,65.3,21.02.2026,2026-02-21 +Physics,Grade 9,74.1,23.04.2026,2026-04-25 +Chemistry,Grade 7,63.4,22.04.2026,2026-04-23 +Chemistry,Grade 8,66.5,17.03.2026,2026-03-20 +Chemistry,Grade 9,68.7,01.02.2026,2026-02-04 +Biology,Grade 7,73.0,10.03.2026,2026-03-10 +Biology,Grade 8,72.1,03.03.2026,2026-03-04 +Biology,Grade 9,80.7,20.06.2026,2026-06-23 +History,Grade 7,73.0,10.02.2026,2026-02-13 +History,Grade 8,79.9,30.05.2026,2026-05-31 +History,Grade 9,85.8,03.06.2026,2026-06-05 diff --git a/agents/evals/fixtures/cases/bar-grouped-seaborn-decimal-comma/case.json b/agents/evals/fixtures/cases/bar-grouped-seaborn-decimal-comma/case.json new file mode 100644 index 0000000000..98a16fecd1 --- /dev/null +++ b/agents/evals/fixtures/cases/bar-grouped-seaborn-decimal-comma/case.json @@ -0,0 +1,28 @@ +{ + "spec_id": "bar-grouped", + "library": "seaborn", + "locale": "de", + "perturbation": "decimal-comma", + "bindings": [ + { + "role": "category", + "column": "Subject" + }, + { + "role": "group", + "column": "Grade Level" + }, + { + "role": "value", + "column": "Test Score" + } + ], + "expected": "accepted", + "tags": [ + "bar", + "decimal-comma", + "synthetic", + "semicolon" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 303, decimal-comma)" +} diff --git a/agents/evals/fixtures/cases/bar-grouped-seaborn-decimal-comma/data.csv b/agents/evals/fixtures/cases/bar-grouped-seaborn-decimal-comma/data.csv new file mode 100644 index 0000000000..5a4fdf74c5 --- /dev/null +++ b/agents/evals/fixtures/cases/bar-grouped-seaborn-decimal-comma/data.csv @@ -0,0 +1,16 @@ +Subject;Grade Level;Test Score +Mathematics;Grade 7;66,1 +Mathematics;Grade 8;69,9 +Mathematics;Grade 9;71,8 +Physics;Grade 7;64,6 +Physics;Grade 8;65,3 +Physics;Grade 9;74,1 +Chemistry;Grade 7;63,4 +Chemistry;Grade 8;66,5 +Chemistry;Grade 9;68,7 +Biology;Grade 7;73,0 +Biology;Grade 8;72,1 +Biology;Grade 9;80,7 +History;Grade 7;73,0 +History;Grade 8;79,9 +History;Grade 9;85,8 diff --git a/agents/evals/fixtures/cases/bar-grouped-seaborn-n12/case.json b/agents/evals/fixtures/cases/bar-grouped-seaborn-n12/case.json new file mode 100644 index 0000000000..3d0cd100c4 --- /dev/null +++ b/agents/evals/fixtures/cases/bar-grouped-seaborn-n12/case.json @@ -0,0 +1,28 @@ +{ + "spec_id": "bar-grouped", + "library": "seaborn", + "locale": "en", + "perturbation": "n12", + "bindings": [ + { + "role": "category", + "column": "Subject" + }, + { + "role": "group", + "column": "Grade Level" + }, + { + "role": "value", + "column": "Test Score" + } + ], + "expected": "accepted", + "tags": [ + "bar", + "n12", + "synthetic", + "small" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 303, n12)" +} diff --git a/agents/evals/fixtures/cases/bar-grouped-seaborn-n12/data.csv b/agents/evals/fixtures/cases/bar-grouped-seaborn-n12/data.csv new file mode 100644 index 0000000000..056babdf94 --- /dev/null +++ b/agents/evals/fixtures/cases/bar-grouped-seaborn-n12/data.csv @@ -0,0 +1,13 @@ +Subject,Grade Level,Test Score +Mathematics,Grade 7,66.1 +Mathematics,Grade 8,70.9 +Mathematics,Grade 9,75.3 +Physics,Grade 7,66.7 +Physics,Grade 8,63.5 +Physics,Grade 9,73.7 +Chemistry,Grade 7,69.1 +Chemistry,Grade 8,69.7 +Chemistry,Grade 9,75.1 +Biology,Grade 7,71.7 +Biology,Grade 8,76.4 +Biology,Grade 9,77.3 diff --git a/agents/evals/fixtures/cases/bar-grouped-seaborn-n5000/case.json b/agents/evals/fixtures/cases/bar-grouped-seaborn-n5000/case.json new file mode 100644 index 0000000000..7175e47568 --- /dev/null +++ b/agents/evals/fixtures/cases/bar-grouped-seaborn-n5000/case.json @@ -0,0 +1,29 @@ +{ + "spec_id": "bar-grouped", + "library": "seaborn", + "locale": "en", + "perturbation": "n5000", + "bindings": [ + { + "role": "category", + "column": "Subject" + }, + { + "role": "group", + "column": "Grade Level" + }, + { + "role": "value", + "column": "Test Score" + } + ], + "expected": "accepted", + "tags": [ + "bar", + "n5000", + "synthetic", + "large", + "aggregation" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 303, n5000)" +} diff --git a/agents/evals/fixtures/cases/bar-grouped-seaborn-n5000/data.csv b/agents/evals/fixtures/cases/bar-grouped-seaborn-n5000/data.csv new file mode 100644 index 0000000000..aaee49deb4 --- /dev/null +++ b/agents/evals/fixtures/cases/bar-grouped-seaborn-n5000/data.csv @@ -0,0 +1,5001 @@ +Subject,Grade Level,Test Score +History,Grade 9,91.7 +Physics,Grade 9,48.8 +Mathematics,Grade 8,61.5 +Mathematics,Grade 9,66.2 +Mathematics,Grade 9,63.3 +Physics,Grade 9,69.9 +History,Grade 8,84.7 +Biology,Grade 8,67.7 +Chemistry,Grade 9,71.1 +Mathematics,Grade 9,60.9 +Physics,Grade 9,62.6 +History,Grade 8,92.3 +Physics,Grade 7,48.6 +Biology,Grade 7,68.0 +Mathematics,Grade 9,71.5 +Physics,Grade 9,60.5 +History,Grade 9,68.7 +Biology,Grade 8,73.5 +Biology,Grade 9,77.4 +Biology,Grade 8,95.1 +History,Grade 8,78.0 +Mathematics,Grade 9,72.4 +History,Grade 7,75.8 +Chemistry,Grade 9,81.9 +History,Grade 7,76.0 +Physics,Grade 8,69.9 +Chemistry,Grade 9,70.7 +Chemistry,Grade 8,88.3 +Mathematics,Grade 9,58.3 +History,Grade 9,85.1 +Biology,Grade 8,69.9 +Physics,Grade 8,63.3 +Mathematics,Grade 9,84.1 +Chemistry,Grade 9,66.6 +Physics,Grade 9,63.1 +Mathematics,Grade 7,85.8 +Mathematics,Grade 8,78.7 +Biology,Grade 8,73.1 +History,Grade 8,66.1 +Biology,Grade 7,81.5 +History,Grade 7,88.2 +Chemistry,Grade 7,52.9 +Physics,Grade 8,67.4 +History,Grade 9,79.3 +Biology,Grade 9,67.5 +Mathematics,Grade 7,62.9 +Mathematics,Grade 7,51.0 +Biology,Grade 8,54.8 +History,Grade 8,59.6 +Chemistry,Grade 9,67.6 +Chemistry,Grade 8,64.8 +Chemistry,Grade 9,70.0 +Mathematics,Grade 7,56.8 +Biology,Grade 9,77.2 +Chemistry,Grade 9,71.6 +Biology,Grade 9,94.1 +Chemistry,Grade 7,77.2 +History,Grade 9,73.5 +Mathematics,Grade 7,70.7 +Chemistry,Grade 9,82.5 +Biology,Grade 9,72.3 +Biology,Grade 7,60.8 +Chemistry,Grade 7,53.3 +History,Grade 8,84.6 +History,Grade 8,62.9 +Physics,Grade 7,63.9 +Biology,Grade 7,78.5 +Physics,Grade 7,66.2 +Physics,Grade 9,70.0 +History,Grade 9,84.4 +Mathematics,Grade 7,76.4 +Chemistry,Grade 8,68.6 +History,Grade 9,89.7 +Chemistry,Grade 8,84.3 +History,Grade 9,78.1 +Biology,Grade 8,69.9 +Physics,Grade 8,49.0 +Mathematics,Grade 7,72.8 +History,Grade 8,86.4 +Biology,Grade 7,69.5 +History,Grade 8,98.4 +Physics,Grade 7,68.3 +Chemistry,Grade 9,75.0 +Biology,Grade 8,73.0 +Chemistry,Grade 8,65.2 +Mathematics,Grade 7,51.3 +Mathematics,Grade 9,83.3 +Mathematics,Grade 8,67.1 +History,Grade 8,56.2 +Mathematics,Grade 8,73.6 +Biology,Grade 7,71.5 +History,Grade 9,74.1 +Biology,Grade 7,63.5 +Mathematics,Grade 9,61.6 +Physics,Grade 9,76.8 +Biology,Grade 8,53.8 +Chemistry,Grade 7,40.9 +Physics,Grade 7,62.0 +Biology,Grade 7,50.8 +Physics,Grade 9,76.4 +Mathematics,Grade 8,73.7 +Chemistry,Grade 7,78.4 +Mathematics,Grade 7,75.8 +Chemistry,Grade 8,82.7 +History,Grade 7,69.4 +Biology,Grade 8,75.3 +Chemistry,Grade 8,69.0 +Biology,Grade 9,79.7 +Physics,Grade 7,74.9 +Biology,Grade 8,81.0 +Physics,Grade 7,60.5 +History,Grade 8,87.0 +Physics,Grade 9,67.6 +Physics,Grade 8,70.6 +Mathematics,Grade 9,65.6 +Physics,Grade 7,64.4 +History,Grade 9,70.0 +Biology,Grade 8,63.2 +Mathematics,Grade 8,67.5 +Physics,Grade 7,65.1 +Biology,Grade 7,64.2 +Physics,Grade 7,53.9 +History,Grade 9,68.4 +Mathematics,Grade 8,82.0 +History,Grade 8,71.2 +Physics,Grade 8,67.2 +Mathematics,Grade 7,77.1 +History,Grade 9,88.4 +Physics,Grade 9,65.3 +History,Grade 7,84.8 +Chemistry,Grade 9,49.8 +Biology,Grade 8,76.5 +History,Grade 8,57.1 +Mathematics,Grade 9,78.0 +Biology,Grade 8,74.5 +Chemistry,Grade 9,63.0 +History,Grade 8,78.8 +Mathematics,Grade 7,68.3 +History,Grade 7,72.9 +Biology,Grade 8,87.5 +Biology,Grade 8,52.9 +History,Grade 9,91.8 +Biology,Grade 8,90.5 +Chemistry,Grade 7,64.1 +History,Grade 8,93.8 +Chemistry,Grade 7,87.8 +Biology,Grade 8,73.8 +Biology,Grade 7,57.7 +History,Grade 7,97.9 +Biology,Grade 9,67.9 +Chemistry,Grade 9,88.7 +Chemistry,Grade 9,82.9 +Mathematics,Grade 9,89.3 +Chemistry,Grade 9,76.8 +Mathematics,Grade 7,70.6 +Chemistry,Grade 7,54.0 +History,Grade 9,64.5 +Physics,Grade 8,69.2 +History,Grade 8,85.5 +Physics,Grade 7,61.3 +Chemistry,Grade 7,68.1 +Physics,Grade 9,65.0 +Chemistry,Grade 9,77.2 +Physics,Grade 7,70.0 +Physics,Grade 8,41.4 +Physics,Grade 7,56.8 +Physics,Grade 7,60.7 +History,Grade 7,68.3 +History,Grade 9,87.0 +Biology,Grade 9,89.1 +Chemistry,Grade 8,85.2 +History,Grade 7,92.6 +Mathematics,Grade 9,74.2 +Biology,Grade 7,72.5 +Chemistry,Grade 9,59.7 +Chemistry,Grade 7,54.6 +History,Grade 8,71.8 +Chemistry,Grade 9,57.0 +Mathematics,Grade 9,67.4 +Biology,Grade 9,74.6 +History,Grade 9,78.5 +Biology,Grade 8,76.9 +Mathematics,Grade 8,72.5 +Chemistry,Grade 7,67.8 +History,Grade 7,51.3 +Biology,Grade 7,76.8 +Chemistry,Grade 7,46.4 +Biology,Grade 9,75.4 +History,Grade 8,67.2 +Chemistry,Grade 9,69.1 +Physics,Grade 7,56.2 +Biology,Grade 7,69.6 +Physics,Grade 8,76.7 +Chemistry,Grade 7,67.4 +Chemistry,Grade 8,95.3 +Chemistry,Grade 8,65.5 +Chemistry,Grade 7,71.9 +History,Grade 7,60.6 +Mathematics,Grade 7,76.0 +Physics,Grade 7,60.0 +Chemistry,Grade 8,50.1 +Chemistry,Grade 7,64.6 +Chemistry,Grade 9,70.4 +Chemistry,Grade 9,90.6 +History,Grade 7,64.8 +Chemistry,Grade 7,76.7 +History,Grade 8,83.1 +Physics,Grade 8,76.1 +History,Grade 8,80.0 +Physics,Grade 9,73.7 +Chemistry,Grade 9,90.4 +History,Grade 8,89.7 +Mathematics,Grade 9,83.9 +Biology,Grade 9,65.4 +Physics,Grade 7,57.8 +Physics,Grade 9,62.8 +Physics,Grade 9,71.3 +Chemistry,Grade 8,88.8 +Biology,Grade 9,88.0 +Mathematics,Grade 9,70.8 +History,Grade 7,90.7 +Biology,Grade 7,64.3 +Mathematics,Grade 7,60.2 +Physics,Grade 8,52.6 +Mathematics,Grade 8,80.6 +Chemistry,Grade 7,53.2 +Physics,Grade 9,47.7 +History,Grade 9,71.9 +Chemistry,Grade 9,64.3 +Mathematics,Grade 9,70.7 +Physics,Grade 9,64.0 +Physics,Grade 9,66.3 +Biology,Grade 9,67.5 +Mathematics,Grade 9,58.3 +Chemistry,Grade 9,78.2 +Mathematics,Grade 7,57.9 +History,Grade 7,70.8 +Physics,Grade 7,57.4 +Biology,Grade 7,68.5 +Mathematics,Grade 7,63.9 +Biology,Grade 9,80.3 +Physics,Grade 7,52.6 +History,Grade 7,66.7 +Chemistry,Grade 7,43.2 +Mathematics,Grade 9,78.4 +Chemistry,Grade 9,68.3 +History,Grade 7,81.7 +Physics,Grade 8,43.2 +Chemistry,Grade 9,57.0 +Chemistry,Grade 8,51.2 +Chemistry,Grade 7,84.6 +Mathematics,Grade 8,78.4 +History,Grade 8,84.8 +Mathematics,Grade 9,64.4 +Physics,Grade 8,64.4 +History,Grade 7,74.8 +Physics,Grade 8,72.5 +Biology,Grade 8,62.1 +Physics,Grade 7,89.3 +Mathematics,Grade 8,62.2 +Physics,Grade 9,69.9 +Chemistry,Grade 7,68.5 +Physics,Grade 9,39.4 +Biology,Grade 7,95.7 +History,Grade 7,56.9 +History,Grade 8,80.9 +History,Grade 8,81.5 +Biology,Grade 8,79.5 +Chemistry,Grade 8,69.5 +Chemistry,Grade 9,72.4 +Mathematics,Grade 8,62.2 +Chemistry,Grade 8,61.4 +Biology,Grade 9,83.6 +History,Grade 8,86.5 +Physics,Grade 7,76.7 +Physics,Grade 7,47.1 +History,Grade 7,77.8 +Physics,Grade 9,75.8 +Biology,Grade 9,72.8 +History,Grade 9,83.4 +Chemistry,Grade 9,90.8 +Biology,Grade 8,75.0 +Physics,Grade 8,80.1 +Biology,Grade 7,54.8 +Biology,Grade 8,89.6 +History,Grade 7,68.4 +Physics,Grade 8,53.4 +Biology,Grade 9,95.6 +History,Grade 7,79.5 +Chemistry,Grade 7,91.9 +Biology,Grade 8,83.1 +Physics,Grade 9,74.3 +Chemistry,Grade 8,71.7 +Biology,Grade 9,96.6 +History,Grade 9,77.6 +Mathematics,Grade 7,73.7 +Biology,Grade 9,84.2 +Biology,Grade 8,57.8 +Mathematics,Grade 9,80.1 +Physics,Grade 9,78.0 +Physics,Grade 9,83.0 +Physics,Grade 7,73.2 +Biology,Grade 7,50.9 +History,Grade 8,81.7 +Biology,Grade 8,100.0 +Chemistry,Grade 7,69.6 +History,Grade 7,72.0 +Physics,Grade 8,85.9 +Chemistry,Grade 9,74.6 +History,Grade 9,69.3 +Physics,Grade 7,62.5 +Biology,Grade 9,77.8 +Physics,Grade 9,75.3 +Mathematics,Grade 9,65.1 +Chemistry,Grade 7,69.2 +Biology,Grade 8,52.2 +Mathematics,Grade 8,72.6 +Mathematics,Grade 8,78.0 +Mathematics,Grade 7,63.9 +Mathematics,Grade 8,54.6 +Chemistry,Grade 7,65.8 +Chemistry,Grade 9,86.2 +Biology,Grade 8,56.2 +Physics,Grade 8,63.0 +Mathematics,Grade 8,91.1 +Biology,Grade 8,59.2 +History,Grade 7,88.5 +Biology,Grade 7,69.1 +History,Grade 7,80.1 +Mathematics,Grade 8,51.8 +Physics,Grade 8,71.0 +Biology,Grade 9,86.5 +Physics,Grade 9,61.8 +Biology,Grade 9,83.2 +Chemistry,Grade 8,68.3 +History,Grade 8,76.6 +Biology,Grade 7,78.3 +Biology,Grade 9,62.1 +Physics,Grade 7,65.9 +Biology,Grade 9,89.7 +Physics,Grade 9,65.0 +Biology,Grade 7,72.6 +Mathematics,Grade 7,88.8 +Chemistry,Grade 9,56.5 +Chemistry,Grade 7,58.6 +Biology,Grade 7,74.5 +Biology,Grade 8,75.2 +Chemistry,Grade 8,52.4 +Mathematics,Grade 9,76.3 +Biology,Grade 9,72.3 +History,Grade 8,84.3 +Mathematics,Grade 9,56.0 +Chemistry,Grade 9,57.4 +Mathematics,Grade 8,45.3 +Mathematics,Grade 7,87.1 +Biology,Grade 8,72.5 +History,Grade 8,79.5 +History,Grade 9,86.8 +Physics,Grade 9,47.5 +Physics,Grade 8,64.9 +History,Grade 9,70.5 +History,Grade 8,88.6 +Mathematics,Grade 8,84.4 +Biology,Grade 8,61.8 +History,Grade 9,88.8 +History,Grade 9,61.0 +History,Grade 8,75.5 +Mathematics,Grade 8,73.8 +History,Grade 7,77.4 +Mathematics,Grade 9,73.6 +Biology,Grade 7,65.3 +Biology,Grade 8,77.6 +History,Grade 9,77.1 +Mathematics,Grade 8,58.2 +Physics,Grade 8,68.1 +Physics,Grade 7,69.6 +History,Grade 9,77.6 +History,Grade 8,94.0 +Mathematics,Grade 7,68.8 +Mathematics,Grade 7,96.2 +Mathematics,Grade 7,66.6 +Biology,Grade 7,67.0 +History,Grade 9,74.9 +Chemistry,Grade 8,74.8 +History,Grade 8,95.3 +History,Grade 8,89.0 +History,Grade 9,79.8 +Chemistry,Grade 7,65.1 +Mathematics,Grade 7,74.4 +History,Grade 8,85.0 +Mathematics,Grade 7,86.1 +History,Grade 9,75.4 +Mathematics,Grade 8,58.3 +Chemistry,Grade 7,54.1 +History,Grade 7,83.2 +Physics,Grade 8,61.6 +Mathematics,Grade 7,88.0 +Physics,Grade 8,75.3 +Chemistry,Grade 8,72.9 +Biology,Grade 9,56.5 +Physics,Grade 7,78.6 +History,Grade 9,81.5 +Mathematics,Grade 9,73.0 +History,Grade 7,66.6 +Physics,Grade 7,46.2 +Biology,Grade 8,82.9 +Physics,Grade 9,78.2 +History,Grade 8,88.0 +History,Grade 7,72.3 +Chemistry,Grade 7,64.8 +History,Grade 7,83.3 +Biology,Grade 7,81.2 +Chemistry,Grade 7,76.6 +Physics,Grade 9,60.1 +History,Grade 8,66.2 +Biology,Grade 8,91.5 +Mathematics,Grade 8,74.7 +History,Grade 9,85.0 +Chemistry,Grade 8,60.8 +History,Grade 7,88.8 +Biology,Grade 9,68.3 +Chemistry,Grade 9,79.0 +Mathematics,Grade 8,76.3 +Physics,Grade 7,65.4 +Chemistry,Grade 9,75.8 +Chemistry,Grade 8,50.2 +Physics,Grade 8,63.9 +Biology,Grade 8,73.3 +Mathematics,Grade 8,63.2 +Chemistry,Grade 8,50.5 +Mathematics,Grade 8,74.5 +Physics,Grade 9,67.3 +History,Grade 8,89.0 +History,Grade 7,61.5 +History,Grade 7,68.7 +Mathematics,Grade 9,71.4 +Chemistry,Grade 7,54.2 +Physics,Grade 7,68.1 +Biology,Grade 9,87.4 +Physics,Grade 9,70.9 +Chemistry,Grade 9,56.3 +History,Grade 7,89.3 +History,Grade 8,97.4 +Mathematics,Grade 8,86.8 +Mathematics,Grade 8,66.5 +Chemistry,Grade 8,70.1 +Chemistry,Grade 8,84.1 +Biology,Grade 7,71.8 +History,Grade 8,62.4 +History,Grade 8,75.2 +History,Grade 8,71.9 +Mathematics,Grade 9,78.4 +Mathematics,Grade 9,85.3 +History,Grade 7,89.1 +History,Grade 8,62.2 +Biology,Grade 7,81.2 +Chemistry,Grade 9,76.6 +Mathematics,Grade 9,62.9 +Physics,Grade 9,61.3 +Chemistry,Grade 7,58.7 +Chemistry,Grade 7,66.1 +Biology,Grade 9,66.3 +Biology,Grade 9,79.1 +History,Grade 8,75.0 +History,Grade 9,65.1 +Biology,Grade 9,70.4 +Biology,Grade 9,84.9 +Chemistry,Grade 7,57.1 +Biology,Grade 9,77.4 +History,Grade 8,75.9 +Biology,Grade 7,86.9 +Chemistry,Grade 9,70.7 +History,Grade 8,70.6 +Chemistry,Grade 7,50.8 +Chemistry,Grade 8,60.9 +Biology,Grade 9,60.1 +Chemistry,Grade 8,77.2 +Mathematics,Grade 7,44.4 +Biology,Grade 7,76.1 +Biology,Grade 7,55.3 +Biology,Grade 7,73.7 +Biology,Grade 7,71.2 +History,Grade 8,65.3 +Mathematics,Grade 8,62.1 +History,Grade 9,77.5 +Chemistry,Grade 7,63.8 +Physics,Grade 7,69.8 +Physics,Grade 8,61.8 +Biology,Grade 8,66.4 +Biology,Grade 7,89.4 +Biology,Grade 7,93.9 +Biology,Grade 7,78.9 +History,Grade 8,83.0 +Chemistry,Grade 8,73.9 +Mathematics,Grade 8,54.3 +History,Grade 9,66.6 +Physics,Grade 8,63.7 +History,Grade 7,74.3 +Mathematics,Grade 7,70.7 +Chemistry,Grade 7,82.6 +Mathematics,Grade 7,73.7 +Mathematics,Grade 7,66.6 +Physics,Grade 7,63.5 +Biology,Grade 9,71.0 +History,Grade 8,81.2 +History,Grade 9,90.6 +Mathematics,Grade 7,56.5 +Biology,Grade 7,74.1 +Chemistry,Grade 8,86.7 +Mathematics,Grade 8,70.9 +Biology,Grade 7,80.7 +Physics,Grade 7,70.9 +Mathematics,Grade 9,87.5 +Chemistry,Grade 9,62.5 +Physics,Grade 9,58.9 +Biology,Grade 7,62.6 +Mathematics,Grade 8,80.5 +History,Grade 7,74.1 +Biology,Grade 9,80.0 +History,Grade 7,71.9 +Chemistry,Grade 8,85.5 +Chemistry,Grade 9,67.1 +History,Grade 9,79.3 +Biology,Grade 8,67.3 +Physics,Grade 8,65.5 +Biology,Grade 9,72.8 +History,Grade 7,71.3 +History,Grade 9,77.6 +Mathematics,Grade 7,68.3 +Mathematics,Grade 8,82.9 +Mathematics,Grade 7,70.3 +Chemistry,Grade 7,47.8 +Mathematics,Grade 8,61.3 +Biology,Grade 9,84.4 +Chemistry,Grade 8,74.2 +History,Grade 8,65.5 +Chemistry,Grade 8,55.4 +Physics,Grade 9,76.6 +Physics,Grade 7,47.1 +Mathematics,Grade 9,59.7 +History,Grade 9,87.5 +Physics,Grade 8,54.2 +Chemistry,Grade 9,65.3 +Chemistry,Grade 8,62.4 +History,Grade 9,62.8 +History,Grade 7,73.4 +History,Grade 7,72.8 +Biology,Grade 8,71.4 +Biology,Grade 9,78.4 +Chemistry,Grade 7,66.7 +Physics,Grade 7,65.3 +Mathematics,Grade 9,64.3 +History,Grade 7,65.1 +History,Grade 8,83.7 +Chemistry,Grade 8,53.4 +Physics,Grade 9,91.5 +Chemistry,Grade 8,63.4 +Chemistry,Grade 7,66.5 +Physics,Grade 9,70.0 +History,Grade 7,68.8 +Physics,Grade 9,71.1 +History,Grade 8,69.7 +Chemistry,Grade 9,87.4 +History,Grade 8,72.0 +Chemistry,Grade 9,56.8 +Chemistry,Grade 7,67.6 +History,Grade 9,79.9 +Mathematics,Grade 8,59.3 +Physics,Grade 9,61.6 +Biology,Grade 8,96.1 +Biology,Grade 9,59.6 +Mathematics,Grade 7,64.3 +Biology,Grade 9,78.6 +Chemistry,Grade 8,57.4 +History,Grade 9,95.1 +Chemistry,Grade 8,82.3 +Biology,Grade 9,69.2 +Chemistry,Grade 8,61.5 +History,Grade 9,89.5 +History,Grade 7,70.4 +Biology,Grade 7,72.1 +Chemistry,Grade 9,67.3 +Physics,Grade 9,65.0 +Biology,Grade 7,72.0 +History,Grade 8,89.2 +Biology,Grade 8,71.6 +History,Grade 9,73.1 +Physics,Grade 9,56.3 +Biology,Grade 9,65.2 +Mathematics,Grade 7,54.0 +History,Grade 7,85.3 +Chemistry,Grade 7,72.6 +History,Grade 8,72.2 +Physics,Grade 8,72.5 +Physics,Grade 8,64.1 +Chemistry,Grade 7,52.8 +Mathematics,Grade 9,84.7 +Chemistry,Grade 7,80.5 +Biology,Grade 8,70.3 +Chemistry,Grade 7,74.6 +History,Grade 7,82.5 +Mathematics,Grade 8,72.2 +History,Grade 9,77.9 +Chemistry,Grade 8,77.4 +Mathematics,Grade 7,59.5 +Physics,Grade 9,80.7 +History,Grade 7,67.1 +Mathematics,Grade 8,85.2 +Chemistry,Grade 9,78.4 +Physics,Grade 9,78.3 +History,Grade 8,77.5 +History,Grade 7,69.4 +Chemistry,Grade 9,74.9 +Mathematics,Grade 7,56.9 +History,Grade 8,72.7 +Mathematics,Grade 8,75.9 +Physics,Grade 9,59.3 +Physics,Grade 7,63.4 +Biology,Grade 7,83.5 +History,Grade 7,58.0 +Mathematics,Grade 7,81.6 +Physics,Grade 8,74.4 +Mathematics,Grade 9,74.7 +History,Grade 9,82.6 +Chemistry,Grade 8,73.2 +History,Grade 7,67.5 +Biology,Grade 8,83.2 +History,Grade 8,73.8 +Biology,Grade 8,71.0 +Mathematics,Grade 9,76.6 +Biology,Grade 7,51.5 +Mathematics,Grade 8,67.5 +Biology,Grade 9,73.6 +History,Grade 7,85.6 +Biology,Grade 9,67.9 +History,Grade 9,99.1 +Biology,Grade 8,56.6 +Physics,Grade 8,58.9 +History,Grade 9,63.7 +Biology,Grade 7,61.8 +History,Grade 9,92.0 +Chemistry,Grade 9,66.8 +Chemistry,Grade 8,74.2 +History,Grade 9,94.8 +Chemistry,Grade 7,65.6 +History,Grade 8,94.5 +Chemistry,Grade 9,58.9 +Physics,Grade 8,44.0 +Physics,Grade 8,59.8 +Biology,Grade 9,71.2 +Chemistry,Grade 9,74.5 +Chemistry,Grade 8,67.8 +Chemistry,Grade 8,59.3 +Mathematics,Grade 7,69.9 +Physics,Grade 8,67.0 +Chemistry,Grade 7,54.8 +History,Grade 8,71.2 +Mathematics,Grade 7,74.8 +History,Grade 8,43.6 +Mathematics,Grade 9,57.4 +Chemistry,Grade 9,68.5 +Physics,Grade 8,66.5 +Biology,Grade 8,70.8 +Mathematics,Grade 8,62.3 +Biology,Grade 8,89.6 +Biology,Grade 9,70.3 +Physics,Grade 7,68.9 +Biology,Grade 9,95.5 +Physics,Grade 8,59.5 +Biology,Grade 7,85.5 +Physics,Grade 9,72.1 +Biology,Grade 7,72.9 +History,Grade 7,86.0 +Chemistry,Grade 7,63.4 +History,Grade 9,69.7 +Physics,Grade 9,71.7 +Biology,Grade 9,68.3 +Chemistry,Grade 8,80.2 +Chemistry,Grade 8,67.4 +Biology,Grade 9,75.2 +History,Grade 7,79.5 +Physics,Grade 9,81.1 +Biology,Grade 7,76.7 +History,Grade 7,71.1 +History,Grade 7,77.6 +Physics,Grade 9,75.0 +Chemistry,Grade 9,98.4 +History,Grade 8,83.7 +History,Grade 7,78.4 +Physics,Grade 8,73.7 +Biology,Grade 7,76.1 +Mathematics,Grade 8,62.0 +Biology,Grade 9,64.2 +History,Grade 9,78.2 +Mathematics,Grade 7,83.9 +Biology,Grade 8,83.4 +Physics,Grade 8,65.4 +Biology,Grade 8,69.6 +Physics,Grade 7,67.2 +History,Grade 7,84.8 +Biology,Grade 9,76.2 +Chemistry,Grade 7,51.6 +Biology,Grade 9,73.6 +Chemistry,Grade 7,68.9 +Biology,Grade 8,79.8 +Physics,Grade 8,60.0 +Chemistry,Grade 8,42.4 +Mathematics,Grade 9,87.8 +Physics,Grade 9,58.1 +Mathematics,Grade 7,66.8 +Mathematics,Grade 8,79.3 +Physics,Grade 9,69.7 +Physics,Grade 8,55.0 +Mathematics,Grade 8,77.2 +Chemistry,Grade 7,51.0 +Chemistry,Grade 9,81.0 +Biology,Grade 9,68.9 +Mathematics,Grade 8,76.5 +Physics,Grade 9,64.5 +Mathematics,Grade 8,74.4 +History,Grade 7,54.9 +Mathematics,Grade 7,75.5 +Mathematics,Grade 9,66.2 +Mathematics,Grade 7,72.6 +Chemistry,Grade 8,52.1 +Biology,Grade 8,67.2 +Biology,Grade 9,70.8 +History,Grade 8,92.6 +Mathematics,Grade 9,83.0 +History,Grade 7,80.5 +Biology,Grade 8,58.6 +Biology,Grade 9,67.0 +Physics,Grade 8,58.7 +Chemistry,Grade 7,37.2 +Physics,Grade 9,66.0 +Mathematics,Grade 9,66.4 +Mathematics,Grade 9,46.6 +History,Grade 9,81.4 +History,Grade 7,76.8 +Chemistry,Grade 7,71.1 +Biology,Grade 8,79.4 +Biology,Grade 8,63.0 +Mathematics,Grade 9,95.2 +Physics,Grade 7,57.3 +Chemistry,Grade 9,83.4 +History,Grade 9,90.8 +Mathematics,Grade 7,93.3 +Mathematics,Grade 8,71.5 +Mathematics,Grade 9,62.0 +Physics,Grade 9,74.3 +History,Grade 8,85.5 +Physics,Grade 9,56.1 +Physics,Grade 7,67.6 +History,Grade 9,81.4 +Physics,Grade 9,69.8 +History,Grade 8,88.3 +Physics,Grade 9,70.5 +Physics,Grade 8,72.7 +Biology,Grade 7,62.6 +Biology,Grade 8,78.1 +Physics,Grade 8,79.8 +History,Grade 7,60.7 +History,Grade 7,64.9 +Physics,Grade 9,75.0 +Chemistry,Grade 9,70.1 +Biology,Grade 8,65.5 +History,Grade 9,100.0 +Biology,Grade 8,73.8 +Biology,Grade 8,60.9 +Mathematics,Grade 7,77.5 +Biology,Grade 8,49.8 +History,Grade 8,84.2 +History,Grade 8,69.5 +History,Grade 8,61.7 +Biology,Grade 8,84.6 +Physics,Grade 7,50.4 +Biology,Grade 8,79.3 +Chemistry,Grade 8,69.8 +Mathematics,Grade 7,79.7 +History,Grade 7,90.8 +Biology,Grade 7,84.2 +Biology,Grade 9,73.6 +Biology,Grade 9,63.8 +Biology,Grade 9,61.2 +Biology,Grade 9,85.4 +Biology,Grade 8,76.7 +Chemistry,Grade 9,67.4 +History,Grade 8,58.3 +History,Grade 9,90.8 +Biology,Grade 7,59.2 +Mathematics,Grade 7,73.0 +Chemistry,Grade 7,63.5 +Mathematics,Grade 9,64.6 +History,Grade 7,71.3 +Mathematics,Grade 7,72.3 +History,Grade 7,49.6 +Physics,Grade 8,73.2 +Physics,Grade 7,60.2 +Biology,Grade 8,87.8 +History,Grade 9,99.5 +History,Grade 9,81.2 +Chemistry,Grade 7,67.0 +History,Grade 9,87.3 +Chemistry,Grade 9,55.5 +Chemistry,Grade 8,78.5 +History,Grade 7,70.1 +Chemistry,Grade 9,79.0 +Biology,Grade 7,59.5 +Physics,Grade 7,75.2 +History,Grade 8,84.2 +Physics,Grade 7,79.1 +Chemistry,Grade 9,61.8 +Physics,Grade 9,77.4 +Chemistry,Grade 8,54.0 +Physics,Grade 7,73.4 +Physics,Grade 9,56.6 +History,Grade 8,58.6 +Mathematics,Grade 8,65.9 +History,Grade 8,83.0 +Biology,Grade 8,67.0 +Biology,Grade 9,92.8 +Biology,Grade 7,64.3 +Mathematics,Grade 9,65.3 +History,Grade 8,73.5 +Mathematics,Grade 9,69.6 +Chemistry,Grade 9,65.6 +Biology,Grade 8,93.3 +Biology,Grade 7,71.2 +Biology,Grade 9,80.9 +Mathematics,Grade 8,66.2 +Physics,Grade 7,69.9 +Mathematics,Grade 9,69.0 +Biology,Grade 9,84.2 +Mathematics,Grade 8,100.0 +Mathematics,Grade 8,73.9 +Physics,Grade 8,78.5 +Physics,Grade 8,62.0 +History,Grade 7,85.8 +History,Grade 7,65.4 +Mathematics,Grade 8,71.8 +Physics,Grade 9,54.2 +Biology,Grade 9,100.0 +Chemistry,Grade 9,54.9 +Biology,Grade 8,100.0 +Chemistry,Grade 9,72.0 +Biology,Grade 9,68.5 +Physics,Grade 9,87.8 +Mathematics,Grade 7,50.2 +Mathematics,Grade 8,80.2 +Physics,Grade 7,56.9 +Chemistry,Grade 7,65.6 +Mathematics,Grade 8,51.6 +Chemistry,Grade 8,89.2 +Chemistry,Grade 8,76.3 +History,Grade 7,79.9 +History,Grade 9,98.5 +Physics,Grade 8,43.8 +Biology,Grade 9,87.5 +History,Grade 8,81.8 +Mathematics,Grade 8,60.4 +Physics,Grade 8,78.2 +Mathematics,Grade 7,67.1 +History,Grade 7,72.8 +Chemistry,Grade 9,83.3 +Physics,Grade 7,74.7 +History,Grade 7,71.6 +History,Grade 7,75.5 +Chemistry,Grade 9,95.4 +Chemistry,Grade 8,76.1 +Biology,Grade 9,77.9 +History,Grade 8,82.5 +Mathematics,Grade 7,57.7 +History,Grade 9,74.2 +Physics,Grade 8,63.8 +History,Grade 9,81.4 +Biology,Grade 8,93.2 +Physics,Grade 8,57.3 +Physics,Grade 9,84.1 +History,Grade 9,92.7 +Biology,Grade 7,79.1 +Physics,Grade 8,62.8 +History,Grade 7,83.2 +Physics,Grade 8,54.3 +Biology,Grade 8,82.5 +History,Grade 8,61.8 +Mathematics,Grade 8,75.7 +Chemistry,Grade 8,70.0 +History,Grade 8,63.1 +Mathematics,Grade 9,86.2 +History,Grade 9,96.3 +Physics,Grade 9,68.0 +Physics,Grade 9,67.3 +Chemistry,Grade 7,80.2 +Mathematics,Grade 9,71.9 +Physics,Grade 9,42.4 +Mathematics,Grade 9,76.4 +Biology,Grade 8,74.2 +Mathematics,Grade 8,94.2 +Chemistry,Grade 7,63.0 +Biology,Grade 8,87.0 +History,Grade 8,83.2 +Biology,Grade 9,68.5 +Mathematics,Grade 8,78.8 +Mathematics,Grade 8,62.4 +History,Grade 9,67.3 +Physics,Grade 7,63.7 +History,Grade 9,74.0 +Physics,Grade 7,59.9 +Physics,Grade 7,77.3 +Chemistry,Grade 8,74.0 +History,Grade 8,76.8 +Mathematics,Grade 8,85.4 +Biology,Grade 7,71.8 +History,Grade 7,78.2 +Mathematics,Grade 8,85.8 +Physics,Grade 7,83.6 +Physics,Grade 8,62.4 +Physics,Grade 8,63.0 +Biology,Grade 8,73.5 +History,Grade 7,64.8 +Mathematics,Grade 7,67.7 +Mathematics,Grade 7,79.3 +Mathematics,Grade 7,63.7 +Mathematics,Grade 8,79.8 +Biology,Grade 9,77.2 +History,Grade 7,81.8 +History,Grade 7,75.3 +Physics,Grade 9,82.5 +Chemistry,Grade 9,76.9 +Physics,Grade 9,83.4 +History,Grade 7,82.5 +Mathematics,Grade 8,67.4 +Physics,Grade 9,62.2 +Chemistry,Grade 9,75.9 +Physics,Grade 9,70.4 +Physics,Grade 7,65.9 +Physics,Grade 8,59.4 +Chemistry,Grade 7,59.3 +Chemistry,Grade 7,65.7 +History,Grade 9,76.2 +Chemistry,Grade 9,68.8 +Physics,Grade 8,71.1 +Mathematics,Grade 8,71.5 +History,Grade 7,69.2 +Biology,Grade 8,71.5 +Biology,Grade 7,78.5 +Chemistry,Grade 9,65.0 +Biology,Grade 9,76.2 +Chemistry,Grade 7,75.1 +Chemistry,Grade 9,57.8 +Chemistry,Grade 8,66.8 +Chemistry,Grade 8,80.0 +History,Grade 9,87.7 +Mathematics,Grade 8,63.7 +Mathematics,Grade 7,86.9 +History,Grade 7,88.5 +Physics,Grade 7,68.3 +Mathematics,Grade 8,67.8 +Biology,Grade 9,72.2 +Chemistry,Grade 9,62.5 +Mathematics,Grade 9,71.3 +Physics,Grade 8,79.6 +History,Grade 8,62.2 +Chemistry,Grade 7,60.5 +Mathematics,Grade 8,80.6 +Chemistry,Grade 8,94.3 +Mathematics,Grade 7,74.3 +Mathematics,Grade 7,67.8 +History,Grade 9,100.0 +Physics,Grade 8,58.0 +Biology,Grade 7,88.5 +Chemistry,Grade 7,67.0 +Mathematics,Grade 7,44.8 +Mathematics,Grade 7,65.7 +History,Grade 8,75.8 +History,Grade 9,91.2 +Biology,Grade 7,71.0 +History,Grade 8,91.6 +Chemistry,Grade 7,49.0 +Chemistry,Grade 8,54.6 +History,Grade 7,74.4 +History,Grade 8,83.3 +History,Grade 9,66.8 +Biology,Grade 7,48.3 +Chemistry,Grade 9,69.2 +Mathematics,Grade 9,98.0 +Biology,Grade 9,82.4 +Chemistry,Grade 9,73.9 +Mathematics,Grade 7,61.0 +Mathematics,Grade 9,87.2 +Biology,Grade 9,70.7 +Biology,Grade 7,88.8 +History,Grade 9,100.0 +History,Grade 9,89.6 +Mathematics,Grade 8,61.6 +History,Grade 7,72.5 +Mathematics,Grade 7,92.1 +Physics,Grade 7,64.3 +History,Grade 9,74.4 +History,Grade 8,100.0 +Physics,Grade 9,68.6 +Chemistry,Grade 9,68.3 +Chemistry,Grade 7,67.3 +Physics,Grade 9,64.2 +History,Grade 9,92.0 +Physics,Grade 9,70.8 +History,Grade 9,81.7 +Mathematics,Grade 9,78.8 +Physics,Grade 7,84.5 +Biology,Grade 9,66.0 +Chemistry,Grade 7,82.8 +History,Grade 8,63.8 +History,Grade 9,75.2 +Mathematics,Grade 9,73.4 +Biology,Grade 9,97.3 +Mathematics,Grade 7,52.8 +Mathematics,Grade 8,66.7 +Biology,Grade 7,62.3 +History,Grade 7,83.9 +Biology,Grade 9,72.3 +Chemistry,Grade 9,72.7 +History,Grade 7,71.7 +Physics,Grade 8,59.2 +History,Grade 7,64.3 +History,Grade 7,57.4 +Physics,Grade 8,75.9 +Physics,Grade 7,79.6 +Biology,Grade 9,85.3 +Mathematics,Grade 8,62.8 +Biology,Grade 9,76.3 +History,Grade 8,81.3 +Chemistry,Grade 9,64.0 +Mathematics,Grade 7,72.2 +Physics,Grade 9,77.7 +Biology,Grade 7,77.4 +Mathematics,Grade 8,70.1 +Biology,Grade 7,65.6 +Mathematics,Grade 8,89.6 +History,Grade 9,87.7 +Physics,Grade 8,78.1 +Physics,Grade 7,47.8 +Biology,Grade 9,70.2 +Mathematics,Grade 9,65.8 +Physics,Grade 8,74.7 +Physics,Grade 7,65.7 +Chemistry,Grade 9,73.4 +Physics,Grade 8,68.6 +Chemistry,Grade 8,66.5 +Physics,Grade 7,58.5 +History,Grade 8,77.2 +Physics,Grade 7,59.1 +History,Grade 9,73.4 +Mathematics,Grade 7,72.4 +Chemistry,Grade 8,59.3 +History,Grade 8,74.5 +Chemistry,Grade 9,80.9 +Biology,Grade 9,79.1 +Biology,Grade 9,86.6 +Mathematics,Grade 9,76.6 +Mathematics,Grade 9,83.3 +Physics,Grade 8,74.1 +Chemistry,Grade 9,66.1 +History,Grade 7,60.3 +Mathematics,Grade 9,91.2 +Physics,Grade 7,74.6 +Biology,Grade 8,81.5 +Biology,Grade 7,79.1 +Mathematics,Grade 8,68.9 +Chemistry,Grade 7,69.0 +Physics,Grade 8,81.2 +Physics,Grade 8,58.9 +Physics,Grade 7,65.7 +Physics,Grade 9,85.2 +Mathematics,Grade 7,50.3 +History,Grade 7,95.4 +Biology,Grade 7,73.0 +Mathematics,Grade 8,58.5 +History,Grade 7,78.2 +Chemistry,Grade 7,51.1 +History,Grade 7,59.9 +History,Grade 9,80.2 +Biology,Grade 8,73.6 +Biology,Grade 8,74.5 +Physics,Grade 9,70.3 +Chemistry,Grade 9,79.0 +Chemistry,Grade 9,92.8 +Chemistry,Grade 8,78.2 +Biology,Grade 9,98.4 +Chemistry,Grade 8,65.7 +Mathematics,Grade 8,50.1 +Physics,Grade 9,70.9 +Mathematics,Grade 7,73.0 +Mathematics,Grade 8,83.6 +Biology,Grade 9,59.6 +History,Grade 7,57.9 +Biology,Grade 7,66.0 +Mathematics,Grade 7,84.3 +History,Grade 8,54.5 +Biology,Grade 7,77.7 +History,Grade 8,77.9 +Mathematics,Grade 9,64.0 +Mathematics,Grade 7,77.1 +Biology,Grade 9,86.1 +Biology,Grade 7,76.2 +Chemistry,Grade 9,90.4 +Chemistry,Grade 8,81.8 +History,Grade 9,79.8 +Physics,Grade 9,70.0 +Physics,Grade 8,63.6 +Physics,Grade 8,73.0 +Chemistry,Grade 9,59.4 +Biology,Grade 8,91.9 +Physics,Grade 8,55.9 +Physics,Grade 9,72.5 +Chemistry,Grade 8,71.6 +Biology,Grade 8,84.3 +Chemistry,Grade 9,75.7 +Chemistry,Grade 7,71.9 +Physics,Grade 9,69.5 +Physics,Grade 8,58.2 +Chemistry,Grade 7,72.1 +Biology,Grade 8,75.4 +History,Grade 8,63.7 +Chemistry,Grade 7,67.3 +Chemistry,Grade 7,64.5 +History,Grade 9,100.0 +Mathematics,Grade 8,69.6 +History,Grade 9,72.8 +Mathematics,Grade 7,61.1 +Physics,Grade 9,79.0 +Biology,Grade 7,76.3 +Biology,Grade 8,96.4 +History,Grade 9,97.7 +Physics,Grade 8,78.2 +Biology,Grade 9,75.0 +Mathematics,Grade 9,63.1 +Chemistry,Grade 9,82.3 +Physics,Grade 9,71.0 +Physics,Grade 7,63.5 +Chemistry,Grade 8,70.9 +Chemistry,Grade 7,67.8 +Physics,Grade 7,53.3 +Mathematics,Grade 7,84.1 +History,Grade 9,86.5 +Biology,Grade 8,72.8 +History,Grade 9,79.3 +History,Grade 8,64.6 +Chemistry,Grade 9,89.9 +Biology,Grade 9,100.0 +Chemistry,Grade 7,61.7 +Mathematics,Grade 7,61.9 +Physics,Grade 9,75.5 +Biology,Grade 7,58.1 +Physics,Grade 8,77.3 +Physics,Grade 7,46.7 +Chemistry,Grade 9,76.5 +History,Grade 8,78.5 +Biology,Grade 7,68.4 +Mathematics,Grade 8,69.7 +History,Grade 7,60.4 +Mathematics,Grade 7,74.6 +Physics,Grade 8,62.4 +Physics,Grade 9,66.0 +History,Grade 9,77.7 +Mathematics,Grade 9,80.2 +Mathematics,Grade 9,63.6 +History,Grade 8,80.2 +History,Grade 8,73.2 +Chemistry,Grade 8,71.3 +Biology,Grade 9,61.9 +Physics,Grade 8,72.5 +Physics,Grade 7,41.3 +Mathematics,Grade 8,60.8 +History,Grade 9,82.1 +Biology,Grade 9,100.0 +Chemistry,Grade 7,82.6 +Mathematics,Grade 7,81.8 +Biology,Grade 7,72.9 +Biology,Grade 7,62.6 +Chemistry,Grade 7,79.4 +Mathematics,Grade 9,69.8 +Biology,Grade 9,64.1 +History,Grade 8,66.3 +Chemistry,Grade 8,56.1 +Biology,Grade 7,77.6 +Physics,Grade 7,72.3 +Physics,Grade 8,58.8 +Physics,Grade 8,68.2 +History,Grade 9,76.7 +Chemistry,Grade 9,70.8 +Chemistry,Grade 7,58.5 +Mathematics,Grade 8,82.1 +Physics,Grade 8,53.9 +Chemistry,Grade 9,73.7 +Physics,Grade 7,64.9 +History,Grade 9,85.5 +Chemistry,Grade 9,75.7 +Physics,Grade 9,76.9 +Biology,Grade 9,68.5 +Biology,Grade 9,84.1 +History,Grade 7,84.4 +Mathematics,Grade 7,68.0 +Physics,Grade 8,81.0 +History,Grade 7,84.2 +Physics,Grade 9,54.9 +Chemistry,Grade 8,85.8 +Biology,Grade 7,68.0 +Physics,Grade 8,51.0 +Mathematics,Grade 9,43.9 +Chemistry,Grade 7,57.8 +Biology,Grade 7,75.9 +Chemistry,Grade 9,68.6 +Physics,Grade 7,79.7 +History,Grade 9,80.0 +Chemistry,Grade 9,71.5 +Biology,Grade 8,61.5 +Biology,Grade 9,100.0 +Chemistry,Grade 8,79.5 +Mathematics,Grade 9,64.3 +History,Grade 9,64.8 +History,Grade 7,75.3 +Biology,Grade 8,74.4 +Biology,Grade 8,70.3 +Mathematics,Grade 8,65.5 +Mathematics,Grade 8,82.9 +Physics,Grade 8,63.8 +Biology,Grade 7,65.6 +Physics,Grade 9,59.1 +Physics,Grade 8,64.2 +Physics,Grade 7,51.1 +History,Grade 9,100.0 +Biology,Grade 7,55.7 +Mathematics,Grade 8,68.1 +Biology,Grade 8,71.4 +History,Grade 8,76.3 +History,Grade 9,65.1 +Biology,Grade 7,75.4 +Biology,Grade 8,80.2 +Mathematics,Grade 8,70.1 +Physics,Grade 7,84.3 +Mathematics,Grade 7,56.8 +History,Grade 8,78.5 +History,Grade 8,80.3 +Chemistry,Grade 7,42.4 +Chemistry,Grade 9,69.7 +Mathematics,Grade 9,89.2 +Physics,Grade 8,87.5 +Mathematics,Grade 9,60.8 +History,Grade 8,61.5 +Mathematics,Grade 9,87.0 +Chemistry,Grade 8,61.9 +Chemistry,Grade 8,77.4 +Mathematics,Grade 8,66.5 +Biology,Grade 8,88.6 +Mathematics,Grade 7,65.6 +Mathematics,Grade 8,62.4 +Mathematics,Grade 8,85.8 +Physics,Grade 7,66.5 +Biology,Grade 8,77.9 +Biology,Grade 7,87.5 +Biology,Grade 7,73.9 +Biology,Grade 8,69.0 +Physics,Grade 8,89.5 +Physics,Grade 9,84.2 +Biology,Grade 9,68.7 +Biology,Grade 8,64.8 +Mathematics,Grade 9,75.7 +Mathematics,Grade 8,65.9 +History,Grade 7,82.3 +Chemistry,Grade 8,51.2 +Chemistry,Grade 7,56.3 +History,Grade 8,73.3 +Mathematics,Grade 9,85.1 +Biology,Grade 8,92.5 +Mathematics,Grade 7,58.9 +Biology,Grade 9,83.9 +Physics,Grade 8,67.6 +Chemistry,Grade 8,57.1 +History,Grade 8,61.4 +Physics,Grade 9,74.1 +Mathematics,Grade 7,67.1 +Chemistry,Grade 8,68.5 +Mathematics,Grade 7,75.1 +Mathematics,Grade 9,59.6 +History,Grade 9,75.5 +History,Grade 8,70.1 +Chemistry,Grade 8,66.0 +Biology,Grade 9,66.3 +Mathematics,Grade 7,71.5 +History,Grade 7,65.5 +Physics,Grade 8,58.6 +Biology,Grade 9,76.2 +History,Grade 8,90.7 +Biology,Grade 7,56.1 +Chemistry,Grade 9,50.7 +Mathematics,Grade 9,80.2 +Chemistry,Grade 8,59.6 +Chemistry,Grade 9,75.5 +History,Grade 9,100.0 +History,Grade 7,71.4 +Physics,Grade 9,76.4 +Biology,Grade 7,66.0 +Physics,Grade 9,79.7 +Chemistry,Grade 8,58.0 +Physics,Grade 9,78.7 +Chemistry,Grade 7,85.3 +Biology,Grade 8,66.1 +Mathematics,Grade 9,77.4 +Biology,Grade 7,79.8 +Biology,Grade 7,63.1 +History,Grade 9,89.9 +Mathematics,Grade 8,61.7 +History,Grade 8,97.8 +Chemistry,Grade 7,66.1 +History,Grade 9,87.3 +Chemistry,Grade 7,55.3 +Biology,Grade 8,73.2 +Physics,Grade 7,68.3 +Physics,Grade 8,60.4 +Biology,Grade 9,100.0 +Physics,Grade 9,66.7 +Physics,Grade 8,68.2 +Chemistry,Grade 8,68.6 +Chemistry,Grade 7,73.6 +History,Grade 8,78.5 +Mathematics,Grade 9,60.2 +Mathematics,Grade 9,70.0 +Physics,Grade 7,46.6 +Chemistry,Grade 9,67.3 +Biology,Grade 9,60.0 +Chemistry,Grade 8,53.8 +Chemistry,Grade 9,74.4 +History,Grade 7,94.8 +History,Grade 8,80.6 +Chemistry,Grade 9,65.8 +History,Grade 7,47.9 +Chemistry,Grade 8,58.0 +Physics,Grade 9,61.3 +History,Grade 7,75.7 +Mathematics,Grade 8,72.1 +History,Grade 7,77.8 +Mathematics,Grade 9,67.7 +Physics,Grade 7,40.1 +History,Grade 7,78.0 +Mathematics,Grade 7,72.7 +Mathematics,Grade 7,56.9 +History,Grade 8,73.2 +Chemistry,Grade 7,71.1 +History,Grade 7,79.9 +Chemistry,Grade 7,75.7 +Mathematics,Grade 7,70.5 +History,Grade 7,78.2 +Chemistry,Grade 9,59.4 +History,Grade 8,75.5 +Physics,Grade 8,65.5 +History,Grade 8,85.7 +Biology,Grade 7,80.1 +Biology,Grade 7,72.1 +Chemistry,Grade 8,79.1 +Physics,Grade 7,44.8 +Chemistry,Grade 9,76.7 +Chemistry,Grade 8,65.6 +History,Grade 7,68.0 +History,Grade 9,86.7 +Biology,Grade 8,83.9 +Physics,Grade 9,71.5 +Biology,Grade 9,74.2 +Mathematics,Grade 7,51.6 +Biology,Grade 7,72.0 +Physics,Grade 7,58.9 +History,Grade 8,81.3 +Physics,Grade 9,67.3 +Mathematics,Grade 7,69.4 +Biology,Grade 8,58.1 +Mathematics,Grade 8,69.6 +Physics,Grade 7,63.1 +History,Grade 7,71.5 +Chemistry,Grade 7,63.9 +Mathematics,Grade 9,92.8 +History,Grade 7,86.1 +Chemistry,Grade 9,71.6 +Mathematics,Grade 8,65.6 +Biology,Grade 9,76.7 +Chemistry,Grade 8,68.8 +Chemistry,Grade 8,55.8 +Physics,Grade 8,60.5 +History,Grade 7,85.0 +Biology,Grade 8,85.0 +History,Grade 9,84.3 +Mathematics,Grade 8,76.0 +History,Grade 9,70.3 +Biology,Grade 7,76.1 +Mathematics,Grade 9,64.7 +Chemistry,Grade 9,77.1 +Mathematics,Grade 8,72.7 +Physics,Grade 7,54.6 +Biology,Grade 9,93.4 +History,Grade 9,98.4 +Chemistry,Grade 8,80.8 +Mathematics,Grade 9,61.5 +Mathematics,Grade 9,69.9 +Physics,Grade 7,76.9 +Mathematics,Grade 7,56.0 +Biology,Grade 7,74.8 +Mathematics,Grade 8,56.1 +Chemistry,Grade 7,56.7 +History,Grade 9,86.0 +Biology,Grade 8,76.3 +Chemistry,Grade 8,50.7 +History,Grade 7,73.9 +Biology,Grade 8,86.7 +Biology,Grade 7,80.3 +Chemistry,Grade 9,71.0 +Physics,Grade 9,70.3 +History,Grade 9,77.1 +History,Grade 7,76.4 +History,Grade 8,73.6 +Mathematics,Grade 7,55.3 +Mathematics,Grade 8,72.4 +Physics,Grade 9,50.1 +Mathematics,Grade 8,73.5 +Mathematics,Grade 9,71.9 +Biology,Grade 7,81.4 +Chemistry,Grade 7,71.9 +Physics,Grade 8,62.9 +Biology,Grade 9,87.7 +Physics,Grade 7,68.0 +History,Grade 8,85.1 +Biology,Grade 8,92.7 +History,Grade 9,77.3 +Physics,Grade 9,64.8 +Mathematics,Grade 9,65.8 +Mathematics,Grade 9,90.1 +Mathematics,Grade 8,62.0 +Physics,Grade 7,69.6 +Biology,Grade 8,81.4 +Chemistry,Grade 9,85.7 +Biology,Grade 8,78.7 +History,Grade 7,80.9 +Biology,Grade 9,93.2 +Mathematics,Grade 7,57.3 +Physics,Grade 8,49.4 +Mathematics,Grade 8,92.1 +Chemistry,Grade 8,66.6 +Biology,Grade 8,70.7 +Mathematics,Grade 9,83.5 +Mathematics,Grade 7,69.4 +Physics,Grade 8,63.8 +Biology,Grade 7,81.1 +Chemistry,Grade 9,70.0 +Chemistry,Grade 8,71.4 +Chemistry,Grade 7,72.9 +Physics,Grade 8,58.6 +Physics,Grade 8,68.6 +Chemistry,Grade 8,76.7 +Physics,Grade 8,69.8 +Biology,Grade 9,78.3 +History,Grade 9,78.2 +Mathematics,Grade 7,60.1 +Chemistry,Grade 8,59.6 +Mathematics,Grade 8,79.6 +Biology,Grade 9,79.8 +Physics,Grade 9,78.0 +Mathematics,Grade 9,80.2 +Chemistry,Grade 8,72.5 +Biology,Grade 9,79.4 +Biology,Grade 7,80.5 +Biology,Grade 9,70.1 +Biology,Grade 8,68.2 +Mathematics,Grade 8,67.5 +Chemistry,Grade 7,64.6 +Physics,Grade 8,92.0 +Mathematics,Grade 9,80.8 +Mathematics,Grade 8,71.1 +Mathematics,Grade 9,80.0 +History,Grade 9,71.8 +Mathematics,Grade 7,72.1 +Biology,Grade 7,60.6 +Mathematics,Grade 7,73.3 +History,Grade 7,96.4 +Mathematics,Grade 8,64.8 +History,Grade 8,68.6 +History,Grade 9,78.2 +Biology,Grade 8,77.2 +Mathematics,Grade 8,56.3 +Chemistry,Grade 8,79.3 +Mathematics,Grade 7,77.7 +Physics,Grade 7,69.5 +Biology,Grade 9,70.5 +Chemistry,Grade 9,73.3 +Mathematics,Grade 7,64.1 +Chemistry,Grade 7,77.1 +History,Grade 8,85.5 +Physics,Grade 7,50.0 +Physics,Grade 8,73.3 +Mathematics,Grade 9,72.1 +Physics,Grade 7,61.2 +Biology,Grade 8,68.8 +History,Grade 9,71.5 +Mathematics,Grade 8,95.2 +Biology,Grade 9,86.3 +Mathematics,Grade 7,52.3 +Mathematics,Grade 8,74.6 +History,Grade 9,49.3 +History,Grade 8,88.0 +Physics,Grade 8,81.2 +Biology,Grade 7,67.2 +Physics,Grade 9,69.6 +Physics,Grade 7,59.2 +Chemistry,Grade 9,43.9 +Chemistry,Grade 8,65.1 +History,Grade 7,84.0 +History,Grade 7,87.8 +Physics,Grade 7,71.9 +Mathematics,Grade 9,69.3 +Physics,Grade 7,63.4 +Physics,Grade 8,65.2 +Biology,Grade 8,99.6 +Biology,Grade 7,77.0 +Mathematics,Grade 9,82.8 +History,Grade 9,85.3 +Biology,Grade 8,69.4 +Chemistry,Grade 7,72.3 +Chemistry,Grade 7,68.4 +Mathematics,Grade 8,76.3 +Mathematics,Grade 8,64.3 +Mathematics,Grade 9,85.6 +Biology,Grade 9,84.0 +History,Grade 9,63.5 +Chemistry,Grade 7,65.0 +Physics,Grade 9,49.1 +Mathematics,Grade 9,84.7 +Physics,Grade 8,58.4 +Physics,Grade 7,67.6 +Physics,Grade 8,68.3 +History,Grade 9,82.4 +Mathematics,Grade 7,81.1 +History,Grade 7,72.6 +History,Grade 8,70.8 +History,Grade 9,79.7 +Physics,Grade 9,85.7 +Chemistry,Grade 8,83.2 +Biology,Grade 9,53.2 +Chemistry,Grade 9,90.5 +Physics,Grade 9,73.2 +Mathematics,Grade 8,78.6 +Biology,Grade 8,100.0 +Biology,Grade 9,74.0 +History,Grade 9,91.7 +Physics,Grade 7,57.0 +Chemistry,Grade 8,67.3 +History,Grade 7,79.4 +Chemistry,Grade 7,53.3 +Biology,Grade 8,61.6 +Biology,Grade 8,81.3 +History,Grade 9,83.8 +Biology,Grade 9,81.4 +Biology,Grade 9,80.8 +Biology,Grade 9,98.3 +History,Grade 7,65.0 +Chemistry,Grade 7,63.7 +Physics,Grade 9,66.4 +Chemistry,Grade 9,84.1 +Chemistry,Grade 8,84.8 +Chemistry,Grade 7,67.4 +History,Grade 8,61.1 +Biology,Grade 7,70.0 +History,Grade 9,78.8 +Physics,Grade 7,70.2 +Chemistry,Grade 7,68.5 +History,Grade 8,82.2 +Biology,Grade 9,83.9 +Biology,Grade 9,74.9 +Mathematics,Grade 9,70.8 +History,Grade 8,79.7 +Physics,Grade 7,70.2 +Physics,Grade 8,69.3 +Biology,Grade 7,70.4 +Physics,Grade 9,62.6 +History,Grade 8,76.6 +Chemistry,Grade 8,65.5 +Chemistry,Grade 9,80.7 +Mathematics,Grade 8,65.0 +Biology,Grade 9,75.7 +Mathematics,Grade 7,57.2 +Chemistry,Grade 7,59.4 +Biology,Grade 8,95.2 +Chemistry,Grade 9,79.5 +Physics,Grade 9,72.0 +Mathematics,Grade 8,80.9 +Biology,Grade 8,75.5 +History,Grade 9,97.4 +History,Grade 9,71.7 +Mathematics,Grade 8,62.2 +Chemistry,Grade 9,88.1 +Physics,Grade 9,77.1 +Mathematics,Grade 9,62.7 +Mathematics,Grade 7,80.0 +History,Grade 7,79.3 +Physics,Grade 9,68.5 +History,Grade 7,87.4 +Biology,Grade 8,100.0 +Mathematics,Grade 7,68.9 +Chemistry,Grade 9,64.6 +History,Grade 8,62.6 +History,Grade 7,71.5 +Physics,Grade 8,70.4 +Biology,Grade 7,66.6 +Mathematics,Grade 9,78.6 +History,Grade 9,84.1 +Chemistry,Grade 8,64.7 +Physics,Grade 8,77.3 +Mathematics,Grade 9,60.7 +Chemistry,Grade 8,75.3 +Physics,Grade 9,57.7 +History,Grade 9,61.7 +Mathematics,Grade 8,86.5 +Mathematics,Grade 7,55.2 +Biology,Grade 9,77.2 +Mathematics,Grade 8,100.0 +History,Grade 8,89.5 +History,Grade 9,87.1 +Biology,Grade 9,68.1 +History,Grade 7,81.3 +Chemistry,Grade 7,78.0 +Chemistry,Grade 7,76.8 +Physics,Grade 9,90.3 +Biology,Grade 8,74.9 +Mathematics,Grade 8,62.6 +History,Grade 9,65.5 +Mathematics,Grade 8,68.9 +Mathematics,Grade 7,47.7 +Biology,Grade 9,72.6 +Mathematics,Grade 8,84.9 +Biology,Grade 7,80.7 +Biology,Grade 7,97.4 +Physics,Grade 9,42.6 +Mathematics,Grade 9,72.7 +Physics,Grade 8,69.0 +Mathematics,Grade 7,48.0 +Biology,Grade 7,58.1 +Chemistry,Grade 9,76.6 +History,Grade 9,88.8 +Physics,Grade 7,51.5 +Mathematics,Grade 9,77.6 +Biology,Grade 7,65.5 +Mathematics,Grade 7,57.8 +Biology,Grade 9,67.4 +Mathematics,Grade 8,71.7 +History,Grade 8,56.9 +Chemistry,Grade 7,61.9 +Mathematics,Grade 8,82.9 +Mathematics,Grade 8,75.5 +Physics,Grade 7,60.9 +Chemistry,Grade 9,63.9 +History,Grade 7,81.0 +Chemistry,Grade 8,69.7 +Mathematics,Grade 7,60.4 +Mathematics,Grade 9,70.2 +Biology,Grade 7,77.4 +Physics,Grade 7,80.5 +Mathematics,Grade 9,73.2 +Mathematics,Grade 9,60.6 +Chemistry,Grade 9,91.5 +Physics,Grade 7,68.9 +Biology,Grade 7,89.6 +Mathematics,Grade 9,68.9 +History,Grade 7,69.1 +Biology,Grade 8,77.8 +Biology,Grade 8,96.9 +Chemistry,Grade 9,61.7 +History,Grade 8,86.4 +Physics,Grade 8,56.8 +Mathematics,Grade 7,78.8 +History,Grade 7,59.6 +Biology,Grade 8,60.1 +Physics,Grade 7,34.3 +History,Grade 8,78.8 +Chemistry,Grade 8,73.0 +Physics,Grade 9,54.0 +Physics,Grade 8,56.8 +Biology,Grade 7,58.9 +Physics,Grade 8,68.9 +Biology,Grade 7,75.5 +Mathematics,Grade 8,82.1 +Physics,Grade 9,54.6 +Mathematics,Grade 9,82.8 +Mathematics,Grade 7,79.1 +History,Grade 9,76.7 +Biology,Grade 8,73.2 +Physics,Grade 9,57.9 +Chemistry,Grade 7,65.6 +Mathematics,Grade 9,80.4 +Biology,Grade 9,89.5 +History,Grade 8,73.6 +History,Grade 8,76.1 +Physics,Grade 9,72.9 +History,Grade 8,90.6 +Biology,Grade 8,75.2 +Chemistry,Grade 7,61.9 +Physics,Grade 9,74.3 +Biology,Grade 8,67.8 +Physics,Grade 8,71.7 +Chemistry,Grade 9,73.2 +Mathematics,Grade 8,77.8 +Chemistry,Grade 9,60.4 +History,Grade 9,49.6 +History,Grade 7,72.4 +Mathematics,Grade 8,86.2 +Biology,Grade 8,77.9 +Biology,Grade 7,77.5 +Physics,Grade 8,72.8 +Mathematics,Grade 7,69.4 +History,Grade 8,86.8 +History,Grade 8,77.7 +Chemistry,Grade 8,70.5 +Mathematics,Grade 9,99.7 +Chemistry,Grade 9,58.9 +Biology,Grade 7,77.1 +History,Grade 9,67.7 +Chemistry,Grade 7,72.9 +Chemistry,Grade 8,60.8 +Biology,Grade 9,74.1 +History,Grade 9,65.9 +Biology,Grade 8,73.3 +Physics,Grade 8,52.3 +Mathematics,Grade 7,48.6 +Chemistry,Grade 9,73.6 +Chemistry,Grade 7,55.5 +Mathematics,Grade 7,52.1 +History,Grade 7,86.6 +History,Grade 7,75.3 +Physics,Grade 8,72.5 +Mathematics,Grade 9,78.2 +Chemistry,Grade 8,76.2 +Chemistry,Grade 8,79.8 +Chemistry,Grade 8,78.2 +History,Grade 7,78.8 +Chemistry,Grade 8,56.8 +Physics,Grade 8,66.0 +Biology,Grade 9,85.1 +Physics,Grade 7,44.0 +Mathematics,Grade 9,74.1 +Chemistry,Grade 9,75.5 +Physics,Grade 9,85.5 +Chemistry,Grade 8,79.5 +Physics,Grade 7,69.5 +Mathematics,Grade 8,57.4 +Mathematics,Grade 8,83.8 +Biology,Grade 7,59.8 +Physics,Grade 9,57.6 +Chemistry,Grade 9,57.9 +Biology,Grade 9,83.3 +Biology,Grade 9,74.9 +Physics,Grade 9,69.6 +History,Grade 9,89.6 +Physics,Grade 9,57.7 +Biology,Grade 8,54.3 +Chemistry,Grade 7,48.8 +Physics,Grade 9,52.2 +Chemistry,Grade 7,62.5 +Physics,Grade 9,83.9 +Biology,Grade 7,91.0 +Mathematics,Grade 8,70.5 +Mathematics,Grade 9,77.3 +Mathematics,Grade 8,74.9 +Physics,Grade 9,74.5 +Chemistry,Grade 7,60.8 +History,Grade 8,76.6 +Chemistry,Grade 8,46.8 +Mathematics,Grade 9,79.5 +Physics,Grade 8,59.6 +Biology,Grade 8,81.8 +Biology,Grade 8,75.7 +Biology,Grade 8,77.4 +Mathematics,Grade 8,85.2 +History,Grade 9,92.3 +Chemistry,Grade 8,72.2 +Mathematics,Grade 8,55.4 +Mathematics,Grade 8,75.9 +Mathematics,Grade 9,48.8 +Physics,Grade 7,61.0 +History,Grade 9,87.4 +Physics,Grade 7,53.2 +Chemistry,Grade 8,76.3 +History,Grade 9,99.5 +History,Grade 8,80.8 +Mathematics,Grade 8,75.3 +History,Grade 7,83.3 +Mathematics,Grade 8,53.7 +Physics,Grade 8,52.3 +Mathematics,Grade 9,89.2 +Mathematics,Grade 9,80.1 +Mathematics,Grade 9,77.1 +Biology,Grade 8,65.9 +History,Grade 8,100.0 +Physics,Grade 9,64.9 +Physics,Grade 7,87.5 +Mathematics,Grade 7,80.6 +Physics,Grade 8,72.5 +Mathematics,Grade 8,75.2 +History,Grade 8,67.2 +Biology,Grade 8,72.6 +Chemistry,Grade 8,70.4 +Mathematics,Grade 9,77.4 +Chemistry,Grade 9,67.2 +Chemistry,Grade 7,79.0 +Biology,Grade 7,93.1 +Chemistry,Grade 9,73.6 +History,Grade 7,89.4 +History,Grade 7,70.4 +Mathematics,Grade 9,59.0 +Mathematics,Grade 9,65.3 +Mathematics,Grade 9,69.8 +Chemistry,Grade 8,86.4 +Biology,Grade 9,100.0 +Biology,Grade 8,79.8 +Physics,Grade 9,76.9 +Biology,Grade 9,77.5 +Physics,Grade 7,55.8 +Physics,Grade 7,43.9 +Physics,Grade 8,64.7 +History,Grade 9,91.3 +Mathematics,Grade 7,71.8 +Biology,Grade 8,65.7 +Chemistry,Grade 9,85.9 +Chemistry,Grade 8,72.7 +Chemistry,Grade 8,76.5 +Biology,Grade 8,85.2 +History,Grade 8,88.1 +Biology,Grade 9,70.6 +Chemistry,Grade 9,80.4 +Physics,Grade 8,72.0 +Chemistry,Grade 7,70.0 +Mathematics,Grade 9,53.3 +Chemistry,Grade 8,75.7 +Physics,Grade 9,62.1 +Mathematics,Grade 9,71.9 +History,Grade 7,89.4 +Physics,Grade 8,71.4 +History,Grade 9,88.3 +Physics,Grade 8,91.5 +Physics,Grade 9,70.0 +Chemistry,Grade 7,43.3 +History,Grade 8,80.6 +Chemistry,Grade 7,72.1 +Physics,Grade 8,55.2 +Physics,Grade 8,69.1 +Physics,Grade 8,83.1 +Biology,Grade 8,89.8 +Mathematics,Grade 8,53.4 +History,Grade 7,80.9 +History,Grade 9,69.5 +Physics,Grade 7,66.4 +Biology,Grade 7,55.2 +History,Grade 8,78.4 +Mathematics,Grade 9,58.2 +Chemistry,Grade 8,70.0 +Biology,Grade 7,58.4 +Biology,Grade 7,49.1 +Mathematics,Grade 7,63.6 +Mathematics,Grade 7,82.1 +Physics,Grade 7,54.2 +Mathematics,Grade 8,73.1 +History,Grade 8,73.4 +History,Grade 8,79.3 +Mathematics,Grade 9,73.0 +Biology,Grade 8,81.3 +Mathematics,Grade 8,64.3 +History,Grade 7,75.8 +Chemistry,Grade 8,77.3 +Biology,Grade 8,77.4 +Chemistry,Grade 8,65.9 +Physics,Grade 8,63.0 +Chemistry,Grade 8,80.6 +Chemistry,Grade 8,71.3 +History,Grade 9,77.5 +Biology,Grade 7,65.7 +Physics,Grade 8,51.8 +Physics,Grade 8,62.0 +Biology,Grade 8,66.7 +Physics,Grade 9,52.5 +Biology,Grade 9,86.5 +Biology,Grade 7,77.7 +Physics,Grade 8,55.2 +History,Grade 7,58.4 +Biology,Grade 7,65.4 +Physics,Grade 8,57.3 +History,Grade 7,73.3 +Biology,Grade 7,77.1 +Biology,Grade 9,67.8 +History,Grade 8,92.5 +History,Grade 8,72.5 +Mathematics,Grade 7,76.4 +Mathematics,Grade 9,73.9 +History,Grade 7,80.6 +Mathematics,Grade 8,59.9 +Chemistry,Grade 8,56.5 +Chemistry,Grade 7,49.3 +Physics,Grade 8,97.9 +Chemistry,Grade 7,72.6 +Mathematics,Grade 8,65.6 +Mathematics,Grade 8,87.5 +Mathematics,Grade 7,77.2 +Mathematics,Grade 8,80.5 +Mathematics,Grade 8,74.6 +History,Grade 7,79.6 +Mathematics,Grade 7,54.4 +Mathematics,Grade 8,75.0 +Physics,Grade 7,57.5 +Chemistry,Grade 9,86.4 +Chemistry,Grade 8,63.4 +Physics,Grade 8,72.8 +Mathematics,Grade 8,48.0 +Biology,Grade 8,57.9 +Physics,Grade 9,69.0 +History,Grade 9,75.8 +Physics,Grade 7,70.6 +Physics,Grade 7,70.2 +Chemistry,Grade 7,67.7 +History,Grade 7,90.1 +Mathematics,Grade 9,68.6 +Mathematics,Grade 8,80.2 +Physics,Grade 8,49.6 +History,Grade 9,70.7 +Chemistry,Grade 9,69.0 +Physics,Grade 9,77.2 +Mathematics,Grade 7,67.8 +History,Grade 7,74.2 +Physics,Grade 8,65.4 +Biology,Grade 8,81.5 +History,Grade 9,84.2 +Chemistry,Grade 9,53.7 +Biology,Grade 9,76.6 +Physics,Grade 7,75.2 +History,Grade 9,98.9 +Physics,Grade 8,72.1 +Physics,Grade 7,78.0 +Chemistry,Grade 7,53.6 +Chemistry,Grade 7,64.9 +Mathematics,Grade 7,61.5 +Chemistry,Grade 7,70.9 +Mathematics,Grade 8,67.7 +Physics,Grade 8,56.2 +History,Grade 9,79.0 +History,Grade 8,75.1 +Physics,Grade 7,74.7 +Mathematics,Grade 8,62.9 +Chemistry,Grade 7,69.2 +Biology,Grade 7,69.6 +Physics,Grade 7,35.6 +Biology,Grade 8,68.7 +Physics,Grade 7,76.2 +Biology,Grade 8,68.7 +History,Grade 9,84.3 +Biology,Grade 8,81.2 +Biology,Grade 9,85.7 +Biology,Grade 9,98.6 +Chemistry,Grade 9,57.3 +Physics,Grade 8,78.1 +Mathematics,Grade 7,61.1 +Biology,Grade 7,83.9 +Mathematics,Grade 9,82.9 +Biology,Grade 8,74.5 +Physics,Grade 7,71.6 +Physics,Grade 9,64.6 +Chemistry,Grade 7,40.5 +Mathematics,Grade 9,100.0 +Biology,Grade 7,62.4 +Biology,Grade 9,97.2 +History,Grade 8,93.8 +Biology,Grade 7,77.8 +History,Grade 9,85.9 +Physics,Grade 7,84.7 +Chemistry,Grade 9,66.9 +Mathematics,Grade 8,76.3 +Mathematics,Grade 7,79.0 +Mathematics,Grade 7,68.4 +Mathematics,Grade 7,66.0 +Mathematics,Grade 7,73.5 +Physics,Grade 7,63.7 +Biology,Grade 8,70.6 +Biology,Grade 7,69.2 +Physics,Grade 7,61.5 +Physics,Grade 8,64.2 +Chemistry,Grade 8,58.8 +Mathematics,Grade 9,94.9 +Chemistry,Grade 9,77.5 +Physics,Grade 7,62.3 +Biology,Grade 9,69.2 +History,Grade 7,71.2 +Physics,Grade 8,63.6 +Chemistry,Grade 9,78.4 +Chemistry,Grade 9,68.9 +Mathematics,Grade 7,57.9 +History,Grade 9,81.1 +Biology,Grade 7,75.1 +Mathematics,Grade 7,46.5 +History,Grade 7,74.0 +Mathematics,Grade 8,82.2 +History,Grade 7,70.1 +Chemistry,Grade 7,73.4 +Physics,Grade 7,71.0 +Physics,Grade 8,57.3 +Biology,Grade 8,82.0 +Biology,Grade 9,61.4 +Physics,Grade 9,65.5 +History,Grade 8,62.1 +History,Grade 9,85.4 +Biology,Grade 8,92.7 +History,Grade 9,88.5 +Chemistry,Grade 7,74.6 +Biology,Grade 7,58.6 +Chemistry,Grade 8,70.0 +Mathematics,Grade 7,93.4 +Physics,Grade 9,86.0 +History,Grade 7,76.1 +History,Grade 8,78.0 +Biology,Grade 7,84.3 +History,Grade 8,81.6 +Chemistry,Grade 9,66.4 +History,Grade 8,100.0 +Biology,Grade 7,84.5 +History,Grade 7,73.9 +Mathematics,Grade 7,45.7 +Physics,Grade 9,66.9 +Biology,Grade 9,70.6 +History,Grade 7,69.7 +Biology,Grade 9,68.0 +Physics,Grade 8,62.3 +Chemistry,Grade 8,81.5 +Chemistry,Grade 7,69.7 +Biology,Grade 9,64.8 +Biology,Grade 9,67.9 +Mathematics,Grade 7,69.7 +Chemistry,Grade 7,42.2 +Physics,Grade 9,85.2 +Biology,Grade 8,80.6 +Physics,Grade 8,89.2 +Biology,Grade 7,68.5 +Chemistry,Grade 9,87.5 +Biology,Grade 9,72.1 +History,Grade 7,64.0 +Mathematics,Grade 7,79.3 +Biology,Grade 8,62.6 +Mathematics,Grade 9,64.3 +Chemistry,Grade 7,60.6 +Mathematics,Grade 7,62.4 +Physics,Grade 9,96.4 +Biology,Grade 7,67.9 +History,Grade 7,68.3 +Biology,Grade 8,95.7 +Biology,Grade 7,62.7 +Chemistry,Grade 7,52.0 +History,Grade 8,98.4 +Biology,Grade 7,76.1 +Physics,Grade 9,77.7 +Biology,Grade 7,60.0 +Biology,Grade 9,87.1 +Chemistry,Grade 8,90.5 +Physics,Grade 9,75.8 +History,Grade 9,70.9 +Chemistry,Grade 8,57.9 +Mathematics,Grade 8,73.0 +Biology,Grade 9,80.6 +Mathematics,Grade 7,67.0 +Physics,Grade 9,72.7 +Chemistry,Grade 8,71.6 +Physics,Grade 7,81.1 +History,Grade 8,69.9 +History,Grade 9,97.4 +History,Grade 9,75.4 +History,Grade 9,95.0 +Mathematics,Grade 7,70.4 +History,Grade 9,73.0 +Physics,Grade 8,73.2 +Chemistry,Grade 8,71.1 +Biology,Grade 8,93.0 +History,Grade 8,55.8 +Biology,Grade 9,78.9 +Biology,Grade 8,76.5 +Physics,Grade 7,62.8 +Mathematics,Grade 7,86.5 +Physics,Grade 8,51.8 +Physics,Grade 9,61.0 +Biology,Grade 8,72.9 +Mathematics,Grade 8,83.9 +Physics,Grade 8,83.6 +Physics,Grade 9,72.8 +Chemistry,Grade 9,60.0 +Chemistry,Grade 7,68.4 +Physics,Grade 8,54.2 +Chemistry,Grade 9,56.7 +History,Grade 7,63.3 +Physics,Grade 8,80.3 +Physics,Grade 9,74.8 +Physics,Grade 7,68.8 +Physics,Grade 7,70.5 +History,Grade 9,78.2 +Chemistry,Grade 7,72.9 +Chemistry,Grade 9,81.3 +Chemistry,Grade 7,84.1 +Mathematics,Grade 9,91.7 +Biology,Grade 8,70.3 +Chemistry,Grade 7,64.1 +Mathematics,Grade 9,52.4 +Chemistry,Grade 9,68.2 +Mathematics,Grade 9,72.0 +Biology,Grade 9,78.6 +Chemistry,Grade 8,96.6 +Chemistry,Grade 8,79.8 +Chemistry,Grade 8,61.6 +Physics,Grade 7,66.9 +Physics,Grade 9,74.6 +Chemistry,Grade 8,78.7 +Biology,Grade 7,78.4 +History,Grade 9,67.4 +History,Grade 8,64.8 +Biology,Grade 9,76.0 +Biology,Grade 8,61.9 +Chemistry,Grade 7,58.8 +History,Grade 8,82.9 +History,Grade 9,87.6 +Physics,Grade 7,37.6 +Chemistry,Grade 8,77.4 +Physics,Grade 7,62.3 +Mathematics,Grade 7,80.6 +Mathematics,Grade 9,71.2 +Physics,Grade 8,84.7 +Mathematics,Grade 7,64.0 +History,Grade 7,63.6 +History,Grade 7,92.9 +Biology,Grade 7,94.8 +Mathematics,Grade 9,76.9 +Chemistry,Grade 7,59.0 +Biology,Grade 9,71.4 +History,Grade 8,85.0 +Biology,Grade 8,73.3 +Chemistry,Grade 8,68.0 +Mathematics,Grade 9,62.5 +Chemistry,Grade 7,73.9 +Physics,Grade 7,66.6 +Chemistry,Grade 9,86.7 +Physics,Grade 8,71.6 +History,Grade 7,65.2 +Chemistry,Grade 8,65.9 +Chemistry,Grade 8,75.3 +Mathematics,Grade 8,76.3 +Biology,Grade 8,59.6 +Physics,Grade 7,64.5 +Physics,Grade 8,47.8 +History,Grade 9,87.2 +Physics,Grade 9,53.4 +Biology,Grade 8,71.7 +History,Grade 9,83.7 +Biology,Grade 8,67.1 +History,Grade 9,84.4 +Mathematics,Grade 7,62.9 +Physics,Grade 9,68.8 +Mathematics,Grade 9,66.9 +Physics,Grade 8,74.1 +Biology,Grade 7,75.9 +Chemistry,Grade 8,73.9 +History,Grade 8,80.1 +Mathematics,Grade 8,66.3 +Physics,Grade 8,58.3 +Mathematics,Grade 7,75.6 +Physics,Grade 9,79.2 +Biology,Grade 9,81.3 +Mathematics,Grade 9,75.6 +Biology,Grade 9,83.1 +Biology,Grade 9,74.3 +Physics,Grade 9,71.2 +Mathematics,Grade 7,63.0 +History,Grade 7,77.4 +History,Grade 8,91.3 +Physics,Grade 8,73.3 +History,Grade 9,85.7 +Mathematics,Grade 9,64.7 +Mathematics,Grade 7,76.5 +Physics,Grade 8,62.9 +Chemistry,Grade 7,56.0 +Physics,Grade 8,72.6 +History,Grade 9,80.3 +Physics,Grade 7,65.1 +Physics,Grade 7,61.6 +Biology,Grade 7,52.0 +Chemistry,Grade 7,71.3 +Chemistry,Grade 8,73.6 +History,Grade 7,78.8 +Biology,Grade 8,84.6 +History,Grade 8,74.4 +History,Grade 8,100.0 +Biology,Grade 7,70.2 +Mathematics,Grade 7,57.1 +Biology,Grade 7,68.1 +Biology,Grade 9,84.7 +Physics,Grade 9,93.2 +Biology,Grade 8,75.4 +Chemistry,Grade 7,68.1 +Mathematics,Grade 9,51.3 +Biology,Grade 9,93.6 +Biology,Grade 9,58.3 +Chemistry,Grade 7,55.7 +Chemistry,Grade 9,63.7 +Mathematics,Grade 8,98.0 +Mathematics,Grade 9,76.9 +Chemistry,Grade 8,79.7 +Chemistry,Grade 7,70.6 +Mathematics,Grade 8,66.3 +Chemistry,Grade 7,81.1 +Chemistry,Grade 8,57.1 +Chemistry,Grade 7,100.0 +Mathematics,Grade 9,74.9 +Biology,Grade 8,73.5 +Mathematics,Grade 8,54.1 +Physics,Grade 8,54.9 +Mathematics,Grade 7,58.8 +History,Grade 9,73.3 +History,Grade 8,67.3 +Chemistry,Grade 9,69.2 +Physics,Grade 7,68.3 +History,Grade 7,76.4 +Biology,Grade 9,62.9 +Physics,Grade 8,70.7 +Chemistry,Grade 9,73.8 +Chemistry,Grade 9,86.6 +Chemistry,Grade 9,44.1 +Biology,Grade 7,83.7 +Biology,Grade 9,91.3 +Mathematics,Grade 9,68.6 +History,Grade 7,54.0 +Chemistry,Grade 9,50.7 +Biology,Grade 8,65.8 +Physics,Grade 7,68.5 +Chemistry,Grade 7,65.1 +Chemistry,Grade 8,76.8 +Biology,Grade 7,85.4 +Mathematics,Grade 8,51.9 +Mathematics,Grade 7,80.5 +Chemistry,Grade 9,64.2 +History,Grade 9,67.0 +Physics,Grade 9,58.4 +History,Grade 9,72.7 +Physics,Grade 9,76.0 +Mathematics,Grade 9,60.0 +History,Grade 7,77.6 +Mathematics,Grade 9,74.3 +Physics,Grade 7,70.9 +Physics,Grade 7,70.7 +History,Grade 8,67.0 +Biology,Grade 8,72.2 +Mathematics,Grade 9,74.8 +Mathematics,Grade 8,74.8 +History,Grade 9,85.1 +Biology,Grade 7,66.3 +Biology,Grade 7,56.8 +Physics,Grade 9,76.2 +History,Grade 8,77.7 +History,Grade 8,75.6 +History,Grade 7,76.6 +Physics,Grade 7,59.5 +Biology,Grade 9,85.7 +Biology,Grade 8,70.1 +History,Grade 7,82.1 +History,Grade 7,79.1 +Chemistry,Grade 7,45.0 +Biology,Grade 9,81.8 +Chemistry,Grade 8,70.5 +Mathematics,Grade 9,93.2 +Chemistry,Grade 7,80.7 +Biology,Grade 9,68.2 +Biology,Grade 7,70.8 +History,Grade 9,51.9 +History,Grade 8,73.7 +Physics,Grade 8,77.0 +Mathematics,Grade 9,74.5 +Physics,Grade 9,54.4 +Biology,Grade 8,100.0 +Physics,Grade 8,70.4 +Physics,Grade 7,65.0 +Biology,Grade 9,61.9 +Physics,Grade 7,49.7 +Chemistry,Grade 8,86.8 +Physics,Grade 9,61.2 +Biology,Grade 9,80.6 +History,Grade 9,83.7 +Biology,Grade 8,77.9 +Physics,Grade 9,76.5 +Mathematics,Grade 8,71.2 +Mathematics,Grade 7,69.9 +Chemistry,Grade 8,69.5 +Chemistry,Grade 9,97.2 +Physics,Grade 8,45.5 +Chemistry,Grade 7,69.4 +History,Grade 8,97.3 +Biology,Grade 9,71.2 +Mathematics,Grade 8,71.6 +Chemistry,Grade 8,74.6 +Mathematics,Grade 7,56.2 +Physics,Grade 8,75.5 +History,Grade 9,100.0 +History,Grade 7,82.4 +Physics,Grade 8,85.2 +Mathematics,Grade 8,70.2 +Physics,Grade 8,70.4 +Physics,Grade 8,77.9 +Mathematics,Grade 7,86.7 +History,Grade 7,77.5 +History,Grade 7,81.1 +Mathematics,Grade 8,72.5 +Chemistry,Grade 7,59.2 +Biology,Grade 8,78.0 +History,Grade 9,100.0 +Mathematics,Grade 7,76.5 +Biology,Grade 7,68.2 +Mathematics,Grade 9,76.8 +Biology,Grade 8,62.4 +History,Grade 8,98.7 +History,Grade 8,67.5 +History,Grade 9,81.0 +Physics,Grade 7,53.3 +Chemistry,Grade 8,65.9 +Mathematics,Grade 9,61.5 +Chemistry,Grade 7,53.0 +Chemistry,Grade 7,47.7 +Physics,Grade 9,93.7 +Mathematics,Grade 7,70.3 +Physics,Grade 7,76.4 +Physics,Grade 7,52.5 +History,Grade 8,67.6 +Mathematics,Grade 8,54.3 +History,Grade 8,79.2 +Chemistry,Grade 8,62.2 +Biology,Grade 8,66.1 +Physics,Grade 7,77.0 +Biology,Grade 7,63.8 +Physics,Grade 8,80.3 +Chemistry,Grade 8,69.4 +Physics,Grade 8,58.7 +History,Grade 9,76.1 +Mathematics,Grade 8,64.9 +Chemistry,Grade 8,59.9 +Chemistry,Grade 7,63.3 +Biology,Grade 7,66.2 +History,Grade 7,75.6 +Biology,Grade 7,56.5 +Biology,Grade 9,84.3 +Chemistry,Grade 8,60.1 +Physics,Grade 9,73.5 +Biology,Grade 9,78.6 +Mathematics,Grade 8,57.8 +History,Grade 7,60.7 +Physics,Grade 9,65.9 +Mathematics,Grade 7,69.5 +Biology,Grade 8,80.7 +Mathematics,Grade 7,76.1 +History,Grade 8,72.8 +Chemistry,Grade 9,58.2 +Mathematics,Grade 7,56.0 +History,Grade 9,81.1 +History,Grade 8,77.3 +Chemistry,Grade 7,57.9 +Mathematics,Grade 7,78.5 +History,Grade 9,80.3 +Chemistry,Grade 7,57.4 +Physics,Grade 8,62.5 +Physics,Grade 8,56.1 +Chemistry,Grade 7,79.7 +Chemistry,Grade 7,59.8 +Biology,Grade 9,82.3 +Physics,Grade 8,80.8 +History,Grade 7,77.5 +Biology,Grade 7,60.3 +Mathematics,Grade 7,54.4 +Mathematics,Grade 7,54.3 +Chemistry,Grade 9,67.4 +Mathematics,Grade 9,79.5 +Physics,Grade 8,49.6 +Physics,Grade 7,83.9 +History,Grade 8,75.0 +Chemistry,Grade 8,59.9 +Mathematics,Grade 8,55.1 +History,Grade 8,73.9 +Biology,Grade 8,75.9 +Biology,Grade 9,81.6 +Chemistry,Grade 9,69.8 +History,Grade 9,77.9 +History,Grade 8,80.8 +Biology,Grade 7,95.7 +Mathematics,Grade 9,66.7 +Physics,Grade 8,47.2 +Chemistry,Grade 9,81.8 +Chemistry,Grade 7,76.1 +Biology,Grade 9,61.8 +Physics,Grade 7,79.9 +Chemistry,Grade 8,72.9 +Physics,Grade 9,60.4 +History,Grade 7,73.9 +Biology,Grade 8,73.2 +Chemistry,Grade 7,69.5 +Mathematics,Grade 7,62.5 +Biology,Grade 7,69.6 +Chemistry,Grade 7,59.6 +History,Grade 7,69.7 +History,Grade 8,53.4 +Mathematics,Grade 7,59.3 +Mathematics,Grade 9,80.8 +Mathematics,Grade 7,69.5 +Biology,Grade 9,90.9 +Biology,Grade 7,60.6 +Biology,Grade 7,80.9 +Mathematics,Grade 9,80.4 +Chemistry,Grade 8,63.6 +Physics,Grade 8,38.7 +Biology,Grade 9,62.1 +History,Grade 7,77.6 +History,Grade 8,86.1 +Biology,Grade 7,76.6 +Mathematics,Grade 7,63.2 +Chemistry,Grade 9,54.0 +Mathematics,Grade 8,57.6 +Mathematics,Grade 9,81.2 +Physics,Grade 7,56.6 +Chemistry,Grade 8,67.6 +History,Grade 8,82.7 +Mathematics,Grade 8,61.2 +Mathematics,Grade 7,52.6 +Biology,Grade 7,70.0 +Physics,Grade 7,65.3 +Mathematics,Grade 9,71.0 +History,Grade 7,57.5 +Mathematics,Grade 7,65.3 +Biology,Grade 7,51.1 +Chemistry,Grade 9,74.2 +History,Grade 9,76.1 +Mathematics,Grade 7,62.5 +History,Grade 7,75.0 +Chemistry,Grade 7,71.2 +History,Grade 8,83.0 +Physics,Grade 8,69.9 +Chemistry,Grade 7,46.7 +History,Grade 9,83.3 +Biology,Grade 9,100.0 +Biology,Grade 7,67.3 +Physics,Grade 7,55.9 +Mathematics,Grade 7,66.5 +Physics,Grade 8,71.2 +Biology,Grade 7,73.4 +Mathematics,Grade 8,64.4 +Chemistry,Grade 7,72.7 +History,Grade 9,76.1 +Chemistry,Grade 9,63.8 +Chemistry,Grade 9,77.2 +Chemistry,Grade 7,68.9 +Chemistry,Grade 9,84.0 +History,Grade 8,61.3 +History,Grade 9,94.1 +History,Grade 7,73.7 +Chemistry,Grade 7,51.5 +Chemistry,Grade 9,80.5 +Biology,Grade 8,93.5 +History,Grade 7,73.7 +Chemistry,Grade 9,52.5 +Mathematics,Grade 8,84.0 +Mathematics,Grade 8,75.2 +Physics,Grade 8,71.7 +History,Grade 9,59.1 +History,Grade 7,73.6 +Biology,Grade 7,75.1 +Biology,Grade 7,85.1 +Physics,Grade 8,59.8 +Biology,Grade 9,50.5 +Biology,Grade 7,79.1 +Physics,Grade 7,60.8 +Chemistry,Grade 7,73.8 +Chemistry,Grade 8,68.5 +Biology,Grade 9,61.4 +Biology,Grade 7,65.1 +History,Grade 8,70.0 +Chemistry,Grade 7,69.9 +Chemistry,Grade 7,58.0 +Biology,Grade 9,97.5 +Mathematics,Grade 9,80.0 +Chemistry,Grade 7,65.8 +History,Grade 9,66.4 +Biology,Grade 7,83.9 +Chemistry,Grade 9,78.5 +Mathematics,Grade 7,66.4 +Biology,Grade 8,95.1 +Biology,Grade 9,100.0 +Biology,Grade 8,50.5 +History,Grade 7,97.3 +Biology,Grade 9,80.3 +Biology,Grade 8,69.6 +History,Grade 9,75.7 +Mathematics,Grade 7,73.7 +Physics,Grade 8,60.9 +Chemistry,Grade 7,79.0 +Physics,Grade 9,56.2 +Chemistry,Grade 7,52.0 +History,Grade 7,72.4 +Mathematics,Grade 7,65.8 +Chemistry,Grade 7,67.0 +Chemistry,Grade 7,46.7 +History,Grade 8,89.4 +Mathematics,Grade 8,64.9 +Mathematics,Grade 7,68.0 +Mathematics,Grade 8,60.9 +Mathematics,Grade 9,70.9 +Biology,Grade 8,56.7 +History,Grade 7,72.0 +Biology,Grade 9,66.8 +History,Grade 7,83.9 +Physics,Grade 8,50.0 +Physics,Grade 7,51.6 +History,Grade 8,85.1 +History,Grade 9,69.4 +Biology,Grade 9,84.5 +History,Grade 9,78.2 +Chemistry,Grade 9,77.7 +Biology,Grade 7,74.4 +Chemistry,Grade 8,69.5 +Mathematics,Grade 9,88.0 +Physics,Grade 7,63.4 +History,Grade 9,66.5 +Physics,Grade 7,60.4 +History,Grade 9,87.4 +History,Grade 8,76.6 +Physics,Grade 7,75.2 +Mathematics,Grade 8,66.5 +Chemistry,Grade 7,74.6 +Physics,Grade 9,65.2 +History,Grade 8,68.5 +Biology,Grade 7,77.6 +History,Grade 8,76.2 +History,Grade 8,75.7 +History,Grade 8,63.6 +Mathematics,Grade 8,77.5 +Biology,Grade 8,83.5 +History,Grade 7,77.2 +Biology,Grade 8,85.5 +Mathematics,Grade 8,63.3 +History,Grade 9,89.7 +Mathematics,Grade 9,66.4 +Biology,Grade 8,71.2 +Physics,Grade 7,59.1 +Biology,Grade 8,71.3 +Chemistry,Grade 7,80.6 +Chemistry,Grade 7,62.6 +History,Grade 9,72.8 +History,Grade 7,82.5 +Chemistry,Grade 7,69.5 +History,Grade 9,79.2 +Chemistry,Grade 7,62.4 +History,Grade 9,96.1 +Chemistry,Grade 9,68.0 +Mathematics,Grade 9,73.5 +Mathematics,Grade 9,76.9 +Biology,Grade 8,80.0 +Mathematics,Grade 9,71.7 +Chemistry,Grade 8,73.7 +Chemistry,Grade 9,68.3 +Physics,Grade 9,44.2 +Physics,Grade 9,55.1 +Biology,Grade 8,78.0 +Biology,Grade 8,45.9 +Mathematics,Grade 7,73.7 +Biology,Grade 9,68.3 +Biology,Grade 8,89.8 +Chemistry,Grade 7,66.5 +Physics,Grade 7,71.0 +Biology,Grade 8,94.2 +Physics,Grade 9,71.3 +History,Grade 7,76.4 +Chemistry,Grade 7,55.7 +Biology,Grade 8,81.3 +Physics,Grade 7,61.5 +History,Grade 7,65.4 +Mathematics,Grade 8,79.1 +Physics,Grade 9,71.7 +Mathematics,Grade 9,86.3 +Chemistry,Grade 7,55.8 +Biology,Grade 7,70.5 +Biology,Grade 8,57.9 +Biology,Grade 7,80.1 +Biology,Grade 7,72.7 +Biology,Grade 7,83.1 +Chemistry,Grade 9,59.2 +History,Grade 8,88.5 +Chemistry,Grade 9,57.5 +Physics,Grade 9,75.1 +Physics,Grade 7,70.1 +Chemistry,Grade 9,96.3 +Biology,Grade 8,76.0 +History,Grade 8,78.1 +Biology,Grade 9,75.1 +Mathematics,Grade 7,64.8 +Biology,Grade 8,78.1 +Chemistry,Grade 8,83.9 +Physics,Grade 9,70.8 +Biology,Grade 9,72.5 +Physics,Grade 8,65.9 +History,Grade 8,83.2 +Physics,Grade 7,70.8 +Chemistry,Grade 8,58.8 +Biology,Grade 8,90.3 +Physics,Grade 7,71.7 +Chemistry,Grade 8,100.0 +History,Grade 8,70.1 +Chemistry,Grade 7,52.4 +Mathematics,Grade 7,93.0 +Chemistry,Grade 7,78.2 +Physics,Grade 9,65.0 +Chemistry,Grade 9,63.2 +Mathematics,Grade 7,73.4 +Chemistry,Grade 8,93.7 +Biology,Grade 9,76.8 +History,Grade 8,100.0 +History,Grade 9,93.5 +Chemistry,Grade 8,54.8 +Chemistry,Grade 7,74.7 +Chemistry,Grade 9,73.7 +Biology,Grade 9,74.3 +Chemistry,Grade 7,98.6 +Mathematics,Grade 9,78.7 +Biology,Grade 7,63.0 +Mathematics,Grade 7,81.9 +Chemistry,Grade 9,79.0 +Chemistry,Grade 7,63.1 +History,Grade 9,73.2 +Mathematics,Grade 7,50.5 +Biology,Grade 8,74.0 +Biology,Grade 7,90.9 +Mathematics,Grade 8,61.9 +History,Grade 8,79.4 +Biology,Grade 9,74.5 +Biology,Grade 8,74.4 +Mathematics,Grade 7,62.0 +History,Grade 9,82.8 +Mathematics,Grade 9,89.7 +History,Grade 9,50.7 +Physics,Grade 8,76.0 +Chemistry,Grade 9,68.8 +Chemistry,Grade 7,48.7 +Biology,Grade 7,57.2 +Physics,Grade 7,70.7 +History,Grade 8,88.0 +History,Grade 7,67.4 +Chemistry,Grade 9,85.2 +History,Grade 8,64.2 +Mathematics,Grade 7,76.9 +Physics,Grade 7,51.2 +Chemistry,Grade 9,74.9 +Physics,Grade 9,64.6 +Mathematics,Grade 7,71.7 +Mathematics,Grade 8,71.3 +Chemistry,Grade 8,75.0 +Mathematics,Grade 7,71.2 +Biology,Grade 7,84.5 +Mathematics,Grade 8,64.6 +Physics,Grade 9,62.4 +History,Grade 8,88.8 +Physics,Grade 9,73.7 +Chemistry,Grade 7,65.0 +Physics,Grade 9,68.0 +History,Grade 8,81.5 +Mathematics,Grade 9,86.5 +Physics,Grade 7,71.2 +Chemistry,Grade 9,74.7 +History,Grade 9,100.0 +Biology,Grade 7,57.1 +History,Grade 9,75.7 +Chemistry,Grade 8,86.2 +Mathematics,Grade 8,91.5 +Chemistry,Grade 9,80.2 +Mathematics,Grade 7,58.2 +Physics,Grade 9,81.9 +Physics,Grade 9,66.9 +Biology,Grade 9,86.6 +Mathematics,Grade 8,58.2 +Biology,Grade 7,72.5 +History,Grade 7,82.7 +History,Grade 9,74.1 +Biology,Grade 7,81.6 +Chemistry,Grade 8,74.1 +Biology,Grade 8,69.3 +History,Grade 7,73.3 +History,Grade 7,77.8 +Biology,Grade 7,66.4 +Physics,Grade 8,76.3 +Physics,Grade 8,69.4 +History,Grade 7,87.1 +Biology,Grade 8,67.7 +Chemistry,Grade 7,70.5 +Biology,Grade 7,58.4 +Physics,Grade 9,72.6 +Biology,Grade 8,82.8 +Mathematics,Grade 9,76.7 +History,Grade 7,88.4 +Chemistry,Grade 7,55.5 +Physics,Grade 7,79.8 +Biology,Grade 8,75.8 +Physics,Grade 9,63.7 +Biology,Grade 7,71.7 +Chemistry,Grade 7,76.4 +Mathematics,Grade 9,83.3 +Physics,Grade 9,67.9 +Biology,Grade 9,83.2 +Mathematics,Grade 7,44.4 +Physics,Grade 7,77.3 +History,Grade 7,62.9 +Chemistry,Grade 7,66.4 +Mathematics,Grade 7,59.7 +Chemistry,Grade 8,69.7 +Physics,Grade 9,71.1 +Chemistry,Grade 7,76.1 +Chemistry,Grade 9,72.1 +Physics,Grade 8,65.0 +Physics,Grade 7,51.7 +Mathematics,Grade 8,85.5 +Physics,Grade 8,78.6 +Physics,Grade 7,63.8 +Chemistry,Grade 8,52.7 +History,Grade 8,83.5 +Biology,Grade 8,88.7 +Biology,Grade 7,74.9 +Mathematics,Grade 7,68.0 +Mathematics,Grade 8,69.3 +History,Grade 7,58.8 +Chemistry,Grade 7,55.5 +Biology,Grade 7,94.7 +Physics,Grade 7,63.6 +History,Grade 7,84.2 +History,Grade 9,100.0 +Mathematics,Grade 9,76.6 +Physics,Grade 9,69.8 +Physics,Grade 9,60.0 +Physics,Grade 9,55.3 +Mathematics,Grade 8,67.6 +Biology,Grade 7,84.0 +Mathematics,Grade 9,71.1 +Physics,Grade 9,56.3 +Biology,Grade 9,97.0 +Mathematics,Grade 8,83.0 +Physics,Grade 8,74.4 +Chemistry,Grade 7,65.1 +History,Grade 8,57.4 +History,Grade 8,81.8 +Physics,Grade 8,81.1 +Mathematics,Grade 9,83.7 +History,Grade 8,56.2 +History,Grade 8,69.6 +Biology,Grade 7,67.2 +Chemistry,Grade 9,62.8 +Mathematics,Grade 8,78.3 +Physics,Grade 7,65.7 +Chemistry,Grade 7,58.3 +Chemistry,Grade 9,65.7 +History,Grade 8,69.6 +Physics,Grade 8,60.7 +Biology,Grade 7,69.3 +Chemistry,Grade 7,79.4 +Mathematics,Grade 9,94.1 +Physics,Grade 8,75.6 +History,Grade 9,54.2 +Mathematics,Grade 8,68.8 +Biology,Grade 7,64.8 +History,Grade 7,60.2 +Physics,Grade 7,58.9 +Mathematics,Grade 7,57.6 +Biology,Grade 7,63.4 +Chemistry,Grade 9,59.6 +Mathematics,Grade 9,77.4 +Chemistry,Grade 8,62.4 +Mathematics,Grade 9,71.5 +Physics,Grade 8,74.0 +Physics,Grade 9,93.9 +History,Grade 7,68.3 +Biology,Grade 9,62.5 +Physics,Grade 9,76.9 +Biology,Grade 8,89.2 +Mathematics,Grade 9,77.8 +History,Grade 7,95.4 +Mathematics,Grade 9,86.2 +History,Grade 8,59.1 +Physics,Grade 9,56.9 +Physics,Grade 8,66.6 +Physics,Grade 7,53.9 +Physics,Grade 8,78.1 +Biology,Grade 9,72.7 +History,Grade 9,88.9 +Biology,Grade 9,81.0 +Chemistry,Grade 8,69.9 +Physics,Grade 9,55.8 +Mathematics,Grade 9,79.4 +Chemistry,Grade 8,69.3 +Chemistry,Grade 7,77.8 +Mathematics,Grade 9,58.5 +History,Grade 9,85.3 +Physics,Grade 8,57.6 +History,Grade 7,66.9 +Physics,Grade 8,70.5 +Physics,Grade 8,49.3 +History,Grade 8,69.9 +Chemistry,Grade 7,55.6 +Physics,Grade 8,60.4 +Physics,Grade 9,67.3 +Biology,Grade 9,88.7 +History,Grade 8,77.1 +Physics,Grade 9,76.8 +History,Grade 8,76.8 +History,Grade 7,87.3 +Chemistry,Grade 8,71.2 +Biology,Grade 9,72.9 +History,Grade 7,80.2 +Physics,Grade 8,71.2 +Chemistry,Grade 8,67.9 +Chemistry,Grade 7,72.0 +Chemistry,Grade 8,57.3 +Chemistry,Grade 8,80.3 +History,Grade 7,77.4 +History,Grade 8,92.3 +Chemistry,Grade 7,60.2 +History,Grade 8,68.7 +Mathematics,Grade 8,80.1 +Chemistry,Grade 7,61.7 +Physics,Grade 9,58.4 +Mathematics,Grade 9,56.7 +Biology,Grade 9,68.4 +History,Grade 9,86.1 +Chemistry,Grade 8,65.3 +Biology,Grade 9,72.3 +Mathematics,Grade 7,81.6 +Biology,Grade 8,59.2 +Chemistry,Grade 9,71.8 +Mathematics,Grade 8,71.1 +History,Grade 7,94.0 +Chemistry,Grade 8,62.6 +History,Grade 7,83.4 +Biology,Grade 9,82.9 +Biology,Grade 9,91.1 +History,Grade 7,78.0 +Mathematics,Grade 9,67.6 +Mathematics,Grade 8,67.0 +Mathematics,Grade 9,78.6 +Mathematics,Grade 7,63.4 +Physics,Grade 9,89.4 +Mathematics,Grade 9,69.1 +Biology,Grade 8,83.8 +Biology,Grade 8,72.0 +Mathematics,Grade 9,90.8 +Biology,Grade 7,54.4 +History,Grade 9,73.7 +Biology,Grade 8,66.7 +Mathematics,Grade 9,96.3 +Biology,Grade 8,77.8 +Biology,Grade 7,78.8 +History,Grade 7,78.8 +Mathematics,Grade 8,76.7 +Physics,Grade 8,79.1 +Physics,Grade 8,58.8 +Mathematics,Grade 7,69.0 +Chemistry,Grade 7,44.1 +Mathematics,Grade 9,78.5 +History,Grade 7,73.9 +Chemistry,Grade 7,67.0 +History,Grade 8,78.4 +Mathematics,Grade 9,65.0 +Physics,Grade 8,46.1 +History,Grade 8,70.2 +Mathematics,Grade 8,75.8 +Biology,Grade 7,59.5 +Chemistry,Grade 9,91.2 +Biology,Grade 8,92.9 +History,Grade 7,93.1 +Physics,Grade 9,81.1 +Mathematics,Grade 8,66.4 +Physics,Grade 8,46.4 +Mathematics,Grade 9,72.4 +Chemistry,Grade 9,81.8 +History,Grade 8,68.8 +Biology,Grade 8,79.2 +Physics,Grade 8,66.5 +Physics,Grade 9,64.7 +Biology,Grade 7,79.7 +History,Grade 7,89.2 +Biology,Grade 8,79.0 +Biology,Grade 8,58.7 +Physics,Grade 9,69.5 +Mathematics,Grade 7,85.6 +Mathematics,Grade 7,38.1 +Mathematics,Grade 7,72.1 +Biology,Grade 7,68.1 +Biology,Grade 7,80.8 +Physics,Grade 8,66.4 +Physics,Grade 9,57.2 +History,Grade 8,70.8 +Physics,Grade 8,73.2 +Biology,Grade 8,87.4 +Biology,Grade 9,82.8 +Biology,Grade 9,74.0 +Mathematics,Grade 9,59.9 +Physics,Grade 7,71.4 +Mathematics,Grade 9,72.1 +Physics,Grade 7,74.1 +Mathematics,Grade 8,58.5 +Mathematics,Grade 8,75.7 +History,Grade 9,74.7 +Biology,Grade 7,78.1 +History,Grade 7,58.3 +History,Grade 7,65.9 +Chemistry,Grade 7,49.5 +Mathematics,Grade 9,97.7 +Mathematics,Grade 9,89.4 +Chemistry,Grade 8,70.7 +History,Grade 8,56.4 +Biology,Grade 9,72.8 +Mathematics,Grade 9,79.7 +Physics,Grade 9,55.3 +Mathematics,Grade 8,57.8 +History,Grade 9,87.8 +Chemistry,Grade 8,70.8 +Chemistry,Grade 8,78.1 +Mathematics,Grade 7,58.9 +Mathematics,Grade 8,77.3 +History,Grade 8,78.1 +Physics,Grade 8,69.7 +Mathematics,Grade 8,64.9 +History,Grade 7,60.4 +Chemistry,Grade 7,74.3 +Physics,Grade 9,57.4 +History,Grade 8,65.7 +Mathematics,Grade 8,60.9 +Mathematics,Grade 8,81.9 +Chemistry,Grade 7,66.9 +Mathematics,Grade 9,86.8 +Mathematics,Grade 7,51.9 +Chemistry,Grade 8,60.7 +Physics,Grade 8,68.0 +Mathematics,Grade 7,54.5 +Chemistry,Grade 7,73.3 +Biology,Grade 7,72.9 +Physics,Grade 8,74.5 +History,Grade 7,54.3 +History,Grade 9,85.1 +Physics,Grade 9,62.1 +History,Grade 9,72.9 +Mathematics,Grade 7,76.8 +Physics,Grade 7,59.9 +Chemistry,Grade 8,69.5 +Chemistry,Grade 7,57.6 +Mathematics,Grade 7,65.5 +Mathematics,Grade 9,84.8 +Physics,Grade 9,65.0 +History,Grade 7,61.8 +Mathematics,Grade 9,61.2 +Chemistry,Grade 7,79.1 +Mathematics,Grade 7,100.0 +History,Grade 8,74.6 +Mathematics,Grade 9,65.9 +Mathematics,Grade 9,90.6 +Biology,Grade 9,82.7 +Mathematics,Grade 7,60.6 +Biology,Grade 8,88.0 +History,Grade 9,79.3 +Biology,Grade 9,74.4 +Chemistry,Grade 9,78.8 +Physics,Grade 9,71.2 +Biology,Grade 9,79.9 +Chemistry,Grade 7,90.1 +Mathematics,Grade 8,64.5 +Mathematics,Grade 9,54.9 +Physics,Grade 9,44.8 +Biology,Grade 8,70.9 +History,Grade 7,75.8 +Biology,Grade 8,74.1 +Physics,Grade 7,58.8 +History,Grade 9,93.0 +Chemistry,Grade 8,73.1 +Physics,Grade 8,58.7 +Biology,Grade 9,74.0 +Chemistry,Grade 9,69.2 +Mathematics,Grade 9,92.4 +History,Grade 9,79.7 +Mathematics,Grade 7,90.1 +History,Grade 9,69.8 +Biology,Grade 8,91.0 +Chemistry,Grade 9,56.8 +Chemistry,Grade 7,64.6 +Mathematics,Grade 7,78.6 +History,Grade 9,62.6 +Biology,Grade 8,72.5 +Biology,Grade 7,75.7 +Mathematics,Grade 8,67.7 +History,Grade 8,69.5 +Chemistry,Grade 9,82.1 +Physics,Grade 7,67.6 +History,Grade 9,100.0 +History,Grade 7,69.0 +Chemistry,Grade 9,79.0 +Physics,Grade 8,72.8 +Physics,Grade 8,73.3 +Biology,Grade 9,65.6 +History,Grade 8,77.5 +Biology,Grade 7,71.4 +Biology,Grade 9,83.6 +Physics,Grade 9,86.6 +Chemistry,Grade 9,68.9 +Mathematics,Grade 9,79.5 +History,Grade 7,63.1 +Physics,Grade 9,68.5 +History,Grade 8,84.2 +Chemistry,Grade 7,79.2 +Physics,Grade 7,55.6 +Biology,Grade 7,61.2 +History,Grade 9,81.0 +History,Grade 7,75.2 +Mathematics,Grade 8,78.1 +History,Grade 8,63.2 +Chemistry,Grade 9,80.4 +Biology,Grade 8,80.8 +Physics,Grade 9,56.9 +History,Grade 7,70.3 +History,Grade 8,76.3 +Chemistry,Grade 7,52.8 +History,Grade 9,67.6 +Mathematics,Grade 9,71.2 +Mathematics,Grade 9,82.9 +Biology,Grade 9,70.1 +Chemistry,Grade 7,76.4 +Physics,Grade 7,44.9 +Biology,Grade 9,73.7 +Biology,Grade 7,73.7 +Mathematics,Grade 7,79.1 +Physics,Grade 9,73.0 +History,Grade 7,84.9 +History,Grade 8,78.5 +History,Grade 7,87.9 +Physics,Grade 8,81.8 +History,Grade 8,71.7 +Mathematics,Grade 7,61.9 +Biology,Grade 9,70.0 +Biology,Grade 9,86.7 +Chemistry,Grade 8,56.3 +Mathematics,Grade 8,85.7 +Physics,Grade 7,54.6 +History,Grade 8,62.9 +History,Grade 7,71.2 +Physics,Grade 8,76.5 +Chemistry,Grade 8,74.5 +History,Grade 9,80.4 +Chemistry,Grade 9,81.3 +History,Grade 8,75.1 +Physics,Grade 9,79.4 +Biology,Grade 8,78.8 +History,Grade 8,70.9 +History,Grade 8,72.5 +Mathematics,Grade 9,91.1 +Biology,Grade 7,66.2 +Physics,Grade 7,56.8 +Chemistry,Grade 7,77.3 +History,Grade 7,62.1 +Biology,Grade 8,67.0 +Chemistry,Grade 9,81.4 +Chemistry,Grade 9,56.2 +Biology,Grade 9,100.0 +Mathematics,Grade 7,47.6 +History,Grade 8,69.2 +Biology,Grade 7,65.8 +Physics,Grade 8,53.9 +History,Grade 8,76.7 +Chemistry,Grade 9,70.6 +Mathematics,Grade 9,67.6 +Physics,Grade 9,60.3 +History,Grade 8,78.9 +Chemistry,Grade 9,67.4 +Physics,Grade 8,77.8 +Mathematics,Grade 8,70.1 +History,Grade 9,74.1 +Mathematics,Grade 7,88.9 +Physics,Grade 7,67.8 +Chemistry,Grade 8,67.3 +Mathematics,Grade 7,50.7 +Chemistry,Grade 8,66.4 +Biology,Grade 8,87.9 +Physics,Grade 7,59.8 +History,Grade 7,78.3 +Chemistry,Grade 8,65.3 +History,Grade 7,73.4 +History,Grade 8,89.9 +History,Grade 9,74.0 +Mathematics,Grade 9,72.3 +Mathematics,Grade 7,82.9 +Physics,Grade 7,72.5 +History,Grade 7,62.9 +History,Grade 8,72.8 +History,Grade 8,66.2 +Physics,Grade 7,72.3 +Mathematics,Grade 7,67.3 +Biology,Grade 9,83.0 +History,Grade 9,90.7 +Physics,Grade 8,57.8 +History,Grade 8,75.0 +Physics,Grade 7,53.6 +History,Grade 7,77.5 +Mathematics,Grade 9,65.4 +Physics,Grade 8,56.2 +Mathematics,Grade 9,82.0 +Biology,Grade 8,76.9 +Chemistry,Grade 9,62.3 +Chemistry,Grade 7,62.7 +History,Grade 7,83.7 +Biology,Grade 7,78.9 +Chemistry,Grade 8,93.0 +History,Grade 7,82.7 +History,Grade 9,93.4 +Mathematics,Grade 7,63.2 +Physics,Grade 9,70.6 +Chemistry,Grade 9,56.7 +Biology,Grade 7,74.2 +History,Grade 7,72.5 +Mathematics,Grade 8,65.9 +Biology,Grade 9,79.6 +Chemistry,Grade 7,69.2 +Physics,Grade 8,57.0 +Chemistry,Grade 9,60.9 +Biology,Grade 7,82.7 +Biology,Grade 9,76.0 +Biology,Grade 9,78.3 +History,Grade 7,78.0 +Physics,Grade 8,59.7 +Mathematics,Grade 8,76.0 +Physics,Grade 9,55.6 +History,Grade 8,89.1 +Biology,Grade 9,65.8 +History,Grade 9,74.8 +Chemistry,Grade 8,51.1 +Mathematics,Grade 7,69.6 +Mathematics,Grade 7,61.9 +Physics,Grade 7,51.6 +Chemistry,Grade 7,77.9 +Physics,Grade 9,65.4 +Physics,Grade 8,75.0 +Chemistry,Grade 7,76.1 +Physics,Grade 7,59.6 +Mathematics,Grade 8,74.7 +Physics,Grade 7,63.8 +Chemistry,Grade 7,58.8 +Physics,Grade 9,85.8 +Biology,Grade 7,68.6 +Mathematics,Grade 8,56.1 +Chemistry,Grade 7,60.3 +Biology,Grade 7,87.2 +Physics,Grade 7,52.4 +Physics,Grade 9,78.7 +Mathematics,Grade 9,80.2 +Chemistry,Grade 9,66.6 +History,Grade 8,88.9 +History,Grade 8,99.1 +Biology,Grade 8,87.7 +Biology,Grade 7,71.1 +Biology,Grade 9,84.6 +History,Grade 9,90.2 +Mathematics,Grade 9,69.5 +History,Grade 7,69.8 +Chemistry,Grade 8,45.5 +Physics,Grade 8,57.4 +Physics,Grade 8,51.3 +Chemistry,Grade 7,65.4 +Biology,Grade 9,72.9 +Mathematics,Grade 7,61.3 +Mathematics,Grade 9,69.9 +Physics,Grade 8,50.2 +Physics,Grade 9,66.5 +Chemistry,Grade 8,66.4 +Chemistry,Grade 9,85.0 +Chemistry,Grade 7,85.1 +Mathematics,Grade 8,70.3 +Mathematics,Grade 9,83.3 +Mathematics,Grade 9,75.7 +Mathematics,Grade 9,88.8 +Mathematics,Grade 7,73.6 +History,Grade 7,78.4 +Biology,Grade 8,82.8 +Physics,Grade 9,84.4 +Mathematics,Grade 7,61.1 +Mathematics,Grade 8,64.0 +Biology,Grade 8,79.4 +Chemistry,Grade 9,77.8 +Chemistry,Grade 8,60.7 +Biology,Grade 9,87.2 +History,Grade 8,96.5 +Mathematics,Grade 8,66.4 +Mathematics,Grade 7,68.2 +History,Grade 8,86.3 +Biology,Grade 7,94.3 +Chemistry,Grade 9,78.9 +Biology,Grade 9,81.4 +History,Grade 7,92.7 +History,Grade 7,78.8 +Chemistry,Grade 9,68.9 +Physics,Grade 7,68.9 +History,Grade 7,74.6 +History,Grade 7,66.0 +Physics,Grade 9,57.9 +Chemistry,Grade 8,82.2 +Chemistry,Grade 7,51.3 +Physics,Grade 7,56.5 +History,Grade 7,60.7 +Biology,Grade 7,85.1 +Physics,Grade 8,64.9 +Physics,Grade 8,69.8 +History,Grade 9,78.0 +Physics,Grade 8,70.9 +Biology,Grade 7,66.5 +Biology,Grade 8,61.8 +Chemistry,Grade 9,58.0 +Physics,Grade 8,64.8 +Physics,Grade 8,40.5 +Mathematics,Grade 7,74.5 +Chemistry,Grade 9,60.2 +Chemistry,Grade 8,67.9 +History,Grade 7,99.0 +Chemistry,Grade 9,70.3 +History,Grade 8,70.2 +Chemistry,Grade 9,64.0 +History,Grade 7,87.6 +Physics,Grade 7,76.3 +Biology,Grade 9,83.5 +History,Grade 7,68.1 +Chemistry,Grade 8,85.1 +History,Grade 9,80.0 +Physics,Grade 9,80.7 +History,Grade 7,87.2 +Physics,Grade 9,74.6 +Chemistry,Grade 9,67.0 +Mathematics,Grade 9,61.8 +History,Grade 8,66.7 +Chemistry,Grade 7,54.3 +Chemistry,Grade 9,100.0 +Physics,Grade 8,42.7 +Mathematics,Grade 7,84.4 +Mathematics,Grade 9,47.5 +Physics,Grade 8,82.5 +Biology,Grade 9,81.0 +Mathematics,Grade 7,52.1 +Chemistry,Grade 9,51.1 +Mathematics,Grade 7,62.8 +History,Grade 9,79.3 +History,Grade 7,66.4 +Mathematics,Grade 9,74.1 +Chemistry,Grade 9,73.6 +Biology,Grade 8,75.2 +Chemistry,Grade 8,64.8 +Physics,Grade 8,54.1 +Chemistry,Grade 7,88.3 +Chemistry,Grade 7,62.8 +Mathematics,Grade 8,71.3 +Mathematics,Grade 7,89.7 +History,Grade 8,100.0 +Biology,Grade 9,68.2 +Chemistry,Grade 7,82.5 +Mathematics,Grade 7,66.7 +Chemistry,Grade 7,42.2 +Mathematics,Grade 8,64.3 +Chemistry,Grade 9,63.7 +Chemistry,Grade 9,88.1 +Biology,Grade 8,87.4 +Mathematics,Grade 9,71.7 +Biology,Grade 9,65.6 +History,Grade 8,81.3 +Chemistry,Grade 7,60.5 +Chemistry,Grade 8,79.8 +Physics,Grade 7,55.1 +History,Grade 9,72.0 +Chemistry,Grade 9,77.7 +Biology,Grade 7,93.0 +History,Grade 8,84.6 +Physics,Grade 9,66.7 +Mathematics,Grade 7,80.4 +History,Grade 7,82.0 +History,Grade 9,69.4 +Physics,Grade 7,68.5 +Physics,Grade 9,65.9 +Chemistry,Grade 8,76.8 +Mathematics,Grade 8,61.4 +Biology,Grade 7,73.8 +Mathematics,Grade 7,65.3 +Biology,Grade 7,53.3 +Biology,Grade 9,86.3 +History,Grade 9,83.8 +History,Grade 9,69.6 +Biology,Grade 9,72.9 +History,Grade 9,79.6 +Chemistry,Grade 8,64.8 +Mathematics,Grade 8,77.1 +Physics,Grade 7,65.8 +Mathematics,Grade 9,55.0 +Mathematics,Grade 7,79.4 +Biology,Grade 7,72.2 +Physics,Grade 9,59.8 +Chemistry,Grade 8,67.8 +History,Grade 8,62.3 +Biology,Grade 8,73.9 +Chemistry,Grade 9,76.7 +Biology,Grade 8,72.0 +Chemistry,Grade 8,76.5 +History,Grade 8,54.9 +Mathematics,Grade 8,69.1 +Physics,Grade 7,69.5 +Biology,Grade 9,100.0 +Biology,Grade 9,78.9 +Mathematics,Grade 7,76.4 +Chemistry,Grade 9,68.3 +Mathematics,Grade 7,62.2 +History,Grade 8,71.6 +History,Grade 7,71.1 +Physics,Grade 8,69.2 +Physics,Grade 7,51.9 +Chemistry,Grade 8,58.2 +Biology,Grade 8,79.6 +Biology,Grade 8,100.0 +History,Grade 8,79.1 +Physics,Grade 7,68.8 +History,Grade 7,68.7 +Biology,Grade 8,65.6 +Mathematics,Grade 7,68.7 +History,Grade 7,69.8 +Biology,Grade 9,91.1 +Mathematics,Grade 7,73.8 +Mathematics,Grade 8,48.5 +Physics,Grade 8,57.5 +Biology,Grade 7,67.3 +Mathematics,Grade 7,73.7 +Mathematics,Grade 7,74.0 +Biology,Grade 8,73.5 +Chemistry,Grade 8,79.2 +Chemistry,Grade 8,70.1 +Mathematics,Grade 7,49.1 +Physics,Grade 9,55.8 +Chemistry,Grade 7,64.7 +Biology,Grade 8,91.6 +Physics,Grade 8,80.9 +Mathematics,Grade 9,84.8 +Biology,Grade 9,83.9 +History,Grade 7,69.7 +Chemistry,Grade 7,66.4 +History,Grade 7,79.4 +Biology,Grade 7,59.8 +Biology,Grade 8,79.4 +Chemistry,Grade 7,84.2 +Biology,Grade 7,61.9 +Mathematics,Grade 9,65.4 +Physics,Grade 9,58.9 +Biology,Grade 7,57.2 +Mathematics,Grade 7,61.4 +Mathematics,Grade 9,61.1 +Chemistry,Grade 9,67.0 +Biology,Grade 7,62.9 +Chemistry,Grade 8,71.1 +History,Grade 8,65.8 +Chemistry,Grade 8,48.8 +Biology,Grade 9,82.2 +Chemistry,Grade 7,62.1 +Chemistry,Grade 7,62.1 +Chemistry,Grade 9,83.4 +History,Grade 9,79.1 +Biology,Grade 9,94.7 +Mathematics,Grade 8,57.8 +Chemistry,Grade 8,68.4 +Mathematics,Grade 9,86.4 +Chemistry,Grade 9,71.4 +Biology,Grade 8,84.9 +History,Grade 7,76.7 +Mathematics,Grade 9,88.1 +History,Grade 9,73.4 +Physics,Grade 7,56.6 +History,Grade 7,60.4 +Biology,Grade 8,68.3 +Chemistry,Grade 7,62.7 +Biology,Grade 9,65.1 +Biology,Grade 7,80.2 +Chemistry,Grade 7,72.6 +Mathematics,Grade 9,85.1 +Mathematics,Grade 8,80.0 +Physics,Grade 7,62.3 +History,Grade 9,87.2 +History,Grade 8,71.8 +Physics,Grade 7,76.6 +Biology,Grade 8,64.6 +Mathematics,Grade 7,85.3 +Biology,Grade 8,58.9 +Mathematics,Grade 7,54.5 +History,Grade 8,86.4 +Physics,Grade 9,80.9 +Chemistry,Grade 7,66.0 +Biology,Grade 7,73.9 +Physics,Grade 8,59.4 +Chemistry,Grade 8,70.1 +Mathematics,Grade 7,60.4 +History,Grade 9,76.0 +Mathematics,Grade 8,81.7 +Chemistry,Grade 7,69.3 +Biology,Grade 9,70.6 +Mathematics,Grade 7,75.2 +Biology,Grade 7,67.7 +Biology,Grade 9,87.4 +Chemistry,Grade 7,64.1 +Mathematics,Grade 7,67.3 +History,Grade 8,100.0 +Physics,Grade 7,54.5 +Mathematics,Grade 7,41.9 +Biology,Grade 7,75.8 +Chemistry,Grade 9,58.7 +Physics,Grade 7,53.4 +History,Grade 7,83.0 +Biology,Grade 8,71.5 +Biology,Grade 7,96.8 +Biology,Grade 7,58.2 +Biology,Grade 8,89.3 +History,Grade 9,83.0 +Physics,Grade 9,47.7 +Chemistry,Grade 7,68.6 +Physics,Grade 9,80.4 +History,Grade 8,78.7 +Mathematics,Grade 8,70.6 +History,Grade 9,86.5 +Physics,Grade 9,76.8 +Physics,Grade 9,66.1 +Chemistry,Grade 9,64.0 +Mathematics,Grade 9,66.9 +Chemistry,Grade 7,80.4 +Chemistry,Grade 7,63.2 +Biology,Grade 8,76.5 +Biology,Grade 9,71.5 +Physics,Grade 8,47.2 +History,Grade 9,44.3 +History,Grade 8,67.4 +Biology,Grade 7,54.8 +Chemistry,Grade 8,67.6 +Mathematics,Grade 9,63.0 +Biology,Grade 9,76.1 +Chemistry,Grade 8,85.8 +Biology,Grade 8,67.4 +Biology,Grade 8,84.9 +Biology,Grade 9,60.5 +Mathematics,Grade 7,63.5 +Biology,Grade 9,87.3 +Chemistry,Grade 7,45.3 +Chemistry,Grade 7,52.2 +History,Grade 9,100.0 +Biology,Grade 7,72.1 +Biology,Grade 9,74.9 +History,Grade 7,73.6 +Chemistry,Grade 7,47.2 +Physics,Grade 7,78.7 +Biology,Grade 9,89.9 +Chemistry,Grade 9,77.1 +Physics,Grade 7,81.4 +Mathematics,Grade 7,43.2 +History,Grade 9,91.2 +Mathematics,Grade 7,89.8 +Biology,Grade 8,83.0 +Physics,Grade 7,64.1 +Chemistry,Grade 9,94.4 +History,Grade 7,72.2 +Physics,Grade 7,55.3 +History,Grade 9,76.0 +Physics,Grade 7,66.1 +Physics,Grade 7,62.7 +Biology,Grade 9,66.8 +History,Grade 8,82.0 +Biology,Grade 8,55.7 +Mathematics,Grade 7,73.2 +History,Grade 9,85.0 +Biology,Grade 8,80.8 +Biology,Grade 8,77.2 +Chemistry,Grade 8,85.8 +History,Grade 7,79.0 +History,Grade 7,67.1 +History,Grade 9,84.5 +Chemistry,Grade 7,57.0 +Mathematics,Grade 9,68.6 +Physics,Grade 7,61.4 +History,Grade 7,63.9 +Chemistry,Grade 7,46.6 +History,Grade 8,64.2 +History,Grade 7,73.0 +Chemistry,Grade 8,61.0 +Biology,Grade 7,91.7 +Mathematics,Grade 8,68.7 +Mathematics,Grade 7,64.9 +Physics,Grade 9,83.6 +Biology,Grade 8,70.0 +History,Grade 7,54.9 +History,Grade 7,68.2 +Chemistry,Grade 8,64.8 +History,Grade 9,73.8 +Mathematics,Grade 8,82.6 +History,Grade 8,78.1 +History,Grade 7,65.7 +Biology,Grade 9,59.8 +Chemistry,Grade 8,81.9 +Chemistry,Grade 7,72.7 +Biology,Grade 9,87.5 +History,Grade 8,79.1 +Mathematics,Grade 9,74.5 +Chemistry,Grade 8,48.4 +Chemistry,Grade 9,72.0 +Biology,Grade 8,77.2 +Biology,Grade 9,86.8 +History,Grade 7,80.9 +History,Grade 7,82.8 +Physics,Grade 9,54.4 +Physics,Grade 8,63.5 +Chemistry,Grade 8,73.1 +Biology,Grade 7,87.1 +Mathematics,Grade 9,79.3 +Physics,Grade 9,70.1 +History,Grade 9,77.4 +Physics,Grade 7,78.0 +Chemistry,Grade 7,45.9 +Biology,Grade 9,83.8 +History,Grade 7,82.2 +History,Grade 7,56.9 +Biology,Grade 7,72.8 +Mathematics,Grade 9,85.5 +Chemistry,Grade 8,69.8 +Chemistry,Grade 8,77.7 +Physics,Grade 9,70.1 +Mathematics,Grade 8,92.1 +Chemistry,Grade 8,81.9 +Mathematics,Grade 8,69.4 +History,Grade 9,64.5 +Biology,Grade 9,78.7 +Biology,Grade 7,51.3 +Physics,Grade 8,62.5 +Physics,Grade 8,67.0 +Chemistry,Grade 8,77.2 +History,Grade 9,72.2 +Mathematics,Grade 9,54.3 +Biology,Grade 7,77.0 +History,Grade 7,82.2 +Mathematics,Grade 9,55.0 +Physics,Grade 8,67.3 +Mathematics,Grade 8,69.2 +Mathematics,Grade 7,58.6 +Physics,Grade 7,72.5 +Mathematics,Grade 7,58.9 +Biology,Grade 7,71.6 +Chemistry,Grade 8,89.1 +Mathematics,Grade 9,53.5 +Chemistry,Grade 7,54.2 +Mathematics,Grade 8,66.4 +Biology,Grade 9,72.8 +Biology,Grade 9,61.4 +Physics,Grade 7,60.1 +Physics,Grade 7,79.2 +Mathematics,Grade 9,73.2 +Chemistry,Grade 7,78.6 +Biology,Grade 7,75.8 +Chemistry,Grade 8,69.7 +History,Grade 9,83.3 +Chemistry,Grade 9,62.4 +Mathematics,Grade 8,66.4 +Physics,Grade 8,75.1 +History,Grade 7,52.3 +Physics,Grade 7,54.0 +Mathematics,Grade 8,56.6 +Biology,Grade 8,81.1 +Chemistry,Grade 9,99.5 +Chemistry,Grade 7,72.7 +History,Grade 7,70.1 +Physics,Grade 8,49.2 +Mathematics,Grade 8,62.0 +Biology,Grade 7,81.0 +History,Grade 9,75.6 +History,Grade 7,73.2 +Physics,Grade 7,62.0 +History,Grade 9,75.7 +Physics,Grade 9,69.4 +History,Grade 9,90.8 +Biology,Grade 7,76.2 +History,Grade 7,88.1 +History,Grade 8,86.7 +Physics,Grade 7,68.2 +History,Grade 9,75.7 +Physics,Grade 8,67.7 +Chemistry,Grade 7,56.1 +Mathematics,Grade 8,67.5 +History,Grade 8,91.3 +History,Grade 7,89.7 +Mathematics,Grade 7,84.7 +Mathematics,Grade 8,78.1 +Mathematics,Grade 9,87.9 +Chemistry,Grade 8,62.7 +Mathematics,Grade 7,73.0 +Mathematics,Grade 8,69.1 +Biology,Grade 9,76.1 +History,Grade 9,73.1 +Biology,Grade 7,86.6 +Chemistry,Grade 9,77.9 +Chemistry,Grade 9,59.7 +Chemistry,Grade 7,91.7 +Mathematics,Grade 8,76.5 +Physics,Grade 8,60.2 +Mathematics,Grade 7,74.2 +Chemistry,Grade 8,50.1 +Chemistry,Grade 8,65.7 +Chemistry,Grade 8,72.0 +Chemistry,Grade 9,70.1 +History,Grade 7,69.4 +History,Grade 9,77.6 +Chemistry,Grade 9,73.0 +Physics,Grade 7,81.7 +Mathematics,Grade 9,65.9 +Physics,Grade 7,52.9 +Mathematics,Grade 8,70.9 +Biology,Grade 8,86.6 +Chemistry,Grade 8,63.9 +History,Grade 9,91.9 +Physics,Grade 7,51.9 +Physics,Grade 8,64.0 +Physics,Grade 9,67.4 +Chemistry,Grade 7,69.2 +Biology,Grade 9,83.6 +Physics,Grade 7,76.8 +Mathematics,Grade 8,70.3 +Biology,Grade 9,86.5 +Mathematics,Grade 9,78.9 +History,Grade 8,72.9 +Mathematics,Grade 7,74.0 +Mathematics,Grade 9,70.6 +Chemistry,Grade 7,50.7 +Biology,Grade 9,100.0 +History,Grade 9,81.7 +Physics,Grade 9,76.4 +Mathematics,Grade 9,92.9 +Biology,Grade 7,76.0 +Physics,Grade 8,89.8 +Biology,Grade 8,82.6 +Mathematics,Grade 7,60.6 +Physics,Grade 9,52.6 +Mathematics,Grade 9,78.8 +Physics,Grade 7,59.7 +Biology,Grade 9,71.5 +Biology,Grade 8,54.6 +Mathematics,Grade 7,54.6 +Biology,Grade 7,48.8 +Biology,Grade 8,84.1 +History,Grade 8,80.8 +Mathematics,Grade 9,66.8 +Physics,Grade 7,68.0 +History,Grade 8,57.3 +Chemistry,Grade 9,61.8 +Physics,Grade 9,69.7 +Physics,Grade 8,85.2 +Chemistry,Grade 8,84.0 +History,Grade 9,71.8 +Physics,Grade 7,69.1 +Biology,Grade 9,74.0 +Physics,Grade 9,50.0 +Chemistry,Grade 9,63.5 +Mathematics,Grade 8,79.1 +Mathematics,Grade 8,76.9 +Biology,Grade 7,68.3 +Physics,Grade 9,60.7 +Chemistry,Grade 8,86.8 +Chemistry,Grade 9,75.1 +Chemistry,Grade 9,85.1 +Mathematics,Grade 7,47.2 +History,Grade 7,61.2 +Mathematics,Grade 8,67.7 +History,Grade 7,66.6 +Physics,Grade 9,83.5 +Physics,Grade 7,61.0 +Mathematics,Grade 8,64.0 +Biology,Grade 9,67.9 +Physics,Grade 8,57.0 +History,Grade 7,66.2 +Physics,Grade 7,65.5 +Chemistry,Grade 7,69.0 +Mathematics,Grade 8,96.8 +History,Grade 7,85.5 +Chemistry,Grade 7,76.0 +Physics,Grade 9,58.5 +History,Grade 9,86.2 +Physics,Grade 8,71.5 +Physics,Grade 7,51.7 +Biology,Grade 8,77.3 +History,Grade 7,75.5 +Biology,Grade 8,87.6 +Chemistry,Grade 8,53.1 +History,Grade 7,71.4 +History,Grade 8,89.2 +Mathematics,Grade 8,70.9 +Chemistry,Grade 9,66.1 +Biology,Grade 9,88.7 +Mathematics,Grade 7,72.4 +Physics,Grade 9,71.3 +Mathematics,Grade 8,60.0 +Chemistry,Grade 7,59.1 +Biology,Grade 8,80.7 +Physics,Grade 8,74.3 +Physics,Grade 7,63.9 +Biology,Grade 8,70.6 +Physics,Grade 8,91.2 +Chemistry,Grade 8,68.4 +Mathematics,Grade 7,71.3 +Chemistry,Grade 9,70.4 +Mathematics,Grade 7,62.5 +Mathematics,Grade 7,67.1 +Chemistry,Grade 7,54.5 +Chemistry,Grade 9,68.3 +History,Grade 8,66.4 +History,Grade 8,93.3 +History,Grade 7,58.9 +Chemistry,Grade 8,71.3 +Biology,Grade 9,77.6 +Physics,Grade 7,81.0 +Biology,Grade 9,65.4 +Mathematics,Grade 7,73.9 +Mathematics,Grade 8,71.1 +Biology,Grade 9,81.0 +Mathematics,Grade 7,57.0 +Chemistry,Grade 7,68.0 +History,Grade 9,95.2 +Chemistry,Grade 7,78.6 +History,Grade 9,94.3 +History,Grade 8,74.5 +Mathematics,Grade 9,65.7 +Mathematics,Grade 9,60.7 +Physics,Grade 8,75.1 +Biology,Grade 9,86.7 +Chemistry,Grade 9,78.0 +Chemistry,Grade 9,67.3 +Biology,Grade 7,79.5 +History,Grade 7,69.5 +Physics,Grade 8,88.9 +Biology,Grade 9,94.2 +Chemistry,Grade 8,68.9 +Chemistry,Grade 9,80.4 +Mathematics,Grade 7,74.2 +Mathematics,Grade 9,61.8 +Mathematics,Grade 8,71.7 +Mathematics,Grade 9,55.3 +Chemistry,Grade 9,72.1 +Physics,Grade 9,83.6 +Chemistry,Grade 8,71.5 +Biology,Grade 8,54.0 +Chemistry,Grade 7,62.6 +History,Grade 9,67.8 +Mathematics,Grade 8,70.0 +Mathematics,Grade 8,68.1 +Mathematics,Grade 8,72.2 +Biology,Grade 7,67.0 +Mathematics,Grade 7,79.8 +Physics,Grade 8,65.8 +Chemistry,Grade 7,75.2 +Mathematics,Grade 8,70.0 +Chemistry,Grade 9,66.7 +Biology,Grade 9,67.9 +History,Grade 8,78.7 +Biology,Grade 7,83.4 +Chemistry,Grade 9,65.4 +Mathematics,Grade 9,66.3 +Mathematics,Grade 9,56.3 +Biology,Grade 9,77.3 +Physics,Grade 8,61.5 +Physics,Grade 7,42.7 +Chemistry,Grade 8,62.8 +Mathematics,Grade 7,67.8 +Physics,Grade 9,88.2 +Biology,Grade 8,61.3 +Mathematics,Grade 9,63.4 +Mathematics,Grade 8,69.6 +History,Grade 7,74.9 +Chemistry,Grade 9,85.6 +History,Grade 9,93.0 +Biology,Grade 7,65.1 +Biology,Grade 9,90.5 +Mathematics,Grade 8,84.6 +Chemistry,Grade 9,75.4 +History,Grade 7,93.9 +Chemistry,Grade 7,74.8 +Mathematics,Grade 9,89.2 +Biology,Grade 7,57.3 +Mathematics,Grade 7,81.7 +Biology,Grade 7,90.9 +Biology,Grade 7,80.6 +History,Grade 7,61.2 +Mathematics,Grade 9,73.9 +History,Grade 7,84.9 +Mathematics,Grade 8,57.2 +Mathematics,Grade 9,77.8 +Biology,Grade 9,83.1 +Chemistry,Grade 8,64.1 +History,Grade 9,72.3 +Chemistry,Grade 7,56.9 +Biology,Grade 7,64.5 +Physics,Grade 7,77.1 +History,Grade 8,82.2 +History,Grade 8,74.2 +Chemistry,Grade 8,78.5 +History,Grade 9,91.7 +History,Grade 9,83.4 +Chemistry,Grade 8,67.6 +Biology,Grade 8,90.3 +Biology,Grade 9,86.2 +Mathematics,Grade 7,56.4 +History,Grade 8,76.8 +History,Grade 9,96.9 +History,Grade 9,75.1 +Physics,Grade 8,74.1 +Mathematics,Grade 8,93.3 +Physics,Grade 9,82.6 +History,Grade 8,84.8 +History,Grade 7,64.8 +Chemistry,Grade 9,84.0 +Mathematics,Grade 9,90.5 +Mathematics,Grade 7,58.7 +History,Grade 8,86.3 +Biology,Grade 8,79.4 +Mathematics,Grade 8,65.0 +Biology,Grade 7,66.1 +Mathematics,Grade 9,86.6 +Physics,Grade 9,87.5 +Biology,Grade 8,90.9 +History,Grade 9,89.3 +History,Grade 7,75.4 +Biology,Grade 7,68.5 +Biology,Grade 9,67.3 +Mathematics,Grade 8,90.0 +History,Grade 7,81.0 +Biology,Grade 8,45.7 +Mathematics,Grade 7,90.2 +Chemistry,Grade 8,71.3 +Mathematics,Grade 8,51.1 +Biology,Grade 8,63.2 +Mathematics,Grade 7,73.5 +Chemistry,Grade 9,84.6 +History,Grade 8,67.4 +Chemistry,Grade 9,53.0 +Mathematics,Grade 8,66.1 +History,Grade 8,87.4 +Mathematics,Grade 8,65.4 +History,Grade 8,66.1 +Chemistry,Grade 7,51.4 +Mathematics,Grade 9,86.3 +Biology,Grade 9,80.6 +History,Grade 7,81.7 +Biology,Grade 7,64.1 +Biology,Grade 7,60.0 +Chemistry,Grade 7,67.2 +Biology,Grade 9,70.9 +Biology,Grade 8,75.4 +Mathematics,Grade 9,58.2 +Mathematics,Grade 7,82.7 +History,Grade 7,76.7 +Mathematics,Grade 9,62.6 +Physics,Grade 7,72.9 +History,Grade 7,89.0 +Physics,Grade 8,79.8 +Mathematics,Grade 9,80.5 +Chemistry,Grade 9,80.8 +Physics,Grade 9,80.9 +Physics,Grade 8,73.1 +Chemistry,Grade 8,61.2 +Biology,Grade 8,88.2 +Chemistry,Grade 7,60.8 +Mathematics,Grade 7,59.8 +Mathematics,Grade 7,75.1 +Chemistry,Grade 9,70.8 +Biology,Grade 8,61.5 +Chemistry,Grade 8,62.5 +Chemistry,Grade 8,75.1 +History,Grade 8,67.9 +Physics,Grade 9,85.2 +History,Grade 7,70.1 +Mathematics,Grade 7,53.6 +History,Grade 9,84.4 +Biology,Grade 8,82.5 +Chemistry,Grade 7,71.7 +Physics,Grade 9,57.2 +Chemistry,Grade 9,73.5 +Chemistry,Grade 9,68.4 +Mathematics,Grade 9,69.9 +Chemistry,Grade 8,73.8 +History,Grade 8,92.5 +Physics,Grade 9,51.8 +Biology,Grade 9,83.1 +History,Grade 9,70.0 +Biology,Grade 8,56.9 +Chemistry,Grade 7,63.1 +Chemistry,Grade 8,89.0 +Chemistry,Grade 7,74.4 +History,Grade 7,74.2 +History,Grade 7,75.2 +Biology,Grade 8,81.0 +Biology,Grade 7,64.0 +Chemistry,Grade 8,66.3 +Biology,Grade 9,81.4 +Mathematics,Grade 8,93.1 +History,Grade 9,87.1 +Biology,Grade 7,71.9 +History,Grade 9,93.4 +Biology,Grade 9,87.0 +Mathematics,Grade 9,81.5 +Mathematics,Grade 8,74.4 +History,Grade 7,85.6 +Mathematics,Grade 7,61.4 +Physics,Grade 8,74.1 +Physics,Grade 8,66.6 +Chemistry,Grade 8,52.0 +Biology,Grade 9,90.6 +Biology,Grade 7,72.0 +History,Grade 7,87.0 +History,Grade 9,71.7 +Mathematics,Grade 7,58.9 +Biology,Grade 9,67.2 +Mathematics,Grade 8,73.5 +Mathematics,Grade 7,74.5 +Chemistry,Grade 9,79.6 +History,Grade 7,84.2 +Chemistry,Grade 9,91.6 +Chemistry,Grade 7,53.3 +Chemistry,Grade 8,87.8 +Biology,Grade 8,72.7 +Physics,Grade 7,64.2 +History,Grade 7,62.8 +Biology,Grade 9,87.7 +Mathematics,Grade 7,74.5 +Mathematics,Grade 8,54.8 +Physics,Grade 8,72.3 +Physics,Grade 7,73.7 +Mathematics,Grade 8,68.4 +Chemistry,Grade 7,76.9 +Biology,Grade 9,84.2 +History,Grade 7,53.9 +Biology,Grade 9,73.7 +Mathematics,Grade 9,77.4 +Chemistry,Grade 8,57.3 +Mathematics,Grade 7,62.1 +Chemistry,Grade 9,81.3 +Biology,Grade 8,65.8 +Biology,Grade 7,75.5 +Mathematics,Grade 9,74.6 +History,Grade 7,45.4 +Mathematics,Grade 8,84.6 +Biology,Grade 9,81.3 +History,Grade 8,90.1 +Mathematics,Grade 7,68.3 +Physics,Grade 7,63.6 +Biology,Grade 8,75.4 +Mathematics,Grade 8,63.8 +History,Grade 7,92.1 +Physics,Grade 9,56.8 +Chemistry,Grade 8,76.6 +Mathematics,Grade 9,86.3 +Mathematics,Grade 8,68.3 +History,Grade 9,43.8 +Mathematics,Grade 7,68.7 +History,Grade 7,71.3 +Biology,Grade 8,79.0 +Chemistry,Grade 9,71.2 +History,Grade 7,82.8 +Physics,Grade 9,54.9 +Mathematics,Grade 8,72.2 +Mathematics,Grade 7,52.1 +Chemistry,Grade 8,68.3 +Chemistry,Grade 8,84.1 +Biology,Grade 9,74.1 +Physics,Grade 8,71.1 +Biology,Grade 9,80.2 +Biology,Grade 8,68.2 +History,Grade 8,78.2 +Physics,Grade 9,63.2 +History,Grade 7,70.5 +Biology,Grade 7,72.8 +Physics,Grade 7,58.4 +Biology,Grade 8,55.5 +Biology,Grade 9,69.2 +Mathematics,Grade 8,73.1 +Chemistry,Grade 8,63.0 +Physics,Grade 7,64.8 +Physics,Grade 8,57.0 +Chemistry,Grade 8,71.6 +Biology,Grade 9,80.9 +Physics,Grade 9,63.5 +History,Grade 8,81.0 +Chemistry,Grade 8,78.7 +Physics,Grade 8,73.4 +Physics,Grade 9,85.4 +Chemistry,Grade 8,73.0 +Mathematics,Grade 8,73.1 +Physics,Grade 7,65.7 +Physics,Grade 7,47.6 +Biology,Grade 9,98.2 +Physics,Grade 8,56.6 +Biology,Grade 9,83.2 +History,Grade 9,94.2 +Physics,Grade 8,46.7 +Biology,Grade 7,78.0 +Chemistry,Grade 9,46.3 +History,Grade 7,89.6 +Chemistry,Grade 7,44.3 +Physics,Grade 9,57.7 +Biology,Grade 7,76.1 +Biology,Grade 8,50.9 +Chemistry,Grade 9,69.3 +Mathematics,Grade 9,85.2 +History,Grade 9,75.1 +Chemistry,Grade 7,46.9 +Biology,Grade 7,60.0 +Physics,Grade 8,57.3 +History,Grade 9,94.9 +History,Grade 7,67.1 +Biology,Grade 9,70.2 +Mathematics,Grade 7,71.8 +Physics,Grade 9,62.7 +Physics,Grade 7,46.2 +Mathematics,Grade 8,87.9 +Physics,Grade 9,79.6 +History,Grade 9,67.1 +History,Grade 7,82.7 +History,Grade 7,62.8 +Mathematics,Grade 9,99.3 +Biology,Grade 8,79.1 +Physics,Grade 8,61.0 +Mathematics,Grade 8,62.2 +Physics,Grade 7,62.1 +Mathematics,Grade 9,80.6 +History,Grade 7,66.5 +Chemistry,Grade 9,74.6 +Mathematics,Grade 8,48.9 +Mathematics,Grade 8,51.5 +Chemistry,Grade 8,87.6 +History,Grade 7,43.6 +Chemistry,Grade 9,93.3 +Chemistry,Grade 7,71.7 +Mathematics,Grade 9,85.2 +History,Grade 8,62.4 +Physics,Grade 9,72.5 +Mathematics,Grade 8,62.5 +History,Grade 7,73.3 +Physics,Grade 7,59.6 +Physics,Grade 9,51.8 +Chemistry,Grade 7,64.8 +Mathematics,Grade 7,60.0 +Mathematics,Grade 9,89.3 +Physics,Grade 7,84.2 +Mathematics,Grade 7,67.6 +Biology,Grade 8,77.1 +Physics,Grade 9,86.1 +Chemistry,Grade 7,70.1 +Mathematics,Grade 8,68.3 +Physics,Grade 7,69.2 +Mathematics,Grade 9,75.0 +Biology,Grade 7,62.6 +History,Grade 8,65.3 +History,Grade 9,92.7 +Mathematics,Grade 7,65.8 +Physics,Grade 7,54.1 +Biology,Grade 9,80.0 +Physics,Grade 9,68.5 +History,Grade 8,88.0 +Chemistry,Grade 9,68.7 +History,Grade 7,73.3 +Biology,Grade 9,87.9 +Mathematics,Grade 7,72.1 +History,Grade 9,96.7 +Physics,Grade 9,66.1 +Biology,Grade 7,69.6 +Physics,Grade 9,77.8 +Biology,Grade 7,65.8 +History,Grade 7,78.0 +Mathematics,Grade 9,82.0 +History,Grade 9,68.0 +Physics,Grade 7,53.3 +Physics,Grade 9,69.5 +Biology,Grade 9,71.0 +History,Grade 8,75.7 +History,Grade 9,67.4 +Chemistry,Grade 7,55.2 +Mathematics,Grade 8,68.5 +History,Grade 9,95.8 +History,Grade 7,55.4 +Physics,Grade 9,77.3 +Physics,Grade 8,77.1 +Mathematics,Grade 7,67.6 +History,Grade 8,79.5 +Physics,Grade 9,64.1 +Physics,Grade 9,54.4 +History,Grade 9,70.3 +Chemistry,Grade 8,73.5 +Mathematics,Grade 9,88.4 +Physics,Grade 8,71.3 +Biology,Grade 7,84.8 +History,Grade 7,65.4 +Mathematics,Grade 7,57.0 +Mathematics,Grade 7,76.0 +Chemistry,Grade 9,62.3 +Biology,Grade 9,84.9 +Physics,Grade 7,71.3 +Biology,Grade 8,73.2 +Physics,Grade 7,79.8 +Physics,Grade 7,70.8 +History,Grade 8,74.7 +Chemistry,Grade 7,65.2 +Mathematics,Grade 7,66.7 +Biology,Grade 7,64.4 +Biology,Grade 9,95.6 +History,Grade 7,67.9 +Physics,Grade 9,68.8 +History,Grade 9,83.7 +Biology,Grade 8,60.0 +Physics,Grade 8,76.0 +Chemistry,Grade 7,64.5 +Physics,Grade 9,76.3 +Mathematics,Grade 8,90.4 +Mathematics,Grade 8,56.3 +Chemistry,Grade 7,72.2 +Biology,Grade 8,79.0 +History,Grade 7,69.1 +Chemistry,Grade 7,55.6 +Mathematics,Grade 7,68.2 +Chemistry,Grade 8,57.4 +Physics,Grade 8,70.1 +Chemistry,Grade 9,67.7 +Chemistry,Grade 7,74.5 +Mathematics,Grade 9,61.7 +History,Grade 9,73.2 +History,Grade 8,82.7 +Biology,Grade 9,81.3 +Biology,Grade 7,74.8 +Mathematics,Grade 8,71.7 +History,Grade 8,79.5 +Mathematics,Grade 8,72.4 +Physics,Grade 9,57.2 +Biology,Grade 7,66.1 +Chemistry,Grade 8,79.6 +History,Grade 7,56.8 +Chemistry,Grade 8,56.4 +History,Grade 9,75.0 +Physics,Grade 7,78.7 +Physics,Grade 8,70.0 +Mathematics,Grade 9,70.4 +History,Grade 9,68.7 +History,Grade 8,96.3 +History,Grade 7,80.0 +Physics,Grade 7,80.9 +Chemistry,Grade 7,59.7 +History,Grade 8,82.0 +History,Grade 8,77.3 +Mathematics,Grade 9,88.6 +History,Grade 7,81.6 +Biology,Grade 8,85.0 +Mathematics,Grade 7,64.8 +Physics,Grade 8,80.6 +History,Grade 9,73.8 +Mathematics,Grade 9,68.0 +Physics,Grade 9,73.5 +Biology,Grade 8,74.0 +Biology,Grade 9,65.7 +Chemistry,Grade 8,74.1 +Mathematics,Grade 7,57.4 +History,Grade 9,94.4 +History,Grade 7,64.8 +Mathematics,Grade 7,76.2 +History,Grade 7,94.5 +Mathematics,Grade 7,71.2 +History,Grade 9,80.1 +Physics,Grade 7,88.8 +Mathematics,Grade 7,73.3 +Physics,Grade 8,89.2 +History,Grade 8,79.1 +Mathematics,Grade 9,92.9 +Chemistry,Grade 9,57.6 +Biology,Grade 8,75.3 +Mathematics,Grade 8,67.9 +Mathematics,Grade 7,65.1 +Chemistry,Grade 8,81.3 +Mathematics,Grade 7,78.7 +Mathematics,Grade 9,78.9 +Mathematics,Grade 7,57.6 +History,Grade 8,83.6 +Biology,Grade 8,67.0 +Chemistry,Grade 9,87.2 +Mathematics,Grade 8,64.2 +Mathematics,Grade 8,78.4 +Mathematics,Grade 8,72.8 +Biology,Grade 7,71.6 +Biology,Grade 7,65.3 +Mathematics,Grade 8,71.7 +Biology,Grade 7,51.2 +History,Grade 7,69.6 +Physics,Grade 9,44.3 +History,Grade 7,83.8 +Physics,Grade 8,92.8 +Physics,Grade 7,73.2 +Chemistry,Grade 9,78.0 +Mathematics,Grade 9,66.0 +History,Grade 9,83.6 +Mathematics,Grade 7,79.8 +History,Grade 8,79.3 +Physics,Grade 8,62.5 +Biology,Grade 8,69.0 +Biology,Grade 8,75.6 +Chemistry,Grade 7,82.8 +Mathematics,Grade 9,88.4 +History,Grade 9,88.8 +Chemistry,Grade 7,63.4 +Biology,Grade 9,72.3 +History,Grade 8,55.1 +Mathematics,Grade 8,71.7 +Mathematics,Grade 9,60.7 +Biology,Grade 9,86.6 +Chemistry,Grade 7,65.6 +Mathematics,Grade 7,64.7 +History,Grade 7,90.8 +Chemistry,Grade 7,68.2 +Physics,Grade 7,59.4 +Physics,Grade 7,43.8 +History,Grade 7,83.3 +History,Grade 7,66.7 +Physics,Grade 9,71.6 +Biology,Grade 9,95.1 +Chemistry,Grade 9,68.5 +Physics,Grade 7,66.4 +History,Grade 7,83.3 +Physics,Grade 9,93.1 +Chemistry,Grade 7,79.0 +Mathematics,Grade 8,77.0 +History,Grade 8,68.6 +Physics,Grade 8,87.2 +History,Grade 7,58.6 +History,Grade 7,85.9 +Biology,Grade 7,88.8 +Chemistry,Grade 7,48.9 +History,Grade 9,82.5 +Mathematics,Grade 9,90.3 +Chemistry,Grade 7,72.5 +Chemistry,Grade 9,62.2 +Mathematics,Grade 9,62.2 +History,Grade 8,82.8 +Biology,Grade 9,74.3 +Biology,Grade 7,74.2 +Chemistry,Grade 8,72.9 +Biology,Grade 7,71.7 +Physics,Grade 7,53.4 +Physics,Grade 7,53.6 +Physics,Grade 9,59.3 +History,Grade 8,77.9 +History,Grade 9,72.5 +Physics,Grade 8,64.4 +History,Grade 9,90.1 +Mathematics,Grade 7,65.2 +Chemistry,Grade 8,48.1 +History,Grade 8,69.2 +Biology,Grade 9,69.9 +Physics,Grade 7,83.9 +Chemistry,Grade 8,63.2 +History,Grade 8,82.0 +Mathematics,Grade 7,70.6 +Mathematics,Grade 9,78.3 +Physics,Grade 9,64.3 +History,Grade 7,66.4 +Mathematics,Grade 8,66.0 +History,Grade 7,68.2 +Chemistry,Grade 7,68.1 +Chemistry,Grade 8,83.4 +History,Grade 9,67.4 +Mathematics,Grade 8,56.0 +Biology,Grade 8,78.6 +Physics,Grade 7,73.5 +Chemistry,Grade 9,39.5 +Physics,Grade 9,84.1 +Physics,Grade 9,76.0 +Biology,Grade 9,66.2 +Mathematics,Grade 9,76.1 +History,Grade 8,61.0 +Physics,Grade 9,62.0 +Physics,Grade 7,61.2 +Physics,Grade 7,62.8 +Biology,Grade 8,88.5 +Physics,Grade 9,77.7 +History,Grade 9,77.6 +Biology,Grade 9,67.7 +History,Grade 9,85.1 +Mathematics,Grade 8,74.5 +Physics,Grade 9,63.7 +Physics,Grade 7,62.3 +History,Grade 8,82.3 +History,Grade 7,78.9 +Physics,Grade 9,75.5 +History,Grade 9,77.6 +Biology,Grade 7,79.6 +Physics,Grade 7,54.6 +Chemistry,Grade 9,70.3 +Mathematics,Grade 8,75.2 +Physics,Grade 7,56.2 +Biology,Grade 7,72.9 +Biology,Grade 7,59.1 +Physics,Grade 7,73.5 +Biology,Grade 7,54.1 +History,Grade 9,76.5 +Physics,Grade 8,63.7 +Biology,Grade 7,58.9 +Chemistry,Grade 8,83.1 +Physics,Grade 9,73.7 +Physics,Grade 7,52.2 +Chemistry,Grade 9,82.0 +Biology,Grade 7,62.0 +Biology,Grade 9,81.4 +Biology,Grade 7,69.0 +Mathematics,Grade 8,77.8 +Biology,Grade 8,71.4 +Physics,Grade 7,73.6 +Physics,Grade 7,60.9 +Physics,Grade 9,70.8 +Biology,Grade 9,80.6 +Physics,Grade 8,53.8 +Biology,Grade 9,100.0 +Biology,Grade 8,69.1 +History,Grade 7,54.4 +Biology,Grade 9,67.7 +Chemistry,Grade 9,72.7 +Chemistry,Grade 8,57.1 +Physics,Grade 9,73.1 +Mathematics,Grade 9,72.8 +Chemistry,Grade 9,63.3 +Physics,Grade 8,58.3 +Physics,Grade 8,71.4 +Chemistry,Grade 7,65.9 +History,Grade 7,98.7 +Chemistry,Grade 8,54.1 +Biology,Grade 7,73.7 +Chemistry,Grade 7,52.6 +History,Grade 7,78.3 +Biology,Grade 7,90.3 +History,Grade 9,88.9 +Chemistry,Grade 7,58.3 +Chemistry,Grade 9,73.6 +Physics,Grade 7,84.6 +Mathematics,Grade 9,84.8 +Biology,Grade 8,69.5 +Chemistry,Grade 9,52.1 +Chemistry,Grade 8,66.6 +Mathematics,Grade 8,96.1 +Mathematics,Grade 7,81.0 +Chemistry,Grade 9,71.1 +History,Grade 8,90.5 +Physics,Grade 8,78.2 +Physics,Grade 9,84.3 +Biology,Grade 9,63.0 +Chemistry,Grade 9,84.0 +Mathematics,Grade 8,82.5 +History,Grade 7,73.0 +Physics,Grade 7,49.4 +Chemistry,Grade 9,77.4 +Physics,Grade 8,66.4 +Mathematics,Grade 8,47.4 +Biology,Grade 7,84.8 +Chemistry,Grade 9,79.3 +Physics,Grade 9,78.4 +Biology,Grade 9,77.6 +Physics,Grade 9,94.8 +Chemistry,Grade 7,65.5 +Chemistry,Grade 8,93.1 +Biology,Grade 8,79.7 +Physics,Grade 7,74.0 +Chemistry,Grade 7,72.3 +Chemistry,Grade 7,57.3 +Chemistry,Grade 7,70.8 +History,Grade 9,64.0 +Mathematics,Grade 8,69.0 +Biology,Grade 7,66.9 +Mathematics,Grade 8,73.6 +Biology,Grade 9,76.7 +Physics,Grade 8,61.4 +Biology,Grade 7,92.4 +Chemistry,Grade 7,74.9 +History,Grade 8,75.5 +Chemistry,Grade 7,60.6 +Mathematics,Grade 9,75.3 +Mathematics,Grade 9,86.1 +History,Grade 8,91.9 +Mathematics,Grade 9,73.2 +Biology,Grade 9,77.7 +History,Grade 9,77.0 +Mathematics,Grade 8,85.6 +Mathematics,Grade 7,54.4 +Mathematics,Grade 8,67.9 +Biology,Grade 7,79.7 +Chemistry,Grade 9,71.2 +Physics,Grade 9,96.4 +Biology,Grade 9,86.5 +Mathematics,Grade 7,59.4 +Physics,Grade 9,73.0 +History,Grade 7,82.5 +Biology,Grade 7,61.9 +Biology,Grade 7,86.2 +Chemistry,Grade 8,63.6 +History,Grade 8,85.6 +History,Grade 7,82.9 +Physics,Grade 9,85.3 +Chemistry,Grade 9,58.2 +Physics,Grade 7,69.5 +Chemistry,Grade 9,79.5 +Physics,Grade 7,56.2 +Physics,Grade 7,52.5 +Mathematics,Grade 8,78.1 +Mathematics,Grade 9,69.2 +Chemistry,Grade 9,91.9 +Physics,Grade 7,53.7 +History,Grade 8,100.0 +Mathematics,Grade 7,66.6 +Physics,Grade 8,68.7 +Biology,Grade 8,80.3 +History,Grade 9,92.5 +Chemistry,Grade 8,75.2 +Physics,Grade 7,65.2 +History,Grade 8,70.5 +History,Grade 8,64.0 +History,Grade 7,96.3 +Physics,Grade 7,68.6 +History,Grade 8,96.6 +History,Grade 9,84.8 +Mathematics,Grade 7,56.2 +Physics,Grade 9,95.7 +Biology,Grade 7,55.1 +History,Grade 8,83.2 +Chemistry,Grade 8,42.2 +History,Grade 8,76.9 +Biology,Grade 8,78.3 +Chemistry,Grade 8,90.6 +Physics,Grade 9,80.4 +Physics,Grade 8,69.4 +History,Grade 9,80.9 +Chemistry,Grade 8,64.1 +History,Grade 9,81.1 +Mathematics,Grade 7,73.1 +Chemistry,Grade 9,88.5 +Biology,Grade 9,60.7 +Biology,Grade 9,84.9 +History,Grade 8,83.4 +History,Grade 8,70.9 +History,Grade 7,67.3 +Chemistry,Grade 8,59.9 +Biology,Grade 9,69.2 +History,Grade 7,58.4 +Physics,Grade 8,70.1 +History,Grade 8,80.7 +Chemistry,Grade 7,79.9 +History,Grade 7,60.4 +Biology,Grade 9,73.6 +Biology,Grade 9,91.5 +Chemistry,Grade 9,68.3 +Mathematics,Grade 7,43.8 +History,Grade 8,85.0 +Mathematics,Grade 8,56.9 +Biology,Grade 8,87.4 +Physics,Grade 8,54.9 +Physics,Grade 7,62.7 +Physics,Grade 7,73.5 +Mathematics,Grade 9,82.8 +Mathematics,Grade 8,76.7 +Physics,Grade 7,68.3 +Biology,Grade 8,62.9 +Biology,Grade 8,68.3 +History,Grade 8,70.4 +Physics,Grade 8,83.0 +Biology,Grade 7,79.3 +Chemistry,Grade 8,75.0 +Physics,Grade 9,70.4 +Mathematics,Grade 8,76.0 +Chemistry,Grade 7,67.2 +History,Grade 9,81.5 +Biology,Grade 7,73.7 +History,Grade 7,95.3 +Chemistry,Grade 7,33.6 +Physics,Grade 9,78.9 +Biology,Grade 8,56.0 +Biology,Grade 7,52.8 +Biology,Grade 7,70.3 +Mathematics,Grade 7,72.0 +Mathematics,Grade 8,76.5 +Chemistry,Grade 9,64.6 +History,Grade 9,91.3 +Chemistry,Grade 7,55.7 +Physics,Grade 9,73.3 +Biology,Grade 8,87.4 +Physics,Grade 8,78.8 +Biology,Grade 8,75.9 +Mathematics,Grade 8,58.6 +History,Grade 7,80.3 +Biology,Grade 7,93.2 +Chemistry,Grade 8,69.5 +History,Grade 8,87.6 +Mathematics,Grade 9,88.3 +Mathematics,Grade 9,52.3 +Mathematics,Grade 9,71.9 +Biology,Grade 7,68.2 +Physics,Grade 9,76.5 +Physics,Grade 9,65.4 +Mathematics,Grade 9,79.8 +History,Grade 8,88.3 +History,Grade 8,70.6 +History,Grade 8,80.0 +Biology,Grade 7,94.0 +Mathematics,Grade 9,59.6 +Biology,Grade 7,76.9 +Chemistry,Grade 9,68.1 +Physics,Grade 8,53.3 +Physics,Grade 8,80.4 +Chemistry,Grade 8,69.7 +Mathematics,Grade 9,74.7 +Chemistry,Grade 9,63.9 +Mathematics,Grade 7,67.3 +Mathematics,Grade 9,68.8 +Biology,Grade 7,59.9 +Chemistry,Grade 8,62.9 +Physics,Grade 7,65.0 +Mathematics,Grade 9,94.2 +Physics,Grade 8,60.8 +Chemistry,Grade 8,71.6 +Biology,Grade 7,65.5 +Biology,Grade 9,93.0 +History,Grade 7,78.1 +Physics,Grade 7,47.8 +Biology,Grade 9,77.4 +Chemistry,Grade 9,66.6 +History,Grade 8,63.7 +Chemistry,Grade 9,62.8 +Chemistry,Grade 8,79.7 +Chemistry,Grade 9,39.5 +Physics,Grade 9,74.3 +Chemistry,Grade 7,68.2 +Chemistry,Grade 7,79.3 +History,Grade 7,63.3 +Mathematics,Grade 7,57.6 +Chemistry,Grade 9,76.6 +Chemistry,Grade 9,76.3 +Mathematics,Grade 7,79.5 +Physics,Grade 7,58.7 +History,Grade 8,73.1 +History,Grade 7,77.7 +Mathematics,Grade 8,71.5 +Mathematics,Grade 9,74.4 +Chemistry,Grade 9,95.0 +Chemistry,Grade 9,73.7 +Mathematics,Grade 8,92.8 +Chemistry,Grade 7,56.5 +Mathematics,Grade 7,58.4 +History,Grade 9,72.3 +Chemistry,Grade 8,56.9 +Chemistry,Grade 7,67.7 +Mathematics,Grade 8,79.6 +Biology,Grade 7,84.5 +History,Grade 8,78.2 +Chemistry,Grade 8,69.3 +Physics,Grade 7,49.0 +Chemistry,Grade 9,71.1 +Mathematics,Grade 9,81.6 +Chemistry,Grade 8,62.7 +Mathematics,Grade 8,69.7 +Biology,Grade 7,68.0 +Biology,Grade 7,55.3 +Chemistry,Grade 7,61.6 +Chemistry,Grade 9,71.9 +Physics,Grade 8,65.1 +History,Grade 8,60.4 +Chemistry,Grade 7,64.9 +History,Grade 9,84.0 +Physics,Grade 7,38.9 +Biology,Grade 7,58.6 +Physics,Grade 8,67.1 +Chemistry,Grade 8,93.8 +Physics,Grade 9,57.4 +Chemistry,Grade 7,60.1 +Mathematics,Grade 9,75.9 +Biology,Grade 7,63.8 +Physics,Grade 7,76.2 +History,Grade 8,77.8 +Physics,Grade 8,51.1 +History,Grade 9,79.9 +Mathematics,Grade 9,79.6 +Biology,Grade 7,74.7 +Chemistry,Grade 8,73.9 +History,Grade 7,85.1 +Chemistry,Grade 8,64.1 +Mathematics,Grade 7,46.9 +History,Grade 8,76.9 +Mathematics,Grade 7,55.3 +Physics,Grade 8,69.4 +Biology,Grade 7,61.9 +Physics,Grade 8,75.4 +History,Grade 7,82.6 +Physics,Grade 8,72.3 +History,Grade 7,80.6 +Chemistry,Grade 7,77.4 +Biology,Grade 9,89.1 +Biology,Grade 8,82.1 +Mathematics,Grade 8,72.3 +Chemistry,Grade 7,68.2 +Physics,Grade 9,64.6 +Chemistry,Grade 7,50.7 +History,Grade 7,77.5 +History,Grade 8,72.1 +Chemistry,Grade 7,64.7 +Chemistry,Grade 7,77.5 +Biology,Grade 7,75.9 +History,Grade 7,81.1 +Chemistry,Grade 9,65.6 +Mathematics,Grade 9,80.4 +Biology,Grade 7,69.9 +History,Grade 8,66.2 +Chemistry,Grade 7,76.0 +Biology,Grade 7,82.0 +Chemistry,Grade 9,77.3 +Mathematics,Grade 8,91.2 +Chemistry,Grade 7,55.6 +History,Grade 8,78.6 +Biology,Grade 7,64.0 +Physics,Grade 9,75.6 +Mathematics,Grade 8,80.7 +Biology,Grade 8,74.8 +Mathematics,Grade 8,64.2 +History,Grade 7,69.2 +Mathematics,Grade 9,90.0 +Chemistry,Grade 9,80.7 +Biology,Grade 9,93.5 +Mathematics,Grade 7,55.0 +Physics,Grade 9,63.5 +Physics,Grade 8,57.5 +Biology,Grade 7,64.3 +Biology,Grade 7,56.2 +Chemistry,Grade 7,51.1 +Mathematics,Grade 9,69.4 +Chemistry,Grade 8,64.5 +Biology,Grade 9,71.4 +Chemistry,Grade 8,67.3 +Mathematics,Grade 7,54.9 +History,Grade 8,87.3 +Physics,Grade 7,53.6 +Biology,Grade 9,84.4 +Mathematics,Grade 9,69.9 +Chemistry,Grade 9,63.0 +Chemistry,Grade 8,75.3 +Physics,Grade 9,73.7 +Chemistry,Grade 9,69.8 +Physics,Grade 7,37.4 +Biology,Grade 9,100.0 +History,Grade 7,68.4 +Physics,Grade 7,63.8 +Mathematics,Grade 7,62.5 +Chemistry,Grade 9,69.4 +Mathematics,Grade 7,73.4 +Mathematics,Grade 8,81.1 +History,Grade 7,65.2 +Physics,Grade 9,74.4 +History,Grade 7,62.8 +Physics,Grade 9,91.6 +Biology,Grade 7,82.8 +Physics,Grade 7,62.2 +Physics,Grade 7,72.9 +History,Grade 9,70.9 +Chemistry,Grade 8,59.7 +History,Grade 7,76.3 +History,Grade 9,100.0 +History,Grade 7,57.7 +Chemistry,Grade 8,72.4 +Physics,Grade 9,75.3 +Mathematics,Grade 8,77.5 +Mathematics,Grade 7,58.3 +Mathematics,Grade 7,77.6 +History,Grade 8,89.5 +History,Grade 7,74.9 +Chemistry,Grade 9,77.5 +Biology,Grade 8,70.5 +Mathematics,Grade 7,72.5 +Biology,Grade 9,61.1 +Biology,Grade 7,71.8 +History,Grade 8,60.0 +History,Grade 9,88.3 +Mathematics,Grade 7,85.2 +Chemistry,Grade 8,74.4 +Biology,Grade 8,86.1 +Physics,Grade 9,65.6 +Mathematics,Grade 8,55.9 +Chemistry,Grade 7,69.1 +Physics,Grade 7,51.6 +History,Grade 8,73.0 +History,Grade 8,77.7 +Chemistry,Grade 7,71.3 +History,Grade 9,76.2 +Physics,Grade 7,62.0 +Biology,Grade 7,64.1 +Physics,Grade 7,71.5 +Biology,Grade 8,62.5 +Biology,Grade 7,67.5 +Chemistry,Grade 8,53.6 +Chemistry,Grade 8,49.6 +Physics,Grade 7,82.8 +History,Grade 8,99.3 +Biology,Grade 7,64.9 +Mathematics,Grade 7,85.6 +Biology,Grade 7,83.8 +Chemistry,Grade 9,59.4 +Chemistry,Grade 8,54.8 +Biology,Grade 7,59.1 +Physics,Grade 9,62.7 +Biology,Grade 8,80.0 +History,Grade 7,56.9 +Mathematics,Grade 9,93.6 +Biology,Grade 8,74.6 +Physics,Grade 9,61.9 +History,Grade 8,93.9 +Mathematics,Grade 9,64.5 +Physics,Grade 8,61.8 +Chemistry,Grade 7,61.4 +Chemistry,Grade 9,65.4 +Physics,Grade 9,78.8 +Biology,Grade 8,81.8 +Physics,Grade 8,60.8 +Biology,Grade 8,82.3 +Physics,Grade 8,58.1 +Biology,Grade 8,90.0 +Chemistry,Grade 7,80.3 +History,Grade 9,97.5 +Biology,Grade 8,70.7 +Physics,Grade 8,62.0 +History,Grade 9,78.1 +Chemistry,Grade 8,60.7 +Biology,Grade 9,88.7 +Chemistry,Grade 9,83.6 +History,Grade 9,86.1 +Chemistry,Grade 8,63.1 +History,Grade 9,59.5 +Physics,Grade 9,89.5 +Biology,Grade 9,75.9 +Chemistry,Grade 7,59.7 +Physics,Grade 7,75.5 +Biology,Grade 8,85.6 +Physics,Grade 7,69.0 +Mathematics,Grade 7,73.3 +Mathematics,Grade 7,79.3 +History,Grade 7,68.2 +Physics,Grade 8,67.9 +Physics,Grade 7,50.6 +Chemistry,Grade 9,83.2 +Physics,Grade 8,66.2 +Chemistry,Grade 9,61.2 +Chemistry,Grade 9,63.0 +Biology,Grade 7,79.8 +Mathematics,Grade 7,72.2 +History,Grade 7,88.0 +History,Grade 8,73.2 +History,Grade 7,61.3 +History,Grade 9,91.6 +Mathematics,Grade 8,85.5 +Mathematics,Grade 7,75.0 +Mathematics,Grade 8,63.4 +Chemistry,Grade 9,63.2 +History,Grade 8,63.7 +History,Grade 9,70.4 +Physics,Grade 7,54.5 +History,Grade 8,84.6 +Biology,Grade 9,75.0 +Physics,Grade 9,72.4 +History,Grade 9,80.1 +History,Grade 9,73.1 +Chemistry,Grade 9,67.2 +Biology,Grade 7,71.7 +History,Grade 8,73.9 +Biology,Grade 8,59.7 +Biology,Grade 7,66.4 +Biology,Grade 9,89.4 +Mathematics,Grade 8,51.9 +History,Grade 8,86.4 +History,Grade 9,77.9 +Biology,Grade 7,72.4 +Mathematics,Grade 8,88.9 +Chemistry,Grade 7,78.3 +History,Grade 8,79.8 +Biology,Grade 8,80.0 +Biology,Grade 7,75.5 +Chemistry,Grade 8,55.2 +Chemistry,Grade 8,77.9 +Mathematics,Grade 8,59.2 +Physics,Grade 7,56.4 +Mathematics,Grade 7,57.5 +Biology,Grade 7,63.7 +Biology,Grade 8,81.9 +Mathematics,Grade 8,84.0 +Biology,Grade 9,73.8 +Biology,Grade 7,85.4 +Physics,Grade 9,59.0 +History,Grade 8,97.2 +History,Grade 9,73.3 +Chemistry,Grade 9,61.9 +Physics,Grade 9,67.8 +History,Grade 8,82.9 +Biology,Grade 7,96.7 +Mathematics,Grade 7,43.9 +Chemistry,Grade 9,69.5 +Mathematics,Grade 8,61.6 +Physics,Grade 9,79.6 +Physics,Grade 8,61.1 +Chemistry,Grade 7,75.3 +Physics,Grade 8,58.1 +Biology,Grade 8,71.2 +Mathematics,Grade 9,55.7 +Biology,Grade 9,69.4 +Physics,Grade 8,45.6 +History,Grade 7,72.9 +Mathematics,Grade 7,55.3 +Mathematics,Grade 9,64.1 +Chemistry,Grade 9,73.1 +Biology,Grade 8,86.5 +History,Grade 7,86.6 +Chemistry,Grade 7,72.7 +Chemistry,Grade 8,57.1 +Physics,Grade 7,57.1 +Physics,Grade 7,67.1 +Biology,Grade 9,100.0 +Biology,Grade 8,66.2 +History,Grade 9,77.6 +Chemistry,Grade 8,76.6 +Biology,Grade 9,68.8 +Chemistry,Grade 8,60.6 +Chemistry,Grade 9,81.9 +Biology,Grade 7,67.3 +Biology,Grade 7,64.7 +Chemistry,Grade 8,66.3 +History,Grade 9,69.5 +History,Grade 8,73.0 +Physics,Grade 7,71.8 +History,Grade 7,86.3 +Biology,Grade 8,79.8 +Mathematics,Grade 7,60.8 +Biology,Grade 8,91.5 +Biology,Grade 8,82.7 +Chemistry,Grade 7,76.4 +Biology,Grade 7,68.7 +Biology,Grade 7,60.5 +History,Grade 8,85.7 +History,Grade 8,77.8 +Biology,Grade 9,78.4 +Mathematics,Grade 9,69.5 +Mathematics,Grade 9,74.4 +Chemistry,Grade 8,42.9 +Mathematics,Grade 8,74.1 +Biology,Grade 8,75.0 +Mathematics,Grade 8,63.4 +History,Grade 9,76.3 +Chemistry,Grade 7,65.5 +Physics,Grade 7,80.4 +History,Grade 7,72.8 +Chemistry,Grade 8,56.9 +Mathematics,Grade 7,62.1 +History,Grade 7,69.0 +Mathematics,Grade 8,74.7 +Physics,Grade 9,79.9 +Physics,Grade 8,65.8 +Mathematics,Grade 7,71.7 +Biology,Grade 8,60.5 +History,Grade 7,86.3 +Physics,Grade 8,77.0 +Biology,Grade 8,71.0 +Chemistry,Grade 7,60.5 +Biology,Grade 9,58.3 +Mathematics,Grade 7,60.0 +Mathematics,Grade 9,64.8 +Mathematics,Grade 7,73.3 +Biology,Grade 7,85.6 +History,Grade 8,67.5 +Chemistry,Grade 8,69.5 +Biology,Grade 7,74.8 +Mathematics,Grade 8,65.6 +Biology,Grade 9,83.0 +Mathematics,Grade 7,54.1 +Chemistry,Grade 7,68.0 +Mathematics,Grade 9,74.4 +Biology,Grade 7,78.7 +Biology,Grade 8,71.5 +Mathematics,Grade 7,61.5 +History,Grade 9,86.8 +History,Grade 9,100.0 +History,Grade 9,83.8 +Mathematics,Grade 9,60.9 +History,Grade 9,93.8 +Chemistry,Grade 8,68.1 +Chemistry,Grade 9,66.0 +Biology,Grade 8,85.4 +Biology,Grade 9,70.4 +History,Grade 9,69.6 +Mathematics,Grade 9,72.9 +Mathematics,Grade 7,93.1 +Biology,Grade 8,78.6 +History,Grade 9,59.2 +Mathematics,Grade 9,81.0 +Physics,Grade 9,58.4 +Biology,Grade 7,78.3 +Chemistry,Grade 8,69.1 +Biology,Grade 9,66.8 +Mathematics,Grade 8,56.0 +Mathematics,Grade 9,63.2 +Chemistry,Grade 9,71.6 +Physics,Grade 8,59.7 +Biology,Grade 7,77.4 +Physics,Grade 9,61.2 +History,Grade 9,75.5 +Mathematics,Grade 8,41.9 +Physics,Grade 7,65.4 +History,Grade 9,84.2 +Mathematics,Grade 9,66.2 +Physics,Grade 7,78.0 +Mathematics,Grade 9,84.3 +History,Grade 7,95.0 +Mathematics,Grade 8,62.6 +Biology,Grade 8,79.0 +Mathematics,Grade 8,75.4 +Mathematics,Grade 9,69.7 +History,Grade 9,79.6 +Mathematics,Grade 9,76.3 +Physics,Grade 7,68.8 +History,Grade 7,76.1 +Mathematics,Grade 9,49.5 +Physics,Grade 7,63.2 +Mathematics,Grade 9,75.5 +Biology,Grade 7,81.8 +Mathematics,Grade 8,69.0 +History,Grade 7,91.3 +Biology,Grade 7,83.1 +Biology,Grade 8,83.6 +Chemistry,Grade 8,80.9 +Mathematics,Grade 8,63.4 +Mathematics,Grade 8,67.0 +Physics,Grade 8,86.4 +Mathematics,Grade 8,77.8 +Mathematics,Grade 7,84.7 +Mathematics,Grade 9,66.3 +History,Grade 9,98.9 +History,Grade 7,83.1 +Mathematics,Grade 8,58.1 +Biology,Grade 9,69.7 +Chemistry,Grade 8,53.5 +History,Grade 8,72.2 +Biology,Grade 8,53.8 +Biology,Grade 9,65.2 +Mathematics,Grade 9,80.5 +Chemistry,Grade 8,76.2 +Mathematics,Grade 8,81.9 +History,Grade 8,79.2 +History,Grade 8,84.2 +Chemistry,Grade 7,64.1 +Physics,Grade 9,83.1 +Biology,Grade 8,59.4 +Mathematics,Grade 8,56.7 +Mathematics,Grade 9,62.0 +Biology,Grade 8,63.4 +Physics,Grade 9,70.9 +Biology,Grade 8,62.2 +Biology,Grade 7,71.1 +History,Grade 7,74.9 +History,Grade 7,65.1 +Chemistry,Grade 8,73.0 +Physics,Grade 7,61.0 +History,Grade 9,86.2 +History,Grade 7,68.2 +Physics,Grade 7,46.9 +Physics,Grade 9,61.2 +Mathematics,Grade 8,95.5 +Chemistry,Grade 7,89.7 +History,Grade 7,69.6 +Chemistry,Grade 8,69.1 +Biology,Grade 7,69.1 +Biology,Grade 7,86.7 +Chemistry,Grade 8,69.7 +History,Grade 7,66.2 +Chemistry,Grade 9,71.2 +Chemistry,Grade 9,73.1 +Chemistry,Grade 7,42.9 +Chemistry,Grade 7,53.9 +History,Grade 9,100.0 +Chemistry,Grade 7,60.8 +Chemistry,Grade 9,68.7 +Physics,Grade 8,74.4 +Mathematics,Grade 7,44.2 +History,Grade 7,94.1 +Chemistry,Grade 7,63.8 +Chemistry,Grade 9,96.0 +Mathematics,Grade 9,75.9 +Chemistry,Grade 9,82.1 +Mathematics,Grade 8,74.8 +History,Grade 7,84.6 +Physics,Grade 9,71.1 +Physics,Grade 8,88.5 diff --git a/agents/evals/fixtures/cases/bar-grouped-seaborn-renamed/case.json b/agents/evals/fixtures/cases/bar-grouped-seaborn-renamed/case.json new file mode 100644 index 0000000000..0cc846b7e5 --- /dev/null +++ b/agents/evals/fixtures/cases/bar-grouped-seaborn-renamed/case.json @@ -0,0 +1,29 @@ +{ + "spec_id": "bar-grouped", + "library": "seaborn", + "locale": "de", + "perturbation": "renamed", + "bindings": [ + { + "role": "category", + "column": "Fach" + }, + { + "role": "group", + "column": "Jahrgangsstufe" + }, + { + "role": "value", + "column": "Punkte (Ø)" + } + ], + "expected": "accepted", + "tags": [ + "bar", + "renamed", + "synthetic", + "renamed-headers", + "non-ascii-headers" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 303, renamed)" +} diff --git a/agents/evals/fixtures/cases/bar-grouped-seaborn-renamed/data.csv b/agents/evals/fixtures/cases/bar-grouped-seaborn-renamed/data.csv new file mode 100644 index 0000000000..8bbc890c19 --- /dev/null +++ b/agents/evals/fixtures/cases/bar-grouped-seaborn-renamed/data.csv @@ -0,0 +1,16 @@ +Fach,Jahrgangsstufe,Punkte (Ø) +Mathematics,Grade 7,66.1 +Mathematics,Grade 8,69.9 +Mathematics,Grade 9,71.8 +Physics,Grade 7,64.6 +Physics,Grade 8,65.3 +Physics,Grade 9,74.1 +Chemistry,Grade 7,63.4 +Chemistry,Grade 8,66.5 +Chemistry,Grade 9,68.7 +Biology,Grade 7,73.0 +Biology,Grade 8,72.1 +Biology,Grade 9,80.7 +History,Grade 7,73.0 +History,Grade 8,79.9 +History,Grade 9,85.8 diff --git a/agents/evals/fixtures/cases/bar-grouped-seaborn-x10/case.json b/agents/evals/fixtures/cases/bar-grouped-seaborn-x10/case.json new file mode 100644 index 0000000000..ccec6071f9 --- /dev/null +++ b/agents/evals/fixtures/cases/bar-grouped-seaborn-x10/case.json @@ -0,0 +1,28 @@ +{ + "spec_id": "bar-grouped", + "library": "seaborn", + "locale": "en", + "perturbation": "x10", + "bindings": [ + { + "role": "category", + "column": "Subject" + }, + { + "role": "group", + "column": "Grade Level" + }, + { + "role": "value", + "column": "Test Score" + } + ], + "expected": "accepted", + "tags": [ + "bar", + "x10", + "synthetic", + "scaled-values" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 303, x10)" +} diff --git a/agents/evals/fixtures/cases/bar-grouped-seaborn-x10/data.csv b/agents/evals/fixtures/cases/bar-grouped-seaborn-x10/data.csv new file mode 100644 index 0000000000..8bb5979214 --- /dev/null +++ b/agents/evals/fixtures/cases/bar-grouped-seaborn-x10/data.csv @@ -0,0 +1,16 @@ +Subject,Grade Level,Test Score +Mathematics,Grade 7,660.8 +Mathematics,Grade 8,698.8 +Mathematics,Grade 9,718.1 +Physics,Grade 7,645.9 +Physics,Grade 8,653.1 +Physics,Grade 9,740.6 +Chemistry,Grade 7,633.8 +Chemistry,Grade 8,664.8 +Chemistry,Grade 9,687.1 +Biology,Grade 7,730.0 +Biology,Grade 8,720.9 +Biology,Grade 9,806.7 +History,Grade 7,730.3 +History,Grade 8,798.6 +History,Grade 9,858.1 diff --git a/agents/evals/fixtures/cases/bar-grouped-seaborn/case.json b/agents/evals/fixtures/cases/bar-grouped-seaborn/case.json index 70b01c03ab..760662adef 100644 --- a/agents/evals/fixtures/cases/bar-grouped-seaborn/case.json +++ b/agents/evals/fixtures/cases/bar-grouped-seaborn/case.json @@ -8,5 +8,6 @@ {"role": "value", "column": "Revenue (kEUR)"} ], "expected": "accepted", - "tags": ["categorical", "four-groups", "palette-extension", "german-locale"] + "tags": ["categorical", "four-groups", "palette-extension", "german-locale", "smoke"], + "source": "hand-written synthetic data" } diff --git a/agents/evals/fixtures/cases/box-basic-matplotlib-date/case.json b/agents/evals/fixtures/cases/box-basic-matplotlib-date/case.json new file mode 100644 index 0000000000..0887c547b8 --- /dev/null +++ b/agents/evals/fixtures/cases/box-basic-matplotlib-date/case.json @@ -0,0 +1,27 @@ +{ + "spec_id": "box-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "date", + "bindings": [ + { + "role": "category", + "column": "Production Line" + }, + { + "role": "value", + "column": "Fill Weight (g)" + } + ], + "expected": "accepted", + "tags": [ + "box", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates", + "smoke" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 505, date)" +} diff --git a/agents/evals/fixtures/cases/box-basic-matplotlib-date/data.csv b/agents/evals/fixtures/cases/box-basic-matplotlib-date/data.csv new file mode 100644 index 0000000000..523541979b --- /dev/null +++ b/agents/evals/fixtures/cases/box-basic-matplotlib-date/data.csv @@ -0,0 +1,241 @@ +Production Line,Fill Weight (g),Shift Date,Checked On +Line A,501.9,20.01.2026,2026-01-22 +Line B,498.7,26.05.2026,2026-05-27 +Line C,499.7,19.02.2026,2026-02-19 +Line D,500.5,09.05.2026,2026-05-09 +Line A,500.1,27.01.2026,2026-01-31 +Line B,500.8,10.02.2026,2026-02-13 +Line C,500.1,02.03.2026,2026-03-04 +Line D,501.4,13.06.2026,2026-06-13 +Line A,501.2,25.02.2026,2026-02-27 +Line B,499.3,29.06.2026,2026-07-03 +Line C,498.1,22.02.2026,2026-02-26 +Line D,501.0,02.02.2026,2026-02-06 +Line A,494.0,28.04.2026,2026-04-30 +Line B,496.2,12.05.2026,2026-05-12 +Line C,500.1,10.06.2026,2026-06-12 +Line D,500.4,25.01.2026,2026-01-26 +Line A,500.5,20.04.2026,2026-04-22 +Line B,501.6,19.04.2026,2026-04-22 +Line C,500.7,13.04.2026,2026-04-16 +Line D,502.7,16.02.2026,2026-02-16 +Line A,499.0,17.03.2026,2026-03-18 +Line B,502.0,26.03.2026,2026-03-26 +Line C,500.6,20.01.2026,2026-01-21 +Line D,503.4,13.06.2026,2026-06-16 +Line A,499.8,14.03.2026,2026-03-17 +Line B,500.2,24.04.2026,2026-04-28 +Line C,499.5,09.04.2026,2026-04-09 +Line D,500.9,15.02.2026,2026-02-16 +Line A,501.1,01.06.2026,2026-06-03 +Line B,503.8,18.01.2026,2026-01-20 +Line C,498.2,08.03.2026,2026-03-10 +Line D,502.6,23.05.2026,2026-05-25 +Line A,501.3,24.01.2026,2026-01-25 +Line B,503.9,26.03.2026,2026-03-29 +Line C,498.2,14.02.2026,2026-02-18 +Line D,500.8,07.01.2026,2026-01-10 +Line A,498.2,12.01.2026,2026-01-15 +Line B,502.1,25.05.2026,2026-05-29 +Line C,500.8,19.04.2026,2026-04-22 +Line D,502.4,24.06.2026,2026-06-27 +Line A,501.6,07.01.2026,2026-01-08 +Line B,499.6,18.05.2026,2026-05-21 +Line C,500.2,20.01.2026,2026-01-22 +Line D,500.6,23.06.2026,2026-06-27 +Line A,499.5,12.03.2026,2026-03-12 +Line B,496.6,19.01.2026,2026-01-22 +Line C,499.5,17.03.2026,2026-03-18 +Line D,501.8,29.06.2026,2026-07-02 +Line A,499.5,20.01.2026,2026-01-20 +Line B,501.2,10.04.2026,2026-04-12 +Line C,497.4,01.02.2026,2026-02-05 +Line D,503.8,11.05.2026,2026-05-11 +Line A,499.4,09.02.2026,2026-02-12 +Line B,505.5,26.01.2026,2026-01-26 +Line C,500.6,21.06.2026,2026-06-22 +Line D,502.4,10.06.2026,2026-06-13 +Line A,502.6,16.02.2026,2026-02-16 +Line B,501.9,08.02.2026,2026-02-12 +Line C,499.7,12.03.2026,2026-03-15 +Line D,503.4,28.01.2026,2026-01-31 +Line A,499.9,13.01.2026,2026-01-14 +Line B,502.5,23.04.2026,2026-04-27 +Line C,503.7,13.04.2026,2026-04-17 +Line D,502.3,24.06.2026,2026-06-24 +Line A,499.3,07.06.2026,2026-06-08 +Line B,499.3,17.04.2026,2026-04-17 +Line C,497.6,05.05.2026,2026-05-06 +Line D,502.2,27.03.2026,2026-03-27 +Line A,501.8,19.03.2026,2026-03-21 +Line B,503.1,13.05.2026,2026-05-16 +Line C,497.4,07.01.2026,2026-01-08 +Line D,502.7,06.01.2026,2026-01-06 +Line A,502.6,23.02.2026,2026-02-25 +Line B,500.1,20.02.2026,2026-02-23 +Line C,501.0,29.03.2026,2026-03-31 +Line D,503.3,22.04.2026,2026-04-26 +Line A,502.0,31.05.2026,2026-06-03 +Line B,496.4,30.06.2026,2026-07-02 +Line C,499.8,31.03.2026,2026-04-04 +Line D,501.9,30.01.2026,2026-01-31 +Line A,500.6,27.01.2026,2026-01-27 +Line B,498.9,02.06.2026,2026-06-06 +Line C,502.8,26.05.2026,2026-05-26 +Line D,501.7,04.04.2026,2026-04-07 +Line A,501.7,06.03.2026,2026-03-06 +Line B,503.0,24.06.2026,2026-06-25 +Line C,498.9,25.04.2026,2026-04-29 +Line D,502.2,15.01.2026,2026-01-15 +Line A,502.2,12.06.2026,2026-06-15 +Line B,498.6,23.02.2026,2026-02-25 +Line C,497.3,18.06.2026,2026-06-21 +Line D,501.8,15.06.2026,2026-06-18 +Line A,501.6,02.07.2026,2026-07-02 +Line B,500.0,25.03.2026,2026-03-25 +Line C,500.7,22.06.2026,2026-06-26 +Line D,501.7,09.02.2026,2026-02-09 +Line A,498.8,07.01.2026,2026-01-09 +Line B,500.9,12.06.2026,2026-06-13 +Line C,498.0,08.02.2026,2026-02-11 +Line D,502.1,19.01.2026,2026-01-23 +Line A,498.5,08.04.2026,2026-04-10 +Line B,502.2,01.06.2026,2026-06-03 +Line C,499.8,28.01.2026,2026-01-30 +Line D,501.6,05.02.2026,2026-02-07 +Line A,499.1,17.06.2026,2026-06-18 +Line B,499.8,20.05.2026,2026-05-23 +Line C,496.6,22.05.2026,2026-05-23 +Line D,502.4,02.04.2026,2026-04-02 +Line A,498.5,11.04.2026,2026-04-11 +Line B,499.5,26.06.2026,2026-06-27 +Line C,497.9,21.05.2026,2026-05-25 +Line D,503.3,02.02.2026,2026-02-05 +Line A,499.9,19.04.2026,2026-04-19 +Line B,501.0,15.01.2026,2026-01-19 +Line C,498.1,12.01.2026,2026-01-12 +Line D,503.6,06.02.2026,2026-02-08 +Line A,503.2,15.05.2026,2026-05-16 +Line B,502.3,20.04.2026,2026-04-21 +Line C,499.4,08.06.2026,2026-06-12 +Line D,494.3,02.04.2026,2026-04-03 +Line A,501.4,30.03.2026,2026-03-30 +Line B,501.9,08.04.2026,2026-04-11 +Line C,498.4,09.02.2026,2026-02-13 +Line D,500.3,13.01.2026,2026-01-14 +Line A,493.6,09.06.2026,2026-06-11 +Line B,501.1,05.06.2026,2026-06-06 +Line C,499.6,27.03.2026,2026-03-30 +Line D,502.3,17.02.2026,2026-02-19 +Line A,500.4,30.05.2026,2026-06-02 +Line B,501.0,10.05.2026,2026-05-11 +Line C,498.2,20.04.2026,2026-04-22 +Line D,502.3,13.05.2026,2026-05-17 +Line A,499.0,22.02.2026,2026-02-26 +Line B,500.4,14.06.2026,2026-06-16 +Line C,500.1,07.06.2026,2026-06-07 +Line D,502.6,08.06.2026,2026-06-12 +Line A,500.2,06.02.2026,2026-02-09 +Line B,500.0,18.01.2026,2026-01-18 +Line C,499.6,14.01.2026,2026-01-17 +Line D,502.4,27.03.2026,2026-03-29 +Line A,499.0,13.01.2026,2026-01-13 +Line B,500.9,22.04.2026,2026-04-22 +Line C,500.3,01.05.2026,2026-05-03 +Line D,501.3,15.04.2026,2026-04-16 +Line A,500.6,28.06.2026,2026-07-02 +Line B,500.1,09.01.2026,2026-01-10 +Line C,497.7,03.06.2026,2026-06-03 +Line D,502.4,10.02.2026,2026-02-14 +Line A,501.5,07.05.2026,2026-05-07 +Line B,501.8,29.01.2026,2026-02-01 +Line C,499.5,16.02.2026,2026-02-19 +Line D,502.0,16.03.2026,2026-03-18 +Line A,501.4,17.01.2026,2026-01-21 +Line B,503.6,14.02.2026,2026-02-16 +Line C,501.9,02.07.2026,2026-07-03 +Line D,503.7,18.02.2026,2026-02-22 +Line A,501.8,02.02.2026,2026-02-02 +Line B,500.7,22.05.2026,2026-05-26 +Line C,498.3,22.05.2026,2026-05-24 +Line D,501.3,01.03.2026,2026-03-03 +Line A,501.8,04.06.2026,2026-06-05 +Line B,501.2,09.06.2026,2026-06-10 +Line C,499.6,28.01.2026,2026-01-28 +Line D,502.6,09.03.2026,2026-03-12 +Line A,500.6,31.03.2026,2026-04-03 +Line B,499.6,29.06.2026,2026-07-03 +Line C,498.3,15.02.2026,2026-02-17 +Line D,502.7,23.04.2026,2026-04-25 +Line A,501.0,26.02.2026,2026-02-26 +Line B,498.9,08.02.2026,2026-02-12 +Line C,499.2,08.02.2026,2026-02-08 +Line D,502.1,04.02.2026,2026-02-04 +Line A,502.7,16.02.2026,2026-02-18 +Line B,502.9,20.06.2026,2026-06-20 +Line C,498.2,31.05.2026,2026-06-01 +Line D,502.2,18.06.2026,2026-06-21 +Line A,498.2,12.02.2026,2026-02-16 +Line B,498.5,23.02.2026,2026-02-27 +Line C,499.2,30.03.2026,2026-04-01 +Line D,502.0,15.05.2026,2026-05-19 +Line A,502.9,18.03.2026,2026-03-19 +Line B,505.2,19.04.2026,2026-04-23 +Line C,497.9,26.04.2026,2026-04-29 +Line D,502.5,01.03.2026,2026-03-02 +Line A,501.6,09.01.2026,2026-01-11 +Line B,501.7,17.05.2026,2026-05-20 +Line C,499.7,23.06.2026,2026-06-27 +Line D,502.9,16.01.2026,2026-01-20 +Line A,500.8,03.03.2026,2026-03-03 +Line B,502.3,16.01.2026,2026-01-18 +Line C,496.7,18.03.2026,2026-03-19 +Line D,502.1,12.06.2026,2026-06-14 +Line A,499.5,24.06.2026,2026-06-26 +Line B,502.1,24.04.2026,2026-04-26 +Line C,500.0,21.06.2026,2026-06-24 +Line D,501.1,23.04.2026,2026-04-27 +Line A,497.8,28.06.2026,2026-06-29 +Line B,499.9,30.06.2026,2026-07-01 +Line C,501.0,12.04.2026,2026-04-14 +Line D,503.2,24.05.2026,2026-05-26 +Line A,503.1,25.01.2026,2026-01-26 +Line B,499.1,12.06.2026,2026-06-12 +Line C,501.0,14.01.2026,2026-01-18 +Line D,500.2,06.03.2026,2026-03-08 +Line A,499.4,22.03.2026,2026-03-22 +Line B,497.9,23.06.2026,2026-06-26 +Line C,499.0,21.03.2026,2026-03-25 +Line D,500.5,29.04.2026,2026-05-01 +Line A,502.4,25.01.2026,2026-01-27 +Line B,500.3,11.01.2026,2026-01-12 +Line C,498.7,02.04.2026,2026-04-03 +Line D,502.0,25.05.2026,2026-05-28 +Line A,500.6,13.05.2026,2026-05-15 +Line B,498.7,21.01.2026,2026-01-25 +Line C,498.1,25.05.2026,2026-05-27 +Line D,500.6,18.06.2026,2026-06-22 +Line A,501.3,08.06.2026,2026-06-12 +Line B,505.4,25.05.2026,2026-05-26 +Line C,498.7,12.04.2026,2026-04-16 +Line D,503.2,07.01.2026,2026-01-09 +Line A,499.5,07.06.2026,2026-06-07 +Line B,502.0,17.06.2026,2026-06-19 +Line C,498.4,06.06.2026,2026-06-06 +Line D,501.3,18.06.2026,2026-06-22 +Line A,501.9,03.02.2026,2026-02-04 +Line B,489.3,23.06.2026,2026-06-24 +Line C,499.0,16.06.2026,2026-06-19 +Line D,502.6,24.04.2026,2026-04-26 +Line A,499.7,24.02.2026,2026-02-24 +Line B,500.0,26.05.2026,2026-05-30 +Line C,498.2,20.02.2026,2026-02-23 +Line D,501.4,06.02.2026,2026-02-10 +Line A,501.4,18.02.2026,2026-02-20 +Line B,506.5,05.05.2026,2026-05-08 +Line C,498.8,26.01.2026,2026-01-29 +Line D,501.7,20.02.2026,2026-02-21 +Line A,499.7,15.02.2026,2026-02-15 +Line B,502.0,14.02.2026,2026-02-18 +Line C,500.5,09.01.2026,2026-01-10 +Line D,501.4,08.04.2026,2026-04-10 diff --git a/agents/evals/fixtures/cases/box-basic-matplotlib-decimal-comma/case.json b/agents/evals/fixtures/cases/box-basic-matplotlib-decimal-comma/case.json new file mode 100644 index 0000000000..ea616d6974 --- /dev/null +++ b/agents/evals/fixtures/cases/box-basic-matplotlib-decimal-comma/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "box-basic", + "library": "matplotlib", + "locale": "de", + "perturbation": "decimal-comma", + "bindings": [ + { + "role": "category", + "column": "Production Line" + }, + { + "role": "value", + "column": "Fill Weight (g)" + } + ], + "expected": "accepted", + "tags": [ + "box", + "decimal-comma", + "synthetic", + "semicolon" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 505, decimal-comma)" +} diff --git a/agents/evals/fixtures/cases/box-basic-matplotlib-decimal-comma/data.csv b/agents/evals/fixtures/cases/box-basic-matplotlib-decimal-comma/data.csv new file mode 100644 index 0000000000..87f3168c06 --- /dev/null +++ b/agents/evals/fixtures/cases/box-basic-matplotlib-decimal-comma/data.csv @@ -0,0 +1,241 @@ +Production Line;Fill Weight (g) +Line A;501,9 +Line B;498,7 +Line C;499,7 +Line D;500,5 +Line A;500,1 +Line B;500,8 +Line C;500,1 +Line D;501,4 +Line A;501,2 +Line B;499,3 +Line C;498,1 +Line D;501,0 +Line A;494,0 +Line B;496,2 +Line C;500,1 +Line D;500,4 +Line A;500,5 +Line B;501,6 +Line C;500,7 +Line D;502,7 +Line A;499,0 +Line B;502,0 +Line C;500,6 +Line D;503,4 +Line A;499,8 +Line B;500,2 +Line C;499,5 +Line D;500,9 +Line A;501,1 +Line B;503,8 +Line C;498,2 +Line D;502,6 +Line A;501,3 +Line B;503,9 +Line C;498,2 +Line D;500,8 +Line A;498,2 +Line B;502,1 +Line C;500,8 +Line D;502,4 +Line A;501,6 +Line B;499,6 +Line C;500,2 +Line D;500,6 +Line A;499,5 +Line B;496,6 +Line C;499,5 +Line D;501,8 +Line A;499,5 +Line B;501,2 +Line C;497,4 +Line D;503,8 +Line A;499,4 +Line B;505,5 +Line C;500,6 +Line D;502,4 +Line A;502,6 +Line B;501,9 +Line C;499,7 +Line D;503,4 +Line A;499,9 +Line B;502,5 +Line C;503,7 +Line D;502,3 +Line A;499,3 +Line B;499,3 +Line C;497,6 +Line D;502,2 +Line A;501,8 +Line B;503,1 +Line C;497,4 +Line D;502,7 +Line A;502,6 +Line B;500,1 +Line C;501,0 +Line D;503,3 +Line A;502,0 +Line B;496,4 +Line C;499,8 +Line D;501,9 +Line A;500,6 +Line B;498,9 +Line C;502,8 +Line D;501,7 +Line A;501,7 +Line B;503,0 +Line C;498,9 +Line D;502,2 +Line A;502,2 +Line B;498,6 +Line C;497,3 +Line D;501,8 +Line A;501,6 +Line B;500,0 +Line C;500,7 +Line D;501,7 +Line A;498,8 +Line B;500,9 +Line C;498,0 +Line D;502,1 +Line A;498,5 +Line B;502,2 +Line C;499,8 +Line D;501,6 +Line A;499,1 +Line B;499,8 +Line C;496,6 +Line D;502,4 +Line A;498,5 +Line B;499,5 +Line C;497,9 +Line D;503,3 +Line A;499,9 +Line B;501,0 +Line C;498,1 +Line D;503,6 +Line A;503,2 +Line B;502,3 +Line C;499,4 +Line D;494,3 +Line A;501,4 +Line B;501,9 +Line C;498,4 +Line D;500,3 +Line A;493,6 +Line B;501,1 +Line C;499,6 +Line D;502,3 +Line A;500,4 +Line B;501,0 +Line C;498,2 +Line D;502,3 +Line A;499,0 +Line B;500,4 +Line C;500,1 +Line D;502,6 +Line A;500,2 +Line B;500,0 +Line C;499,6 +Line D;502,4 +Line A;499,0 +Line B;500,9 +Line C;500,3 +Line D;501,3 +Line A;500,6 +Line B;500,1 +Line C;497,7 +Line D;502,4 +Line A;501,5 +Line B;501,8 +Line C;499,5 +Line D;502,0 +Line A;501,4 +Line B;503,6 +Line C;501,9 +Line D;503,7 +Line A;501,8 +Line B;500,7 +Line C;498,3 +Line D;501,3 +Line A;501,8 +Line B;501,2 +Line C;499,6 +Line D;502,6 +Line A;500,6 +Line B;499,6 +Line C;498,3 +Line D;502,7 +Line A;501,0 +Line B;498,9 +Line C;499,2 +Line D;502,1 +Line A;502,7 +Line B;502,9 +Line C;498,2 +Line D;502,2 +Line A;498,2 +Line B;498,5 +Line C;499,2 +Line D;502,0 +Line A;502,9 +Line B;505,2 +Line C;497,9 +Line D;502,5 +Line A;501,6 +Line B;501,7 +Line C;499,7 +Line D;502,9 +Line A;500,8 +Line B;502,3 +Line C;496,7 +Line D;502,1 +Line A;499,5 +Line B;502,1 +Line C;500,0 +Line D;501,1 +Line A;497,8 +Line B;499,9 +Line C;501,0 +Line D;503,2 +Line A;503,1 +Line B;499,1 +Line C;501,0 +Line D;500,2 +Line A;499,4 +Line B;497,9 +Line C;499,0 +Line D;500,5 +Line A;502,4 +Line B;500,3 +Line C;498,7 +Line D;502,0 +Line A;500,6 +Line B;498,7 +Line C;498,1 +Line D;500,6 +Line A;501,3 +Line B;505,4 +Line C;498,7 +Line D;503,2 +Line A;499,5 +Line B;502,0 +Line C;498,4 +Line D;501,3 +Line A;501,9 +Line B;489,3 +Line C;499,0 +Line D;502,6 +Line A;499,7 +Line B;500,0 +Line C;498,2 +Line D;501,4 +Line A;501,4 +Line B;506,5 +Line C;498,8 +Line D;501,7 +Line A;499,7 +Line B;502,0 +Line C;500,5 +Line D;501,4 diff --git a/agents/evals/fixtures/cases/box-basic-matplotlib-n12/case.json b/agents/evals/fixtures/cases/box-basic-matplotlib-n12/case.json new file mode 100644 index 0000000000..56497294f7 --- /dev/null +++ b/agents/evals/fixtures/cases/box-basic-matplotlib-n12/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "box-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "n12", + "bindings": [ + { + "role": "category", + "column": "Production Line" + }, + { + "role": "value", + "column": "Fill Weight (g)" + } + ], + "expected": "accepted", + "tags": [ + "box", + "n12", + "synthetic", + "small" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 505, n12)" +} diff --git a/agents/evals/fixtures/cases/box-basic-matplotlib-n12/data.csv b/agents/evals/fixtures/cases/box-basic-matplotlib-n12/data.csv new file mode 100644 index 0000000000..9f5cb18a70 --- /dev/null +++ b/agents/evals/fixtures/cases/box-basic-matplotlib-n12/data.csv @@ -0,0 +1,13 @@ +Production Line,Fill Weight (g) +Line A,497.9 +Line B,498.9 +Line C,501.0 +Line D,501.7 +Line A,499.9 +Line B,504.8 +Line C,504.4 +Line D,502.7 +Line A,500.5 +Line B,501.1 +Line C,500.0 +Line D,501.8 diff --git a/agents/evals/fixtures/cases/box-basic-matplotlib-n5000/case.json b/agents/evals/fixtures/cases/box-basic-matplotlib-n5000/case.json new file mode 100644 index 0000000000..c9bbbd21cc --- /dev/null +++ b/agents/evals/fixtures/cases/box-basic-matplotlib-n5000/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "box-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "n5000", + "bindings": [ + { + "role": "category", + "column": "Production Line" + }, + { + "role": "value", + "column": "Fill Weight (g)" + } + ], + "expected": "accepted", + "tags": [ + "box", + "n5000", + "synthetic", + "large" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 505, n5000)" +} diff --git a/agents/evals/fixtures/cases/box-basic-matplotlib-n5000/data.csv b/agents/evals/fixtures/cases/box-basic-matplotlib-n5000/data.csv new file mode 100644 index 0000000000..e5b76eac63 --- /dev/null +++ b/agents/evals/fixtures/cases/box-basic-matplotlib-n5000/data.csv @@ -0,0 +1,5001 @@ +Production Line,Fill Weight (g) +Line A,499.4 +Line B,501.6 +Line C,498.7 +Line D,500.9 +Line A,500.4 +Line B,501.9 +Line C,499.0 +Line D,501.3 +Line A,501.7 +Line B,499.6 +Line C,499.1 +Line D,502.2 +Line A,499.1 +Line B,501.5 +Line C,496.0 +Line D,502.7 +Line A,500.1 +Line B,504.6 +Line C,496.7 +Line D,501.1 +Line A,500.9 +Line B,505.8 +Line C,502.1 +Line D,502.8 +Line A,498.6 +Line B,499.2 +Line C,504.1 +Line D,501.1 +Line A,500.1 +Line B,500.7 +Line C,498.8 +Line D,494.8 +Line A,499.7 +Line B,502.2 +Line C,499.1 +Line D,502.0 +Line A,499.3 +Line B,500.1 +Line C,498.3 +Line D,501.2 +Line A,501.3 +Line B,499.7 +Line C,500.3 +Line D,501.4 +Line A,499.6 +Line B,502.2 +Line C,500.4 +Line D,502.3 +Line A,500.4 +Line B,502.5 +Line C,498.4 +Line D,502.0 +Line A,501.2 +Line B,502.7 +Line C,500.9 +Line D,499.9 +Line A,497.2 +Line B,499.6 +Line C,499.8 +Line D,502.8 +Line A,501.4 +Line B,503.1 +Line C,498.4 +Line D,502.2 +Line A,499.5 +Line B,502.2 +Line C,500.9 +Line D,501.7 +Line A,502.0 +Line B,501.8 +Line C,498.1 +Line D,502.0 +Line A,499.8 +Line B,502.8 +Line C,496.4 +Line D,501.0 +Line A,499.5 +Line B,501.0 +Line C,497.8 +Line D,503.8 +Line A,499.1 +Line B,501.7 +Line C,501.1 +Line D,502.2 +Line A,501.0 +Line B,501.6 +Line C,500.5 +Line D,501.4 +Line A,500.2 +Line B,500.0 +Line C,500.8 +Line D,502.8 +Line A,500.1 +Line B,500.4 +Line C,499.9 +Line D,502.0 +Line A,501.5 +Line B,499.9 +Line C,499.9 +Line D,502.6 +Line A,500.4 +Line B,502.0 +Line C,501.4 +Line D,501.6 +Line A,499.5 +Line B,499.7 +Line C,498.3 +Line D,501.2 +Line A,499.1 +Line B,502.1 +Line C,496.4 +Line D,503.6 +Line A,500.5 +Line B,500.4 +Line C,499.2 +Line D,503.4 +Line A,500.3 +Line B,502.6 +Line C,498.7 +Line D,502.2 +Line A,498.2 +Line B,502.4 +Line C,499.9 +Line D,501.7 +Line A,502.6 +Line B,501.3 +Line C,497.3 +Line D,501.8 +Line A,499.2 +Line B,500.2 +Line C,500.0 +Line D,503.0 +Line A,499.1 +Line B,502.4 +Line C,500.6 +Line D,502.5 +Line A,499.1 +Line B,504.0 +Line C,498.4 +Line D,501.3 +Line A,500.7 +Line B,498.9 +Line C,495.5 +Line D,501.4 +Line A,500.7 +Line B,499.5 +Line C,497.6 +Line D,502.3 +Line A,499.7 +Line B,501.9 +Line C,498.6 +Line D,502.3 +Line A,500.0 +Line B,509.2 +Line C,499.3 +Line D,501.8 +Line A,498.8 +Line B,499.7 +Line C,498.6 +Line D,509.8 +Line A,501.1 +Line B,503.5 +Line C,498.1 +Line D,502.0 +Line A,493.7 +Line B,498.9 +Line C,500.5 +Line D,501.0 +Line A,499.8 +Line B,501.3 +Line C,494.3 +Line D,500.5 +Line A,501.0 +Line B,508.9 +Line C,496.2 +Line D,501.6 +Line A,500.6 +Line B,500.7 +Line C,497.8 +Line D,501.0 +Line A,499.6 +Line B,503.7 +Line C,498.0 +Line D,502.9 +Line A,501.2 +Line B,503.3 +Line C,497.9 +Line D,502.6 +Line A,498.5 +Line B,501.1 +Line C,499.7 +Line D,502.0 +Line A,500.4 +Line B,501.0 +Line C,500.8 +Line D,503.5 +Line A,505.0 +Line B,505.8 +Line C,501.7 +Line D,503.2 +Line A,500.0 +Line B,495.8 +Line C,499.6 +Line D,502.1 +Line A,499.7 +Line B,500.2 +Line C,498.9 +Line D,502.6 +Line A,500.7 +Line B,502.7 +Line C,496.8 +Line D,501.1 +Line A,499.4 +Line B,498.8 +Line C,496.0 +Line D,501.6 +Line A,501.5 +Line B,500.9 +Line C,496.5 +Line D,501.6 +Line A,489.9 +Line B,499.4 +Line C,498.7 +Line D,501.7 +Line A,499.0 +Line B,500.9 +Line C,500.0 +Line D,502.9 +Line A,501.1 +Line B,509.3 +Line C,499.0 +Line D,502.8 +Line A,500.9 +Line B,502.3 +Line C,499.8 +Line D,501.5 +Line A,498.7 +Line B,501.2 +Line C,498.8 +Line D,502.1 +Line A,503.3 +Line B,506.0 +Line C,498.2 +Line D,501.5 +Line A,498.9 +Line B,500.1 +Line C,498.3 +Line D,502.7 +Line A,502.0 +Line B,499.4 +Line C,497.1 +Line D,501.0 +Line A,498.4 +Line B,501.2 +Line C,491.0 +Line D,501.9 +Line A,499.0 +Line B,503.4 +Line C,499.2 +Line D,502.2 +Line A,499.7 +Line B,502.1 +Line C,498.1 +Line D,502.9 +Line A,501.3 +Line B,500.2 +Line C,498.9 +Line D,503.0 +Line A,498.3 +Line B,500.3 +Line C,497.8 +Line D,501.7 +Line A,498.5 +Line B,502.3 +Line C,498.4 +Line D,502.8 +Line A,500.7 +Line B,502.9 +Line C,496.6 +Line D,503.2 +Line A,499.8 +Line B,500.3 +Line C,496.9 +Line D,502.3 +Line A,500.6 +Line B,502.5 +Line C,498.6 +Line D,502.4 +Line A,500.4 +Line B,498.5 +Line C,500.0 +Line D,502.0 +Line A,502.7 +Line B,498.8 +Line C,500.2 +Line D,501.7 +Line A,500.1 +Line B,501.9 +Line C,498.7 +Line D,501.3 +Line A,499.5 +Line B,500.2 +Line C,497.4 +Line D,501.4 +Line A,503.1 +Line B,501.7 +Line C,500.1 +Line D,502.6 +Line A,498.1 +Line B,501.0 +Line C,500.0 +Line D,501.7 +Line A,499.9 +Line B,503.3 +Line C,498.3 +Line D,502.7 +Line A,501.3 +Line B,500.5 +Line C,501.2 +Line D,503.0 +Line A,499.5 +Line B,500.7 +Line C,499.7 +Line D,501.7 +Line A,499.8 +Line B,500.4 +Line C,501.3 +Line D,502.8 +Line A,500.4 +Line B,502.8 +Line C,501.1 +Line D,501.7 +Line A,499.3 +Line B,499.0 +Line C,498.5 +Line D,502.7 +Line A,501.4 +Line B,500.2 +Line C,501.0 +Line D,501.1 +Line A,499.4 +Line B,502.8 +Line C,500.3 +Line D,503.6 +Line A,498.7 +Line B,500.7 +Line C,498.9 +Line D,501.1 +Line A,499.8 +Line B,503.6 +Line C,498.0 +Line D,501.6 +Line A,500.3 +Line B,504.1 +Line C,499.3 +Line D,502.1 +Line A,500.4 +Line B,503.1 +Line C,499.4 +Line D,501.6 +Line A,500.8 +Line B,504.5 +Line C,500.8 +Line D,500.5 +Line A,501.3 +Line B,501.1 +Line C,500.2 +Line D,501.3 +Line A,499.6 +Line B,499.4 +Line C,501.4 +Line D,501.8 +Line A,500.4 +Line B,498.8 +Line C,502.4 +Line D,501.8 +Line A,501.3 +Line B,501.7 +Line C,500.1 +Line D,501.3 +Line A,501.3 +Line B,499.2 +Line C,496.8 +Line D,503.5 +Line A,500.6 +Line B,500.9 +Line C,507.5 +Line D,502.4 +Line A,500.0 +Line B,504.8 +Line C,499.5 +Line D,502.7 +Line A,498.8 +Line B,503.8 +Line C,497.1 +Line D,504.2 +Line A,499.9 +Line B,501.5 +Line C,499.0 +Line D,500.8 +Line A,499.8 +Line B,501.0 +Line C,499.4 +Line D,502.1 +Line A,499.7 +Line B,501.1 +Line C,497.9 +Line D,501.8 +Line A,499.7 +Line B,500.9 +Line C,490.5 +Line D,502.2 +Line A,501.3 +Line B,508.5 +Line C,499.3 +Line D,502.7 +Line A,500.7 +Line B,505.1 +Line C,500.0 +Line D,501.5 +Line A,501.9 +Line B,501.4 +Line C,498.1 +Line D,500.8 +Line A,500.8 +Line B,499.1 +Line C,500.0 +Line D,501.1 +Line A,498.5 +Line B,505.5 +Line C,496.4 +Line D,499.1 +Line A,500.8 +Line B,502.8 +Line C,497.2 +Line D,502.7 +Line A,501.1 +Line B,498.0 +Line C,500.5 +Line D,502.6 +Line A,499.3 +Line B,500.5 +Line C,498.2 +Line D,500.4 +Line A,499.4 +Line B,498.3 +Line C,499.6 +Line D,502.7 +Line A,498.8 +Line B,502.8 +Line C,497.8 +Line D,501.7 +Line A,499.9 +Line B,500.6 +Line C,497.4 +Line D,502.5 +Line A,500.1 +Line B,501.9 +Line C,499.5 +Line D,502.0 +Line A,501.5 +Line B,501.7 +Line C,499.9 +Line D,501.9 +Line A,500.1 +Line B,508.4 +Line C,499.5 +Line D,502.1 +Line A,501.0 +Line B,500.2 +Line C,496.4 +Line D,502.9 +Line A,499.6 +Line B,500.2 +Line C,498.0 +Line D,502.7 +Line A,500.2 +Line B,495.7 +Line C,498.3 +Line D,503.2 +Line A,501.1 +Line B,502.5 +Line C,497.1 +Line D,501.3 +Line A,502.2 +Line B,501.6 +Line C,497.2 +Line D,502.7 +Line A,499.4 +Line B,499.0 +Line C,501.9 +Line D,502.8 +Line A,501.5 +Line B,498.5 +Line C,499.8 +Line D,500.4 +Line A,502.6 +Line B,498.6 +Line C,500.4 +Line D,502.2 +Line A,500.6 +Line B,504.7 +Line C,499.2 +Line D,502.0 +Line A,500.5 +Line B,503.0 +Line C,499.2 +Line D,501.0 +Line A,498.1 +Line B,501.4 +Line C,497.4 +Line D,503.3 +Line A,502.0 +Line B,505.4 +Line C,497.2 +Line D,502.7 +Line A,500.2 +Line B,501.5 +Line C,498.0 +Line D,501.8 +Line A,499.4 +Line B,499.7 +Line C,500.0 +Line D,501.8 +Line A,500.5 +Line B,503.1 +Line C,498.8 +Line D,500.9 +Line A,502.1 +Line B,499.3 +Line C,499.7 +Line D,503.7 +Line A,501.3 +Line B,501.6 +Line C,500.8 +Line D,501.2 +Line A,508.6 +Line B,498.9 +Line C,499.3 +Line D,501.6 +Line A,500.6 +Line B,501.2 +Line C,502.0 +Line D,501.2 +Line A,499.8 +Line B,507.4 +Line C,498.3 +Line D,502.4 +Line A,500.0 +Line B,506.2 +Line C,497.6 +Line D,502.0 +Line A,500.8 +Line B,503.5 +Line C,497.5 +Line D,502.1 +Line A,501.0 +Line B,496.8 +Line C,499.9 +Line D,501.7 +Line A,499.8 +Line B,502.2 +Line C,498.7 +Line D,501.4 +Line A,502.7 +Line B,500.9 +Line C,497.9 +Line D,501.5 +Line A,498.9 +Line B,502.7 +Line C,498.9 +Line D,501.4 +Line A,501.7 +Line B,498.5 +Line C,500.6 +Line D,502.8 +Line A,498.7 +Line B,501.5 +Line C,500.4 +Line D,502.9 +Line A,497.4 +Line B,498.5 +Line C,498.2 +Line D,501.2 +Line A,500.0 +Line B,500.6 +Line C,499.9 +Line D,502.8 +Line A,502.5 +Line B,504.4 +Line C,499.6 +Line D,502.7 +Line A,500.4 +Line B,500.2 +Line C,499.3 +Line D,502.1 +Line A,499.1 +Line B,497.8 +Line C,499.5 +Line D,503.4 +Line A,500.6 +Line B,507.8 +Line C,498.7 +Line D,502.4 +Line A,502.3 +Line B,502.3 +Line C,498.8 +Line D,503.1 +Line A,500.6 +Line B,506.3 +Line C,500.6 +Line D,501.8 +Line A,499.4 +Line B,502.4 +Line C,497.6 +Line D,503.4 +Line A,498.7 +Line B,497.9 +Line C,499.8 +Line D,500.6 +Line A,503.2 +Line B,500.6 +Line C,498.2 +Line D,502.3 +Line A,501.1 +Line B,504.4 +Line C,498.1 +Line D,491.5 +Line A,500.6 +Line B,500.5 +Line C,500.5 +Line D,502.1 +Line A,501.1 +Line B,503.6 +Line C,499.6 +Line D,502.2 +Line A,500.9 +Line B,501.5 +Line C,498.3 +Line D,501.5 +Line A,500.2 +Line B,502.4 +Line C,498.9 +Line D,502.2 +Line A,500.9 +Line B,501.6 +Line C,500.7 +Line D,501.5 +Line A,499.6 +Line B,501.0 +Line C,499.2 +Line D,503.1 +Line A,500.8 +Line B,499.4 +Line C,500.7 +Line D,501.7 +Line A,501.9 +Line B,498.6 +Line C,497.9 +Line D,501.4 +Line A,501.4 +Line B,498.3 +Line C,498.7 +Line D,502.4 +Line A,499.6 +Line B,500.9 +Line C,497.8 +Line D,501.2 +Line A,501.1 +Line B,499.9 +Line C,496.1 +Line D,501.7 +Line A,500.0 +Line B,498.6 +Line C,498.0 +Line D,502.7 +Line A,503.0 +Line B,502.2 +Line C,498.6 +Line D,501.5 +Line A,507.5 +Line B,500.8 +Line C,501.1 +Line D,502.4 +Line A,502.0 +Line B,500.2 +Line C,497.8 +Line D,501.1 +Line A,501.0 +Line B,500.4 +Line C,497.8 +Line D,502.0 +Line A,501.3 +Line B,500.5 +Line C,498.1 +Line D,502.1 +Line A,501.8 +Line B,501.7 +Line C,498.3 +Line D,502.6 +Line A,501.3 +Line B,502.8 +Line C,500.5 +Line D,500.6 +Line A,500.1 +Line B,503.6 +Line C,499.3 +Line D,502.5 +Line A,500.1 +Line B,501.9 +Line C,499.4 +Line D,501.7 +Line A,501.3 +Line B,496.8 +Line C,500.7 +Line D,501.8 +Line A,502.1 +Line B,500.4 +Line C,497.2 +Line D,501.0 +Line A,500.4 +Line B,503.8 +Line C,499.2 +Line D,502.6 +Line A,499.3 +Line B,498.6 +Line C,499.6 +Line D,503.1 +Line A,499.4 +Line B,501.0 +Line C,500.9 +Line D,501.1 +Line A,501.0 +Line B,499.5 +Line C,496.2 +Line D,502.3 +Line A,499.3 +Line B,497.7 +Line C,498.7 +Line D,503.5 +Line A,500.0 +Line B,500.1 +Line C,496.6 +Line D,500.6 +Line A,500.7 +Line B,502.5 +Line C,499.5 +Line D,500.5 +Line A,500.2 +Line B,499.8 +Line C,497.5 +Line D,501.5 +Line A,500.8 +Line B,502.1 +Line C,499.6 +Line D,503.8 +Line A,500.0 +Line B,498.7 +Line C,499.4 +Line D,501.6 +Line A,499.5 +Line B,500.9 +Line C,496.6 +Line D,502.6 +Line A,501.4 +Line B,501.3 +Line C,497.5 +Line D,502.0 +Line A,500.3 +Line B,500.3 +Line C,499.5 +Line D,502.1 +Line A,501.6 +Line B,507.0 +Line C,499.8 +Line D,502.8 +Line A,500.9 +Line B,501.0 +Line C,500.1 +Line D,502.1 +Line A,501.3 +Line B,502.6 +Line C,499.0 +Line D,501.6 +Line A,500.3 +Line B,504.4 +Line C,500.6 +Line D,502.4 +Line A,501.8 +Line B,500.7 +Line C,500.1 +Line D,493.0 +Line A,499.7 +Line B,498.2 +Line C,500.5 +Line D,501.3 +Line A,501.4 +Line B,501.5 +Line C,498.8 +Line D,502.1 +Line A,500.3 +Line B,499.5 +Line C,499.3 +Line D,502.2 +Line A,501.0 +Line B,503.7 +Line C,498.4 +Line D,503.0 +Line A,499.8 +Line B,501.6 +Line C,498.9 +Line D,501.5 +Line A,502.1 +Line B,502.3 +Line C,498.7 +Line D,504.0 +Line A,499.8 +Line B,497.9 +Line C,499.4 +Line D,501.7 +Line A,500.0 +Line B,503.0 +Line C,492.7 +Line D,502.5 +Line A,501.7 +Line B,501.6 +Line C,499.5 +Line D,501.7 +Line A,500.0 +Line B,501.6 +Line C,500.5 +Line D,502.1 +Line A,500.0 +Line B,500.7 +Line C,500.1 +Line D,501.5 +Line A,501.6 +Line B,501.5 +Line C,498.1 +Line D,502.4 +Line A,498.8 +Line B,502.8 +Line C,499.7 +Line D,501.9 +Line A,500.5 +Line B,503.1 +Line C,498.1 +Line D,502.9 +Line A,500.8 +Line B,498.1 +Line C,498.7 +Line D,508.1 +Line A,507.3 +Line B,499.9 +Line C,498.5 +Line D,502.4 +Line A,502.0 +Line B,499.6 +Line C,498.1 +Line D,501.5 +Line A,501.5 +Line B,502.7 +Line C,502.3 +Line D,502.1 +Line A,501.6 +Line B,503.0 +Line C,501.7 +Line D,501.8 +Line A,498.2 +Line B,499.2 +Line C,499.6 +Line D,501.5 +Line A,498.8 +Line B,503.0 +Line C,497.4 +Line D,500.9 +Line A,500.7 +Line B,500.5 +Line C,496.8 +Line D,501.7 +Line A,500.7 +Line B,500.6 +Line C,495.7 +Line D,501.2 +Line A,499.8 +Line B,499.5 +Line C,499.7 +Line D,502.4 +Line A,497.6 +Line B,498.5 +Line C,499.7 +Line D,501.0 +Line A,502.6 +Line B,498.6 +Line C,495.4 +Line D,501.5 +Line A,499.9 +Line B,497.1 +Line C,501.2 +Line D,500.6 +Line A,500.5 +Line B,495.9 +Line C,500.0 +Line D,501.4 +Line A,502.2 +Line B,499.3 +Line C,498.1 +Line D,502.4 +Line A,502.0 +Line B,501.3 +Line C,498.0 +Line D,501.4 +Line A,499.4 +Line B,499.8 +Line C,498.2 +Line D,501.2 +Line A,499.8 +Line B,502.5 +Line C,501.3 +Line D,500.5 +Line A,500.7 +Line B,504.3 +Line C,499.9 +Line D,501.8 +Line A,498.9 +Line B,499.9 +Line C,500.8 +Line D,508.8 +Line A,500.3 +Line B,502.0 +Line C,498.2 +Line D,501.2 +Line A,498.3 +Line B,503.3 +Line C,499.6 +Line D,501.3 +Line A,501.4 +Line B,502.1 +Line C,498.5 +Line D,503.6 +Line A,501.7 +Line B,498.1 +Line C,498.3 +Line D,502.2 +Line A,500.0 +Line B,502.0 +Line C,498.1 +Line D,501.7 +Line A,499.6 +Line B,499.6 +Line C,499.5 +Line D,500.9 +Line A,500.8 +Line B,501.3 +Line C,499.5 +Line D,501.7 +Line A,500.0 +Line B,502.1 +Line C,498.8 +Line D,502.9 +Line A,502.0 +Line B,504.1 +Line C,500.5 +Line D,501.9 +Line A,503.2 +Line B,503.1 +Line C,499.8 +Line D,502.6 +Line A,502.2 +Line B,499.6 +Line C,499.3 +Line D,502.6 +Line A,499.9 +Line B,501.3 +Line C,498.7 +Line D,502.3 +Line A,500.0 +Line B,503.0 +Line C,498.2 +Line D,502.1 +Line A,501.8 +Line B,501.1 +Line C,499.8 +Line D,501.7 +Line A,498.6 +Line B,503.3 +Line C,501.7 +Line D,502.2 +Line A,501.7 +Line B,502.0 +Line C,498.2 +Line D,501.3 +Line A,502.5 +Line B,503.4 +Line C,497.9 +Line D,503.1 +Line A,500.8 +Line B,500.8 +Line C,501.1 +Line D,502.0 +Line A,500.7 +Line B,500.1 +Line C,498.8 +Line D,503.1 +Line A,498.2 +Line B,499.0 +Line C,499.1 +Line D,499.7 +Line A,501.9 +Line B,499.4 +Line C,501.1 +Line D,502.3 +Line A,500.9 +Line B,499.0 +Line C,499.3 +Line D,504.8 +Line A,500.2 +Line B,500.4 +Line C,497.9 +Line D,503.5 +Line A,499.4 +Line B,500.5 +Line C,499.0 +Line D,502.6 +Line A,501.3 +Line B,503.5 +Line C,498.0 +Line D,502.4 +Line A,501.3 +Line B,500.9 +Line C,497.7 +Line D,502.7 +Line A,500.5 +Line B,500.1 +Line C,499.1 +Line D,500.8 +Line A,500.4 +Line B,501.9 +Line C,498.8 +Line D,502.0 +Line A,500.1 +Line B,502.6 +Line C,500.3 +Line D,502.6 +Line A,500.8 +Line B,499.9 +Line C,499.0 +Line D,502.9 +Line A,500.9 +Line B,501.5 +Line C,497.9 +Line D,503.5 +Line A,499.8 +Line B,503.8 +Line C,498.6 +Line D,501.8 +Line A,500.4 +Line B,503.9 +Line C,501.2 +Line D,502.2 +Line A,501.4 +Line B,498.6 +Line C,498.0 +Line D,501.5 +Line A,499.9 +Line B,501.4 +Line C,501.0 +Line D,507.3 +Line A,501.1 +Line B,503.1 +Line C,499.2 +Line D,501.7 +Line A,501.7 +Line B,500.9 +Line C,501.1 +Line D,502.5 +Line A,499.1 +Line B,503.7 +Line C,498.3 +Line D,502.0 +Line A,500.3 +Line B,501.9 +Line C,499.8 +Line D,503.1 +Line A,501.4 +Line B,502.7 +Line C,499.2 +Line D,501.3 +Line A,500.0 +Line B,499.5 +Line C,499.5 +Line D,502.0 +Line A,501.2 +Line B,502.7 +Line C,497.9 +Line D,500.4 +Line A,499.9 +Line B,502.4 +Line C,501.1 +Line D,500.5 +Line A,500.2 +Line B,501.4 +Line C,501.1 +Line D,501.9 +Line A,499.9 +Line B,499.2 +Line C,499.2 +Line D,503.0 +Line A,501.2 +Line B,504.5 +Line C,498.6 +Line D,501.4 +Line A,501.1 +Line B,500.4 +Line C,499.3 +Line D,500.3 +Line A,501.2 +Line B,499.1 +Line C,500.4 +Line D,501.3 +Line A,501.1 +Line B,500.4 +Line C,497.9 +Line D,501.2 +Line A,498.2 +Line B,505.1 +Line C,499.5 +Line D,503.3 +Line A,502.4 +Line B,500.4 +Line C,499.4 +Line D,501.2 +Line A,501.3 +Line B,496.7 +Line C,501.0 +Line D,501.7 +Line A,498.2 +Line B,500.8 +Line C,499.3 +Line D,501.4 +Line A,501.9 +Line B,499.3 +Line C,498.3 +Line D,501.4 +Line A,499.8 +Line B,502.4 +Line C,499.2 +Line D,500.8 +Line A,499.1 +Line B,502.8 +Line C,498.7 +Line D,502.6 +Line A,501.9 +Line B,501.7 +Line C,495.6 +Line D,500.8 +Line A,500.9 +Line B,504.5 +Line C,502.3 +Line D,502.3 +Line A,501.0 +Line B,504.4 +Line C,500.8 +Line D,502.9 +Line A,497.8 +Line B,500.5 +Line C,500.0 +Line D,501.3 +Line A,501.2 +Line B,500.2 +Line C,497.8 +Line D,504.0 +Line A,500.9 +Line B,500.2 +Line C,497.9 +Line D,502.2 +Line A,501.7 +Line B,498.3 +Line C,502.0 +Line D,502.4 +Line A,498.6 +Line B,501.3 +Line C,499.0 +Line D,500.9 +Line A,501.0 +Line B,497.2 +Line C,497.0 +Line D,500.7 +Line A,501.3 +Line B,504.1 +Line C,501.2 +Line D,501.3 +Line A,500.4 +Line B,504.4 +Line C,498.2 +Line D,501.7 +Line A,501.3 +Line B,503.0 +Line C,499.9 +Line D,501.7 +Line A,500.5 +Line B,502.0 +Line C,495.6 +Line D,500.5 +Line A,499.4 +Line B,500.5 +Line C,499.9 +Line D,500.2 +Line A,501.0 +Line B,500.7 +Line C,499.1 +Line D,502.6 +Line A,501.9 +Line B,501.9 +Line C,502.7 +Line D,501.5 +Line A,500.7 +Line B,505.1 +Line C,499.6 +Line D,502.6 +Line A,500.4 +Line B,499.0 +Line C,497.0 +Line D,500.9 +Line A,501.8 +Line B,502.6 +Line C,500.0 +Line D,500.0 +Line A,502.9 +Line B,501.6 +Line C,498.0 +Line D,502.2 +Line A,499.8 +Line B,502.1 +Line C,498.4 +Line D,503.0 +Line A,500.2 +Line B,500.5 +Line C,499.6 +Line D,501.6 +Line A,498.5 +Line B,500.2 +Line C,499.6 +Line D,500.9 +Line A,499.3 +Line B,502.9 +Line C,501.0 +Line D,502.0 +Line A,499.6 +Line B,503.2 +Line C,500.7 +Line D,503.8 +Line A,500.0 +Line B,500.5 +Line C,498.1 +Line D,503.7 +Line A,499.1 +Line B,504.3 +Line C,497.2 +Line D,501.0 +Line A,498.2 +Line B,501.1 +Line C,496.4 +Line D,502.0 +Line A,507.8 +Line B,497.3 +Line C,498.8 +Line D,501.2 +Line A,500.4 +Line B,500.6 +Line C,499.6 +Line D,503.0 +Line A,501.2 +Line B,501.0 +Line C,498.9 +Line D,501.8 +Line A,501.2 +Line B,500.6 +Line C,497.6 +Line D,501.2 +Line A,498.9 +Line B,503.1 +Line C,502.9 +Line D,502.5 +Line A,500.8 +Line B,501.4 +Line C,499.6 +Line D,502.8 +Line A,501.5 +Line B,499.9 +Line C,502.0 +Line D,502.4 +Line A,493.1 +Line B,501.7 +Line C,500.2 +Line D,500.7 +Line A,502.0 +Line B,497.6 +Line C,499.1 +Line D,502.6 +Line A,500.7 +Line B,499.9 +Line C,500.4 +Line D,504.1 +Line A,498.9 +Line B,501.7 +Line C,496.9 +Line D,501.5 +Line A,498.8 +Line B,501.5 +Line C,500.2 +Line D,503.0 +Line A,499.1 +Line B,503.0 +Line C,498.3 +Line D,503.6 +Line A,499.1 +Line B,502.8 +Line C,499.9 +Line D,496.5 +Line A,501.4 +Line B,502.1 +Line C,498.5 +Line D,502.4 +Line A,500.2 +Line B,501.9 +Line C,501.4 +Line D,502.2 +Line A,501.1 +Line B,501.1 +Line C,499.7 +Line D,500.8 +Line A,502.8 +Line B,503.0 +Line C,499.7 +Line D,501.3 +Line A,500.4 +Line B,499.6 +Line C,499.6 +Line D,503.9 +Line A,500.7 +Line B,500.6 +Line C,500.2 +Line D,503.9 +Line A,498.4 +Line B,500.6 +Line C,499.0 +Line D,502.6 +Line A,499.4 +Line B,500.9 +Line C,500.0 +Line D,502.8 +Line A,499.2 +Line B,499.6 +Line C,497.9 +Line D,501.5 +Line A,501.3 +Line B,500.8 +Line C,500.6 +Line D,501.3 +Line A,499.3 +Line B,501.5 +Line C,500.4 +Line D,501.9 +Line A,502.0 +Line B,499.7 +Line C,499.0 +Line D,502.1 +Line A,503.1 +Line B,502.4 +Line C,498.0 +Line D,499.9 +Line A,502.1 +Line B,503.8 +Line C,497.6 +Line D,503.6 +Line A,501.1 +Line B,501.4 +Line C,497.7 +Line D,501.7 +Line A,500.6 +Line B,502.1 +Line C,497.2 +Line D,502.7 +Line A,501.6 +Line B,501.6 +Line C,497.9 +Line D,502.6 +Line A,500.3 +Line B,498.6 +Line C,500.4 +Line D,502.2 +Line A,500.6 +Line B,502.5 +Line C,500.9 +Line D,501.8 +Line A,503.2 +Line B,504.0 +Line C,499.1 +Line D,502.0 +Line A,501.6 +Line B,501.5 +Line C,498.9 +Line D,502.2 +Line A,500.0 +Line B,502.5 +Line C,500.3 +Line D,501.7 +Line A,498.6 +Line B,501.0 +Line C,497.9 +Line D,503.4 +Line A,502.4 +Line B,502.2 +Line C,500.4 +Line D,501.4 +Line A,499.2 +Line B,502.4 +Line C,490.8 +Line D,501.5 +Line A,505.7 +Line B,499.8 +Line C,499.2 +Line D,502.8 +Line A,499.7 +Line B,499.7 +Line C,498.7 +Line D,501.1 +Line A,500.0 +Line B,498.7 +Line C,497.8 +Line D,503.0 +Line A,500.2 +Line B,500.8 +Line C,496.8 +Line D,502.1 +Line A,499.5 +Line B,501.5 +Line C,497.7 +Line D,502.6 +Line A,501.9 +Line B,497.1 +Line C,499.4 +Line D,501.4 +Line A,498.9 +Line B,501.2 +Line C,498.2 +Line D,504.2 +Line A,499.6 +Line B,499.8 +Line C,498.8 +Line D,503.1 +Line A,500.5 +Line B,502.1 +Line C,499.3 +Line D,501.5 +Line A,501.4 +Line B,501.1 +Line C,502.6 +Line D,502.1 +Line A,499.1 +Line B,504.3 +Line C,496.0 +Line D,501.4 +Line A,499.8 +Line B,503.5 +Line C,499.2 +Line D,502.9 +Line A,503.5 +Line B,498.1 +Line C,499.0 +Line D,502.9 +Line A,500.1 +Line B,501.5 +Line C,497.8 +Line D,503.4 +Line A,503.7 +Line B,500.3 +Line C,499.5 +Line D,501.2 +Line A,499.6 +Line B,498.7 +Line C,499.4 +Line D,502.8 +Line A,501.6 +Line B,502.3 +Line C,500.2 +Line D,502.1 +Line A,500.5 +Line B,498.3 +Line C,500.8 +Line D,501.8 +Line A,500.9 +Line B,502.0 +Line C,500.4 +Line D,503.2 +Line A,502.5 +Line B,498.4 +Line C,500.3 +Line D,501.4 +Line A,498.8 +Line B,500.2 +Line C,500.0 +Line D,503.0 +Line A,500.7 +Line B,501.6 +Line C,496.8 +Line D,502.6 +Line A,501.1 +Line B,502.6 +Line C,500.4 +Line D,503.4 +Line A,501.7 +Line B,498.9 +Line C,499.6 +Line D,500.7 +Line A,499.4 +Line B,502.4 +Line C,498.7 +Line D,500.5 +Line A,502.7 +Line B,499.6 +Line C,498.8 +Line D,500.6 +Line A,500.1 +Line B,498.4 +Line C,498.3 +Line D,503.9 +Line A,500.8 +Line B,503.0 +Line C,499.6 +Line D,501.8 +Line A,499.4 +Line B,504.1 +Line C,497.3 +Line D,502.4 +Line A,499.9 +Line B,501.2 +Line C,500.2 +Line D,503.5 +Line A,501.4 +Line B,502.5 +Line C,499.0 +Line D,502.1 +Line A,497.1 +Line B,501.6 +Line C,502.4 +Line D,502.6 +Line A,499.9 +Line B,499.5 +Line C,498.8 +Line D,502.7 +Line A,498.7 +Line B,501.7 +Line C,499.1 +Line D,500.9 +Line A,499.5 +Line B,503.1 +Line C,500.7 +Line D,503.9 +Line A,498.7 +Line B,504.1 +Line C,500.5 +Line D,502.9 +Line A,494.9 +Line B,500.6 +Line C,499.2 +Line D,501.7 +Line A,500.0 +Line B,500.3 +Line C,498.1 +Line D,501.8 +Line A,501.6 +Line B,499.9 +Line C,495.4 +Line D,502.4 +Line A,502.2 +Line B,499.3 +Line C,496.0 +Line D,503.0 +Line A,497.7 +Line B,502.1 +Line C,498.5 +Line D,501.3 +Line A,498.7 +Line B,505.8 +Line C,499.2 +Line D,501.6 +Line A,499.8 +Line B,503.7 +Line C,501.0 +Line D,502.3 +Line A,501.3 +Line B,502.1 +Line C,499.1 +Line D,502.5 +Line A,499.9 +Line B,500.1 +Line C,496.6 +Line D,502.2 +Line A,501.5 +Line B,499.8 +Line C,497.8 +Line D,503.1 +Line A,499.4 +Line B,501.2 +Line C,501.2 +Line D,499.6 +Line A,502.7 +Line B,504.1 +Line C,496.6 +Line D,500.8 +Line A,499.1 +Line B,501.0 +Line C,495.7 +Line D,502.2 +Line A,498.3 +Line B,499.8 +Line C,499.7 +Line D,502.5 +Line A,501.4 +Line B,498.5 +Line C,496.9 +Line D,502.1 +Line A,501.4 +Line B,501.4 +Line C,497.4 +Line D,501.2 +Line A,499.4 +Line B,501.7 +Line C,497.0 +Line D,502.1 +Line A,500.0 +Line B,500.9 +Line C,500.1 +Line D,501.9 +Line A,499.7 +Line B,500.6 +Line C,500.2 +Line D,501.7 +Line A,502.9 +Line B,500.7 +Line C,497.5 +Line D,501.4 +Line A,500.0 +Line B,502.9 +Line C,498.4 +Line D,501.1 +Line A,500.9 +Line B,500.5 +Line C,498.6 +Line D,501.4 +Line A,500.9 +Line B,501.2 +Line C,499.1 +Line D,502.5 +Line A,499.1 +Line B,499.0 +Line C,499.8 +Line D,503.6 +Line A,501.1 +Line B,497.4 +Line C,498.7 +Line D,501.6 +Line A,500.3 +Line B,502.7 +Line C,501.1 +Line D,501.5 +Line A,499.3 +Line B,500.9 +Line C,500.9 +Line D,501.5 +Line A,499.0 +Line B,501.8 +Line C,499.5 +Line D,503.0 +Line A,499.6 +Line B,501.6 +Line C,499.9 +Line D,502.6 +Line A,501.5 +Line B,504.7 +Line C,497.5 +Line D,503.9 +Line A,499.5 +Line B,503.1 +Line C,499.1 +Line D,501.9 +Line A,501.0 +Line B,504.5 +Line C,500.8 +Line D,500.3 +Line A,506.0 +Line B,502.3 +Line C,496.3 +Line D,502.5 +Line A,498.9 +Line B,499.6 +Line C,500.1 +Line D,504.9 +Line A,498.2 +Line B,504.1 +Line C,499.0 +Line D,502.5 +Line A,501.1 +Line B,501.4 +Line C,499.8 +Line D,502.3 +Line A,501.1 +Line B,503.8 +Line C,498.4 +Line D,502.6 +Line A,500.0 +Line B,501.4 +Line C,496.5 +Line D,502.4 +Line A,499.6 +Line B,501.8 +Line C,501.0 +Line D,502.5 +Line A,502.4 +Line B,505.0 +Line C,499.5 +Line D,503.7 +Line A,501.2 +Line B,499.3 +Line C,501.6 +Line D,502.4 +Line A,500.7 +Line B,499.8 +Line C,499.8 +Line D,501.2 +Line A,501.9 +Line B,503.0 +Line C,496.4 +Line D,501.8 +Line A,501.4 +Line B,500.7 +Line C,499.8 +Line D,501.4 +Line A,501.3 +Line B,503.5 +Line C,498.7 +Line D,501.6 +Line A,500.7 +Line B,499.8 +Line C,497.5 +Line D,502.0 +Line A,499.0 +Line B,500.9 +Line C,500.2 +Line D,501.9 +Line A,503.0 +Line B,499.9 +Line C,497.0 +Line D,502.6 +Line A,501.2 +Line B,503.9 +Line C,498.5 +Line D,503.1 +Line A,500.6 +Line B,501.9 +Line C,498.1 +Line D,503.7 +Line A,500.5 +Line B,502.0 +Line C,500.4 +Line D,502.5 +Line A,498.7 +Line B,500.0 +Line C,499.0 +Line D,500.7 +Line A,499.5 +Line B,499.3 +Line C,497.3 +Line D,501.3 +Line A,501.3 +Line B,500.3 +Line C,498.3 +Line D,502.5 +Line A,499.1 +Line B,501.2 +Line C,501.0 +Line D,500.8 +Line A,500.8 +Line B,502.8 +Line C,498.1 +Line D,501.4 +Line A,502.0 +Line B,501.7 +Line C,496.4 +Line D,502.5 +Line A,500.9 +Line B,503.0 +Line C,498.4 +Line D,502.0 +Line A,501.9 +Line B,502.0 +Line C,500.1 +Line D,501.7 +Line A,500.2 +Line B,500.6 +Line C,498.0 +Line D,502.4 +Line A,500.2 +Line B,499.9 +Line C,496.0 +Line D,502.1 +Line A,499.5 +Line B,498.9 +Line C,497.9 +Line D,501.3 +Line A,502.1 +Line B,498.9 +Line C,499.3 +Line D,502.2 +Line A,500.7 +Line B,500.9 +Line C,501.6 +Line D,500.9 +Line A,499.5 +Line B,497.2 +Line C,501.5 +Line D,503.1 +Line A,500.1 +Line B,498.9 +Line C,499.2 +Line D,501.4 +Line A,501.1 +Line B,500.4 +Line C,499.5 +Line D,501.5 +Line A,500.6 +Line B,501.1 +Line C,501.8 +Line D,502.2 +Line A,500.8 +Line B,503.8 +Line C,498.7 +Line D,500.9 +Line A,500.9 +Line B,502.4 +Line C,499.2 +Line D,503.5 +Line A,499.7 +Line B,499.0 +Line C,499.0 +Line D,503.5 +Line A,501.1 +Line B,503.4 +Line C,501.8 +Line D,501.8 +Line A,499.9 +Line B,499.2 +Line C,499.6 +Line D,503.0 +Line A,498.8 +Line B,501.8 +Line C,498.9 +Line D,502.8 +Line A,493.7 +Line B,501.0 +Line C,498.1 +Line D,502.3 +Line A,501.1 +Line B,499.5 +Line C,499.6 +Line D,501.8 +Line A,501.7 +Line B,500.2 +Line C,498.8 +Line D,501.0 +Line A,501.0 +Line B,500.2 +Line C,497.1 +Line D,503.5 +Line A,499.7 +Line B,502.2 +Line C,500.7 +Line D,501.1 +Line A,501.5 +Line B,504.8 +Line C,495.9 +Line D,495.1 +Line A,501.0 +Line B,497.5 +Line C,498.9 +Line D,502.0 +Line A,501.0 +Line B,499.9 +Line C,498.8 +Line D,502.7 +Line A,501.6 +Line B,502.5 +Line C,498.3 +Line D,502.8 +Line A,500.1 +Line B,498.9 +Line C,501.7 +Line D,501.5 +Line A,500.7 +Line B,502.8 +Line C,497.6 +Line D,502.6 +Line A,499.2 +Line B,501.6 +Line C,498.8 +Line D,502.7 +Line A,501.3 +Line B,501.6 +Line C,498.5 +Line D,503.3 +Line A,500.3 +Line B,502.0 +Line C,498.2 +Line D,501.3 +Line A,502.3 +Line B,499.6 +Line C,501.7 +Line D,502.3 +Line A,501.2 +Line B,500.0 +Line C,499.2 +Line D,503.2 +Line A,501.4 +Line B,499.4 +Line C,499.8 +Line D,501.8 +Line A,501.8 +Line B,501.3 +Line C,499.3 +Line D,501.4 +Line A,500.9 +Line B,503.4 +Line C,499.6 +Line D,502.0 +Line A,500.2 +Line B,499.9 +Line C,498.4 +Line D,502.9 +Line A,501.5 +Line B,500.2 +Line C,499.5 +Line D,502.7 +Line A,501.7 +Line B,500.6 +Line C,496.7 +Line D,501.1 +Line A,501.3 +Line B,502.9 +Line C,497.1 +Line D,501.6 +Line A,500.0 +Line B,504.0 +Line C,499.1 +Line D,501.4 +Line A,500.8 +Line B,499.8 +Line C,495.9 +Line D,500.1 +Line A,501.0 +Line B,504.0 +Line C,498.4 +Line D,501.9 +Line A,498.9 +Line B,498.9 +Line C,502.2 +Line D,501.7 +Line A,499.4 +Line B,501.0 +Line C,499.7 +Line D,494.9 +Line A,500.2 +Line B,503.7 +Line C,500.1 +Line D,500.3 +Line A,510.0 +Line B,503.3 +Line C,501.5 +Line D,501.5 +Line A,501.0 +Line B,501.7 +Line C,503.0 +Line D,501.1 +Line A,500.3 +Line B,498.9 +Line C,498.7 +Line D,501.6 +Line A,500.2 +Line B,501.1 +Line C,500.3 +Line D,504.5 +Line A,501.0 +Line B,500.1 +Line C,500.1 +Line D,502.9 +Line A,507.8 +Line B,503.3 +Line C,500.7 +Line D,502.6 +Line A,498.9 +Line B,501.1 +Line C,497.5 +Line D,502.3 +Line A,499.7 +Line B,502.9 +Line C,498.0 +Line D,500.9 +Line A,499.1 +Line B,502.3 +Line C,497.9 +Line D,502.3 +Line A,500.1 +Line B,495.5 +Line C,499.9 +Line D,500.8 +Line A,500.8 +Line B,502.1 +Line C,496.6 +Line D,502.0 +Line A,500.3 +Line B,502.5 +Line C,500.6 +Line D,501.9 +Line A,499.4 +Line B,500.4 +Line C,502.7 +Line D,501.8 +Line A,500.1 +Line B,503.9 +Line C,497.1 +Line D,501.8 +Line A,501.5 +Line B,504.0 +Line C,496.8 +Line D,501.9 +Line A,500.4 +Line B,499.2 +Line C,500.9 +Line D,503.0 +Line A,501.0 +Line B,502.4 +Line C,499.8 +Line D,501.1 +Line A,501.7 +Line B,504.2 +Line C,497.2 +Line D,500.4 +Line A,499.7 +Line B,501.9 +Line C,500.1 +Line D,502.3 +Line A,500.1 +Line B,501.3 +Line C,499.9 +Line D,502.7 +Line A,499.6 +Line B,501.0 +Line C,496.5 +Line D,501.5 +Line A,499.8 +Line B,500.5 +Line C,501.8 +Line D,503.1 +Line A,500.1 +Line B,499.6 +Line C,499.6 +Line D,503.2 +Line A,500.9 +Line B,500.6 +Line C,500.9 +Line D,502.3 +Line A,498.4 +Line B,499.2 +Line C,500.9 +Line D,502.1 +Line A,499.0 +Line B,499.8 +Line C,500.9 +Line D,502.4 +Line A,499.2 +Line B,505.1 +Line C,499.6 +Line D,503.1 +Line A,499.6 +Line B,501.7 +Line C,500.9 +Line D,500.6 +Line A,501.7 +Line B,488.8 +Line C,498.0 +Line D,503.2 +Line A,499.2 +Line B,502.1 +Line C,497.6 +Line D,501.5 +Line A,502.1 +Line B,503.3 +Line C,498.0 +Line D,502.5 +Line A,500.4 +Line B,502.3 +Line C,498.9 +Line D,503.4 +Line A,499.9 +Line B,502.8 +Line C,498.4 +Line D,503.6 +Line A,499.2 +Line B,500.0 +Line C,499.6 +Line D,501.0 +Line A,499.8 +Line B,502.6 +Line C,498.7 +Line D,501.5 +Line A,499.8 +Line B,501.3 +Line C,507.9 +Line D,501.8 +Line A,489.9 +Line B,501.8 +Line C,502.4 +Line D,501.0 +Line A,500.3 +Line B,500.1 +Line C,497.1 +Line D,502.2 +Line A,498.3 +Line B,504.2 +Line C,499.0 +Line D,502.1 +Line A,500.4 +Line B,500.8 +Line C,502.0 +Line D,501.6 +Line A,499.7 +Line B,502.8 +Line C,497.1 +Line D,502.8 +Line A,499.8 +Line B,497.4 +Line C,496.3 +Line D,503.0 +Line A,500.6 +Line B,504.2 +Line C,497.7 +Line D,501.7 +Line A,498.8 +Line B,511.0 +Line C,500.5 +Line D,502.8 +Line A,499.7 +Line B,500.9 +Line C,496.4 +Line D,502.9 +Line A,499.8 +Line B,502.0 +Line C,499.0 +Line D,502.6 +Line A,500.3 +Line B,503.4 +Line C,498.0 +Line D,502.7 +Line A,501.8 +Line B,501.5 +Line C,498.2 +Line D,501.1 +Line A,499.6 +Line B,502.2 +Line C,502.2 +Line D,502.4 +Line A,500.6 +Line B,496.8 +Line C,500.3 +Line D,501.2 +Line A,500.2 +Line B,503.0 +Line C,499.4 +Line D,502.8 +Line A,502.8 +Line B,498.2 +Line C,500.8 +Line D,501.2 +Line A,501.9 +Line B,504.5 +Line C,498.2 +Line D,501.3 +Line A,499.9 +Line B,499.6 +Line C,501.2 +Line D,501.9 +Line A,501.5 +Line B,501.5 +Line C,496.2 +Line D,502.4 +Line A,498.8 +Line B,501.4 +Line C,491.2 +Line D,502.0 +Line A,500.0 +Line B,503.3 +Line C,498.5 +Line D,502.7 +Line A,500.1 +Line B,499.2 +Line C,497.4 +Line D,501.8 +Line A,501.3 +Line B,503.6 +Line C,497.7 +Line D,503.1 +Line A,502.2 +Line B,500.7 +Line C,499.3 +Line D,502.6 +Line A,500.8 +Line B,502.0 +Line C,498.6 +Line D,500.7 +Line A,499.2 +Line B,498.6 +Line C,501.7 +Line D,502.4 +Line A,501.1 +Line B,501.5 +Line C,495.2 +Line D,503.2 +Line A,499.1 +Line B,503.6 +Line C,498.4 +Line D,500.8 +Line A,499.8 +Line B,500.7 +Line C,497.1 +Line D,502.5 +Line A,501.9 +Line B,499.1 +Line C,499.7 +Line D,500.7 +Line A,499.9 +Line B,500.3 +Line C,498.3 +Line D,502.9 +Line A,500.5 +Line B,505.9 +Line C,501.4 +Line D,502.0 +Line A,500.6 +Line B,498.9 +Line C,498.9 +Line D,500.8 +Line A,501.8 +Line B,501.1 +Line C,501.1 +Line D,500.3 +Line A,498.7 +Line B,502.3 +Line C,498.4 +Line D,502.4 +Line A,499.0 +Line B,498.5 +Line C,498.9 +Line D,501.7 +Line A,500.2 +Line B,498.0 +Line C,501.7 +Line D,500.8 +Line A,498.6 +Line B,504.3 +Line C,501.2 +Line D,501.5 +Line A,500.0 +Line B,498.7 +Line C,500.7 +Line D,502.3 +Line A,501.6 +Line B,501.5 +Line C,500.6 +Line D,502.0 +Line A,500.7 +Line B,504.0 +Line C,499.6 +Line D,501.5 +Line A,501.8 +Line B,503.4 +Line C,499.4 +Line D,502.4 +Line A,501.2 +Line B,500.2 +Line C,496.8 +Line D,501.7 +Line A,502.5 +Line B,501.9 +Line C,509.0 +Line D,501.8 +Line A,500.4 +Line B,501.1 +Line C,500.0 +Line D,501.4 +Line A,502.1 +Line B,501.2 +Line C,498.4 +Line D,503.2 +Line A,500.3 +Line B,491.8 +Line C,498.5 +Line D,502.1 +Line A,499.5 +Line B,502.1 +Line C,499.4 +Line D,501.9 +Line A,501.6 +Line B,503.0 +Line C,498.1 +Line D,501.6 +Line A,499.3 +Line B,498.0 +Line C,498.6 +Line D,502.2 +Line A,501.3 +Line B,500.5 +Line C,499.6 +Line D,502.5 +Line A,500.2 +Line B,501.0 +Line C,500.7 +Line D,502.8 +Line A,501.4 +Line B,498.9 +Line C,496.3 +Line D,502.8 +Line A,499.2 +Line B,503.3 +Line C,500.2 +Line D,501.7 +Line A,499.6 +Line B,502.8 +Line C,499.9 +Line D,502.7 +Line A,500.5 +Line B,497.8 +Line C,498.1 +Line D,500.4 +Line A,500.5 +Line B,500.9 +Line C,501.9 +Line D,502.9 +Line A,500.8 +Line B,502.8 +Line C,497.7 +Line D,501.6 +Line A,503.1 +Line B,499.2 +Line C,498.5 +Line D,503.4 +Line A,502.0 +Line B,505.5 +Line C,499.1 +Line D,502.0 +Line A,500.2 +Line B,503.6 +Line C,499.6 +Line D,502.6 +Line A,499.2 +Line B,499.8 +Line C,500.2 +Line D,501.8 +Line A,501.7 +Line B,504.6 +Line C,499.7 +Line D,501.5 +Line A,501.9 +Line B,497.3 +Line C,497.4 +Line D,501.6 +Line A,500.2 +Line B,500.8 +Line C,496.9 +Line D,502.2 +Line A,501.4 +Line B,502.2 +Line C,497.9 +Line D,501.0 +Line A,501.6 +Line B,502.4 +Line C,498.6 +Line D,501.3 +Line A,501.4 +Line B,499.6 +Line C,497.9 +Line D,502.8 +Line A,500.2 +Line B,502.6 +Line C,500.5 +Line D,500.9 +Line A,499.7 +Line B,500.1 +Line C,499.8 +Line D,501.8 +Line A,500.7 +Line B,499.5 +Line C,500.5 +Line D,500.3 +Line A,500.4 +Line B,501.6 +Line C,500.6 +Line D,501.3 +Line A,501.2 +Line B,500.9 +Line C,498.1 +Line D,502.4 +Line A,501.0 +Line B,497.6 +Line C,497.9 +Line D,500.1 +Line A,499.4 +Line B,504.6 +Line C,499.8 +Line D,501.9 +Line A,500.8 +Line B,504.0 +Line C,499.1 +Line D,501.3 +Line A,501.6 +Line B,501.8 +Line C,497.6 +Line D,500.8 +Line A,500.4 +Line B,500.7 +Line C,499.4 +Line D,503.8 +Line A,500.4 +Line B,500.1 +Line C,502.9 +Line D,502.1 +Line A,498.5 +Line B,502.3 +Line C,501.6 +Line D,500.9 +Line A,501.1 +Line B,498.0 +Line C,499.2 +Line D,502.5 +Line A,501.2 +Line B,499.7 +Line C,498.0 +Line D,501.7 +Line A,502.1 +Line B,504.0 +Line C,501.2 +Line D,500.5 +Line A,499.4 +Line B,499.2 +Line C,500.5 +Line D,503.4 +Line A,500.5 +Line B,498.7 +Line C,499.7 +Line D,501.3 +Line A,498.7 +Line B,497.5 +Line C,499.9 +Line D,501.5 +Line A,499.3 +Line B,499.5 +Line C,500.0 +Line D,503.4 +Line A,499.4 +Line B,500.7 +Line C,498.1 +Line D,501.0 +Line A,500.5 +Line B,501.1 +Line C,499.3 +Line D,503.6 +Line A,498.6 +Line B,501.7 +Line C,499.1 +Line D,500.8 +Line A,499.6 +Line B,501.1 +Line C,498.8 +Line D,502.1 +Line A,501.2 +Line B,502.1 +Line C,498.9 +Line D,503.5 +Line A,499.1 +Line B,499.8 +Line C,498.2 +Line D,501.0 +Line A,499.8 +Line B,506.0 +Line C,499.6 +Line D,500.9 +Line A,500.4 +Line B,501.1 +Line C,499.0 +Line D,502.3 +Line A,501.2 +Line B,496.8 +Line C,500.1 +Line D,493.7 +Line A,500.7 +Line B,501.5 +Line C,498.4 +Line D,502.3 +Line A,501.5 +Line B,502.1 +Line C,502.2 +Line D,502.3 +Line A,501.6 +Line B,502.0 +Line C,500.7 +Line D,502.6 +Line A,501.8 +Line B,502.1 +Line C,505.5 +Line D,501.0 +Line A,499.5 +Line B,499.6 +Line C,498.3 +Line D,501.9 +Line A,500.7 +Line B,501.6 +Line C,508.3 +Line D,501.9 +Line A,499.4 +Line B,499.8 +Line C,497.8 +Line D,502.3 +Line A,501.2 +Line B,498.8 +Line C,500.2 +Line D,501.2 +Line A,499.2 +Line B,503.2 +Line C,498.5 +Line D,508.4 +Line A,499.5 +Line B,501.5 +Line C,500.7 +Line D,502.8 +Line A,500.2 +Line B,501.2 +Line C,499.5 +Line D,502.6 +Line A,499.3 +Line B,499.3 +Line C,496.2 +Line D,501.4 +Line A,501.3 +Line B,499.3 +Line C,498.4 +Line D,500.7 +Line A,498.6 +Line B,499.6 +Line C,500.7 +Line D,501.8 +Line A,499.8 +Line B,501.6 +Line C,499.2 +Line D,501.3 +Line A,499.6 +Line B,502.2 +Line C,497.7 +Line D,500.1 +Line A,507.0 +Line B,501.8 +Line C,500.4 +Line D,496.5 +Line A,501.4 +Line B,499.7 +Line C,497.8 +Line D,502.9 +Line A,499.8 +Line B,500.2 +Line C,498.3 +Line D,502.2 +Line A,500.5 +Line B,501.5 +Line C,498.9 +Line D,502.5 +Line A,500.0 +Line B,500.2 +Line C,501.1 +Line D,501.9 +Line A,498.8 +Line B,498.4 +Line C,498.9 +Line D,503.6 +Line A,500.1 +Line B,502.0 +Line C,500.4 +Line D,502.5 +Line A,502.9 +Line B,496.4 +Line C,498.1 +Line D,501.3 +Line A,499.4 +Line B,492.6 +Line C,495.2 +Line D,501.9 +Line A,502.5 +Line B,501.7 +Line C,502.4 +Line D,501.1 +Line A,500.0 +Line B,502.3 +Line C,501.8 +Line D,501.9 +Line A,500.2 +Line B,497.6 +Line C,498.2 +Line D,501.2 +Line A,498.2 +Line B,505.0 +Line C,497.0 +Line D,501.7 +Line A,500.6 +Line B,501.1 +Line C,501.1 +Line D,501.5 +Line A,500.5 +Line B,503.7 +Line C,500.5 +Line D,500.9 +Line A,500.3 +Line B,505.5 +Line C,498.0 +Line D,502.1 +Line A,499.7 +Line B,502.5 +Line C,500.2 +Line D,503.0 +Line A,498.9 +Line B,501.3 +Line C,497.6 +Line D,503.4 +Line A,501.4 +Line B,500.3 +Line C,497.4 +Line D,503.8 +Line A,499.3 +Line B,505.1 +Line C,498.7 +Line D,502.1 +Line A,501.9 +Line B,509.1 +Line C,501.3 +Line D,502.6 +Line A,499.8 +Line B,503.2 +Line C,500.0 +Line D,502.0 +Line A,501.2 +Line B,500.2 +Line C,500.5 +Line D,502.7 +Line A,500.1 +Line B,503.9 +Line C,499.6 +Line D,501.2 +Line A,499.2 +Line B,499.6 +Line C,497.9 +Line D,500.3 +Line A,501.2 +Line B,506.0 +Line C,501.5 +Line D,502.8 +Line A,500.9 +Line B,499.9 +Line C,497.4 +Line D,500.9 +Line A,502.1 +Line B,499.5 +Line C,496.4 +Line D,501.6 +Line A,499.8 +Line B,500.8 +Line C,498.8 +Line D,502.1 +Line A,500.5 +Line B,501.0 +Line C,497.1 +Line D,501.9 +Line A,498.8 +Line B,499.3 +Line C,498.6 +Line D,503.4 +Line A,501.5 +Line B,503.8 +Line C,498.2 +Line D,501.6 +Line A,502.5 +Line B,500.7 +Line C,500.3 +Line D,500.7 +Line A,501.6 +Line B,503.6 +Line C,499.4 +Line D,502.1 +Line A,501.9 +Line B,501.8 +Line C,500.2 +Line D,502.7 +Line A,500.8 +Line B,500.3 +Line C,497.7 +Line D,503.1 +Line A,499.6 +Line B,500.9 +Line C,499.9 +Line D,502.3 +Line A,501.1 +Line B,499.6 +Line C,500.9 +Line D,498.9 +Line A,502.4 +Line B,499.2 +Line C,500.0 +Line D,501.1 +Line A,499.9 +Line B,500.5 +Line C,500.3 +Line D,502.3 +Line A,499.5 +Line B,500.8 +Line C,497.6 +Line D,502.2 +Line A,509.1 +Line B,501.9 +Line C,499.7 +Line D,502.1 +Line A,500.4 +Line B,500.2 +Line C,499.1 +Line D,502.8 +Line A,502.0 +Line B,499.3 +Line C,498.8 +Line D,501.4 +Line A,500.1 +Line B,503.3 +Line C,498.8 +Line D,502.8 +Line A,502.2 +Line B,504.2 +Line C,497.0 +Line D,502.1 +Line A,501.5 +Line B,503.1 +Line C,498.9 +Line D,503.8 +Line A,499.7 +Line B,501.5 +Line C,498.6 +Line D,503.3 +Line A,499.7 +Line B,498.5 +Line C,500.3 +Line D,500.9 +Line A,499.5 +Line B,504.6 +Line C,497.9 +Line D,503.6 +Line A,497.7 +Line B,498.7 +Line C,499.7 +Line D,502.0 +Line A,501.3 +Line B,503.7 +Line C,500.6 +Line D,502.2 +Line A,500.9 +Line B,502.7 +Line C,498.2 +Line D,503.0 +Line A,500.1 +Line B,498.8 +Line C,500.5 +Line D,501.5 +Line A,499.0 +Line B,499.1 +Line C,501.0 +Line D,501.9 +Line A,500.5 +Line B,501.5 +Line C,500.4 +Line D,501.7 +Line A,499.7 +Line B,502.0 +Line C,499.6 +Line D,501.7 +Line A,499.0 +Line B,500.3 +Line C,500.6 +Line D,501.3 +Line A,501.1 +Line B,501.2 +Line C,499.1 +Line D,501.4 +Line A,500.2 +Line B,499.5 +Line C,499.1 +Line D,503.9 +Line A,500.8 +Line B,503.9 +Line C,499.5 +Line D,502.1 +Line A,500.9 +Line B,502.4 +Line C,502.0 +Line D,501.2 +Line A,500.6 +Line B,499.0 +Line C,498.5 +Line D,501.2 +Line A,499.2 +Line B,500.0 +Line C,501.6 +Line D,501.7 +Line A,499.2 +Line B,503.2 +Line C,495.5 +Line D,502.2 +Line A,501.8 +Line B,502.1 +Line C,499.8 +Line D,501.8 +Line A,499.7 +Line B,504.2 +Line C,489.3 +Line D,503.5 +Line A,500.6 +Line B,501.1 +Line C,497.9 +Line D,502.5 +Line A,500.6 +Line B,500.9 +Line C,498.5 +Line D,501.9 +Line A,501.1 +Line B,501.2 +Line C,498.9 +Line D,502.1 +Line A,501.0 +Line B,500.1 +Line C,507.3 +Line D,501.9 +Line A,500.6 +Line B,503.7 +Line C,500.9 +Line D,502.2 +Line A,499.4 +Line B,498.8 +Line C,499.9 +Line D,502.5 +Line A,501.1 +Line B,502.3 +Line C,499.0 +Line D,502.5 +Line A,500.3 +Line B,501.0 +Line C,500.3 +Line D,501.5 +Line A,499.6 +Line B,499.3 +Line C,497.0 +Line D,501.3 +Line A,498.3 +Line B,501.3 +Line C,497.4 +Line D,502.2 +Line A,500.1 +Line B,502.5 +Line C,498.9 +Line D,502.1 +Line A,500.9 +Line B,499.4 +Line C,498.6 +Line D,501.8 +Line A,498.7 +Line B,502.8 +Line C,500.2 +Line D,501.3 +Line A,500.6 +Line B,498.8 +Line C,499.6 +Line D,502.2 +Line A,499.7 +Line B,503.3 +Line C,499.7 +Line D,503.0 +Line A,500.8 +Line B,499.5 +Line C,499.2 +Line D,501.2 +Line A,502.8 +Line B,503.4 +Line C,501.7 +Line D,502.5 +Line A,500.9 +Line B,501.4 +Line C,497.9 +Line D,501.6 +Line A,499.0 +Line B,498.2 +Line C,502.7 +Line D,503.3 +Line A,500.4 +Line B,501.1 +Line C,498.3 +Line D,503.3 +Line A,501.4 +Line B,503.4 +Line C,498.8 +Line D,501.2 +Line A,501.2 +Line B,502.7 +Line C,496.9 +Line D,501.9 +Line A,499.3 +Line B,499.1 +Line C,503.3 +Line D,503.8 +Line A,499.9 +Line B,499.5 +Line C,500.5 +Line D,501.2 +Line A,501.1 +Line B,501.1 +Line C,499.4 +Line D,503.1 +Line A,498.9 +Line B,504.0 +Line C,502.2 +Line D,502.0 +Line A,499.6 +Line B,500.3 +Line C,497.0 +Line D,502.1 +Line A,499.7 +Line B,493.1 +Line C,499.1 +Line D,502.2 +Line A,501.8 +Line B,502.9 +Line C,497.3 +Line D,502.0 +Line A,499.3 +Line B,501.8 +Line C,497.6 +Line D,502.7 +Line A,502.7 +Line B,500.7 +Line C,501.5 +Line D,502.7 +Line A,498.9 +Line B,501.1 +Line C,498.2 +Line D,502.3 +Line A,500.5 +Line B,502.8 +Line C,499.2 +Line D,503.0 +Line A,500.6 +Line B,506.6 +Line C,497.8 +Line D,504.1 +Line A,502.3 +Line B,500.0 +Line C,496.0 +Line D,502.4 +Line A,500.5 +Line B,499.2 +Line C,500.1 +Line D,501.7 +Line A,500.6 +Line B,502.0 +Line C,501.1 +Line D,502.2 +Line A,500.8 +Line B,501.4 +Line C,497.3 +Line D,492.8 +Line A,499.5 +Line B,501.5 +Line C,503.0 +Line D,502.0 +Line A,501.0 +Line B,503.6 +Line C,501.0 +Line D,502.7 +Line A,501.9 +Line B,502.7 +Line C,501.0 +Line D,501.7 +Line A,500.8 +Line B,502.8 +Line C,499.2 +Line D,500.8 +Line A,500.6 +Line B,498.0 +Line C,500.3 +Line D,501.1 +Line A,503.6 +Line B,503.4 +Line C,497.4 +Line D,501.2 +Line A,503.5 +Line B,497.4 +Line C,497.0 +Line D,502.2 +Line A,499.1 +Line B,500.3 +Line C,499.5 +Line D,501.1 +Line A,499.2 +Line B,502.4 +Line C,498.7 +Line D,500.6 +Line A,500.1 +Line B,507.0 +Line C,496.6 +Line D,503.4 +Line A,501.1 +Line B,502.1 +Line C,499.7 +Line D,502.1 +Line A,499.2 +Line B,501.9 +Line C,499.6 +Line D,500.6 +Line A,499.5 +Line B,501.4 +Line C,496.9 +Line D,501.8 +Line A,500.7 +Line B,502.8 +Line C,500.5 +Line D,503.0 +Line A,499.6 +Line B,501.1 +Line C,500.1 +Line D,502.6 +Line A,500.9 +Line B,500.4 +Line C,497.4 +Line D,509.2 +Line A,501.9 +Line B,500.3 +Line C,500.4 +Line D,500.8 +Line A,499.7 +Line B,502.1 +Line C,500.1 +Line D,501.0 +Line A,499.3 +Line B,502.1 +Line C,498.1 +Line D,502.2 +Line A,500.2 +Line B,502.5 +Line C,498.6 +Line D,501.2 +Line A,500.7 +Line B,502.0 +Line C,498.0 +Line D,503.6 +Line A,499.6 +Line B,497.1 +Line C,498.4 +Line D,501.1 +Line A,499.3 +Line B,502.1 +Line C,499.0 +Line D,502.0 +Line A,501.7 +Line B,501.4 +Line C,497.4 +Line D,501.7 +Line A,500.1 +Line B,500.3 +Line C,498.5 +Line D,509.7 +Line A,498.2 +Line B,502.7 +Line C,498.8 +Line D,500.6 +Line A,500.9 +Line B,501.7 +Line C,500.2 +Line D,503.0 +Line A,500.6 +Line B,506.0 +Line C,500.7 +Line D,502.6 +Line A,502.0 +Line B,498.4 +Line C,501.4 +Line D,502.6 +Line A,499.0 +Line B,501.2 +Line C,498.6 +Line D,503.9 +Line A,499.8 +Line B,501.7 +Line C,498.5 +Line D,501.6 +Line A,500.4 +Line B,502.9 +Line C,499.1 +Line D,501.6 +Line A,499.0 +Line B,502.0 +Line C,500.3 +Line D,504.6 +Line A,501.8 +Line B,502.1 +Line C,498.7 +Line D,500.8 +Line A,498.9 +Line B,500.1 +Line C,497.2 +Line D,502.5 +Line A,500.8 +Line B,501.2 +Line C,500.1 +Line D,501.2 +Line A,500.1 +Line B,502.0 +Line C,498.0 +Line D,502.5 +Line A,498.4 +Line B,501.0 +Line C,501.0 +Line D,500.9 +Line A,501.3 +Line B,503.7 +Line C,497.7 +Line D,501.6 +Line A,501.0 +Line B,500.7 +Line C,499.5 +Line D,503.2 +Line A,501.0 +Line B,501.8 +Line C,496.2 +Line D,502.5 +Line A,501.7 +Line B,494.7 +Line C,498.9 +Line D,502.5 +Line A,501.3 +Line B,502.1 +Line C,497.0 +Line D,501.4 +Line A,501.8 +Line B,502.3 +Line C,498.6 +Line D,500.8 +Line A,502.9 +Line B,498.5 +Line C,498.0 +Line D,502.0 +Line A,503.2 +Line B,501.6 +Line C,499.5 +Line D,502.8 +Line A,500.4 +Line B,504.2 +Line C,502.1 +Line D,501.3 +Line A,499.4 +Line B,501.5 +Line C,499.1 +Line D,501.3 +Line A,499.9 +Line B,502.2 +Line C,498.6 +Line D,502.9 +Line A,501.5 +Line B,493.6 +Line C,499.8 +Line D,501.1 +Line A,500.1 +Line B,498.1 +Line C,499.8 +Line D,501.3 +Line A,501.1 +Line B,501.5 +Line C,497.5 +Line D,501.2 +Line A,501.1 +Line B,499.1 +Line C,499.2 +Line D,500.7 +Line A,499.7 +Line B,500.9 +Line C,498.8 +Line D,502.7 +Line A,500.1 +Line B,500.9 +Line C,499.6 +Line D,502.7 +Line A,499.5 +Line B,493.9 +Line C,499.4 +Line D,502.2 +Line A,499.5 +Line B,499.7 +Line C,500.6 +Line D,500.3 +Line A,500.5 +Line B,500.4 +Line C,499.4 +Line D,502.9 +Line A,499.5 +Line B,501.2 +Line C,498.0 +Line D,501.0 +Line A,499.7 +Line B,499.9 +Line C,498.7 +Line D,502.1 +Line A,501.2 +Line B,498.4 +Line C,499.9 +Line D,502.7 +Line A,497.8 +Line B,503.4 +Line C,497.7 +Line D,500.6 +Line A,500.3 +Line B,496.9 +Line C,499.2 +Line D,501.6 +Line A,500.0 +Line B,498.3 +Line C,497.9 +Line D,500.2 +Line A,500.4 +Line B,503.2 +Line C,498.2 +Line D,502.8 +Line A,501.0 +Line B,504.0 +Line C,500.6 +Line D,502.4 +Line A,502.6 +Line B,499.3 +Line C,502.6 +Line D,501.9 +Line A,500.2 +Line B,502.7 +Line C,501.6 +Line D,501.8 +Line A,498.9 +Line B,504.0 +Line C,498.9 +Line D,502.9 +Line A,501.1 +Line B,500.9 +Line C,501.0 +Line D,502.7 +Line A,500.0 +Line B,501.6 +Line C,500.2 +Line D,501.2 +Line A,501.4 +Line B,500.6 +Line C,496.8 +Line D,500.8 +Line A,500.7 +Line B,502.4 +Line C,499.3 +Line D,502.6 +Line A,501.4 +Line B,499.5 +Line C,499.6 +Line D,501.4 +Line A,500.9 +Line B,500.5 +Line C,499.8 +Line D,502.5 +Line A,500.4 +Line B,502.1 +Line C,499.1 +Line D,502.1 +Line A,500.7 +Line B,500.5 +Line C,499.4 +Line D,501.5 +Line A,501.8 +Line B,505.8 +Line C,498.8 +Line D,502.4 +Line A,500.4 +Line B,499.8 +Line C,501.3 +Line D,502.6 +Line A,500.7 +Line B,500.8 +Line C,500.1 +Line D,505.6 +Line A,500.1 +Line B,501.5 +Line C,497.6 +Line D,499.4 +Line A,501.0 +Line B,503.0 +Line C,501.7 +Line D,503.5 +Line A,500.5 +Line B,502.5 +Line C,498.5 +Line D,503.0 +Line A,500.2 +Line B,500.2 +Line C,498.5 +Line D,501.3 +Line A,497.1 +Line B,499.7 +Line C,500.8 +Line D,501.9 +Line A,501.7 +Line B,503.8 +Line C,497.2 +Line D,501.5 +Line A,499.3 +Line B,503.2 +Line C,495.8 +Line D,503.0 +Line A,500.2 +Line B,501.4 +Line C,497.4 +Line D,503.8 +Line A,499.7 +Line B,501.0 +Line C,499.6 +Line D,502.2 +Line A,497.2 +Line B,505.7 +Line C,502.4 +Line D,501.9 +Line A,499.1 +Line B,498.9 +Line C,497.8 +Line D,501.8 +Line A,500.3 +Line B,499.1 +Line C,502.3 +Line D,503.6 +Line A,500.2 +Line B,500.4 +Line C,501.7 +Line D,502.6 +Line A,501.0 +Line B,499.5 +Line C,497.5 +Line D,503.1 +Line A,500.1 +Line B,503.3 +Line C,498.2 +Line D,502.4 +Line A,497.7 +Line B,496.2 +Line C,500.1 +Line D,503.0 +Line A,501.2 +Line B,504.0 +Line C,497.6 +Line D,502.0 +Line A,498.4 +Line B,498.8 +Line C,498.1 +Line D,503.0 +Line A,501.5 +Line B,502.1 +Line C,496.9 +Line D,502.1 +Line A,501.9 +Line B,500.7 +Line C,498.7 +Line D,502.7 +Line A,499.7 +Line B,496.1 +Line C,499.1 +Line D,503.2 +Line A,500.9 +Line B,497.3 +Line C,499.0 +Line D,501.7 +Line A,499.6 +Line B,498.3 +Line C,497.2 +Line D,501.8 +Line A,500.0 +Line B,501.9 +Line C,499.9 +Line D,502.9 +Line A,498.6 +Line B,503.0 +Line C,497.2 +Line D,502.3 +Line A,500.6 +Line B,503.1 +Line C,498.4 +Line D,502.0 +Line A,499.7 +Line B,498.6 +Line C,502.6 +Line D,503.4 +Line A,500.3 +Line B,503.5 +Line C,500.1 +Line D,501.2 +Line A,501.1 +Line B,501.9 +Line C,500.0 +Line D,503.7 +Line A,499.8 +Line B,501.0 +Line C,500.6 +Line D,502.1 +Line A,498.8 +Line B,501.3 +Line C,499.0 +Line D,500.9 +Line A,499.8 +Line B,501.7 +Line C,500.3 +Line D,501.1 +Line A,498.0 +Line B,502.4 +Line C,500.8 +Line D,502.6 +Line A,500.6 +Line B,499.5 +Line C,498.4 +Line D,502.0 +Line A,501.6 +Line B,497.2 +Line C,500.2 +Line D,502.8 +Line A,502.5 +Line B,497.3 +Line C,498.8 +Line D,501.4 +Line A,500.8 +Line B,499.0 +Line C,500.3 +Line D,501.6 +Line A,498.0 +Line B,502.4 +Line C,498.5 +Line D,502.1 +Line A,500.9 +Line B,502.2 +Line C,498.4 +Line D,500.4 +Line A,499.3 +Line B,502.8 +Line C,498.3 +Line D,502.2 +Line A,499.1 +Line B,502.4 +Line C,498.9 +Line D,502.5 +Line A,497.9 +Line B,502.0 +Line C,499.4 +Line D,502.0 +Line A,500.0 +Line B,509.5 +Line C,499.8 +Line D,503.3 +Line A,498.9 +Line B,501.2 +Line C,500.5 +Line D,501.2 +Line A,501.4 +Line B,503.1 +Line C,498.1 +Line D,499.4 +Line A,500.0 +Line B,499.6 +Line C,491.5 +Line D,501.1 +Line A,502.0 +Line B,510.8 +Line C,498.9 +Line D,502.5 +Line A,499.7 +Line B,501.9 +Line C,500.1 +Line D,502.7 +Line A,499.6 +Line B,498.1 +Line C,499.8 +Line D,503.6 +Line A,499.4 +Line B,498.9 +Line C,499.6 +Line D,501.5 +Line A,499.2 +Line B,497.5 +Line C,500.2 +Line D,501.8 +Line A,502.4 +Line B,501.6 +Line C,497.6 +Line D,502.1 +Line A,497.7 +Line B,501.5 +Line C,498.7 +Line D,501.9 +Line A,498.7 +Line B,502.6 +Line C,500.4 +Line D,501.1 +Line A,500.6 +Line B,498.9 +Line C,500.4 +Line D,502.6 +Line A,499.8 +Line B,502.9 +Line C,499.0 +Line D,504.1 +Line A,498.7 +Line B,501.6 +Line C,499.1 +Line D,501.9 +Line A,500.3 +Line B,501.1 +Line C,496.7 +Line D,502.5 +Line A,501.7 +Line B,504.0 +Line C,500.2 +Line D,501.8 +Line A,500.0 +Line B,498.8 +Line C,496.7 +Line D,501.6 +Line A,501.5 +Line B,498.7 +Line C,501.1 +Line D,502.2 +Line A,499.0 +Line B,503.0 +Line C,496.4 +Line D,503.8 +Line A,500.7 +Line B,499.7 +Line C,500.2 +Line D,503.1 +Line A,500.7 +Line B,502.8 +Line C,498.5 +Line D,500.8 +Line A,499.8 +Line B,501.8 +Line C,500.6 +Line D,501.5 +Line A,499.9 +Line B,502.1 +Line C,500.2 +Line D,503.4 +Line A,502.0 +Line B,498.9 +Line C,502.1 +Line D,501.7 +Line A,494.7 +Line B,500.5 +Line C,499.7 +Line D,501.6 +Line A,498.7 +Line B,499.8 +Line C,498.4 +Line D,501.8 +Line A,499.5 +Line B,499.4 +Line C,495.1 +Line D,501.7 +Line A,493.9 +Line B,502.1 +Line C,500.3 +Line D,500.2 +Line A,498.6 +Line B,497.6 +Line C,500.1 +Line D,502.1 +Line A,501.5 +Line B,497.0 +Line C,498.6 +Line D,501.9 +Line A,501.3 +Line B,499.7 +Line C,495.4 +Line D,501.0 +Line A,499.7 +Line B,504.4 +Line C,500.3 +Line D,500.0 +Line A,501.1 +Line B,502.2 +Line C,498.2 +Line D,501.3 +Line A,500.2 +Line B,501.3 +Line C,499.2 +Line D,501.3 +Line A,501.3 +Line B,499.0 +Line C,500.9 +Line D,503.3 +Line A,498.6 +Line B,500.0 +Line C,496.2 +Line D,501.5 +Line A,499.2 +Line B,499.9 +Line C,499.1 +Line D,501.3 +Line A,500.8 +Line B,504.5 +Line C,499.3 +Line D,500.1 +Line A,498.6 +Line B,504.0 +Line C,498.2 +Line D,501.2 +Line A,509.0 +Line B,503.2 +Line C,496.1 +Line D,501.7 +Line A,499.4 +Line B,501.1 +Line C,497.4 +Line D,501.5 +Line A,501.0 +Line B,500.5 +Line C,498.6 +Line D,500.8 +Line A,498.9 +Line B,500.8 +Line C,496.2 +Line D,500.1 +Line A,501.0 +Line B,503.2 +Line C,499.5 +Line D,501.8 +Line A,499.3 +Line B,500.7 +Line C,499.1 +Line D,494.8 +Line A,500.4 +Line B,500.4 +Line C,498.9 +Line D,502.8 +Line A,499.2 +Line B,501.8 +Line C,498.3 +Line D,500.4 +Line A,500.6 +Line B,500.7 +Line C,497.8 +Line D,501.3 +Line A,499.7 +Line B,503.6 +Line C,499.5 +Line D,501.2 +Line A,498.9 +Line B,501.5 +Line C,497.3 +Line D,502.1 +Line A,500.7 +Line B,500.9 +Line C,498.3 +Line D,501.2 +Line A,499.5 +Line B,500.7 +Line C,498.8 +Line D,502.4 +Line A,501.6 +Line B,501.5 +Line C,500.2 +Line D,504.3 +Line A,499.2 +Line B,503.4 +Line C,498.2 +Line D,504.1 +Line A,500.6 +Line B,502.1 +Line C,499.8 +Line D,500.8 +Line A,500.2 +Line B,500.2 +Line C,497.1 +Line D,501.2 +Line A,501.2 +Line B,500.5 +Line C,500.1 +Line D,501.8 +Line A,500.8 +Line B,500.3 +Line C,498.3 +Line D,501.1 +Line A,500.0 +Line B,502.0 +Line C,499.4 +Line D,501.9 +Line A,502.0 +Line B,502.0 +Line C,500.1 +Line D,501.8 +Line A,499.0 +Line B,503.7 +Line C,497.8 +Line D,503.1 +Line A,500.3 +Line B,498.8 +Line C,499.8 +Line D,501.7 +Line A,501.1 +Line B,499.5 +Line C,497.5 +Line D,501.7 +Line A,501.3 +Line B,501.2 +Line C,496.5 +Line D,502.3 +Line A,501.5 +Line B,502.2 +Line C,498.7 +Line D,503.2 +Line A,500.6 +Line B,500.4 +Line C,497.3 +Line D,502.9 +Line A,499.3 +Line B,499.0 +Line C,500.7 +Line D,502.0 +Line A,498.5 +Line B,503.9 +Line C,499.6 +Line D,502.0 +Line A,499.3 +Line B,502.2 +Line C,492.1 +Line D,500.8 +Line A,499.7 +Line B,501.1 +Line C,502.7 +Line D,501.7 +Line A,501.0 +Line B,501.3 +Line C,498.6 +Line D,502.5 +Line A,500.5 +Line B,502.8 +Line C,497.0 +Line D,500.9 +Line A,500.1 +Line B,499.9 +Line C,499.2 +Line D,503.0 +Line A,501.3 +Line B,503.8 +Line C,500.0 +Line D,501.7 +Line A,499.4 +Line B,503.7 +Line C,499.0 +Line D,501.3 +Line A,501.2 +Line B,502.6 +Line C,495.9 +Line D,502.2 +Line A,498.5 +Line B,501.8 +Line C,501.9 +Line D,503.1 +Line A,499.9 +Line B,502.1 +Line C,497.0 +Line D,502.1 +Line A,500.5 +Line B,498.7 +Line C,498.1 +Line D,501.4 +Line A,499.5 +Line B,500.7 +Line C,500.2 +Line D,501.9 +Line A,501.0 +Line B,504.8 +Line C,499.0 +Line D,501.8 +Line A,500.2 +Line B,499.4 +Line C,499.2 +Line D,502.0 +Line A,500.8 +Line B,501.7 +Line C,500.9 +Line D,501.5 +Line A,502.7 +Line B,499.5 +Line C,499.9 +Line D,502.2 +Line A,502.1 +Line B,501.3 +Line C,500.9 +Line D,503.1 +Line A,502.6 +Line B,500.0 +Line C,500.5 +Line D,502.8 +Line A,501.0 +Line B,502.5 +Line C,497.0 +Line D,500.8 +Line A,501.4 +Line B,501.8 +Line C,499.2 +Line D,499.9 +Line A,500.0 +Line B,501.7 +Line C,501.5 +Line D,503.2 +Line A,500.9 +Line B,499.6 +Line C,498.7 +Line D,502.3 +Line A,502.6 +Line B,502.2 +Line C,499.3 +Line D,501.6 +Line A,501.8 +Line B,500.4 +Line C,497.7 +Line D,501.8 +Line A,500.8 +Line B,501.3 +Line C,500.5 +Line D,502.4 +Line A,499.9 +Line B,501.3 +Line C,501.5 +Line D,502.3 +Line A,499.1 +Line B,501.2 +Line C,498.9 +Line D,502.1 +Line A,501.9 +Line B,500.4 +Line C,501.6 +Line D,504.0 +Line A,498.1 +Line B,501.1 +Line C,499.1 +Line D,501.5 +Line A,500.1 +Line B,494.9 +Line C,497.4 +Line D,502.2 +Line A,500.9 +Line B,505.4 +Line C,497.1 +Line D,500.8 +Line A,499.3 +Line B,503.6 +Line C,497.9 +Line D,502.4 +Line A,500.7 +Line B,503.1 +Line C,496.0 +Line D,502.0 +Line A,500.6 +Line B,498.2 +Line C,499.6 +Line D,501.0 +Line A,501.3 +Line B,498.4 +Line C,497.8 +Line D,502.0 +Line A,498.7 +Line B,501.7 +Line C,497.3 +Line D,501.0 +Line A,500.9 +Line B,504.6 +Line C,497.4 +Line D,500.6 +Line A,500.8 +Line B,497.2 +Line C,499.7 +Line D,502.4 +Line A,502.0 +Line B,501.1 +Line C,505.6 +Line D,500.9 +Line A,504.7 +Line B,498.2 +Line C,501.7 +Line D,502.9 +Line A,501.2 +Line B,501.6 +Line C,501.8 +Line D,502.0 +Line A,500.6 +Line B,500.9 +Line C,499.9 +Line D,501.0 +Line A,501.7 +Line B,498.9 +Line C,498.0 +Line D,502.0 +Line A,500.5 +Line B,501.0 +Line C,498.2 +Line D,500.6 +Line A,499.4 +Line B,500.2 +Line C,497.0 +Line D,502.4 +Line A,500.1 +Line B,501.9 +Line C,499.0 +Line D,501.2 +Line A,499.4 +Line B,499.2 +Line C,498.5 +Line D,501.6 +Line A,500.2 +Line B,502.9 +Line C,502.2 +Line D,503.8 +Line A,499.9 +Line B,500.5 +Line C,500.4 +Line D,501.4 +Line A,499.9 +Line B,499.5 +Line C,500.5 +Line D,501.8 +Line A,500.9 +Line B,501.3 +Line C,496.8 +Line D,501.7 +Line A,500.6 +Line B,498.5 +Line C,499.6 +Line D,501.1 +Line A,499.0 +Line B,499.1 +Line C,497.1 +Line D,501.1 +Line A,499.5 +Line B,507.3 +Line C,501.6 +Line D,502.6 +Line A,500.5 +Line B,498.2 +Line C,498.6 +Line D,501.1 +Line A,499.6 +Line B,501.6 +Line C,499.4 +Line D,502.8 +Line A,500.7 +Line B,499.6 +Line C,499.6 +Line D,502.3 +Line A,499.8 +Line B,502.1 +Line C,498.5 +Line D,502.3 +Line A,499.0 +Line B,500.5 +Line C,499.6 +Line D,503.8 +Line A,498.3 +Line B,500.4 +Line C,500.9 +Line D,501.0 +Line A,500.0 +Line B,501.4 +Line C,500.8 +Line D,502.1 +Line A,502.2 +Line B,502.9 +Line C,498.2 +Line D,503.3 +Line A,500.7 +Line B,499.6 +Line C,497.0 +Line D,501.6 +Line A,501.4 +Line B,499.5 +Line C,497.8 +Line D,503.2 +Line A,501.4 +Line B,501.1 +Line C,499.9 +Line D,501.1 +Line A,492.5 +Line B,504.2 +Line C,499.1 +Line D,500.9 +Line A,500.0 +Line B,499.3 +Line C,496.1 +Line D,502.2 +Line A,499.9 +Line B,498.3 +Line C,500.4 +Line D,503.5 +Line A,501.5 +Line B,502.7 +Line C,500.4 +Line D,503.7 +Line A,500.7 +Line B,492.9 +Line C,498.6 +Line D,502.7 +Line A,500.6 +Line B,499.5 +Line C,499.2 +Line D,502.3 +Line A,499.2 +Line B,501.1 +Line C,499.0 +Line D,500.3 +Line A,499.3 +Line B,501.4 +Line C,500.5 +Line D,495.5 +Line A,499.1 +Line B,503.0 +Line C,498.9 +Line D,501.2 +Line A,499.1 +Line B,501.9 +Line C,499.5 +Line D,502.4 +Line A,503.0 +Line B,493.1 +Line C,500.3 +Line D,500.9 +Line A,499.3 +Line B,502.5 +Line C,499.2 +Line D,502.4 +Line A,501.0 +Line B,499.3 +Line C,498.6 +Line D,501.6 +Line A,498.3 +Line B,498.4 +Line C,499.3 +Line D,500.5 +Line A,500.1 +Line B,500.9 +Line C,499.3 +Line D,502.5 +Line A,490.7 +Line B,501.6 +Line C,498.8 +Line D,500.5 +Line A,500.2 +Line B,491.4 +Line C,498.9 +Line D,502.4 +Line A,500.4 +Line B,501.2 +Line C,509.2 +Line D,502.8 +Line A,499.7 +Line B,506.3 +Line C,497.9 +Line D,501.8 +Line A,502.5 +Line B,501.8 +Line C,497.5 +Line D,501.6 +Line A,500.8 +Line B,502.9 +Line C,498.3 +Line D,501.0 +Line A,499.6 +Line B,504.9 +Line C,497.2 +Line D,502.4 +Line A,500.1 +Line B,500.9 +Line C,499.0 +Line D,501.7 +Line A,501.3 +Line B,499.1 +Line C,498.4 +Line D,502.8 +Line A,500.5 +Line B,496.3 +Line C,498.3 +Line D,503.1 +Line A,500.3 +Line B,504.9 +Line C,497.5 +Line D,503.5 +Line A,499.2 +Line B,502.7 +Line C,497.8 +Line D,501.4 +Line A,499.5 +Line B,501.7 +Line C,499.6 +Line D,504.8 +Line A,502.7 +Line B,502.9 +Line C,501.0 +Line D,501.7 +Line A,501.6 +Line B,501.1 +Line C,496.1 +Line D,503.2 +Line A,501.0 +Line B,500.6 +Line C,497.7 +Line D,501.6 +Line A,499.3 +Line B,502.1 +Line C,497.9 +Line D,503.2 +Line A,500.0 +Line B,501.9 +Line C,497.7 +Line D,502.2 +Line A,502.7 +Line B,502.3 +Line C,496.1 +Line D,500.4 +Line A,500.4 +Line B,499.6 +Line C,499.6 +Line D,501.5 +Line A,502.2 +Line B,502.4 +Line C,499.8 +Line D,502.9 +Line A,501.7 +Line B,502.4 +Line C,498.9 +Line D,501.2 +Line A,500.5 +Line B,505.9 +Line C,499.3 +Line D,501.6 +Line A,500.6 +Line B,500.5 +Line C,497.3 +Line D,502.1 +Line A,500.3 +Line B,502.4 +Line C,499.8 +Line D,501.5 +Line A,499.4 +Line B,502.4 +Line C,498.6 +Line D,501.9 +Line A,503.4 +Line B,500.2 +Line C,501.6 +Line D,501.6 +Line A,500.1 +Line B,499.6 +Line C,500.6 +Line D,501.1 +Line A,499.1 +Line B,502.8 +Line C,503.9 +Line D,503.7 +Line A,500.9 +Line B,501.7 +Line C,498.2 +Line D,503.7 +Line A,498.3 +Line B,500.1 +Line C,499.3 +Line D,501.2 +Line A,500.7 +Line B,500.7 +Line C,498.8 +Line D,502.5 +Line A,500.4 +Line B,500.0 +Line C,499.4 +Line D,500.3 +Line A,502.2 +Line B,500.4 +Line C,499.5 +Line D,502.4 +Line A,502.3 +Line B,500.2 +Line C,498.7 +Line D,501.6 +Line A,507.5 +Line B,497.4 +Line C,499.4 +Line D,502.6 +Line A,501.8 +Line B,499.3 +Line C,498.9 +Line D,502.3 +Line A,500.4 +Line B,499.8 +Line C,496.8 +Line D,500.9 +Line A,500.5 +Line B,500.0 +Line C,500.7 +Line D,502.3 +Line A,498.2 +Line B,507.3 +Line C,500.7 +Line D,501.2 +Line A,501.1 +Line B,501.7 +Line C,501.5 +Line D,501.3 +Line A,500.7 +Line B,512.1 +Line C,499.3 +Line D,501.8 +Line A,501.8 +Line B,502.4 +Line C,495.2 +Line D,501.0 +Line A,501.0 +Line B,501.7 +Line C,496.4 +Line D,503.0 +Line A,500.8 +Line B,499.9 +Line C,499.6 +Line D,500.2 +Line A,500.2 +Line B,497.0 +Line C,498.5 +Line D,503.0 +Line A,502.7 +Line B,500.8 +Line C,498.3 +Line D,503.0 +Line A,500.5 +Line B,502.3 +Line C,499.6 +Line D,502.9 +Line A,499.2 +Line B,501.2 +Line C,499.6 +Line D,503.1 +Line A,499.3 +Line B,501.2 +Line C,495.5 +Line D,502.0 +Line A,497.9 +Line B,499.5 +Line C,500.3 +Line D,502.9 +Line A,500.4 +Line B,498.6 +Line C,499.9 +Line D,503.0 +Line A,500.9 +Line B,504.6 +Line C,489.8 +Line D,502.6 +Line A,498.9 +Line B,500.7 +Line C,497.7 +Line D,501.7 +Line A,499.3 +Line B,503.2 +Line C,497.0 +Line D,501.8 +Line A,501.1 +Line B,500.6 +Line C,499.2 +Line D,501.9 +Line A,500.9 +Line B,500.3 +Line C,499.9 +Line D,502.7 +Line A,500.9 +Line B,499.0 +Line C,498.7 +Line D,502.8 +Line A,498.7 +Line B,498.6 +Line C,496.7 +Line D,503.1 +Line A,499.4 +Line B,499.9 +Line C,499.0 +Line D,501.1 +Line A,499.5 +Line B,502.5 +Line C,500.4 +Line D,502.1 +Line A,500.3 +Line B,504.7 +Line C,497.0 +Line D,501.8 +Line A,499.8 +Line B,501.5 +Line C,499.0 +Line D,502.1 +Line A,500.0 +Line B,498.8 +Line C,498.3 +Line D,501.8 +Line A,501.1 +Line B,500.7 +Line C,498.5 +Line D,503.1 +Line A,499.8 +Line B,496.4 +Line C,499.8 +Line D,501.0 +Line A,500.5 +Line B,502.1 +Line C,497.0 +Line D,502.1 +Line A,502.4 +Line B,501.1 +Line C,498.8 +Line D,501.7 +Line A,501.0 +Line B,500.4 +Line C,500.9 +Line D,502.4 +Line A,500.4 +Line B,500.9 +Line C,508.0 +Line D,501.8 +Line A,501.3 +Line B,501.2 +Line C,499.8 +Line D,501.5 +Line A,501.9 +Line B,500.2 +Line C,499.2 +Line D,501.5 +Line A,498.5 +Line B,509.2 +Line C,498.0 +Line D,502.0 +Line A,500.8 +Line B,500.7 +Line C,500.1 +Line D,503.6 +Line A,501.3 +Line B,499.9 +Line C,499.1 +Line D,502.1 +Line A,501.1 +Line B,501.9 +Line C,498.3 +Line D,504.0 +Line A,500.7 +Line B,499.6 +Line C,509.3 +Line D,501.8 +Line A,502.2 +Line B,502.5 +Line C,499.3 +Line D,501.2 +Line A,499.9 +Line B,500.0 +Line C,499.6 +Line D,502.6 +Line A,500.7 +Line B,500.8 +Line C,497.5 +Line D,502.2 +Line A,500.8 +Line B,499.7 +Line C,499.0 +Line D,503.3 +Line A,500.2 +Line B,506.0 +Line C,499.4 +Line D,502.1 +Line A,499.5 +Line B,501.3 +Line C,499.7 +Line D,502.6 +Line A,499.2 +Line B,499.4 +Line C,500.2 +Line D,501.1 +Line A,502.6 +Line B,501.2 +Line C,497.0 +Line D,502.3 +Line A,501.0 +Line B,504.2 +Line C,499.8 +Line D,501.0 +Line A,499.5 +Line B,503.1 +Line C,499.3 +Line D,501.2 +Line A,499.3 +Line B,501.3 +Line C,501.3 +Line D,502.8 +Line A,499.3 +Line B,498.1 +Line C,497.1 +Line D,501.4 +Line A,501.0 +Line B,501.3 +Line C,497.4 +Line D,502.6 +Line A,499.5 +Line B,500.6 +Line C,499.0 +Line D,501.2 +Line A,498.4 +Line B,506.5 +Line C,499.2 +Line D,502.8 +Line A,500.4 +Line B,501.6 +Line C,498.1 +Line D,503.4 +Line A,499.9 +Line B,503.2 +Line C,501.8 +Line D,502.3 +Line A,500.4 +Line B,500.4 +Line C,499.0 +Line D,503.3 +Line A,501.0 +Line B,498.9 +Line C,497.1 +Line D,510.2 +Line A,500.1 +Line B,502.3 +Line C,497.0 +Line D,501.5 +Line A,501.1 +Line B,504.1 +Line C,500.6 +Line D,502.5 +Line A,501.6 +Line B,501.0 +Line C,500.5 +Line D,502.1 +Line A,498.6 +Line B,501.0 +Line C,495.8 +Line D,500.5 +Line A,500.9 +Line B,501.5 +Line C,499.3 +Line D,502.1 +Line A,499.6 +Line B,503.1 +Line C,498.5 +Line D,501.3 +Line A,499.3 +Line B,502.3 +Line C,497.7 +Line D,502.8 +Line A,501.3 +Line B,499.4 +Line C,498.7 +Line D,503.1 +Line A,501.1 +Line B,504.5 +Line C,502.5 +Line D,500.5 +Line A,502.2 +Line B,501.0 +Line C,497.7 +Line D,502.1 +Line A,502.5 +Line B,501.9 +Line C,490.6 +Line D,502.5 +Line A,499.6 +Line B,498.3 +Line C,500.7 +Line D,502.2 +Line A,501.0 +Line B,501.2 +Line C,498.5 +Line D,502.8 +Line A,499.7 +Line B,500.1 +Line C,499.3 +Line D,499.9 +Line A,500.5 +Line B,502.4 +Line C,501.3 +Line D,500.8 +Line A,499.6 +Line B,502.1 +Line C,500.1 +Line D,501.4 +Line A,498.2 +Line B,504.2 +Line C,498.1 +Line D,502.0 +Line A,500.4 +Line B,501.3 +Line C,498.0 +Line D,502.1 +Line A,500.1 +Line B,501.3 +Line C,499.2 +Line D,502.0 +Line A,500.9 +Line B,498.6 +Line C,499.8 +Line D,502.0 +Line A,501.4 +Line B,497.0 +Line C,499.5 +Line D,501.2 +Line A,500.3 +Line B,501.2 +Line C,497.9 +Line D,502.8 +Line A,502.1 +Line B,503.3 +Line C,495.5 +Line D,502.2 +Line A,500.1 +Line B,501.8 +Line C,499.3 +Line D,502.8 +Line A,501.0 +Line B,500.7 +Line C,501.2 +Line D,499.9 +Line A,500.2 +Line B,501.5 +Line C,501.0 +Line D,501.2 +Line A,503.3 +Line B,500.7 +Line C,502.1 +Line D,502.1 +Line A,501.6 +Line B,498.9 +Line C,499.3 +Line D,502.7 +Line A,501.8 +Line B,499.4 +Line C,500.5 +Line D,503.1 +Line A,499.7 +Line B,503.0 +Line C,498.1 +Line D,502.6 +Line A,501.2 +Line B,500.3 +Line C,498.2 +Line D,500.6 +Line A,499.8 +Line B,502.0 +Line C,498.5 +Line D,503.1 +Line A,502.2 +Line B,501.2 +Line C,499.0 +Line D,502.8 +Line A,499.7 +Line B,502.7 +Line C,498.0 +Line D,504.0 +Line A,499.7 +Line B,501.0 +Line C,496.9 +Line D,499.7 +Line A,497.7 +Line B,499.9 +Line C,500.3 +Line D,502.1 +Line A,499.7 +Line B,500.6 +Line C,499.3 +Line D,501.2 +Line A,500.5 +Line B,498.0 +Line C,501.0 +Line D,501.7 +Line A,500.9 +Line B,499.7 +Line C,501.4 +Line D,500.6 +Line A,501.5 +Line B,500.6 +Line C,501.5 +Line D,501.8 +Line A,503.4 +Line B,501.8 +Line C,498.9 +Line D,500.0 +Line A,500.6 +Line B,500.2 +Line C,499.6 +Line D,502.9 +Line A,499.9 +Line B,503.0 +Line C,498.4 +Line D,499.8 +Line A,498.7 +Line B,499.2 +Line C,497.9 +Line D,500.7 +Line A,500.6 +Line B,498.7 +Line C,498.7 +Line D,501.1 +Line A,500.3 +Line B,498.0 +Line C,499.4 +Line D,501.9 +Line A,497.3 +Line B,498.9 +Line C,500.2 +Line D,502.6 +Line A,501.3 +Line B,504.4 +Line C,499.4 +Line D,502.0 +Line A,500.7 +Line B,500.0 +Line C,498.9 +Line D,504.3 +Line A,499.3 +Line B,502.8 +Line C,498.4 +Line D,501.9 +Line A,500.3 +Line B,503.8 +Line C,500.4 +Line D,501.7 +Line A,499.4 +Line B,500.0 +Line C,498.4 +Line D,501.0 +Line A,500.6 +Line B,502.4 +Line C,498.8 +Line D,502.2 +Line A,501.3 +Line B,504.8 +Line C,497.9 +Line D,501.1 +Line A,501.1 +Line B,499.7 +Line C,500.0 +Line D,502.6 +Line A,499.8 +Line B,499.4 +Line C,500.3 +Line D,502.0 +Line A,501.6 +Line B,500.8 +Line C,495.7 +Line D,501.7 +Line A,499.4 +Line B,501.7 +Line C,499.1 +Line D,501.5 +Line A,497.8 +Line B,499.8 +Line C,499.8 +Line D,498.7 +Line A,499.8 +Line B,501.6 +Line C,497.4 +Line D,502.0 +Line A,500.2 +Line B,502.5 +Line C,499.7 +Line D,500.7 +Line A,499.8 +Line B,497.2 +Line C,498.1 +Line D,501.7 +Line A,501.0 +Line B,501.5 +Line C,497.6 +Line D,502.9 +Line A,501.7 +Line B,500.7 +Line C,499.1 +Line D,501.1 +Line A,500.3 +Line B,500.1 +Line C,499.2 +Line D,502.2 +Line A,498.9 +Line B,501.9 +Line C,497.9 +Line D,502.2 +Line A,499.9 +Line B,503.4 +Line C,499.5 +Line D,502.9 +Line A,500.5 +Line B,503.8 +Line C,499.7 +Line D,501.7 +Line A,500.8 +Line B,500.1 +Line C,500.4 +Line D,501.1 +Line A,500.3 +Line B,503.8 +Line C,496.7 +Line D,501.9 +Line A,501.0 +Line B,500.1 +Line C,500.5 +Line D,502.5 +Line A,501.2 +Line B,501.1 +Line C,499.1 +Line D,501.5 +Line A,501.5 +Line B,501.3 +Line C,502.9 +Line D,501.4 +Line A,502.0 +Line B,500.3 +Line C,498.3 +Line D,500.6 +Line A,500.7 +Line B,502.6 +Line C,501.0 +Line D,503.3 +Line A,497.4 +Line B,500.9 +Line C,499.4 +Line D,502.0 +Line A,501.0 +Line B,499.9 +Line C,498.8 +Line D,502.1 +Line A,498.6 +Line B,499.5 +Line C,496.0 +Line D,500.6 +Line A,498.3 +Line B,501.2 +Line C,497.7 +Line D,500.7 +Line A,499.0 +Line B,503.4 +Line C,502.0 +Line D,500.6 +Line A,500.8 +Line B,502.1 +Line C,500.0 +Line D,501.3 +Line A,490.3 +Line B,502.6 +Line C,499.6 +Line D,499.8 +Line A,498.4 +Line B,502.5 +Line C,497.9 +Line D,501.0 +Line A,501.0 +Line B,502.7 +Line C,499.2 +Line D,501.6 +Line A,500.8 +Line B,501.5 +Line C,499.4 +Line D,502.6 +Line A,501.4 +Line B,502.1 +Line C,498.9 +Line D,501.6 +Line A,500.8 +Line B,500.6 +Line C,499.8 +Line D,501.9 +Line A,501.3 +Line B,496.6 +Line C,497.2 +Line D,502.2 +Line A,499.2 +Line B,497.5 +Line C,497.7 +Line D,502.2 +Line A,500.6 +Line B,505.2 +Line C,499.3 +Line D,501.4 +Line A,501.0 +Line B,501.6 +Line C,500.3 +Line D,502.9 +Line A,498.9 +Line B,502.6 +Line C,500.7 +Line D,501.4 +Line A,500.6 +Line B,500.6 +Line C,498.2 +Line D,501.6 +Line A,501.1 +Line B,502.3 +Line C,499.5 +Line D,502.7 +Line A,502.7 +Line B,501.8 +Line C,498.2 +Line D,503.6 +Line A,498.7 +Line B,504.1 +Line C,499.1 +Line D,501.7 +Line A,499.7 +Line B,501.3 +Line C,497.6 +Line D,502.4 +Line A,499.8 +Line B,500.2 +Line C,497.8 +Line D,502.4 +Line A,500.0 +Line B,501.8 +Line C,499.4 +Line D,501.3 +Line A,501.3 +Line B,505.0 +Line C,497.5 +Line D,503.5 +Line A,501.1 +Line B,504.2 +Line C,498.4 +Line D,501.5 +Line A,497.9 +Line B,501.3 +Line C,499.6 +Line D,500.1 +Line A,500.0 +Line B,502.4 +Line C,499.4 +Line D,501.9 +Line A,501.3 +Line B,499.4 +Line C,499.6 +Line D,502.4 +Line A,500.4 +Line B,500.6 +Line C,494.7 +Line D,500.9 +Line A,498.9 +Line B,506.2 +Line C,496.7 +Line D,501.6 +Line A,502.1 +Line B,500.3 +Line C,501.9 +Line D,503.2 +Line A,499.2 +Line B,499.9 +Line C,499.7 +Line D,502.0 +Line A,501.2 +Line B,499.4 +Line C,499.9 +Line D,502.1 +Line A,500.1 +Line B,501.9 +Line C,498.4 +Line D,502.8 +Line A,500.3 +Line B,499.7 +Line C,498.7 +Line D,503.3 +Line A,499.9 +Line B,501.2 +Line C,498.4 +Line D,502.9 +Line A,499.5 +Line B,499.1 +Line C,499.4 +Line D,502.2 +Line A,500.4 +Line B,505.7 +Line C,498.4 +Line D,502.2 +Line A,499.8 +Line B,498.7 +Line C,496.8 +Line D,502.2 +Line A,500.7 +Line B,502.5 +Line C,498.0 +Line D,502.0 +Line A,500.5 +Line B,500.6 +Line C,498.0 +Line D,501.9 +Line A,499.0 +Line B,498.4 +Line C,498.1 +Line D,503.1 +Line A,502.1 +Line B,504.8 +Line C,499.7 +Line D,501.9 +Line A,500.5 +Line B,501.9 +Line C,499.0 +Line D,501.0 +Line A,501.2 +Line B,499.0 +Line C,501.1 +Line D,502.7 +Line A,497.8 +Line B,500.9 +Line C,498.2 +Line D,501.9 +Line A,499.6 +Line B,501.5 +Line C,497.8 +Line D,501.0 +Line A,501.0 +Line B,501.9 +Line C,501.3 +Line D,502.4 +Line A,499.7 +Line B,502.5 +Line C,497.8 +Line D,500.9 +Line A,499.7 +Line B,503.2 +Line C,499.2 +Line D,501.8 +Line A,500.6 +Line B,500.3 +Line C,498.4 +Line D,501.6 +Line A,497.7 +Line B,497.6 +Line C,500.4 +Line D,502.1 +Line A,500.2 +Line B,500.5 +Line C,499.2 +Line D,502.1 +Line A,501.5 +Line B,500.4 +Line C,500.8 +Line D,502.1 +Line A,497.9 +Line B,499.7 +Line C,498.4 +Line D,502.5 +Line A,500.7 +Line B,501.1 +Line C,498.0 +Line D,504.0 +Line A,498.5 +Line B,499.3 +Line C,499.8 +Line D,501.6 +Line A,500.8 +Line B,509.2 +Line C,499.2 +Line D,501.0 +Line A,500.2 +Line B,503.2 +Line C,501.3 +Line D,502.1 +Line A,498.3 +Line B,500.7 +Line C,496.1 +Line D,501.4 diff --git a/agents/evals/fixtures/cases/box-basic-matplotlib-renamed/case.json b/agents/evals/fixtures/cases/box-basic-matplotlib-renamed/case.json new file mode 100644 index 0000000000..603f25b2ef --- /dev/null +++ b/agents/evals/fixtures/cases/box-basic-matplotlib-renamed/case.json @@ -0,0 +1,25 @@ +{ + "spec_id": "box-basic", + "library": "matplotlib", + "locale": "de", + "perturbation": "renamed", + "bindings": [ + { + "role": "category", + "column": "Abfülllinie" + }, + { + "role": "value", + "column": "Füllgewicht [g]" + } + ], + "expected": "accepted", + "tags": [ + "box", + "renamed", + "synthetic", + "renamed-headers", + "non-ascii-headers" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 505, renamed)" +} diff --git a/agents/evals/fixtures/cases/box-basic-matplotlib-renamed/data.csv b/agents/evals/fixtures/cases/box-basic-matplotlib-renamed/data.csv new file mode 100644 index 0000000000..f3b21176c0 --- /dev/null +++ b/agents/evals/fixtures/cases/box-basic-matplotlib-renamed/data.csv @@ -0,0 +1,241 @@ +Abfülllinie,Füllgewicht [g] +Line A,501.9 +Line B,498.7 +Line C,499.7 +Line D,500.5 +Line A,500.1 +Line B,500.8 +Line C,500.1 +Line D,501.4 +Line A,501.2 +Line B,499.3 +Line C,498.1 +Line D,501.0 +Line A,494.0 +Line B,496.2 +Line C,500.1 +Line D,500.4 +Line A,500.5 +Line B,501.6 +Line C,500.7 +Line D,502.7 +Line A,499.0 +Line B,502.0 +Line C,500.6 +Line D,503.4 +Line A,499.8 +Line B,500.2 +Line C,499.5 +Line D,500.9 +Line A,501.1 +Line B,503.8 +Line C,498.2 +Line D,502.6 +Line A,501.3 +Line B,503.9 +Line C,498.2 +Line D,500.8 +Line A,498.2 +Line B,502.1 +Line C,500.8 +Line D,502.4 +Line A,501.6 +Line B,499.6 +Line C,500.2 +Line D,500.6 +Line A,499.5 +Line B,496.6 +Line C,499.5 +Line D,501.8 +Line A,499.5 +Line B,501.2 +Line C,497.4 +Line D,503.8 +Line A,499.4 +Line B,505.5 +Line C,500.6 +Line D,502.4 +Line A,502.6 +Line B,501.9 +Line C,499.7 +Line D,503.4 +Line A,499.9 +Line B,502.5 +Line C,503.7 +Line D,502.3 +Line A,499.3 +Line B,499.3 +Line C,497.6 +Line D,502.2 +Line A,501.8 +Line B,503.1 +Line C,497.4 +Line D,502.7 +Line A,502.6 +Line B,500.1 +Line C,501.0 +Line D,503.3 +Line A,502.0 +Line B,496.4 +Line C,499.8 +Line D,501.9 +Line A,500.6 +Line B,498.9 +Line C,502.8 +Line D,501.7 +Line A,501.7 +Line B,503.0 +Line C,498.9 +Line D,502.2 +Line A,502.2 +Line B,498.6 +Line C,497.3 +Line D,501.8 +Line A,501.6 +Line B,500.0 +Line C,500.7 +Line D,501.7 +Line A,498.8 +Line B,500.9 +Line C,498.0 +Line D,502.1 +Line A,498.5 +Line B,502.2 +Line C,499.8 +Line D,501.6 +Line A,499.1 +Line B,499.8 +Line C,496.6 +Line D,502.4 +Line A,498.5 +Line B,499.5 +Line C,497.9 +Line D,503.3 +Line A,499.9 +Line B,501.0 +Line C,498.1 +Line D,503.6 +Line A,503.2 +Line B,502.3 +Line C,499.4 +Line D,494.3 +Line A,501.4 +Line B,501.9 +Line C,498.4 +Line D,500.3 +Line A,493.6 +Line B,501.1 +Line C,499.6 +Line D,502.3 +Line A,500.4 +Line B,501.0 +Line C,498.2 +Line D,502.3 +Line A,499.0 +Line B,500.4 +Line C,500.1 +Line D,502.6 +Line A,500.2 +Line B,500.0 +Line C,499.6 +Line D,502.4 +Line A,499.0 +Line B,500.9 +Line C,500.3 +Line D,501.3 +Line A,500.6 +Line B,500.1 +Line C,497.7 +Line D,502.4 +Line A,501.5 +Line B,501.8 +Line C,499.5 +Line D,502.0 +Line A,501.4 +Line B,503.6 +Line C,501.9 +Line D,503.7 +Line A,501.8 +Line B,500.7 +Line C,498.3 +Line D,501.3 +Line A,501.8 +Line B,501.2 +Line C,499.6 +Line D,502.6 +Line A,500.6 +Line B,499.6 +Line C,498.3 +Line D,502.7 +Line A,501.0 +Line B,498.9 +Line C,499.2 +Line D,502.1 +Line A,502.7 +Line B,502.9 +Line C,498.2 +Line D,502.2 +Line A,498.2 +Line B,498.5 +Line C,499.2 +Line D,502.0 +Line A,502.9 +Line B,505.2 +Line C,497.9 +Line D,502.5 +Line A,501.6 +Line B,501.7 +Line C,499.7 +Line D,502.9 +Line A,500.8 +Line B,502.3 +Line C,496.7 +Line D,502.1 +Line A,499.5 +Line B,502.1 +Line C,500.0 +Line D,501.1 +Line A,497.8 +Line B,499.9 +Line C,501.0 +Line D,503.2 +Line A,503.1 +Line B,499.1 +Line C,501.0 +Line D,500.2 +Line A,499.4 +Line B,497.9 +Line C,499.0 +Line D,500.5 +Line A,502.4 +Line B,500.3 +Line C,498.7 +Line D,502.0 +Line A,500.6 +Line B,498.7 +Line C,498.1 +Line D,500.6 +Line A,501.3 +Line B,505.4 +Line C,498.7 +Line D,503.2 +Line A,499.5 +Line B,502.0 +Line C,498.4 +Line D,501.3 +Line A,501.9 +Line B,489.3 +Line C,499.0 +Line D,502.6 +Line A,499.7 +Line B,500.0 +Line C,498.2 +Line D,501.4 +Line A,501.4 +Line B,506.5 +Line C,498.8 +Line D,501.7 +Line A,499.7 +Line B,502.0 +Line C,500.5 +Line D,501.4 diff --git a/agents/evals/fixtures/cases/box-basic-matplotlib-x10/case.json b/agents/evals/fixtures/cases/box-basic-matplotlib-x10/case.json new file mode 100644 index 0000000000..80d6c6746d --- /dev/null +++ b/agents/evals/fixtures/cases/box-basic-matplotlib-x10/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "box-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "x10", + "bindings": [ + { + "role": "category", + "column": "Production Line" + }, + { + "role": "value", + "column": "Fill Weight (g)" + } + ], + "expected": "accepted", + "tags": [ + "box", + "x10", + "synthetic", + "scaled-values" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 505, x10)" +} diff --git a/agents/evals/fixtures/cases/box-basic-matplotlib-x10/data.csv b/agents/evals/fixtures/cases/box-basic-matplotlib-x10/data.csv new file mode 100644 index 0000000000..05f7d36b8e --- /dev/null +++ b/agents/evals/fixtures/cases/box-basic-matplotlib-x10/data.csv @@ -0,0 +1,241 @@ +Production Line,Fill Weight (g) +Line A,5019.3 +Line B,4987.0 +Line C,4997.3 +Line D,5005.3 +Line A,5001.1 +Line B,5008.0 +Line C,5000.8 +Line D,5014.1 +Line A,5012.1 +Line B,4993.1 +Line C,4981.1 +Line D,5010.1 +Line A,4940.3 +Line B,4961.5 +Line C,5001.0 +Line D,5004.5 +Line A,5004.5 +Line B,5015.9 +Line C,5007.5 +Line D,5026.6 +Line A,4990.5 +Line B,5019.9 +Line C,5006.2 +Line D,5034.4 +Line A,4997.9 +Line B,5001.6 +Line C,4995.3 +Line D,5009.2 +Line A,5011.0 +Line B,5037.7 +Line C,4982.4 +Line D,5026.2 +Line A,5013.1 +Line B,5039.0 +Line C,4981.6 +Line D,5008.1 +Line A,4981.6 +Line B,5021.1 +Line C,5008.0 +Line D,5024.1 +Line A,5015.9 +Line B,4995.8 +Line C,5001.5 +Line D,5006.5 +Line A,4995.0 +Line B,4966.0 +Line C,4994.8 +Line D,5017.9 +Line A,4994.8 +Line B,5011.7 +Line C,4974.4 +Line D,5037.6 +Line A,4993.5 +Line B,5054.9 +Line C,5006.1 +Line D,5023.9 +Line A,5025.9 +Line B,5018.9 +Line C,4996.8 +Line D,5033.5 +Line A,4999.3 +Line B,5025.0 +Line C,5036.7 +Line D,5023.0 +Line A,4993.3 +Line B,4993.3 +Line C,4976.2 +Line D,5021.8 +Line A,5018.0 +Line B,5030.6 +Line C,4974.2 +Line D,5027.4 +Line A,5026.2 +Line B,5000.8 +Line C,5009.9 +Line D,5032.7 +Line A,5020.5 +Line B,4964.3 +Line C,4998.3 +Line D,5019.3 +Line A,5005.6 +Line B,4989.3 +Line C,5028.5 +Line D,5017.5 +Line A,5016.7 +Line B,5029.9 +Line C,4989.0 +Line D,5021.8 +Line A,5022.1 +Line B,4986.4 +Line C,4972.7 +Line D,5018.2 +Line A,5015.8 +Line B,4999.5 +Line C,5006.8 +Line D,5017.5 +Line A,4987.6 +Line B,5009.3 +Line C,4979.7 +Line D,5021.0 +Line A,4985.4 +Line B,5021.6 +Line C,4998.1 +Line D,5015.7 +Line A,4991.1 +Line B,4997.8 +Line C,4966.4 +Line D,5023.5 +Line A,4985.4 +Line B,4995.1 +Line C,4979.4 +Line D,5033.1 +Line A,4998.9 +Line B,5010.2 +Line C,4981.0 +Line D,5036.0 +Line A,5032.0 +Line B,5022.6 +Line C,4993.8 +Line D,4943.3 +Line A,5013.8 +Line B,5019.0 +Line C,4984.1 +Line D,5003.3 +Line A,4936.3 +Line B,5011.3 +Line C,4995.7 +Line D,5022.7 +Line A,5004.2 +Line B,5009.9 +Line C,4981.5 +Line D,5023.4 +Line A,4990.1 +Line B,5004.2 +Line C,5000.9 +Line D,5026.3 +Line A,5001.8 +Line B,5000.0 +Line C,4995.9 +Line D,5024.4 +Line A,4989.9 +Line B,5009.1 +Line C,5002.9 +Line D,5013.4 +Line A,5006.0 +Line B,5000.9 +Line C,4976.7 +Line D,5024.1 +Line A,5014.7 +Line B,5017.9 +Line C,4995.4 +Line D,5019.5 +Line A,5014.4 +Line B,5036.1 +Line C,5019.0 +Line D,5036.7 +Line A,5018.0 +Line B,5007.2 +Line C,4983.1 +Line D,5013.1 +Line A,5018.0 +Line B,5012.5 +Line C,4996.0 +Line D,5026.4 +Line A,5006.5 +Line B,4995.6 +Line C,4982.8 +Line D,5027.3 +Line A,5009.7 +Line B,4988.8 +Line C,4992.4 +Line D,5021.1 +Line A,5027.1 +Line B,5029.3 +Line C,4981.8 +Line D,5022.3 +Line A,4981.5 +Line B,4985.4 +Line C,4992.1 +Line D,5020.5 +Line A,5028.6 +Line B,5051.6 +Line C,4978.5 +Line D,5024.9 +Line A,5016.4 +Line B,5016.6 +Line C,4996.8 +Line D,5029.1 +Line A,5008.2 +Line B,5022.8 +Line C,4967.4 +Line D,5021.0 +Line A,4995.2 +Line B,5021.1 +Line C,5000.4 +Line D,5011.3 +Line A,4977.7 +Line B,4998.6 +Line C,5009.6 +Line D,5031.8 +Line A,5031.2 +Line B,4991.4 +Line C,5009.6 +Line D,5002.3 +Line A,4994.3 +Line B,4978.5 +Line C,4989.9 +Line D,5004.9 +Line A,5023.7 +Line B,5003.5 +Line C,4987.0 +Line D,5020.4 +Line A,5006.5 +Line B,4986.7 +Line C,4981.4 +Line D,5006.2 +Line A,5013.4 +Line B,5053.7 +Line C,4986.8 +Line D,5031.8 +Line A,4995.4 +Line B,5020.4 +Line C,4983.7 +Line D,5012.8 +Line A,5019.2 +Line B,4892.8 +Line C,4989.8 +Line D,5025.9 +Line A,4996.7 +Line B,5000.1 +Line C,4981.6 +Line D,5014.4 +Line A,5013.7 +Line B,5065.0 +Line C,4988.4 +Line D,5017.0 +Line A,4997.4 +Line B,5019.9 +Line C,5004.9 +Line D,5014.4 diff --git a/agents/evals/fixtures/cases/box-basic-seaborn-date/case.json b/agents/evals/fixtures/cases/box-basic-seaborn-date/case.json new file mode 100644 index 0000000000..9ae7fc6f97 --- /dev/null +++ b/agents/evals/fixtures/cases/box-basic-seaborn-date/case.json @@ -0,0 +1,26 @@ +{ + "spec_id": "box-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "date", + "bindings": [ + { + "role": "category", + "column": "Production Line" + }, + { + "role": "value", + "column": "Fill Weight (g)" + } + ], + "expected": "accepted", + "tags": [ + "box", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 505, date)" +} diff --git a/agents/evals/fixtures/cases/box-basic-seaborn-date/data.csv b/agents/evals/fixtures/cases/box-basic-seaborn-date/data.csv new file mode 100644 index 0000000000..523541979b --- /dev/null +++ b/agents/evals/fixtures/cases/box-basic-seaborn-date/data.csv @@ -0,0 +1,241 @@ +Production Line,Fill Weight (g),Shift Date,Checked On +Line A,501.9,20.01.2026,2026-01-22 +Line B,498.7,26.05.2026,2026-05-27 +Line C,499.7,19.02.2026,2026-02-19 +Line D,500.5,09.05.2026,2026-05-09 +Line A,500.1,27.01.2026,2026-01-31 +Line B,500.8,10.02.2026,2026-02-13 +Line C,500.1,02.03.2026,2026-03-04 +Line D,501.4,13.06.2026,2026-06-13 +Line A,501.2,25.02.2026,2026-02-27 +Line B,499.3,29.06.2026,2026-07-03 +Line C,498.1,22.02.2026,2026-02-26 +Line D,501.0,02.02.2026,2026-02-06 +Line A,494.0,28.04.2026,2026-04-30 +Line B,496.2,12.05.2026,2026-05-12 +Line C,500.1,10.06.2026,2026-06-12 +Line D,500.4,25.01.2026,2026-01-26 +Line A,500.5,20.04.2026,2026-04-22 +Line B,501.6,19.04.2026,2026-04-22 +Line C,500.7,13.04.2026,2026-04-16 +Line D,502.7,16.02.2026,2026-02-16 +Line A,499.0,17.03.2026,2026-03-18 +Line B,502.0,26.03.2026,2026-03-26 +Line C,500.6,20.01.2026,2026-01-21 +Line D,503.4,13.06.2026,2026-06-16 +Line A,499.8,14.03.2026,2026-03-17 +Line B,500.2,24.04.2026,2026-04-28 +Line C,499.5,09.04.2026,2026-04-09 +Line D,500.9,15.02.2026,2026-02-16 +Line A,501.1,01.06.2026,2026-06-03 +Line B,503.8,18.01.2026,2026-01-20 +Line C,498.2,08.03.2026,2026-03-10 +Line D,502.6,23.05.2026,2026-05-25 +Line A,501.3,24.01.2026,2026-01-25 +Line B,503.9,26.03.2026,2026-03-29 +Line C,498.2,14.02.2026,2026-02-18 +Line D,500.8,07.01.2026,2026-01-10 +Line A,498.2,12.01.2026,2026-01-15 +Line B,502.1,25.05.2026,2026-05-29 +Line C,500.8,19.04.2026,2026-04-22 +Line D,502.4,24.06.2026,2026-06-27 +Line A,501.6,07.01.2026,2026-01-08 +Line B,499.6,18.05.2026,2026-05-21 +Line C,500.2,20.01.2026,2026-01-22 +Line D,500.6,23.06.2026,2026-06-27 +Line A,499.5,12.03.2026,2026-03-12 +Line B,496.6,19.01.2026,2026-01-22 +Line C,499.5,17.03.2026,2026-03-18 +Line D,501.8,29.06.2026,2026-07-02 +Line A,499.5,20.01.2026,2026-01-20 +Line B,501.2,10.04.2026,2026-04-12 +Line C,497.4,01.02.2026,2026-02-05 +Line D,503.8,11.05.2026,2026-05-11 +Line A,499.4,09.02.2026,2026-02-12 +Line B,505.5,26.01.2026,2026-01-26 +Line C,500.6,21.06.2026,2026-06-22 +Line D,502.4,10.06.2026,2026-06-13 +Line A,502.6,16.02.2026,2026-02-16 +Line B,501.9,08.02.2026,2026-02-12 +Line C,499.7,12.03.2026,2026-03-15 +Line D,503.4,28.01.2026,2026-01-31 +Line A,499.9,13.01.2026,2026-01-14 +Line B,502.5,23.04.2026,2026-04-27 +Line C,503.7,13.04.2026,2026-04-17 +Line D,502.3,24.06.2026,2026-06-24 +Line A,499.3,07.06.2026,2026-06-08 +Line B,499.3,17.04.2026,2026-04-17 +Line C,497.6,05.05.2026,2026-05-06 +Line D,502.2,27.03.2026,2026-03-27 +Line A,501.8,19.03.2026,2026-03-21 +Line B,503.1,13.05.2026,2026-05-16 +Line C,497.4,07.01.2026,2026-01-08 +Line D,502.7,06.01.2026,2026-01-06 +Line A,502.6,23.02.2026,2026-02-25 +Line B,500.1,20.02.2026,2026-02-23 +Line C,501.0,29.03.2026,2026-03-31 +Line D,503.3,22.04.2026,2026-04-26 +Line A,502.0,31.05.2026,2026-06-03 +Line B,496.4,30.06.2026,2026-07-02 +Line C,499.8,31.03.2026,2026-04-04 +Line D,501.9,30.01.2026,2026-01-31 +Line A,500.6,27.01.2026,2026-01-27 +Line B,498.9,02.06.2026,2026-06-06 +Line C,502.8,26.05.2026,2026-05-26 +Line D,501.7,04.04.2026,2026-04-07 +Line A,501.7,06.03.2026,2026-03-06 +Line B,503.0,24.06.2026,2026-06-25 +Line C,498.9,25.04.2026,2026-04-29 +Line D,502.2,15.01.2026,2026-01-15 +Line A,502.2,12.06.2026,2026-06-15 +Line B,498.6,23.02.2026,2026-02-25 +Line C,497.3,18.06.2026,2026-06-21 +Line D,501.8,15.06.2026,2026-06-18 +Line A,501.6,02.07.2026,2026-07-02 +Line B,500.0,25.03.2026,2026-03-25 +Line C,500.7,22.06.2026,2026-06-26 +Line D,501.7,09.02.2026,2026-02-09 +Line A,498.8,07.01.2026,2026-01-09 +Line B,500.9,12.06.2026,2026-06-13 +Line C,498.0,08.02.2026,2026-02-11 +Line D,502.1,19.01.2026,2026-01-23 +Line A,498.5,08.04.2026,2026-04-10 +Line B,502.2,01.06.2026,2026-06-03 +Line C,499.8,28.01.2026,2026-01-30 +Line D,501.6,05.02.2026,2026-02-07 +Line A,499.1,17.06.2026,2026-06-18 +Line B,499.8,20.05.2026,2026-05-23 +Line C,496.6,22.05.2026,2026-05-23 +Line D,502.4,02.04.2026,2026-04-02 +Line A,498.5,11.04.2026,2026-04-11 +Line B,499.5,26.06.2026,2026-06-27 +Line C,497.9,21.05.2026,2026-05-25 +Line D,503.3,02.02.2026,2026-02-05 +Line A,499.9,19.04.2026,2026-04-19 +Line B,501.0,15.01.2026,2026-01-19 +Line C,498.1,12.01.2026,2026-01-12 +Line D,503.6,06.02.2026,2026-02-08 +Line A,503.2,15.05.2026,2026-05-16 +Line B,502.3,20.04.2026,2026-04-21 +Line C,499.4,08.06.2026,2026-06-12 +Line D,494.3,02.04.2026,2026-04-03 +Line A,501.4,30.03.2026,2026-03-30 +Line B,501.9,08.04.2026,2026-04-11 +Line C,498.4,09.02.2026,2026-02-13 +Line D,500.3,13.01.2026,2026-01-14 +Line A,493.6,09.06.2026,2026-06-11 +Line B,501.1,05.06.2026,2026-06-06 +Line C,499.6,27.03.2026,2026-03-30 +Line D,502.3,17.02.2026,2026-02-19 +Line A,500.4,30.05.2026,2026-06-02 +Line B,501.0,10.05.2026,2026-05-11 +Line C,498.2,20.04.2026,2026-04-22 +Line D,502.3,13.05.2026,2026-05-17 +Line A,499.0,22.02.2026,2026-02-26 +Line B,500.4,14.06.2026,2026-06-16 +Line C,500.1,07.06.2026,2026-06-07 +Line D,502.6,08.06.2026,2026-06-12 +Line A,500.2,06.02.2026,2026-02-09 +Line B,500.0,18.01.2026,2026-01-18 +Line C,499.6,14.01.2026,2026-01-17 +Line D,502.4,27.03.2026,2026-03-29 +Line A,499.0,13.01.2026,2026-01-13 +Line B,500.9,22.04.2026,2026-04-22 +Line C,500.3,01.05.2026,2026-05-03 +Line D,501.3,15.04.2026,2026-04-16 +Line A,500.6,28.06.2026,2026-07-02 +Line B,500.1,09.01.2026,2026-01-10 +Line C,497.7,03.06.2026,2026-06-03 +Line D,502.4,10.02.2026,2026-02-14 +Line A,501.5,07.05.2026,2026-05-07 +Line B,501.8,29.01.2026,2026-02-01 +Line C,499.5,16.02.2026,2026-02-19 +Line D,502.0,16.03.2026,2026-03-18 +Line A,501.4,17.01.2026,2026-01-21 +Line B,503.6,14.02.2026,2026-02-16 +Line C,501.9,02.07.2026,2026-07-03 +Line D,503.7,18.02.2026,2026-02-22 +Line A,501.8,02.02.2026,2026-02-02 +Line B,500.7,22.05.2026,2026-05-26 +Line C,498.3,22.05.2026,2026-05-24 +Line D,501.3,01.03.2026,2026-03-03 +Line A,501.8,04.06.2026,2026-06-05 +Line B,501.2,09.06.2026,2026-06-10 +Line C,499.6,28.01.2026,2026-01-28 +Line D,502.6,09.03.2026,2026-03-12 +Line A,500.6,31.03.2026,2026-04-03 +Line B,499.6,29.06.2026,2026-07-03 +Line C,498.3,15.02.2026,2026-02-17 +Line D,502.7,23.04.2026,2026-04-25 +Line A,501.0,26.02.2026,2026-02-26 +Line B,498.9,08.02.2026,2026-02-12 +Line C,499.2,08.02.2026,2026-02-08 +Line D,502.1,04.02.2026,2026-02-04 +Line A,502.7,16.02.2026,2026-02-18 +Line B,502.9,20.06.2026,2026-06-20 +Line C,498.2,31.05.2026,2026-06-01 +Line D,502.2,18.06.2026,2026-06-21 +Line A,498.2,12.02.2026,2026-02-16 +Line B,498.5,23.02.2026,2026-02-27 +Line C,499.2,30.03.2026,2026-04-01 +Line D,502.0,15.05.2026,2026-05-19 +Line A,502.9,18.03.2026,2026-03-19 +Line B,505.2,19.04.2026,2026-04-23 +Line C,497.9,26.04.2026,2026-04-29 +Line D,502.5,01.03.2026,2026-03-02 +Line A,501.6,09.01.2026,2026-01-11 +Line B,501.7,17.05.2026,2026-05-20 +Line C,499.7,23.06.2026,2026-06-27 +Line D,502.9,16.01.2026,2026-01-20 +Line A,500.8,03.03.2026,2026-03-03 +Line B,502.3,16.01.2026,2026-01-18 +Line C,496.7,18.03.2026,2026-03-19 +Line D,502.1,12.06.2026,2026-06-14 +Line A,499.5,24.06.2026,2026-06-26 +Line B,502.1,24.04.2026,2026-04-26 +Line C,500.0,21.06.2026,2026-06-24 +Line D,501.1,23.04.2026,2026-04-27 +Line A,497.8,28.06.2026,2026-06-29 +Line B,499.9,30.06.2026,2026-07-01 +Line C,501.0,12.04.2026,2026-04-14 +Line D,503.2,24.05.2026,2026-05-26 +Line A,503.1,25.01.2026,2026-01-26 +Line B,499.1,12.06.2026,2026-06-12 +Line C,501.0,14.01.2026,2026-01-18 +Line D,500.2,06.03.2026,2026-03-08 +Line A,499.4,22.03.2026,2026-03-22 +Line B,497.9,23.06.2026,2026-06-26 +Line C,499.0,21.03.2026,2026-03-25 +Line D,500.5,29.04.2026,2026-05-01 +Line A,502.4,25.01.2026,2026-01-27 +Line B,500.3,11.01.2026,2026-01-12 +Line C,498.7,02.04.2026,2026-04-03 +Line D,502.0,25.05.2026,2026-05-28 +Line A,500.6,13.05.2026,2026-05-15 +Line B,498.7,21.01.2026,2026-01-25 +Line C,498.1,25.05.2026,2026-05-27 +Line D,500.6,18.06.2026,2026-06-22 +Line A,501.3,08.06.2026,2026-06-12 +Line B,505.4,25.05.2026,2026-05-26 +Line C,498.7,12.04.2026,2026-04-16 +Line D,503.2,07.01.2026,2026-01-09 +Line A,499.5,07.06.2026,2026-06-07 +Line B,502.0,17.06.2026,2026-06-19 +Line C,498.4,06.06.2026,2026-06-06 +Line D,501.3,18.06.2026,2026-06-22 +Line A,501.9,03.02.2026,2026-02-04 +Line B,489.3,23.06.2026,2026-06-24 +Line C,499.0,16.06.2026,2026-06-19 +Line D,502.6,24.04.2026,2026-04-26 +Line A,499.7,24.02.2026,2026-02-24 +Line B,500.0,26.05.2026,2026-05-30 +Line C,498.2,20.02.2026,2026-02-23 +Line D,501.4,06.02.2026,2026-02-10 +Line A,501.4,18.02.2026,2026-02-20 +Line B,506.5,05.05.2026,2026-05-08 +Line C,498.8,26.01.2026,2026-01-29 +Line D,501.7,20.02.2026,2026-02-21 +Line A,499.7,15.02.2026,2026-02-15 +Line B,502.0,14.02.2026,2026-02-18 +Line C,500.5,09.01.2026,2026-01-10 +Line D,501.4,08.04.2026,2026-04-10 diff --git a/agents/evals/fixtures/cases/box-basic-seaborn-decimal-comma/case.json b/agents/evals/fixtures/cases/box-basic-seaborn-decimal-comma/case.json new file mode 100644 index 0000000000..81cfb9afed --- /dev/null +++ b/agents/evals/fixtures/cases/box-basic-seaborn-decimal-comma/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "box-basic", + "library": "seaborn", + "locale": "de", + "perturbation": "decimal-comma", + "bindings": [ + { + "role": "category", + "column": "Production Line" + }, + { + "role": "value", + "column": "Fill Weight (g)" + } + ], + "expected": "accepted", + "tags": [ + "box", + "decimal-comma", + "synthetic", + "semicolon" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 505, decimal-comma)" +} diff --git a/agents/evals/fixtures/cases/box-basic-seaborn-decimal-comma/data.csv b/agents/evals/fixtures/cases/box-basic-seaborn-decimal-comma/data.csv new file mode 100644 index 0000000000..87f3168c06 --- /dev/null +++ b/agents/evals/fixtures/cases/box-basic-seaborn-decimal-comma/data.csv @@ -0,0 +1,241 @@ +Production Line;Fill Weight (g) +Line A;501,9 +Line B;498,7 +Line C;499,7 +Line D;500,5 +Line A;500,1 +Line B;500,8 +Line C;500,1 +Line D;501,4 +Line A;501,2 +Line B;499,3 +Line C;498,1 +Line D;501,0 +Line A;494,0 +Line B;496,2 +Line C;500,1 +Line D;500,4 +Line A;500,5 +Line B;501,6 +Line C;500,7 +Line D;502,7 +Line A;499,0 +Line B;502,0 +Line C;500,6 +Line D;503,4 +Line A;499,8 +Line B;500,2 +Line C;499,5 +Line D;500,9 +Line A;501,1 +Line B;503,8 +Line C;498,2 +Line D;502,6 +Line A;501,3 +Line B;503,9 +Line C;498,2 +Line D;500,8 +Line A;498,2 +Line B;502,1 +Line C;500,8 +Line D;502,4 +Line A;501,6 +Line B;499,6 +Line C;500,2 +Line D;500,6 +Line A;499,5 +Line B;496,6 +Line C;499,5 +Line D;501,8 +Line A;499,5 +Line B;501,2 +Line C;497,4 +Line D;503,8 +Line A;499,4 +Line B;505,5 +Line C;500,6 +Line D;502,4 +Line A;502,6 +Line B;501,9 +Line C;499,7 +Line D;503,4 +Line A;499,9 +Line B;502,5 +Line C;503,7 +Line D;502,3 +Line A;499,3 +Line B;499,3 +Line C;497,6 +Line D;502,2 +Line A;501,8 +Line B;503,1 +Line C;497,4 +Line D;502,7 +Line A;502,6 +Line B;500,1 +Line C;501,0 +Line D;503,3 +Line A;502,0 +Line B;496,4 +Line C;499,8 +Line D;501,9 +Line A;500,6 +Line B;498,9 +Line C;502,8 +Line D;501,7 +Line A;501,7 +Line B;503,0 +Line C;498,9 +Line D;502,2 +Line A;502,2 +Line B;498,6 +Line C;497,3 +Line D;501,8 +Line A;501,6 +Line B;500,0 +Line C;500,7 +Line D;501,7 +Line A;498,8 +Line B;500,9 +Line C;498,0 +Line D;502,1 +Line A;498,5 +Line B;502,2 +Line C;499,8 +Line D;501,6 +Line A;499,1 +Line B;499,8 +Line C;496,6 +Line D;502,4 +Line A;498,5 +Line B;499,5 +Line C;497,9 +Line D;503,3 +Line A;499,9 +Line B;501,0 +Line C;498,1 +Line D;503,6 +Line A;503,2 +Line B;502,3 +Line C;499,4 +Line D;494,3 +Line A;501,4 +Line B;501,9 +Line C;498,4 +Line D;500,3 +Line A;493,6 +Line B;501,1 +Line C;499,6 +Line D;502,3 +Line A;500,4 +Line B;501,0 +Line C;498,2 +Line D;502,3 +Line A;499,0 +Line B;500,4 +Line C;500,1 +Line D;502,6 +Line A;500,2 +Line B;500,0 +Line C;499,6 +Line D;502,4 +Line A;499,0 +Line B;500,9 +Line C;500,3 +Line D;501,3 +Line A;500,6 +Line B;500,1 +Line C;497,7 +Line D;502,4 +Line A;501,5 +Line B;501,8 +Line C;499,5 +Line D;502,0 +Line A;501,4 +Line B;503,6 +Line C;501,9 +Line D;503,7 +Line A;501,8 +Line B;500,7 +Line C;498,3 +Line D;501,3 +Line A;501,8 +Line B;501,2 +Line C;499,6 +Line D;502,6 +Line A;500,6 +Line B;499,6 +Line C;498,3 +Line D;502,7 +Line A;501,0 +Line B;498,9 +Line C;499,2 +Line D;502,1 +Line A;502,7 +Line B;502,9 +Line C;498,2 +Line D;502,2 +Line A;498,2 +Line B;498,5 +Line C;499,2 +Line D;502,0 +Line A;502,9 +Line B;505,2 +Line C;497,9 +Line D;502,5 +Line A;501,6 +Line B;501,7 +Line C;499,7 +Line D;502,9 +Line A;500,8 +Line B;502,3 +Line C;496,7 +Line D;502,1 +Line A;499,5 +Line B;502,1 +Line C;500,0 +Line D;501,1 +Line A;497,8 +Line B;499,9 +Line C;501,0 +Line D;503,2 +Line A;503,1 +Line B;499,1 +Line C;501,0 +Line D;500,2 +Line A;499,4 +Line B;497,9 +Line C;499,0 +Line D;500,5 +Line A;502,4 +Line B;500,3 +Line C;498,7 +Line D;502,0 +Line A;500,6 +Line B;498,7 +Line C;498,1 +Line D;500,6 +Line A;501,3 +Line B;505,4 +Line C;498,7 +Line D;503,2 +Line A;499,5 +Line B;502,0 +Line C;498,4 +Line D;501,3 +Line A;501,9 +Line B;489,3 +Line C;499,0 +Line D;502,6 +Line A;499,7 +Line B;500,0 +Line C;498,2 +Line D;501,4 +Line A;501,4 +Line B;506,5 +Line C;498,8 +Line D;501,7 +Line A;499,7 +Line B;502,0 +Line C;500,5 +Line D;501,4 diff --git a/agents/evals/fixtures/cases/box-basic-seaborn-n12/case.json b/agents/evals/fixtures/cases/box-basic-seaborn-n12/case.json new file mode 100644 index 0000000000..cb63b1f3dc --- /dev/null +++ b/agents/evals/fixtures/cases/box-basic-seaborn-n12/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "box-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "n12", + "bindings": [ + { + "role": "category", + "column": "Production Line" + }, + { + "role": "value", + "column": "Fill Weight (g)" + } + ], + "expected": "accepted", + "tags": [ + "box", + "n12", + "synthetic", + "small" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 505, n12)" +} diff --git a/agents/evals/fixtures/cases/box-basic-seaborn-n12/data.csv b/agents/evals/fixtures/cases/box-basic-seaborn-n12/data.csv new file mode 100644 index 0000000000..9f5cb18a70 --- /dev/null +++ b/agents/evals/fixtures/cases/box-basic-seaborn-n12/data.csv @@ -0,0 +1,13 @@ +Production Line,Fill Weight (g) +Line A,497.9 +Line B,498.9 +Line C,501.0 +Line D,501.7 +Line A,499.9 +Line B,504.8 +Line C,504.4 +Line D,502.7 +Line A,500.5 +Line B,501.1 +Line C,500.0 +Line D,501.8 diff --git a/agents/evals/fixtures/cases/box-basic-seaborn-n5000/case.json b/agents/evals/fixtures/cases/box-basic-seaborn-n5000/case.json new file mode 100644 index 0000000000..8f417c05eb --- /dev/null +++ b/agents/evals/fixtures/cases/box-basic-seaborn-n5000/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "box-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "n5000", + "bindings": [ + { + "role": "category", + "column": "Production Line" + }, + { + "role": "value", + "column": "Fill Weight (g)" + } + ], + "expected": "accepted", + "tags": [ + "box", + "n5000", + "synthetic", + "large" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 505, n5000)" +} diff --git a/agents/evals/fixtures/cases/box-basic-seaborn-n5000/data.csv b/agents/evals/fixtures/cases/box-basic-seaborn-n5000/data.csv new file mode 100644 index 0000000000..e5b76eac63 --- /dev/null +++ b/agents/evals/fixtures/cases/box-basic-seaborn-n5000/data.csv @@ -0,0 +1,5001 @@ +Production Line,Fill Weight (g) +Line A,499.4 +Line B,501.6 +Line C,498.7 +Line D,500.9 +Line A,500.4 +Line B,501.9 +Line C,499.0 +Line D,501.3 +Line A,501.7 +Line B,499.6 +Line C,499.1 +Line D,502.2 +Line A,499.1 +Line B,501.5 +Line C,496.0 +Line D,502.7 +Line A,500.1 +Line B,504.6 +Line C,496.7 +Line D,501.1 +Line A,500.9 +Line B,505.8 +Line C,502.1 +Line D,502.8 +Line A,498.6 +Line B,499.2 +Line C,504.1 +Line D,501.1 +Line A,500.1 +Line B,500.7 +Line C,498.8 +Line D,494.8 +Line A,499.7 +Line B,502.2 +Line C,499.1 +Line D,502.0 +Line A,499.3 +Line B,500.1 +Line C,498.3 +Line D,501.2 +Line A,501.3 +Line B,499.7 +Line C,500.3 +Line D,501.4 +Line A,499.6 +Line B,502.2 +Line C,500.4 +Line D,502.3 +Line A,500.4 +Line B,502.5 +Line C,498.4 +Line D,502.0 +Line A,501.2 +Line B,502.7 +Line C,500.9 +Line D,499.9 +Line A,497.2 +Line B,499.6 +Line C,499.8 +Line D,502.8 +Line A,501.4 +Line B,503.1 +Line C,498.4 +Line D,502.2 +Line A,499.5 +Line B,502.2 +Line C,500.9 +Line D,501.7 +Line A,502.0 +Line B,501.8 +Line C,498.1 +Line D,502.0 +Line A,499.8 +Line B,502.8 +Line C,496.4 +Line D,501.0 +Line A,499.5 +Line B,501.0 +Line C,497.8 +Line D,503.8 +Line A,499.1 +Line B,501.7 +Line C,501.1 +Line D,502.2 +Line A,501.0 +Line B,501.6 +Line C,500.5 +Line D,501.4 +Line A,500.2 +Line B,500.0 +Line C,500.8 +Line D,502.8 +Line A,500.1 +Line B,500.4 +Line C,499.9 +Line D,502.0 +Line A,501.5 +Line B,499.9 +Line C,499.9 +Line D,502.6 +Line A,500.4 +Line B,502.0 +Line C,501.4 +Line D,501.6 +Line A,499.5 +Line B,499.7 +Line C,498.3 +Line D,501.2 +Line A,499.1 +Line B,502.1 +Line C,496.4 +Line D,503.6 +Line A,500.5 +Line B,500.4 +Line C,499.2 +Line D,503.4 +Line A,500.3 +Line B,502.6 +Line C,498.7 +Line D,502.2 +Line A,498.2 +Line B,502.4 +Line C,499.9 +Line D,501.7 +Line A,502.6 +Line B,501.3 +Line C,497.3 +Line D,501.8 +Line A,499.2 +Line B,500.2 +Line C,500.0 +Line D,503.0 +Line A,499.1 +Line B,502.4 +Line C,500.6 +Line D,502.5 +Line A,499.1 +Line B,504.0 +Line C,498.4 +Line D,501.3 +Line A,500.7 +Line B,498.9 +Line C,495.5 +Line D,501.4 +Line A,500.7 +Line B,499.5 +Line C,497.6 +Line D,502.3 +Line A,499.7 +Line B,501.9 +Line C,498.6 +Line D,502.3 +Line A,500.0 +Line B,509.2 +Line C,499.3 +Line D,501.8 +Line A,498.8 +Line B,499.7 +Line C,498.6 +Line D,509.8 +Line A,501.1 +Line B,503.5 +Line C,498.1 +Line D,502.0 +Line A,493.7 +Line B,498.9 +Line C,500.5 +Line D,501.0 +Line A,499.8 +Line B,501.3 +Line C,494.3 +Line D,500.5 +Line A,501.0 +Line B,508.9 +Line C,496.2 +Line D,501.6 +Line A,500.6 +Line B,500.7 +Line C,497.8 +Line D,501.0 +Line A,499.6 +Line B,503.7 +Line C,498.0 +Line D,502.9 +Line A,501.2 +Line B,503.3 +Line C,497.9 +Line D,502.6 +Line A,498.5 +Line B,501.1 +Line C,499.7 +Line D,502.0 +Line A,500.4 +Line B,501.0 +Line C,500.8 +Line D,503.5 +Line A,505.0 +Line B,505.8 +Line C,501.7 +Line D,503.2 +Line A,500.0 +Line B,495.8 +Line C,499.6 +Line D,502.1 +Line A,499.7 +Line B,500.2 +Line C,498.9 +Line D,502.6 +Line A,500.7 +Line B,502.7 +Line C,496.8 +Line D,501.1 +Line A,499.4 +Line B,498.8 +Line C,496.0 +Line D,501.6 +Line A,501.5 +Line B,500.9 +Line C,496.5 +Line D,501.6 +Line A,489.9 +Line B,499.4 +Line C,498.7 +Line D,501.7 +Line A,499.0 +Line B,500.9 +Line C,500.0 +Line D,502.9 +Line A,501.1 +Line B,509.3 +Line C,499.0 +Line D,502.8 +Line A,500.9 +Line B,502.3 +Line C,499.8 +Line D,501.5 +Line A,498.7 +Line B,501.2 +Line C,498.8 +Line D,502.1 +Line A,503.3 +Line B,506.0 +Line C,498.2 +Line D,501.5 +Line A,498.9 +Line B,500.1 +Line C,498.3 +Line D,502.7 +Line A,502.0 +Line B,499.4 +Line C,497.1 +Line D,501.0 +Line A,498.4 +Line B,501.2 +Line C,491.0 +Line D,501.9 +Line A,499.0 +Line B,503.4 +Line C,499.2 +Line D,502.2 +Line A,499.7 +Line B,502.1 +Line C,498.1 +Line D,502.9 +Line A,501.3 +Line B,500.2 +Line C,498.9 +Line D,503.0 +Line A,498.3 +Line B,500.3 +Line C,497.8 +Line D,501.7 +Line A,498.5 +Line B,502.3 +Line C,498.4 +Line D,502.8 +Line A,500.7 +Line B,502.9 +Line C,496.6 +Line D,503.2 +Line A,499.8 +Line B,500.3 +Line C,496.9 +Line D,502.3 +Line A,500.6 +Line B,502.5 +Line C,498.6 +Line D,502.4 +Line A,500.4 +Line B,498.5 +Line C,500.0 +Line D,502.0 +Line A,502.7 +Line B,498.8 +Line C,500.2 +Line D,501.7 +Line A,500.1 +Line B,501.9 +Line C,498.7 +Line D,501.3 +Line A,499.5 +Line B,500.2 +Line C,497.4 +Line D,501.4 +Line A,503.1 +Line B,501.7 +Line C,500.1 +Line D,502.6 +Line A,498.1 +Line B,501.0 +Line C,500.0 +Line D,501.7 +Line A,499.9 +Line B,503.3 +Line C,498.3 +Line D,502.7 +Line A,501.3 +Line B,500.5 +Line C,501.2 +Line D,503.0 +Line A,499.5 +Line B,500.7 +Line C,499.7 +Line D,501.7 +Line A,499.8 +Line B,500.4 +Line C,501.3 +Line D,502.8 +Line A,500.4 +Line B,502.8 +Line C,501.1 +Line D,501.7 +Line A,499.3 +Line B,499.0 +Line C,498.5 +Line D,502.7 +Line A,501.4 +Line B,500.2 +Line C,501.0 +Line D,501.1 +Line A,499.4 +Line B,502.8 +Line C,500.3 +Line D,503.6 +Line A,498.7 +Line B,500.7 +Line C,498.9 +Line D,501.1 +Line A,499.8 +Line B,503.6 +Line C,498.0 +Line D,501.6 +Line A,500.3 +Line B,504.1 +Line C,499.3 +Line D,502.1 +Line A,500.4 +Line B,503.1 +Line C,499.4 +Line D,501.6 +Line A,500.8 +Line B,504.5 +Line C,500.8 +Line D,500.5 +Line A,501.3 +Line B,501.1 +Line C,500.2 +Line D,501.3 +Line A,499.6 +Line B,499.4 +Line C,501.4 +Line D,501.8 +Line A,500.4 +Line B,498.8 +Line C,502.4 +Line D,501.8 +Line A,501.3 +Line B,501.7 +Line C,500.1 +Line D,501.3 +Line A,501.3 +Line B,499.2 +Line C,496.8 +Line D,503.5 +Line A,500.6 +Line B,500.9 +Line C,507.5 +Line D,502.4 +Line A,500.0 +Line B,504.8 +Line C,499.5 +Line D,502.7 +Line A,498.8 +Line B,503.8 +Line C,497.1 +Line D,504.2 +Line A,499.9 +Line B,501.5 +Line C,499.0 +Line D,500.8 +Line A,499.8 +Line B,501.0 +Line C,499.4 +Line D,502.1 +Line A,499.7 +Line B,501.1 +Line C,497.9 +Line D,501.8 +Line A,499.7 +Line B,500.9 +Line C,490.5 +Line D,502.2 +Line A,501.3 +Line B,508.5 +Line C,499.3 +Line D,502.7 +Line A,500.7 +Line B,505.1 +Line C,500.0 +Line D,501.5 +Line A,501.9 +Line B,501.4 +Line C,498.1 +Line D,500.8 +Line A,500.8 +Line B,499.1 +Line C,500.0 +Line D,501.1 +Line A,498.5 +Line B,505.5 +Line C,496.4 +Line D,499.1 +Line A,500.8 +Line B,502.8 +Line C,497.2 +Line D,502.7 +Line A,501.1 +Line B,498.0 +Line C,500.5 +Line D,502.6 +Line A,499.3 +Line B,500.5 +Line C,498.2 +Line D,500.4 +Line A,499.4 +Line B,498.3 +Line C,499.6 +Line D,502.7 +Line A,498.8 +Line B,502.8 +Line C,497.8 +Line D,501.7 +Line A,499.9 +Line B,500.6 +Line C,497.4 +Line D,502.5 +Line A,500.1 +Line B,501.9 +Line C,499.5 +Line D,502.0 +Line A,501.5 +Line B,501.7 +Line C,499.9 +Line D,501.9 +Line A,500.1 +Line B,508.4 +Line C,499.5 +Line D,502.1 +Line A,501.0 +Line B,500.2 +Line C,496.4 +Line D,502.9 +Line A,499.6 +Line B,500.2 +Line C,498.0 +Line D,502.7 +Line A,500.2 +Line B,495.7 +Line C,498.3 +Line D,503.2 +Line A,501.1 +Line B,502.5 +Line C,497.1 +Line D,501.3 +Line A,502.2 +Line B,501.6 +Line C,497.2 +Line D,502.7 +Line A,499.4 +Line B,499.0 +Line C,501.9 +Line D,502.8 +Line A,501.5 +Line B,498.5 +Line C,499.8 +Line D,500.4 +Line A,502.6 +Line B,498.6 +Line C,500.4 +Line D,502.2 +Line A,500.6 +Line B,504.7 +Line C,499.2 +Line D,502.0 +Line A,500.5 +Line B,503.0 +Line C,499.2 +Line D,501.0 +Line A,498.1 +Line B,501.4 +Line C,497.4 +Line D,503.3 +Line A,502.0 +Line B,505.4 +Line C,497.2 +Line D,502.7 +Line A,500.2 +Line B,501.5 +Line C,498.0 +Line D,501.8 +Line A,499.4 +Line B,499.7 +Line C,500.0 +Line D,501.8 +Line A,500.5 +Line B,503.1 +Line C,498.8 +Line D,500.9 +Line A,502.1 +Line B,499.3 +Line C,499.7 +Line D,503.7 +Line A,501.3 +Line B,501.6 +Line C,500.8 +Line D,501.2 +Line A,508.6 +Line B,498.9 +Line C,499.3 +Line D,501.6 +Line A,500.6 +Line B,501.2 +Line C,502.0 +Line D,501.2 +Line A,499.8 +Line B,507.4 +Line C,498.3 +Line D,502.4 +Line A,500.0 +Line B,506.2 +Line C,497.6 +Line D,502.0 +Line A,500.8 +Line B,503.5 +Line C,497.5 +Line D,502.1 +Line A,501.0 +Line B,496.8 +Line C,499.9 +Line D,501.7 +Line A,499.8 +Line B,502.2 +Line C,498.7 +Line D,501.4 +Line A,502.7 +Line B,500.9 +Line C,497.9 +Line D,501.5 +Line A,498.9 +Line B,502.7 +Line C,498.9 +Line D,501.4 +Line A,501.7 +Line B,498.5 +Line C,500.6 +Line D,502.8 +Line A,498.7 +Line B,501.5 +Line C,500.4 +Line D,502.9 +Line A,497.4 +Line B,498.5 +Line C,498.2 +Line D,501.2 +Line A,500.0 +Line B,500.6 +Line C,499.9 +Line D,502.8 +Line A,502.5 +Line B,504.4 +Line C,499.6 +Line D,502.7 +Line A,500.4 +Line B,500.2 +Line C,499.3 +Line D,502.1 +Line A,499.1 +Line B,497.8 +Line C,499.5 +Line D,503.4 +Line A,500.6 +Line B,507.8 +Line C,498.7 +Line D,502.4 +Line A,502.3 +Line B,502.3 +Line C,498.8 +Line D,503.1 +Line A,500.6 +Line B,506.3 +Line C,500.6 +Line D,501.8 +Line A,499.4 +Line B,502.4 +Line C,497.6 +Line D,503.4 +Line A,498.7 +Line B,497.9 +Line C,499.8 +Line D,500.6 +Line A,503.2 +Line B,500.6 +Line C,498.2 +Line D,502.3 +Line A,501.1 +Line B,504.4 +Line C,498.1 +Line D,491.5 +Line A,500.6 +Line B,500.5 +Line C,500.5 +Line D,502.1 +Line A,501.1 +Line B,503.6 +Line C,499.6 +Line D,502.2 +Line A,500.9 +Line B,501.5 +Line C,498.3 +Line D,501.5 +Line A,500.2 +Line B,502.4 +Line C,498.9 +Line D,502.2 +Line A,500.9 +Line B,501.6 +Line C,500.7 +Line D,501.5 +Line A,499.6 +Line B,501.0 +Line C,499.2 +Line D,503.1 +Line A,500.8 +Line B,499.4 +Line C,500.7 +Line D,501.7 +Line A,501.9 +Line B,498.6 +Line C,497.9 +Line D,501.4 +Line A,501.4 +Line B,498.3 +Line C,498.7 +Line D,502.4 +Line A,499.6 +Line B,500.9 +Line C,497.8 +Line D,501.2 +Line A,501.1 +Line B,499.9 +Line C,496.1 +Line D,501.7 +Line A,500.0 +Line B,498.6 +Line C,498.0 +Line D,502.7 +Line A,503.0 +Line B,502.2 +Line C,498.6 +Line D,501.5 +Line A,507.5 +Line B,500.8 +Line C,501.1 +Line D,502.4 +Line A,502.0 +Line B,500.2 +Line C,497.8 +Line D,501.1 +Line A,501.0 +Line B,500.4 +Line C,497.8 +Line D,502.0 +Line A,501.3 +Line B,500.5 +Line C,498.1 +Line D,502.1 +Line A,501.8 +Line B,501.7 +Line C,498.3 +Line D,502.6 +Line A,501.3 +Line B,502.8 +Line C,500.5 +Line D,500.6 +Line A,500.1 +Line B,503.6 +Line C,499.3 +Line D,502.5 +Line A,500.1 +Line B,501.9 +Line C,499.4 +Line D,501.7 +Line A,501.3 +Line B,496.8 +Line C,500.7 +Line D,501.8 +Line A,502.1 +Line B,500.4 +Line C,497.2 +Line D,501.0 +Line A,500.4 +Line B,503.8 +Line C,499.2 +Line D,502.6 +Line A,499.3 +Line B,498.6 +Line C,499.6 +Line D,503.1 +Line A,499.4 +Line B,501.0 +Line C,500.9 +Line D,501.1 +Line A,501.0 +Line B,499.5 +Line C,496.2 +Line D,502.3 +Line A,499.3 +Line B,497.7 +Line C,498.7 +Line D,503.5 +Line A,500.0 +Line B,500.1 +Line C,496.6 +Line D,500.6 +Line A,500.7 +Line B,502.5 +Line C,499.5 +Line D,500.5 +Line A,500.2 +Line B,499.8 +Line C,497.5 +Line D,501.5 +Line A,500.8 +Line B,502.1 +Line C,499.6 +Line D,503.8 +Line A,500.0 +Line B,498.7 +Line C,499.4 +Line D,501.6 +Line A,499.5 +Line B,500.9 +Line C,496.6 +Line D,502.6 +Line A,501.4 +Line B,501.3 +Line C,497.5 +Line D,502.0 +Line A,500.3 +Line B,500.3 +Line C,499.5 +Line D,502.1 +Line A,501.6 +Line B,507.0 +Line C,499.8 +Line D,502.8 +Line A,500.9 +Line B,501.0 +Line C,500.1 +Line D,502.1 +Line A,501.3 +Line B,502.6 +Line C,499.0 +Line D,501.6 +Line A,500.3 +Line B,504.4 +Line C,500.6 +Line D,502.4 +Line A,501.8 +Line B,500.7 +Line C,500.1 +Line D,493.0 +Line A,499.7 +Line B,498.2 +Line C,500.5 +Line D,501.3 +Line A,501.4 +Line B,501.5 +Line C,498.8 +Line D,502.1 +Line A,500.3 +Line B,499.5 +Line C,499.3 +Line D,502.2 +Line A,501.0 +Line B,503.7 +Line C,498.4 +Line D,503.0 +Line A,499.8 +Line B,501.6 +Line C,498.9 +Line D,501.5 +Line A,502.1 +Line B,502.3 +Line C,498.7 +Line D,504.0 +Line A,499.8 +Line B,497.9 +Line C,499.4 +Line D,501.7 +Line A,500.0 +Line B,503.0 +Line C,492.7 +Line D,502.5 +Line A,501.7 +Line B,501.6 +Line C,499.5 +Line D,501.7 +Line A,500.0 +Line B,501.6 +Line C,500.5 +Line D,502.1 +Line A,500.0 +Line B,500.7 +Line C,500.1 +Line D,501.5 +Line A,501.6 +Line B,501.5 +Line C,498.1 +Line D,502.4 +Line A,498.8 +Line B,502.8 +Line C,499.7 +Line D,501.9 +Line A,500.5 +Line B,503.1 +Line C,498.1 +Line D,502.9 +Line A,500.8 +Line B,498.1 +Line C,498.7 +Line D,508.1 +Line A,507.3 +Line B,499.9 +Line C,498.5 +Line D,502.4 +Line A,502.0 +Line B,499.6 +Line C,498.1 +Line D,501.5 +Line A,501.5 +Line B,502.7 +Line C,502.3 +Line D,502.1 +Line A,501.6 +Line B,503.0 +Line C,501.7 +Line D,501.8 +Line A,498.2 +Line B,499.2 +Line C,499.6 +Line D,501.5 +Line A,498.8 +Line B,503.0 +Line C,497.4 +Line D,500.9 +Line A,500.7 +Line B,500.5 +Line C,496.8 +Line D,501.7 +Line A,500.7 +Line B,500.6 +Line C,495.7 +Line D,501.2 +Line A,499.8 +Line B,499.5 +Line C,499.7 +Line D,502.4 +Line A,497.6 +Line B,498.5 +Line C,499.7 +Line D,501.0 +Line A,502.6 +Line B,498.6 +Line C,495.4 +Line D,501.5 +Line A,499.9 +Line B,497.1 +Line C,501.2 +Line D,500.6 +Line A,500.5 +Line B,495.9 +Line C,500.0 +Line D,501.4 +Line A,502.2 +Line B,499.3 +Line C,498.1 +Line D,502.4 +Line A,502.0 +Line B,501.3 +Line C,498.0 +Line D,501.4 +Line A,499.4 +Line B,499.8 +Line C,498.2 +Line D,501.2 +Line A,499.8 +Line B,502.5 +Line C,501.3 +Line D,500.5 +Line A,500.7 +Line B,504.3 +Line C,499.9 +Line D,501.8 +Line A,498.9 +Line B,499.9 +Line C,500.8 +Line D,508.8 +Line A,500.3 +Line B,502.0 +Line C,498.2 +Line D,501.2 +Line A,498.3 +Line B,503.3 +Line C,499.6 +Line D,501.3 +Line A,501.4 +Line B,502.1 +Line C,498.5 +Line D,503.6 +Line A,501.7 +Line B,498.1 +Line C,498.3 +Line D,502.2 +Line A,500.0 +Line B,502.0 +Line C,498.1 +Line D,501.7 +Line A,499.6 +Line B,499.6 +Line C,499.5 +Line D,500.9 +Line A,500.8 +Line B,501.3 +Line C,499.5 +Line D,501.7 +Line A,500.0 +Line B,502.1 +Line C,498.8 +Line D,502.9 +Line A,502.0 +Line B,504.1 +Line C,500.5 +Line D,501.9 +Line A,503.2 +Line B,503.1 +Line C,499.8 +Line D,502.6 +Line A,502.2 +Line B,499.6 +Line C,499.3 +Line D,502.6 +Line A,499.9 +Line B,501.3 +Line C,498.7 +Line D,502.3 +Line A,500.0 +Line B,503.0 +Line C,498.2 +Line D,502.1 +Line A,501.8 +Line B,501.1 +Line C,499.8 +Line D,501.7 +Line A,498.6 +Line B,503.3 +Line C,501.7 +Line D,502.2 +Line A,501.7 +Line B,502.0 +Line C,498.2 +Line D,501.3 +Line A,502.5 +Line B,503.4 +Line C,497.9 +Line D,503.1 +Line A,500.8 +Line B,500.8 +Line C,501.1 +Line D,502.0 +Line A,500.7 +Line B,500.1 +Line C,498.8 +Line D,503.1 +Line A,498.2 +Line B,499.0 +Line C,499.1 +Line D,499.7 +Line A,501.9 +Line B,499.4 +Line C,501.1 +Line D,502.3 +Line A,500.9 +Line B,499.0 +Line C,499.3 +Line D,504.8 +Line A,500.2 +Line B,500.4 +Line C,497.9 +Line D,503.5 +Line A,499.4 +Line B,500.5 +Line C,499.0 +Line D,502.6 +Line A,501.3 +Line B,503.5 +Line C,498.0 +Line D,502.4 +Line A,501.3 +Line B,500.9 +Line C,497.7 +Line D,502.7 +Line A,500.5 +Line B,500.1 +Line C,499.1 +Line D,500.8 +Line A,500.4 +Line B,501.9 +Line C,498.8 +Line D,502.0 +Line A,500.1 +Line B,502.6 +Line C,500.3 +Line D,502.6 +Line A,500.8 +Line B,499.9 +Line C,499.0 +Line D,502.9 +Line A,500.9 +Line B,501.5 +Line C,497.9 +Line D,503.5 +Line A,499.8 +Line B,503.8 +Line C,498.6 +Line D,501.8 +Line A,500.4 +Line B,503.9 +Line C,501.2 +Line D,502.2 +Line A,501.4 +Line B,498.6 +Line C,498.0 +Line D,501.5 +Line A,499.9 +Line B,501.4 +Line C,501.0 +Line D,507.3 +Line A,501.1 +Line B,503.1 +Line C,499.2 +Line D,501.7 +Line A,501.7 +Line B,500.9 +Line C,501.1 +Line D,502.5 +Line A,499.1 +Line B,503.7 +Line C,498.3 +Line D,502.0 +Line A,500.3 +Line B,501.9 +Line C,499.8 +Line D,503.1 +Line A,501.4 +Line B,502.7 +Line C,499.2 +Line D,501.3 +Line A,500.0 +Line B,499.5 +Line C,499.5 +Line D,502.0 +Line A,501.2 +Line B,502.7 +Line C,497.9 +Line D,500.4 +Line A,499.9 +Line B,502.4 +Line C,501.1 +Line D,500.5 +Line A,500.2 +Line B,501.4 +Line C,501.1 +Line D,501.9 +Line A,499.9 +Line B,499.2 +Line C,499.2 +Line D,503.0 +Line A,501.2 +Line B,504.5 +Line C,498.6 +Line D,501.4 +Line A,501.1 +Line B,500.4 +Line C,499.3 +Line D,500.3 +Line A,501.2 +Line B,499.1 +Line C,500.4 +Line D,501.3 +Line A,501.1 +Line B,500.4 +Line C,497.9 +Line D,501.2 +Line A,498.2 +Line B,505.1 +Line C,499.5 +Line D,503.3 +Line A,502.4 +Line B,500.4 +Line C,499.4 +Line D,501.2 +Line A,501.3 +Line B,496.7 +Line C,501.0 +Line D,501.7 +Line A,498.2 +Line B,500.8 +Line C,499.3 +Line D,501.4 +Line A,501.9 +Line B,499.3 +Line C,498.3 +Line D,501.4 +Line A,499.8 +Line B,502.4 +Line C,499.2 +Line D,500.8 +Line A,499.1 +Line B,502.8 +Line C,498.7 +Line D,502.6 +Line A,501.9 +Line B,501.7 +Line C,495.6 +Line D,500.8 +Line A,500.9 +Line B,504.5 +Line C,502.3 +Line D,502.3 +Line A,501.0 +Line B,504.4 +Line C,500.8 +Line D,502.9 +Line A,497.8 +Line B,500.5 +Line C,500.0 +Line D,501.3 +Line A,501.2 +Line B,500.2 +Line C,497.8 +Line D,504.0 +Line A,500.9 +Line B,500.2 +Line C,497.9 +Line D,502.2 +Line A,501.7 +Line B,498.3 +Line C,502.0 +Line D,502.4 +Line A,498.6 +Line B,501.3 +Line C,499.0 +Line D,500.9 +Line A,501.0 +Line B,497.2 +Line C,497.0 +Line D,500.7 +Line A,501.3 +Line B,504.1 +Line C,501.2 +Line D,501.3 +Line A,500.4 +Line B,504.4 +Line C,498.2 +Line D,501.7 +Line A,501.3 +Line B,503.0 +Line C,499.9 +Line D,501.7 +Line A,500.5 +Line B,502.0 +Line C,495.6 +Line D,500.5 +Line A,499.4 +Line B,500.5 +Line C,499.9 +Line D,500.2 +Line A,501.0 +Line B,500.7 +Line C,499.1 +Line D,502.6 +Line A,501.9 +Line B,501.9 +Line C,502.7 +Line D,501.5 +Line A,500.7 +Line B,505.1 +Line C,499.6 +Line D,502.6 +Line A,500.4 +Line B,499.0 +Line C,497.0 +Line D,500.9 +Line A,501.8 +Line B,502.6 +Line C,500.0 +Line D,500.0 +Line A,502.9 +Line B,501.6 +Line C,498.0 +Line D,502.2 +Line A,499.8 +Line B,502.1 +Line C,498.4 +Line D,503.0 +Line A,500.2 +Line B,500.5 +Line C,499.6 +Line D,501.6 +Line A,498.5 +Line B,500.2 +Line C,499.6 +Line D,500.9 +Line A,499.3 +Line B,502.9 +Line C,501.0 +Line D,502.0 +Line A,499.6 +Line B,503.2 +Line C,500.7 +Line D,503.8 +Line A,500.0 +Line B,500.5 +Line C,498.1 +Line D,503.7 +Line A,499.1 +Line B,504.3 +Line C,497.2 +Line D,501.0 +Line A,498.2 +Line B,501.1 +Line C,496.4 +Line D,502.0 +Line A,507.8 +Line B,497.3 +Line C,498.8 +Line D,501.2 +Line A,500.4 +Line B,500.6 +Line C,499.6 +Line D,503.0 +Line A,501.2 +Line B,501.0 +Line C,498.9 +Line D,501.8 +Line A,501.2 +Line B,500.6 +Line C,497.6 +Line D,501.2 +Line A,498.9 +Line B,503.1 +Line C,502.9 +Line D,502.5 +Line A,500.8 +Line B,501.4 +Line C,499.6 +Line D,502.8 +Line A,501.5 +Line B,499.9 +Line C,502.0 +Line D,502.4 +Line A,493.1 +Line B,501.7 +Line C,500.2 +Line D,500.7 +Line A,502.0 +Line B,497.6 +Line C,499.1 +Line D,502.6 +Line A,500.7 +Line B,499.9 +Line C,500.4 +Line D,504.1 +Line A,498.9 +Line B,501.7 +Line C,496.9 +Line D,501.5 +Line A,498.8 +Line B,501.5 +Line C,500.2 +Line D,503.0 +Line A,499.1 +Line B,503.0 +Line C,498.3 +Line D,503.6 +Line A,499.1 +Line B,502.8 +Line C,499.9 +Line D,496.5 +Line A,501.4 +Line B,502.1 +Line C,498.5 +Line D,502.4 +Line A,500.2 +Line B,501.9 +Line C,501.4 +Line D,502.2 +Line A,501.1 +Line B,501.1 +Line C,499.7 +Line D,500.8 +Line A,502.8 +Line B,503.0 +Line C,499.7 +Line D,501.3 +Line A,500.4 +Line B,499.6 +Line C,499.6 +Line D,503.9 +Line A,500.7 +Line B,500.6 +Line C,500.2 +Line D,503.9 +Line A,498.4 +Line B,500.6 +Line C,499.0 +Line D,502.6 +Line A,499.4 +Line B,500.9 +Line C,500.0 +Line D,502.8 +Line A,499.2 +Line B,499.6 +Line C,497.9 +Line D,501.5 +Line A,501.3 +Line B,500.8 +Line C,500.6 +Line D,501.3 +Line A,499.3 +Line B,501.5 +Line C,500.4 +Line D,501.9 +Line A,502.0 +Line B,499.7 +Line C,499.0 +Line D,502.1 +Line A,503.1 +Line B,502.4 +Line C,498.0 +Line D,499.9 +Line A,502.1 +Line B,503.8 +Line C,497.6 +Line D,503.6 +Line A,501.1 +Line B,501.4 +Line C,497.7 +Line D,501.7 +Line A,500.6 +Line B,502.1 +Line C,497.2 +Line D,502.7 +Line A,501.6 +Line B,501.6 +Line C,497.9 +Line D,502.6 +Line A,500.3 +Line B,498.6 +Line C,500.4 +Line D,502.2 +Line A,500.6 +Line B,502.5 +Line C,500.9 +Line D,501.8 +Line A,503.2 +Line B,504.0 +Line C,499.1 +Line D,502.0 +Line A,501.6 +Line B,501.5 +Line C,498.9 +Line D,502.2 +Line A,500.0 +Line B,502.5 +Line C,500.3 +Line D,501.7 +Line A,498.6 +Line B,501.0 +Line C,497.9 +Line D,503.4 +Line A,502.4 +Line B,502.2 +Line C,500.4 +Line D,501.4 +Line A,499.2 +Line B,502.4 +Line C,490.8 +Line D,501.5 +Line A,505.7 +Line B,499.8 +Line C,499.2 +Line D,502.8 +Line A,499.7 +Line B,499.7 +Line C,498.7 +Line D,501.1 +Line A,500.0 +Line B,498.7 +Line C,497.8 +Line D,503.0 +Line A,500.2 +Line B,500.8 +Line C,496.8 +Line D,502.1 +Line A,499.5 +Line B,501.5 +Line C,497.7 +Line D,502.6 +Line A,501.9 +Line B,497.1 +Line C,499.4 +Line D,501.4 +Line A,498.9 +Line B,501.2 +Line C,498.2 +Line D,504.2 +Line A,499.6 +Line B,499.8 +Line C,498.8 +Line D,503.1 +Line A,500.5 +Line B,502.1 +Line C,499.3 +Line D,501.5 +Line A,501.4 +Line B,501.1 +Line C,502.6 +Line D,502.1 +Line A,499.1 +Line B,504.3 +Line C,496.0 +Line D,501.4 +Line A,499.8 +Line B,503.5 +Line C,499.2 +Line D,502.9 +Line A,503.5 +Line B,498.1 +Line C,499.0 +Line D,502.9 +Line A,500.1 +Line B,501.5 +Line C,497.8 +Line D,503.4 +Line A,503.7 +Line B,500.3 +Line C,499.5 +Line D,501.2 +Line A,499.6 +Line B,498.7 +Line C,499.4 +Line D,502.8 +Line A,501.6 +Line B,502.3 +Line C,500.2 +Line D,502.1 +Line A,500.5 +Line B,498.3 +Line C,500.8 +Line D,501.8 +Line A,500.9 +Line B,502.0 +Line C,500.4 +Line D,503.2 +Line A,502.5 +Line B,498.4 +Line C,500.3 +Line D,501.4 +Line A,498.8 +Line B,500.2 +Line C,500.0 +Line D,503.0 +Line A,500.7 +Line B,501.6 +Line C,496.8 +Line D,502.6 +Line A,501.1 +Line B,502.6 +Line C,500.4 +Line D,503.4 +Line A,501.7 +Line B,498.9 +Line C,499.6 +Line D,500.7 +Line A,499.4 +Line B,502.4 +Line C,498.7 +Line D,500.5 +Line A,502.7 +Line B,499.6 +Line C,498.8 +Line D,500.6 +Line A,500.1 +Line B,498.4 +Line C,498.3 +Line D,503.9 +Line A,500.8 +Line B,503.0 +Line C,499.6 +Line D,501.8 +Line A,499.4 +Line B,504.1 +Line C,497.3 +Line D,502.4 +Line A,499.9 +Line B,501.2 +Line C,500.2 +Line D,503.5 +Line A,501.4 +Line B,502.5 +Line C,499.0 +Line D,502.1 +Line A,497.1 +Line B,501.6 +Line C,502.4 +Line D,502.6 +Line A,499.9 +Line B,499.5 +Line C,498.8 +Line D,502.7 +Line A,498.7 +Line B,501.7 +Line C,499.1 +Line D,500.9 +Line A,499.5 +Line B,503.1 +Line C,500.7 +Line D,503.9 +Line A,498.7 +Line B,504.1 +Line C,500.5 +Line D,502.9 +Line A,494.9 +Line B,500.6 +Line C,499.2 +Line D,501.7 +Line A,500.0 +Line B,500.3 +Line C,498.1 +Line D,501.8 +Line A,501.6 +Line B,499.9 +Line C,495.4 +Line D,502.4 +Line A,502.2 +Line B,499.3 +Line C,496.0 +Line D,503.0 +Line A,497.7 +Line B,502.1 +Line C,498.5 +Line D,501.3 +Line A,498.7 +Line B,505.8 +Line C,499.2 +Line D,501.6 +Line A,499.8 +Line B,503.7 +Line C,501.0 +Line D,502.3 +Line A,501.3 +Line B,502.1 +Line C,499.1 +Line D,502.5 +Line A,499.9 +Line B,500.1 +Line C,496.6 +Line D,502.2 +Line A,501.5 +Line B,499.8 +Line C,497.8 +Line D,503.1 +Line A,499.4 +Line B,501.2 +Line C,501.2 +Line D,499.6 +Line A,502.7 +Line B,504.1 +Line C,496.6 +Line D,500.8 +Line A,499.1 +Line B,501.0 +Line C,495.7 +Line D,502.2 +Line A,498.3 +Line B,499.8 +Line C,499.7 +Line D,502.5 +Line A,501.4 +Line B,498.5 +Line C,496.9 +Line D,502.1 +Line A,501.4 +Line B,501.4 +Line C,497.4 +Line D,501.2 +Line A,499.4 +Line B,501.7 +Line C,497.0 +Line D,502.1 +Line A,500.0 +Line B,500.9 +Line C,500.1 +Line D,501.9 +Line A,499.7 +Line B,500.6 +Line C,500.2 +Line D,501.7 +Line A,502.9 +Line B,500.7 +Line C,497.5 +Line D,501.4 +Line A,500.0 +Line B,502.9 +Line C,498.4 +Line D,501.1 +Line A,500.9 +Line B,500.5 +Line C,498.6 +Line D,501.4 +Line A,500.9 +Line B,501.2 +Line C,499.1 +Line D,502.5 +Line A,499.1 +Line B,499.0 +Line C,499.8 +Line D,503.6 +Line A,501.1 +Line B,497.4 +Line C,498.7 +Line D,501.6 +Line A,500.3 +Line B,502.7 +Line C,501.1 +Line D,501.5 +Line A,499.3 +Line B,500.9 +Line C,500.9 +Line D,501.5 +Line A,499.0 +Line B,501.8 +Line C,499.5 +Line D,503.0 +Line A,499.6 +Line B,501.6 +Line C,499.9 +Line D,502.6 +Line A,501.5 +Line B,504.7 +Line C,497.5 +Line D,503.9 +Line A,499.5 +Line B,503.1 +Line C,499.1 +Line D,501.9 +Line A,501.0 +Line B,504.5 +Line C,500.8 +Line D,500.3 +Line A,506.0 +Line B,502.3 +Line C,496.3 +Line D,502.5 +Line A,498.9 +Line B,499.6 +Line C,500.1 +Line D,504.9 +Line A,498.2 +Line B,504.1 +Line C,499.0 +Line D,502.5 +Line A,501.1 +Line B,501.4 +Line C,499.8 +Line D,502.3 +Line A,501.1 +Line B,503.8 +Line C,498.4 +Line D,502.6 +Line A,500.0 +Line B,501.4 +Line C,496.5 +Line D,502.4 +Line A,499.6 +Line B,501.8 +Line C,501.0 +Line D,502.5 +Line A,502.4 +Line B,505.0 +Line C,499.5 +Line D,503.7 +Line A,501.2 +Line B,499.3 +Line C,501.6 +Line D,502.4 +Line A,500.7 +Line B,499.8 +Line C,499.8 +Line D,501.2 +Line A,501.9 +Line B,503.0 +Line C,496.4 +Line D,501.8 +Line A,501.4 +Line B,500.7 +Line C,499.8 +Line D,501.4 +Line A,501.3 +Line B,503.5 +Line C,498.7 +Line D,501.6 +Line A,500.7 +Line B,499.8 +Line C,497.5 +Line D,502.0 +Line A,499.0 +Line B,500.9 +Line C,500.2 +Line D,501.9 +Line A,503.0 +Line B,499.9 +Line C,497.0 +Line D,502.6 +Line A,501.2 +Line B,503.9 +Line C,498.5 +Line D,503.1 +Line A,500.6 +Line B,501.9 +Line C,498.1 +Line D,503.7 +Line A,500.5 +Line B,502.0 +Line C,500.4 +Line D,502.5 +Line A,498.7 +Line B,500.0 +Line C,499.0 +Line D,500.7 +Line A,499.5 +Line B,499.3 +Line C,497.3 +Line D,501.3 +Line A,501.3 +Line B,500.3 +Line C,498.3 +Line D,502.5 +Line A,499.1 +Line B,501.2 +Line C,501.0 +Line D,500.8 +Line A,500.8 +Line B,502.8 +Line C,498.1 +Line D,501.4 +Line A,502.0 +Line B,501.7 +Line C,496.4 +Line D,502.5 +Line A,500.9 +Line B,503.0 +Line C,498.4 +Line D,502.0 +Line A,501.9 +Line B,502.0 +Line C,500.1 +Line D,501.7 +Line A,500.2 +Line B,500.6 +Line C,498.0 +Line D,502.4 +Line A,500.2 +Line B,499.9 +Line C,496.0 +Line D,502.1 +Line A,499.5 +Line B,498.9 +Line C,497.9 +Line D,501.3 +Line A,502.1 +Line B,498.9 +Line C,499.3 +Line D,502.2 +Line A,500.7 +Line B,500.9 +Line C,501.6 +Line D,500.9 +Line A,499.5 +Line B,497.2 +Line C,501.5 +Line D,503.1 +Line A,500.1 +Line B,498.9 +Line C,499.2 +Line D,501.4 +Line A,501.1 +Line B,500.4 +Line C,499.5 +Line D,501.5 +Line A,500.6 +Line B,501.1 +Line C,501.8 +Line D,502.2 +Line A,500.8 +Line B,503.8 +Line C,498.7 +Line D,500.9 +Line A,500.9 +Line B,502.4 +Line C,499.2 +Line D,503.5 +Line A,499.7 +Line B,499.0 +Line C,499.0 +Line D,503.5 +Line A,501.1 +Line B,503.4 +Line C,501.8 +Line D,501.8 +Line A,499.9 +Line B,499.2 +Line C,499.6 +Line D,503.0 +Line A,498.8 +Line B,501.8 +Line C,498.9 +Line D,502.8 +Line A,493.7 +Line B,501.0 +Line C,498.1 +Line D,502.3 +Line A,501.1 +Line B,499.5 +Line C,499.6 +Line D,501.8 +Line A,501.7 +Line B,500.2 +Line C,498.8 +Line D,501.0 +Line A,501.0 +Line B,500.2 +Line C,497.1 +Line D,503.5 +Line A,499.7 +Line B,502.2 +Line C,500.7 +Line D,501.1 +Line A,501.5 +Line B,504.8 +Line C,495.9 +Line D,495.1 +Line A,501.0 +Line B,497.5 +Line C,498.9 +Line D,502.0 +Line A,501.0 +Line B,499.9 +Line C,498.8 +Line D,502.7 +Line A,501.6 +Line B,502.5 +Line C,498.3 +Line D,502.8 +Line A,500.1 +Line B,498.9 +Line C,501.7 +Line D,501.5 +Line A,500.7 +Line B,502.8 +Line C,497.6 +Line D,502.6 +Line A,499.2 +Line B,501.6 +Line C,498.8 +Line D,502.7 +Line A,501.3 +Line B,501.6 +Line C,498.5 +Line D,503.3 +Line A,500.3 +Line B,502.0 +Line C,498.2 +Line D,501.3 +Line A,502.3 +Line B,499.6 +Line C,501.7 +Line D,502.3 +Line A,501.2 +Line B,500.0 +Line C,499.2 +Line D,503.2 +Line A,501.4 +Line B,499.4 +Line C,499.8 +Line D,501.8 +Line A,501.8 +Line B,501.3 +Line C,499.3 +Line D,501.4 +Line A,500.9 +Line B,503.4 +Line C,499.6 +Line D,502.0 +Line A,500.2 +Line B,499.9 +Line C,498.4 +Line D,502.9 +Line A,501.5 +Line B,500.2 +Line C,499.5 +Line D,502.7 +Line A,501.7 +Line B,500.6 +Line C,496.7 +Line D,501.1 +Line A,501.3 +Line B,502.9 +Line C,497.1 +Line D,501.6 +Line A,500.0 +Line B,504.0 +Line C,499.1 +Line D,501.4 +Line A,500.8 +Line B,499.8 +Line C,495.9 +Line D,500.1 +Line A,501.0 +Line B,504.0 +Line C,498.4 +Line D,501.9 +Line A,498.9 +Line B,498.9 +Line C,502.2 +Line D,501.7 +Line A,499.4 +Line B,501.0 +Line C,499.7 +Line D,494.9 +Line A,500.2 +Line B,503.7 +Line C,500.1 +Line D,500.3 +Line A,510.0 +Line B,503.3 +Line C,501.5 +Line D,501.5 +Line A,501.0 +Line B,501.7 +Line C,503.0 +Line D,501.1 +Line A,500.3 +Line B,498.9 +Line C,498.7 +Line D,501.6 +Line A,500.2 +Line B,501.1 +Line C,500.3 +Line D,504.5 +Line A,501.0 +Line B,500.1 +Line C,500.1 +Line D,502.9 +Line A,507.8 +Line B,503.3 +Line C,500.7 +Line D,502.6 +Line A,498.9 +Line B,501.1 +Line C,497.5 +Line D,502.3 +Line A,499.7 +Line B,502.9 +Line C,498.0 +Line D,500.9 +Line A,499.1 +Line B,502.3 +Line C,497.9 +Line D,502.3 +Line A,500.1 +Line B,495.5 +Line C,499.9 +Line D,500.8 +Line A,500.8 +Line B,502.1 +Line C,496.6 +Line D,502.0 +Line A,500.3 +Line B,502.5 +Line C,500.6 +Line D,501.9 +Line A,499.4 +Line B,500.4 +Line C,502.7 +Line D,501.8 +Line A,500.1 +Line B,503.9 +Line C,497.1 +Line D,501.8 +Line A,501.5 +Line B,504.0 +Line C,496.8 +Line D,501.9 +Line A,500.4 +Line B,499.2 +Line C,500.9 +Line D,503.0 +Line A,501.0 +Line B,502.4 +Line C,499.8 +Line D,501.1 +Line A,501.7 +Line B,504.2 +Line C,497.2 +Line D,500.4 +Line A,499.7 +Line B,501.9 +Line C,500.1 +Line D,502.3 +Line A,500.1 +Line B,501.3 +Line C,499.9 +Line D,502.7 +Line A,499.6 +Line B,501.0 +Line C,496.5 +Line D,501.5 +Line A,499.8 +Line B,500.5 +Line C,501.8 +Line D,503.1 +Line A,500.1 +Line B,499.6 +Line C,499.6 +Line D,503.2 +Line A,500.9 +Line B,500.6 +Line C,500.9 +Line D,502.3 +Line A,498.4 +Line B,499.2 +Line C,500.9 +Line D,502.1 +Line A,499.0 +Line B,499.8 +Line C,500.9 +Line D,502.4 +Line A,499.2 +Line B,505.1 +Line C,499.6 +Line D,503.1 +Line A,499.6 +Line B,501.7 +Line C,500.9 +Line D,500.6 +Line A,501.7 +Line B,488.8 +Line C,498.0 +Line D,503.2 +Line A,499.2 +Line B,502.1 +Line C,497.6 +Line D,501.5 +Line A,502.1 +Line B,503.3 +Line C,498.0 +Line D,502.5 +Line A,500.4 +Line B,502.3 +Line C,498.9 +Line D,503.4 +Line A,499.9 +Line B,502.8 +Line C,498.4 +Line D,503.6 +Line A,499.2 +Line B,500.0 +Line C,499.6 +Line D,501.0 +Line A,499.8 +Line B,502.6 +Line C,498.7 +Line D,501.5 +Line A,499.8 +Line B,501.3 +Line C,507.9 +Line D,501.8 +Line A,489.9 +Line B,501.8 +Line C,502.4 +Line D,501.0 +Line A,500.3 +Line B,500.1 +Line C,497.1 +Line D,502.2 +Line A,498.3 +Line B,504.2 +Line C,499.0 +Line D,502.1 +Line A,500.4 +Line B,500.8 +Line C,502.0 +Line D,501.6 +Line A,499.7 +Line B,502.8 +Line C,497.1 +Line D,502.8 +Line A,499.8 +Line B,497.4 +Line C,496.3 +Line D,503.0 +Line A,500.6 +Line B,504.2 +Line C,497.7 +Line D,501.7 +Line A,498.8 +Line B,511.0 +Line C,500.5 +Line D,502.8 +Line A,499.7 +Line B,500.9 +Line C,496.4 +Line D,502.9 +Line A,499.8 +Line B,502.0 +Line C,499.0 +Line D,502.6 +Line A,500.3 +Line B,503.4 +Line C,498.0 +Line D,502.7 +Line A,501.8 +Line B,501.5 +Line C,498.2 +Line D,501.1 +Line A,499.6 +Line B,502.2 +Line C,502.2 +Line D,502.4 +Line A,500.6 +Line B,496.8 +Line C,500.3 +Line D,501.2 +Line A,500.2 +Line B,503.0 +Line C,499.4 +Line D,502.8 +Line A,502.8 +Line B,498.2 +Line C,500.8 +Line D,501.2 +Line A,501.9 +Line B,504.5 +Line C,498.2 +Line D,501.3 +Line A,499.9 +Line B,499.6 +Line C,501.2 +Line D,501.9 +Line A,501.5 +Line B,501.5 +Line C,496.2 +Line D,502.4 +Line A,498.8 +Line B,501.4 +Line C,491.2 +Line D,502.0 +Line A,500.0 +Line B,503.3 +Line C,498.5 +Line D,502.7 +Line A,500.1 +Line B,499.2 +Line C,497.4 +Line D,501.8 +Line A,501.3 +Line B,503.6 +Line C,497.7 +Line D,503.1 +Line A,502.2 +Line B,500.7 +Line C,499.3 +Line D,502.6 +Line A,500.8 +Line B,502.0 +Line C,498.6 +Line D,500.7 +Line A,499.2 +Line B,498.6 +Line C,501.7 +Line D,502.4 +Line A,501.1 +Line B,501.5 +Line C,495.2 +Line D,503.2 +Line A,499.1 +Line B,503.6 +Line C,498.4 +Line D,500.8 +Line A,499.8 +Line B,500.7 +Line C,497.1 +Line D,502.5 +Line A,501.9 +Line B,499.1 +Line C,499.7 +Line D,500.7 +Line A,499.9 +Line B,500.3 +Line C,498.3 +Line D,502.9 +Line A,500.5 +Line B,505.9 +Line C,501.4 +Line D,502.0 +Line A,500.6 +Line B,498.9 +Line C,498.9 +Line D,500.8 +Line A,501.8 +Line B,501.1 +Line C,501.1 +Line D,500.3 +Line A,498.7 +Line B,502.3 +Line C,498.4 +Line D,502.4 +Line A,499.0 +Line B,498.5 +Line C,498.9 +Line D,501.7 +Line A,500.2 +Line B,498.0 +Line C,501.7 +Line D,500.8 +Line A,498.6 +Line B,504.3 +Line C,501.2 +Line D,501.5 +Line A,500.0 +Line B,498.7 +Line C,500.7 +Line D,502.3 +Line A,501.6 +Line B,501.5 +Line C,500.6 +Line D,502.0 +Line A,500.7 +Line B,504.0 +Line C,499.6 +Line D,501.5 +Line A,501.8 +Line B,503.4 +Line C,499.4 +Line D,502.4 +Line A,501.2 +Line B,500.2 +Line C,496.8 +Line D,501.7 +Line A,502.5 +Line B,501.9 +Line C,509.0 +Line D,501.8 +Line A,500.4 +Line B,501.1 +Line C,500.0 +Line D,501.4 +Line A,502.1 +Line B,501.2 +Line C,498.4 +Line D,503.2 +Line A,500.3 +Line B,491.8 +Line C,498.5 +Line D,502.1 +Line A,499.5 +Line B,502.1 +Line C,499.4 +Line D,501.9 +Line A,501.6 +Line B,503.0 +Line C,498.1 +Line D,501.6 +Line A,499.3 +Line B,498.0 +Line C,498.6 +Line D,502.2 +Line A,501.3 +Line B,500.5 +Line C,499.6 +Line D,502.5 +Line A,500.2 +Line B,501.0 +Line C,500.7 +Line D,502.8 +Line A,501.4 +Line B,498.9 +Line C,496.3 +Line D,502.8 +Line A,499.2 +Line B,503.3 +Line C,500.2 +Line D,501.7 +Line A,499.6 +Line B,502.8 +Line C,499.9 +Line D,502.7 +Line A,500.5 +Line B,497.8 +Line C,498.1 +Line D,500.4 +Line A,500.5 +Line B,500.9 +Line C,501.9 +Line D,502.9 +Line A,500.8 +Line B,502.8 +Line C,497.7 +Line D,501.6 +Line A,503.1 +Line B,499.2 +Line C,498.5 +Line D,503.4 +Line A,502.0 +Line B,505.5 +Line C,499.1 +Line D,502.0 +Line A,500.2 +Line B,503.6 +Line C,499.6 +Line D,502.6 +Line A,499.2 +Line B,499.8 +Line C,500.2 +Line D,501.8 +Line A,501.7 +Line B,504.6 +Line C,499.7 +Line D,501.5 +Line A,501.9 +Line B,497.3 +Line C,497.4 +Line D,501.6 +Line A,500.2 +Line B,500.8 +Line C,496.9 +Line D,502.2 +Line A,501.4 +Line B,502.2 +Line C,497.9 +Line D,501.0 +Line A,501.6 +Line B,502.4 +Line C,498.6 +Line D,501.3 +Line A,501.4 +Line B,499.6 +Line C,497.9 +Line D,502.8 +Line A,500.2 +Line B,502.6 +Line C,500.5 +Line D,500.9 +Line A,499.7 +Line B,500.1 +Line C,499.8 +Line D,501.8 +Line A,500.7 +Line B,499.5 +Line C,500.5 +Line D,500.3 +Line A,500.4 +Line B,501.6 +Line C,500.6 +Line D,501.3 +Line A,501.2 +Line B,500.9 +Line C,498.1 +Line D,502.4 +Line A,501.0 +Line B,497.6 +Line C,497.9 +Line D,500.1 +Line A,499.4 +Line B,504.6 +Line C,499.8 +Line D,501.9 +Line A,500.8 +Line B,504.0 +Line C,499.1 +Line D,501.3 +Line A,501.6 +Line B,501.8 +Line C,497.6 +Line D,500.8 +Line A,500.4 +Line B,500.7 +Line C,499.4 +Line D,503.8 +Line A,500.4 +Line B,500.1 +Line C,502.9 +Line D,502.1 +Line A,498.5 +Line B,502.3 +Line C,501.6 +Line D,500.9 +Line A,501.1 +Line B,498.0 +Line C,499.2 +Line D,502.5 +Line A,501.2 +Line B,499.7 +Line C,498.0 +Line D,501.7 +Line A,502.1 +Line B,504.0 +Line C,501.2 +Line D,500.5 +Line A,499.4 +Line B,499.2 +Line C,500.5 +Line D,503.4 +Line A,500.5 +Line B,498.7 +Line C,499.7 +Line D,501.3 +Line A,498.7 +Line B,497.5 +Line C,499.9 +Line D,501.5 +Line A,499.3 +Line B,499.5 +Line C,500.0 +Line D,503.4 +Line A,499.4 +Line B,500.7 +Line C,498.1 +Line D,501.0 +Line A,500.5 +Line B,501.1 +Line C,499.3 +Line D,503.6 +Line A,498.6 +Line B,501.7 +Line C,499.1 +Line D,500.8 +Line A,499.6 +Line B,501.1 +Line C,498.8 +Line D,502.1 +Line A,501.2 +Line B,502.1 +Line C,498.9 +Line D,503.5 +Line A,499.1 +Line B,499.8 +Line C,498.2 +Line D,501.0 +Line A,499.8 +Line B,506.0 +Line C,499.6 +Line D,500.9 +Line A,500.4 +Line B,501.1 +Line C,499.0 +Line D,502.3 +Line A,501.2 +Line B,496.8 +Line C,500.1 +Line D,493.7 +Line A,500.7 +Line B,501.5 +Line C,498.4 +Line D,502.3 +Line A,501.5 +Line B,502.1 +Line C,502.2 +Line D,502.3 +Line A,501.6 +Line B,502.0 +Line C,500.7 +Line D,502.6 +Line A,501.8 +Line B,502.1 +Line C,505.5 +Line D,501.0 +Line A,499.5 +Line B,499.6 +Line C,498.3 +Line D,501.9 +Line A,500.7 +Line B,501.6 +Line C,508.3 +Line D,501.9 +Line A,499.4 +Line B,499.8 +Line C,497.8 +Line D,502.3 +Line A,501.2 +Line B,498.8 +Line C,500.2 +Line D,501.2 +Line A,499.2 +Line B,503.2 +Line C,498.5 +Line D,508.4 +Line A,499.5 +Line B,501.5 +Line C,500.7 +Line D,502.8 +Line A,500.2 +Line B,501.2 +Line C,499.5 +Line D,502.6 +Line A,499.3 +Line B,499.3 +Line C,496.2 +Line D,501.4 +Line A,501.3 +Line B,499.3 +Line C,498.4 +Line D,500.7 +Line A,498.6 +Line B,499.6 +Line C,500.7 +Line D,501.8 +Line A,499.8 +Line B,501.6 +Line C,499.2 +Line D,501.3 +Line A,499.6 +Line B,502.2 +Line C,497.7 +Line D,500.1 +Line A,507.0 +Line B,501.8 +Line C,500.4 +Line D,496.5 +Line A,501.4 +Line B,499.7 +Line C,497.8 +Line D,502.9 +Line A,499.8 +Line B,500.2 +Line C,498.3 +Line D,502.2 +Line A,500.5 +Line B,501.5 +Line C,498.9 +Line D,502.5 +Line A,500.0 +Line B,500.2 +Line C,501.1 +Line D,501.9 +Line A,498.8 +Line B,498.4 +Line C,498.9 +Line D,503.6 +Line A,500.1 +Line B,502.0 +Line C,500.4 +Line D,502.5 +Line A,502.9 +Line B,496.4 +Line C,498.1 +Line D,501.3 +Line A,499.4 +Line B,492.6 +Line C,495.2 +Line D,501.9 +Line A,502.5 +Line B,501.7 +Line C,502.4 +Line D,501.1 +Line A,500.0 +Line B,502.3 +Line C,501.8 +Line D,501.9 +Line A,500.2 +Line B,497.6 +Line C,498.2 +Line D,501.2 +Line A,498.2 +Line B,505.0 +Line C,497.0 +Line D,501.7 +Line A,500.6 +Line B,501.1 +Line C,501.1 +Line D,501.5 +Line A,500.5 +Line B,503.7 +Line C,500.5 +Line D,500.9 +Line A,500.3 +Line B,505.5 +Line C,498.0 +Line D,502.1 +Line A,499.7 +Line B,502.5 +Line C,500.2 +Line D,503.0 +Line A,498.9 +Line B,501.3 +Line C,497.6 +Line D,503.4 +Line A,501.4 +Line B,500.3 +Line C,497.4 +Line D,503.8 +Line A,499.3 +Line B,505.1 +Line C,498.7 +Line D,502.1 +Line A,501.9 +Line B,509.1 +Line C,501.3 +Line D,502.6 +Line A,499.8 +Line B,503.2 +Line C,500.0 +Line D,502.0 +Line A,501.2 +Line B,500.2 +Line C,500.5 +Line D,502.7 +Line A,500.1 +Line B,503.9 +Line C,499.6 +Line D,501.2 +Line A,499.2 +Line B,499.6 +Line C,497.9 +Line D,500.3 +Line A,501.2 +Line B,506.0 +Line C,501.5 +Line D,502.8 +Line A,500.9 +Line B,499.9 +Line C,497.4 +Line D,500.9 +Line A,502.1 +Line B,499.5 +Line C,496.4 +Line D,501.6 +Line A,499.8 +Line B,500.8 +Line C,498.8 +Line D,502.1 +Line A,500.5 +Line B,501.0 +Line C,497.1 +Line D,501.9 +Line A,498.8 +Line B,499.3 +Line C,498.6 +Line D,503.4 +Line A,501.5 +Line B,503.8 +Line C,498.2 +Line D,501.6 +Line A,502.5 +Line B,500.7 +Line C,500.3 +Line D,500.7 +Line A,501.6 +Line B,503.6 +Line C,499.4 +Line D,502.1 +Line A,501.9 +Line B,501.8 +Line C,500.2 +Line D,502.7 +Line A,500.8 +Line B,500.3 +Line C,497.7 +Line D,503.1 +Line A,499.6 +Line B,500.9 +Line C,499.9 +Line D,502.3 +Line A,501.1 +Line B,499.6 +Line C,500.9 +Line D,498.9 +Line A,502.4 +Line B,499.2 +Line C,500.0 +Line D,501.1 +Line A,499.9 +Line B,500.5 +Line C,500.3 +Line D,502.3 +Line A,499.5 +Line B,500.8 +Line C,497.6 +Line D,502.2 +Line A,509.1 +Line B,501.9 +Line C,499.7 +Line D,502.1 +Line A,500.4 +Line B,500.2 +Line C,499.1 +Line D,502.8 +Line A,502.0 +Line B,499.3 +Line C,498.8 +Line D,501.4 +Line A,500.1 +Line B,503.3 +Line C,498.8 +Line D,502.8 +Line A,502.2 +Line B,504.2 +Line C,497.0 +Line D,502.1 +Line A,501.5 +Line B,503.1 +Line C,498.9 +Line D,503.8 +Line A,499.7 +Line B,501.5 +Line C,498.6 +Line D,503.3 +Line A,499.7 +Line B,498.5 +Line C,500.3 +Line D,500.9 +Line A,499.5 +Line B,504.6 +Line C,497.9 +Line D,503.6 +Line A,497.7 +Line B,498.7 +Line C,499.7 +Line D,502.0 +Line A,501.3 +Line B,503.7 +Line C,500.6 +Line D,502.2 +Line A,500.9 +Line B,502.7 +Line C,498.2 +Line D,503.0 +Line A,500.1 +Line B,498.8 +Line C,500.5 +Line D,501.5 +Line A,499.0 +Line B,499.1 +Line C,501.0 +Line D,501.9 +Line A,500.5 +Line B,501.5 +Line C,500.4 +Line D,501.7 +Line A,499.7 +Line B,502.0 +Line C,499.6 +Line D,501.7 +Line A,499.0 +Line B,500.3 +Line C,500.6 +Line D,501.3 +Line A,501.1 +Line B,501.2 +Line C,499.1 +Line D,501.4 +Line A,500.2 +Line B,499.5 +Line C,499.1 +Line D,503.9 +Line A,500.8 +Line B,503.9 +Line C,499.5 +Line D,502.1 +Line A,500.9 +Line B,502.4 +Line C,502.0 +Line D,501.2 +Line A,500.6 +Line B,499.0 +Line C,498.5 +Line D,501.2 +Line A,499.2 +Line B,500.0 +Line C,501.6 +Line D,501.7 +Line A,499.2 +Line B,503.2 +Line C,495.5 +Line D,502.2 +Line A,501.8 +Line B,502.1 +Line C,499.8 +Line D,501.8 +Line A,499.7 +Line B,504.2 +Line C,489.3 +Line D,503.5 +Line A,500.6 +Line B,501.1 +Line C,497.9 +Line D,502.5 +Line A,500.6 +Line B,500.9 +Line C,498.5 +Line D,501.9 +Line A,501.1 +Line B,501.2 +Line C,498.9 +Line D,502.1 +Line A,501.0 +Line B,500.1 +Line C,507.3 +Line D,501.9 +Line A,500.6 +Line B,503.7 +Line C,500.9 +Line D,502.2 +Line A,499.4 +Line B,498.8 +Line C,499.9 +Line D,502.5 +Line A,501.1 +Line B,502.3 +Line C,499.0 +Line D,502.5 +Line A,500.3 +Line B,501.0 +Line C,500.3 +Line D,501.5 +Line A,499.6 +Line B,499.3 +Line C,497.0 +Line D,501.3 +Line A,498.3 +Line B,501.3 +Line C,497.4 +Line D,502.2 +Line A,500.1 +Line B,502.5 +Line C,498.9 +Line D,502.1 +Line A,500.9 +Line B,499.4 +Line C,498.6 +Line D,501.8 +Line A,498.7 +Line B,502.8 +Line C,500.2 +Line D,501.3 +Line A,500.6 +Line B,498.8 +Line C,499.6 +Line D,502.2 +Line A,499.7 +Line B,503.3 +Line C,499.7 +Line D,503.0 +Line A,500.8 +Line B,499.5 +Line C,499.2 +Line D,501.2 +Line A,502.8 +Line B,503.4 +Line C,501.7 +Line D,502.5 +Line A,500.9 +Line B,501.4 +Line C,497.9 +Line D,501.6 +Line A,499.0 +Line B,498.2 +Line C,502.7 +Line D,503.3 +Line A,500.4 +Line B,501.1 +Line C,498.3 +Line D,503.3 +Line A,501.4 +Line B,503.4 +Line C,498.8 +Line D,501.2 +Line A,501.2 +Line B,502.7 +Line C,496.9 +Line D,501.9 +Line A,499.3 +Line B,499.1 +Line C,503.3 +Line D,503.8 +Line A,499.9 +Line B,499.5 +Line C,500.5 +Line D,501.2 +Line A,501.1 +Line B,501.1 +Line C,499.4 +Line D,503.1 +Line A,498.9 +Line B,504.0 +Line C,502.2 +Line D,502.0 +Line A,499.6 +Line B,500.3 +Line C,497.0 +Line D,502.1 +Line A,499.7 +Line B,493.1 +Line C,499.1 +Line D,502.2 +Line A,501.8 +Line B,502.9 +Line C,497.3 +Line D,502.0 +Line A,499.3 +Line B,501.8 +Line C,497.6 +Line D,502.7 +Line A,502.7 +Line B,500.7 +Line C,501.5 +Line D,502.7 +Line A,498.9 +Line B,501.1 +Line C,498.2 +Line D,502.3 +Line A,500.5 +Line B,502.8 +Line C,499.2 +Line D,503.0 +Line A,500.6 +Line B,506.6 +Line C,497.8 +Line D,504.1 +Line A,502.3 +Line B,500.0 +Line C,496.0 +Line D,502.4 +Line A,500.5 +Line B,499.2 +Line C,500.1 +Line D,501.7 +Line A,500.6 +Line B,502.0 +Line C,501.1 +Line D,502.2 +Line A,500.8 +Line B,501.4 +Line C,497.3 +Line D,492.8 +Line A,499.5 +Line B,501.5 +Line C,503.0 +Line D,502.0 +Line A,501.0 +Line B,503.6 +Line C,501.0 +Line D,502.7 +Line A,501.9 +Line B,502.7 +Line C,501.0 +Line D,501.7 +Line A,500.8 +Line B,502.8 +Line C,499.2 +Line D,500.8 +Line A,500.6 +Line B,498.0 +Line C,500.3 +Line D,501.1 +Line A,503.6 +Line B,503.4 +Line C,497.4 +Line D,501.2 +Line A,503.5 +Line B,497.4 +Line C,497.0 +Line D,502.2 +Line A,499.1 +Line B,500.3 +Line C,499.5 +Line D,501.1 +Line A,499.2 +Line B,502.4 +Line C,498.7 +Line D,500.6 +Line A,500.1 +Line B,507.0 +Line C,496.6 +Line D,503.4 +Line A,501.1 +Line B,502.1 +Line C,499.7 +Line D,502.1 +Line A,499.2 +Line B,501.9 +Line C,499.6 +Line D,500.6 +Line A,499.5 +Line B,501.4 +Line C,496.9 +Line D,501.8 +Line A,500.7 +Line B,502.8 +Line C,500.5 +Line D,503.0 +Line A,499.6 +Line B,501.1 +Line C,500.1 +Line D,502.6 +Line A,500.9 +Line B,500.4 +Line C,497.4 +Line D,509.2 +Line A,501.9 +Line B,500.3 +Line C,500.4 +Line D,500.8 +Line A,499.7 +Line B,502.1 +Line C,500.1 +Line D,501.0 +Line A,499.3 +Line B,502.1 +Line C,498.1 +Line D,502.2 +Line A,500.2 +Line B,502.5 +Line C,498.6 +Line D,501.2 +Line A,500.7 +Line B,502.0 +Line C,498.0 +Line D,503.6 +Line A,499.6 +Line B,497.1 +Line C,498.4 +Line D,501.1 +Line A,499.3 +Line B,502.1 +Line C,499.0 +Line D,502.0 +Line A,501.7 +Line B,501.4 +Line C,497.4 +Line D,501.7 +Line A,500.1 +Line B,500.3 +Line C,498.5 +Line D,509.7 +Line A,498.2 +Line B,502.7 +Line C,498.8 +Line D,500.6 +Line A,500.9 +Line B,501.7 +Line C,500.2 +Line D,503.0 +Line A,500.6 +Line B,506.0 +Line C,500.7 +Line D,502.6 +Line A,502.0 +Line B,498.4 +Line C,501.4 +Line D,502.6 +Line A,499.0 +Line B,501.2 +Line C,498.6 +Line D,503.9 +Line A,499.8 +Line B,501.7 +Line C,498.5 +Line D,501.6 +Line A,500.4 +Line B,502.9 +Line C,499.1 +Line D,501.6 +Line A,499.0 +Line B,502.0 +Line C,500.3 +Line D,504.6 +Line A,501.8 +Line B,502.1 +Line C,498.7 +Line D,500.8 +Line A,498.9 +Line B,500.1 +Line C,497.2 +Line D,502.5 +Line A,500.8 +Line B,501.2 +Line C,500.1 +Line D,501.2 +Line A,500.1 +Line B,502.0 +Line C,498.0 +Line D,502.5 +Line A,498.4 +Line B,501.0 +Line C,501.0 +Line D,500.9 +Line A,501.3 +Line B,503.7 +Line C,497.7 +Line D,501.6 +Line A,501.0 +Line B,500.7 +Line C,499.5 +Line D,503.2 +Line A,501.0 +Line B,501.8 +Line C,496.2 +Line D,502.5 +Line A,501.7 +Line B,494.7 +Line C,498.9 +Line D,502.5 +Line A,501.3 +Line B,502.1 +Line C,497.0 +Line D,501.4 +Line A,501.8 +Line B,502.3 +Line C,498.6 +Line D,500.8 +Line A,502.9 +Line B,498.5 +Line C,498.0 +Line D,502.0 +Line A,503.2 +Line B,501.6 +Line C,499.5 +Line D,502.8 +Line A,500.4 +Line B,504.2 +Line C,502.1 +Line D,501.3 +Line A,499.4 +Line B,501.5 +Line C,499.1 +Line D,501.3 +Line A,499.9 +Line B,502.2 +Line C,498.6 +Line D,502.9 +Line A,501.5 +Line B,493.6 +Line C,499.8 +Line D,501.1 +Line A,500.1 +Line B,498.1 +Line C,499.8 +Line D,501.3 +Line A,501.1 +Line B,501.5 +Line C,497.5 +Line D,501.2 +Line A,501.1 +Line B,499.1 +Line C,499.2 +Line D,500.7 +Line A,499.7 +Line B,500.9 +Line C,498.8 +Line D,502.7 +Line A,500.1 +Line B,500.9 +Line C,499.6 +Line D,502.7 +Line A,499.5 +Line B,493.9 +Line C,499.4 +Line D,502.2 +Line A,499.5 +Line B,499.7 +Line C,500.6 +Line D,500.3 +Line A,500.5 +Line B,500.4 +Line C,499.4 +Line D,502.9 +Line A,499.5 +Line B,501.2 +Line C,498.0 +Line D,501.0 +Line A,499.7 +Line B,499.9 +Line C,498.7 +Line D,502.1 +Line A,501.2 +Line B,498.4 +Line C,499.9 +Line D,502.7 +Line A,497.8 +Line B,503.4 +Line C,497.7 +Line D,500.6 +Line A,500.3 +Line B,496.9 +Line C,499.2 +Line D,501.6 +Line A,500.0 +Line B,498.3 +Line C,497.9 +Line D,500.2 +Line A,500.4 +Line B,503.2 +Line C,498.2 +Line D,502.8 +Line A,501.0 +Line B,504.0 +Line C,500.6 +Line D,502.4 +Line A,502.6 +Line B,499.3 +Line C,502.6 +Line D,501.9 +Line A,500.2 +Line B,502.7 +Line C,501.6 +Line D,501.8 +Line A,498.9 +Line B,504.0 +Line C,498.9 +Line D,502.9 +Line A,501.1 +Line B,500.9 +Line C,501.0 +Line D,502.7 +Line A,500.0 +Line B,501.6 +Line C,500.2 +Line D,501.2 +Line A,501.4 +Line B,500.6 +Line C,496.8 +Line D,500.8 +Line A,500.7 +Line B,502.4 +Line C,499.3 +Line D,502.6 +Line A,501.4 +Line B,499.5 +Line C,499.6 +Line D,501.4 +Line A,500.9 +Line B,500.5 +Line C,499.8 +Line D,502.5 +Line A,500.4 +Line B,502.1 +Line C,499.1 +Line D,502.1 +Line A,500.7 +Line B,500.5 +Line C,499.4 +Line D,501.5 +Line A,501.8 +Line B,505.8 +Line C,498.8 +Line D,502.4 +Line A,500.4 +Line B,499.8 +Line C,501.3 +Line D,502.6 +Line A,500.7 +Line B,500.8 +Line C,500.1 +Line D,505.6 +Line A,500.1 +Line B,501.5 +Line C,497.6 +Line D,499.4 +Line A,501.0 +Line B,503.0 +Line C,501.7 +Line D,503.5 +Line A,500.5 +Line B,502.5 +Line C,498.5 +Line D,503.0 +Line A,500.2 +Line B,500.2 +Line C,498.5 +Line D,501.3 +Line A,497.1 +Line B,499.7 +Line C,500.8 +Line D,501.9 +Line A,501.7 +Line B,503.8 +Line C,497.2 +Line D,501.5 +Line A,499.3 +Line B,503.2 +Line C,495.8 +Line D,503.0 +Line A,500.2 +Line B,501.4 +Line C,497.4 +Line D,503.8 +Line A,499.7 +Line B,501.0 +Line C,499.6 +Line D,502.2 +Line A,497.2 +Line B,505.7 +Line C,502.4 +Line D,501.9 +Line A,499.1 +Line B,498.9 +Line C,497.8 +Line D,501.8 +Line A,500.3 +Line B,499.1 +Line C,502.3 +Line D,503.6 +Line A,500.2 +Line B,500.4 +Line C,501.7 +Line D,502.6 +Line A,501.0 +Line B,499.5 +Line C,497.5 +Line D,503.1 +Line A,500.1 +Line B,503.3 +Line C,498.2 +Line D,502.4 +Line A,497.7 +Line B,496.2 +Line C,500.1 +Line D,503.0 +Line A,501.2 +Line B,504.0 +Line C,497.6 +Line D,502.0 +Line A,498.4 +Line B,498.8 +Line C,498.1 +Line D,503.0 +Line A,501.5 +Line B,502.1 +Line C,496.9 +Line D,502.1 +Line A,501.9 +Line B,500.7 +Line C,498.7 +Line D,502.7 +Line A,499.7 +Line B,496.1 +Line C,499.1 +Line D,503.2 +Line A,500.9 +Line B,497.3 +Line C,499.0 +Line D,501.7 +Line A,499.6 +Line B,498.3 +Line C,497.2 +Line D,501.8 +Line A,500.0 +Line B,501.9 +Line C,499.9 +Line D,502.9 +Line A,498.6 +Line B,503.0 +Line C,497.2 +Line D,502.3 +Line A,500.6 +Line B,503.1 +Line C,498.4 +Line D,502.0 +Line A,499.7 +Line B,498.6 +Line C,502.6 +Line D,503.4 +Line A,500.3 +Line B,503.5 +Line C,500.1 +Line D,501.2 +Line A,501.1 +Line B,501.9 +Line C,500.0 +Line D,503.7 +Line A,499.8 +Line B,501.0 +Line C,500.6 +Line D,502.1 +Line A,498.8 +Line B,501.3 +Line C,499.0 +Line D,500.9 +Line A,499.8 +Line B,501.7 +Line C,500.3 +Line D,501.1 +Line A,498.0 +Line B,502.4 +Line C,500.8 +Line D,502.6 +Line A,500.6 +Line B,499.5 +Line C,498.4 +Line D,502.0 +Line A,501.6 +Line B,497.2 +Line C,500.2 +Line D,502.8 +Line A,502.5 +Line B,497.3 +Line C,498.8 +Line D,501.4 +Line A,500.8 +Line B,499.0 +Line C,500.3 +Line D,501.6 +Line A,498.0 +Line B,502.4 +Line C,498.5 +Line D,502.1 +Line A,500.9 +Line B,502.2 +Line C,498.4 +Line D,500.4 +Line A,499.3 +Line B,502.8 +Line C,498.3 +Line D,502.2 +Line A,499.1 +Line B,502.4 +Line C,498.9 +Line D,502.5 +Line A,497.9 +Line B,502.0 +Line C,499.4 +Line D,502.0 +Line A,500.0 +Line B,509.5 +Line C,499.8 +Line D,503.3 +Line A,498.9 +Line B,501.2 +Line C,500.5 +Line D,501.2 +Line A,501.4 +Line B,503.1 +Line C,498.1 +Line D,499.4 +Line A,500.0 +Line B,499.6 +Line C,491.5 +Line D,501.1 +Line A,502.0 +Line B,510.8 +Line C,498.9 +Line D,502.5 +Line A,499.7 +Line B,501.9 +Line C,500.1 +Line D,502.7 +Line A,499.6 +Line B,498.1 +Line C,499.8 +Line D,503.6 +Line A,499.4 +Line B,498.9 +Line C,499.6 +Line D,501.5 +Line A,499.2 +Line B,497.5 +Line C,500.2 +Line D,501.8 +Line A,502.4 +Line B,501.6 +Line C,497.6 +Line D,502.1 +Line A,497.7 +Line B,501.5 +Line C,498.7 +Line D,501.9 +Line A,498.7 +Line B,502.6 +Line C,500.4 +Line D,501.1 +Line A,500.6 +Line B,498.9 +Line C,500.4 +Line D,502.6 +Line A,499.8 +Line B,502.9 +Line C,499.0 +Line D,504.1 +Line A,498.7 +Line B,501.6 +Line C,499.1 +Line D,501.9 +Line A,500.3 +Line B,501.1 +Line C,496.7 +Line D,502.5 +Line A,501.7 +Line B,504.0 +Line C,500.2 +Line D,501.8 +Line A,500.0 +Line B,498.8 +Line C,496.7 +Line D,501.6 +Line A,501.5 +Line B,498.7 +Line C,501.1 +Line D,502.2 +Line A,499.0 +Line B,503.0 +Line C,496.4 +Line D,503.8 +Line A,500.7 +Line B,499.7 +Line C,500.2 +Line D,503.1 +Line A,500.7 +Line B,502.8 +Line C,498.5 +Line D,500.8 +Line A,499.8 +Line B,501.8 +Line C,500.6 +Line D,501.5 +Line A,499.9 +Line B,502.1 +Line C,500.2 +Line D,503.4 +Line A,502.0 +Line B,498.9 +Line C,502.1 +Line D,501.7 +Line A,494.7 +Line B,500.5 +Line C,499.7 +Line D,501.6 +Line A,498.7 +Line B,499.8 +Line C,498.4 +Line D,501.8 +Line A,499.5 +Line B,499.4 +Line C,495.1 +Line D,501.7 +Line A,493.9 +Line B,502.1 +Line C,500.3 +Line D,500.2 +Line A,498.6 +Line B,497.6 +Line C,500.1 +Line D,502.1 +Line A,501.5 +Line B,497.0 +Line C,498.6 +Line D,501.9 +Line A,501.3 +Line B,499.7 +Line C,495.4 +Line D,501.0 +Line A,499.7 +Line B,504.4 +Line C,500.3 +Line D,500.0 +Line A,501.1 +Line B,502.2 +Line C,498.2 +Line D,501.3 +Line A,500.2 +Line B,501.3 +Line C,499.2 +Line D,501.3 +Line A,501.3 +Line B,499.0 +Line C,500.9 +Line D,503.3 +Line A,498.6 +Line B,500.0 +Line C,496.2 +Line D,501.5 +Line A,499.2 +Line B,499.9 +Line C,499.1 +Line D,501.3 +Line A,500.8 +Line B,504.5 +Line C,499.3 +Line D,500.1 +Line A,498.6 +Line B,504.0 +Line C,498.2 +Line D,501.2 +Line A,509.0 +Line B,503.2 +Line C,496.1 +Line D,501.7 +Line A,499.4 +Line B,501.1 +Line C,497.4 +Line D,501.5 +Line A,501.0 +Line B,500.5 +Line C,498.6 +Line D,500.8 +Line A,498.9 +Line B,500.8 +Line C,496.2 +Line D,500.1 +Line A,501.0 +Line B,503.2 +Line C,499.5 +Line D,501.8 +Line A,499.3 +Line B,500.7 +Line C,499.1 +Line D,494.8 +Line A,500.4 +Line B,500.4 +Line C,498.9 +Line D,502.8 +Line A,499.2 +Line B,501.8 +Line C,498.3 +Line D,500.4 +Line A,500.6 +Line B,500.7 +Line C,497.8 +Line D,501.3 +Line A,499.7 +Line B,503.6 +Line C,499.5 +Line D,501.2 +Line A,498.9 +Line B,501.5 +Line C,497.3 +Line D,502.1 +Line A,500.7 +Line B,500.9 +Line C,498.3 +Line D,501.2 +Line A,499.5 +Line B,500.7 +Line C,498.8 +Line D,502.4 +Line A,501.6 +Line B,501.5 +Line C,500.2 +Line D,504.3 +Line A,499.2 +Line B,503.4 +Line C,498.2 +Line D,504.1 +Line A,500.6 +Line B,502.1 +Line C,499.8 +Line D,500.8 +Line A,500.2 +Line B,500.2 +Line C,497.1 +Line D,501.2 +Line A,501.2 +Line B,500.5 +Line C,500.1 +Line D,501.8 +Line A,500.8 +Line B,500.3 +Line C,498.3 +Line D,501.1 +Line A,500.0 +Line B,502.0 +Line C,499.4 +Line D,501.9 +Line A,502.0 +Line B,502.0 +Line C,500.1 +Line D,501.8 +Line A,499.0 +Line B,503.7 +Line C,497.8 +Line D,503.1 +Line A,500.3 +Line B,498.8 +Line C,499.8 +Line D,501.7 +Line A,501.1 +Line B,499.5 +Line C,497.5 +Line D,501.7 +Line A,501.3 +Line B,501.2 +Line C,496.5 +Line D,502.3 +Line A,501.5 +Line B,502.2 +Line C,498.7 +Line D,503.2 +Line A,500.6 +Line B,500.4 +Line C,497.3 +Line D,502.9 +Line A,499.3 +Line B,499.0 +Line C,500.7 +Line D,502.0 +Line A,498.5 +Line B,503.9 +Line C,499.6 +Line D,502.0 +Line A,499.3 +Line B,502.2 +Line C,492.1 +Line D,500.8 +Line A,499.7 +Line B,501.1 +Line C,502.7 +Line D,501.7 +Line A,501.0 +Line B,501.3 +Line C,498.6 +Line D,502.5 +Line A,500.5 +Line B,502.8 +Line C,497.0 +Line D,500.9 +Line A,500.1 +Line B,499.9 +Line C,499.2 +Line D,503.0 +Line A,501.3 +Line B,503.8 +Line C,500.0 +Line D,501.7 +Line A,499.4 +Line B,503.7 +Line C,499.0 +Line D,501.3 +Line A,501.2 +Line B,502.6 +Line C,495.9 +Line D,502.2 +Line A,498.5 +Line B,501.8 +Line C,501.9 +Line D,503.1 +Line A,499.9 +Line B,502.1 +Line C,497.0 +Line D,502.1 +Line A,500.5 +Line B,498.7 +Line C,498.1 +Line D,501.4 +Line A,499.5 +Line B,500.7 +Line C,500.2 +Line D,501.9 +Line A,501.0 +Line B,504.8 +Line C,499.0 +Line D,501.8 +Line A,500.2 +Line B,499.4 +Line C,499.2 +Line D,502.0 +Line A,500.8 +Line B,501.7 +Line C,500.9 +Line D,501.5 +Line A,502.7 +Line B,499.5 +Line C,499.9 +Line D,502.2 +Line A,502.1 +Line B,501.3 +Line C,500.9 +Line D,503.1 +Line A,502.6 +Line B,500.0 +Line C,500.5 +Line D,502.8 +Line A,501.0 +Line B,502.5 +Line C,497.0 +Line D,500.8 +Line A,501.4 +Line B,501.8 +Line C,499.2 +Line D,499.9 +Line A,500.0 +Line B,501.7 +Line C,501.5 +Line D,503.2 +Line A,500.9 +Line B,499.6 +Line C,498.7 +Line D,502.3 +Line A,502.6 +Line B,502.2 +Line C,499.3 +Line D,501.6 +Line A,501.8 +Line B,500.4 +Line C,497.7 +Line D,501.8 +Line A,500.8 +Line B,501.3 +Line C,500.5 +Line D,502.4 +Line A,499.9 +Line B,501.3 +Line C,501.5 +Line D,502.3 +Line A,499.1 +Line B,501.2 +Line C,498.9 +Line D,502.1 +Line A,501.9 +Line B,500.4 +Line C,501.6 +Line D,504.0 +Line A,498.1 +Line B,501.1 +Line C,499.1 +Line D,501.5 +Line A,500.1 +Line B,494.9 +Line C,497.4 +Line D,502.2 +Line A,500.9 +Line B,505.4 +Line C,497.1 +Line D,500.8 +Line A,499.3 +Line B,503.6 +Line C,497.9 +Line D,502.4 +Line A,500.7 +Line B,503.1 +Line C,496.0 +Line D,502.0 +Line A,500.6 +Line B,498.2 +Line C,499.6 +Line D,501.0 +Line A,501.3 +Line B,498.4 +Line C,497.8 +Line D,502.0 +Line A,498.7 +Line B,501.7 +Line C,497.3 +Line D,501.0 +Line A,500.9 +Line B,504.6 +Line C,497.4 +Line D,500.6 +Line A,500.8 +Line B,497.2 +Line C,499.7 +Line D,502.4 +Line A,502.0 +Line B,501.1 +Line C,505.6 +Line D,500.9 +Line A,504.7 +Line B,498.2 +Line C,501.7 +Line D,502.9 +Line A,501.2 +Line B,501.6 +Line C,501.8 +Line D,502.0 +Line A,500.6 +Line B,500.9 +Line C,499.9 +Line D,501.0 +Line A,501.7 +Line B,498.9 +Line C,498.0 +Line D,502.0 +Line A,500.5 +Line B,501.0 +Line C,498.2 +Line D,500.6 +Line A,499.4 +Line B,500.2 +Line C,497.0 +Line D,502.4 +Line A,500.1 +Line B,501.9 +Line C,499.0 +Line D,501.2 +Line A,499.4 +Line B,499.2 +Line C,498.5 +Line D,501.6 +Line A,500.2 +Line B,502.9 +Line C,502.2 +Line D,503.8 +Line A,499.9 +Line B,500.5 +Line C,500.4 +Line D,501.4 +Line A,499.9 +Line B,499.5 +Line C,500.5 +Line D,501.8 +Line A,500.9 +Line B,501.3 +Line C,496.8 +Line D,501.7 +Line A,500.6 +Line B,498.5 +Line C,499.6 +Line D,501.1 +Line A,499.0 +Line B,499.1 +Line C,497.1 +Line D,501.1 +Line A,499.5 +Line B,507.3 +Line C,501.6 +Line D,502.6 +Line A,500.5 +Line B,498.2 +Line C,498.6 +Line D,501.1 +Line A,499.6 +Line B,501.6 +Line C,499.4 +Line D,502.8 +Line A,500.7 +Line B,499.6 +Line C,499.6 +Line D,502.3 +Line A,499.8 +Line B,502.1 +Line C,498.5 +Line D,502.3 +Line A,499.0 +Line B,500.5 +Line C,499.6 +Line D,503.8 +Line A,498.3 +Line B,500.4 +Line C,500.9 +Line D,501.0 +Line A,500.0 +Line B,501.4 +Line C,500.8 +Line D,502.1 +Line A,502.2 +Line B,502.9 +Line C,498.2 +Line D,503.3 +Line A,500.7 +Line B,499.6 +Line C,497.0 +Line D,501.6 +Line A,501.4 +Line B,499.5 +Line C,497.8 +Line D,503.2 +Line A,501.4 +Line B,501.1 +Line C,499.9 +Line D,501.1 +Line A,492.5 +Line B,504.2 +Line C,499.1 +Line D,500.9 +Line A,500.0 +Line B,499.3 +Line C,496.1 +Line D,502.2 +Line A,499.9 +Line B,498.3 +Line C,500.4 +Line D,503.5 +Line A,501.5 +Line B,502.7 +Line C,500.4 +Line D,503.7 +Line A,500.7 +Line B,492.9 +Line C,498.6 +Line D,502.7 +Line A,500.6 +Line B,499.5 +Line C,499.2 +Line D,502.3 +Line A,499.2 +Line B,501.1 +Line C,499.0 +Line D,500.3 +Line A,499.3 +Line B,501.4 +Line C,500.5 +Line D,495.5 +Line A,499.1 +Line B,503.0 +Line C,498.9 +Line D,501.2 +Line A,499.1 +Line B,501.9 +Line C,499.5 +Line D,502.4 +Line A,503.0 +Line B,493.1 +Line C,500.3 +Line D,500.9 +Line A,499.3 +Line B,502.5 +Line C,499.2 +Line D,502.4 +Line A,501.0 +Line B,499.3 +Line C,498.6 +Line D,501.6 +Line A,498.3 +Line B,498.4 +Line C,499.3 +Line D,500.5 +Line A,500.1 +Line B,500.9 +Line C,499.3 +Line D,502.5 +Line A,490.7 +Line B,501.6 +Line C,498.8 +Line D,500.5 +Line A,500.2 +Line B,491.4 +Line C,498.9 +Line D,502.4 +Line A,500.4 +Line B,501.2 +Line C,509.2 +Line D,502.8 +Line A,499.7 +Line B,506.3 +Line C,497.9 +Line D,501.8 +Line A,502.5 +Line B,501.8 +Line C,497.5 +Line D,501.6 +Line A,500.8 +Line B,502.9 +Line C,498.3 +Line D,501.0 +Line A,499.6 +Line B,504.9 +Line C,497.2 +Line D,502.4 +Line A,500.1 +Line B,500.9 +Line C,499.0 +Line D,501.7 +Line A,501.3 +Line B,499.1 +Line C,498.4 +Line D,502.8 +Line A,500.5 +Line B,496.3 +Line C,498.3 +Line D,503.1 +Line A,500.3 +Line B,504.9 +Line C,497.5 +Line D,503.5 +Line A,499.2 +Line B,502.7 +Line C,497.8 +Line D,501.4 +Line A,499.5 +Line B,501.7 +Line C,499.6 +Line D,504.8 +Line A,502.7 +Line B,502.9 +Line C,501.0 +Line D,501.7 +Line A,501.6 +Line B,501.1 +Line C,496.1 +Line D,503.2 +Line A,501.0 +Line B,500.6 +Line C,497.7 +Line D,501.6 +Line A,499.3 +Line B,502.1 +Line C,497.9 +Line D,503.2 +Line A,500.0 +Line B,501.9 +Line C,497.7 +Line D,502.2 +Line A,502.7 +Line B,502.3 +Line C,496.1 +Line D,500.4 +Line A,500.4 +Line B,499.6 +Line C,499.6 +Line D,501.5 +Line A,502.2 +Line B,502.4 +Line C,499.8 +Line D,502.9 +Line A,501.7 +Line B,502.4 +Line C,498.9 +Line D,501.2 +Line A,500.5 +Line B,505.9 +Line C,499.3 +Line D,501.6 +Line A,500.6 +Line B,500.5 +Line C,497.3 +Line D,502.1 +Line A,500.3 +Line B,502.4 +Line C,499.8 +Line D,501.5 +Line A,499.4 +Line B,502.4 +Line C,498.6 +Line D,501.9 +Line A,503.4 +Line B,500.2 +Line C,501.6 +Line D,501.6 +Line A,500.1 +Line B,499.6 +Line C,500.6 +Line D,501.1 +Line A,499.1 +Line B,502.8 +Line C,503.9 +Line D,503.7 +Line A,500.9 +Line B,501.7 +Line C,498.2 +Line D,503.7 +Line A,498.3 +Line B,500.1 +Line C,499.3 +Line D,501.2 +Line A,500.7 +Line B,500.7 +Line C,498.8 +Line D,502.5 +Line A,500.4 +Line B,500.0 +Line C,499.4 +Line D,500.3 +Line A,502.2 +Line B,500.4 +Line C,499.5 +Line D,502.4 +Line A,502.3 +Line B,500.2 +Line C,498.7 +Line D,501.6 +Line A,507.5 +Line B,497.4 +Line C,499.4 +Line D,502.6 +Line A,501.8 +Line B,499.3 +Line C,498.9 +Line D,502.3 +Line A,500.4 +Line B,499.8 +Line C,496.8 +Line D,500.9 +Line A,500.5 +Line B,500.0 +Line C,500.7 +Line D,502.3 +Line A,498.2 +Line B,507.3 +Line C,500.7 +Line D,501.2 +Line A,501.1 +Line B,501.7 +Line C,501.5 +Line D,501.3 +Line A,500.7 +Line B,512.1 +Line C,499.3 +Line D,501.8 +Line A,501.8 +Line B,502.4 +Line C,495.2 +Line D,501.0 +Line A,501.0 +Line B,501.7 +Line C,496.4 +Line D,503.0 +Line A,500.8 +Line B,499.9 +Line C,499.6 +Line D,500.2 +Line A,500.2 +Line B,497.0 +Line C,498.5 +Line D,503.0 +Line A,502.7 +Line B,500.8 +Line C,498.3 +Line D,503.0 +Line A,500.5 +Line B,502.3 +Line C,499.6 +Line D,502.9 +Line A,499.2 +Line B,501.2 +Line C,499.6 +Line D,503.1 +Line A,499.3 +Line B,501.2 +Line C,495.5 +Line D,502.0 +Line A,497.9 +Line B,499.5 +Line C,500.3 +Line D,502.9 +Line A,500.4 +Line B,498.6 +Line C,499.9 +Line D,503.0 +Line A,500.9 +Line B,504.6 +Line C,489.8 +Line D,502.6 +Line A,498.9 +Line B,500.7 +Line C,497.7 +Line D,501.7 +Line A,499.3 +Line B,503.2 +Line C,497.0 +Line D,501.8 +Line A,501.1 +Line B,500.6 +Line C,499.2 +Line D,501.9 +Line A,500.9 +Line B,500.3 +Line C,499.9 +Line D,502.7 +Line A,500.9 +Line B,499.0 +Line C,498.7 +Line D,502.8 +Line A,498.7 +Line B,498.6 +Line C,496.7 +Line D,503.1 +Line A,499.4 +Line B,499.9 +Line C,499.0 +Line D,501.1 +Line A,499.5 +Line B,502.5 +Line C,500.4 +Line D,502.1 +Line A,500.3 +Line B,504.7 +Line C,497.0 +Line D,501.8 +Line A,499.8 +Line B,501.5 +Line C,499.0 +Line D,502.1 +Line A,500.0 +Line B,498.8 +Line C,498.3 +Line D,501.8 +Line A,501.1 +Line B,500.7 +Line C,498.5 +Line D,503.1 +Line A,499.8 +Line B,496.4 +Line C,499.8 +Line D,501.0 +Line A,500.5 +Line B,502.1 +Line C,497.0 +Line D,502.1 +Line A,502.4 +Line B,501.1 +Line C,498.8 +Line D,501.7 +Line A,501.0 +Line B,500.4 +Line C,500.9 +Line D,502.4 +Line A,500.4 +Line B,500.9 +Line C,508.0 +Line D,501.8 +Line A,501.3 +Line B,501.2 +Line C,499.8 +Line D,501.5 +Line A,501.9 +Line B,500.2 +Line C,499.2 +Line D,501.5 +Line A,498.5 +Line B,509.2 +Line C,498.0 +Line D,502.0 +Line A,500.8 +Line B,500.7 +Line C,500.1 +Line D,503.6 +Line A,501.3 +Line B,499.9 +Line C,499.1 +Line D,502.1 +Line A,501.1 +Line B,501.9 +Line C,498.3 +Line D,504.0 +Line A,500.7 +Line B,499.6 +Line C,509.3 +Line D,501.8 +Line A,502.2 +Line B,502.5 +Line C,499.3 +Line D,501.2 +Line A,499.9 +Line B,500.0 +Line C,499.6 +Line D,502.6 +Line A,500.7 +Line B,500.8 +Line C,497.5 +Line D,502.2 +Line A,500.8 +Line B,499.7 +Line C,499.0 +Line D,503.3 +Line A,500.2 +Line B,506.0 +Line C,499.4 +Line D,502.1 +Line A,499.5 +Line B,501.3 +Line C,499.7 +Line D,502.6 +Line A,499.2 +Line B,499.4 +Line C,500.2 +Line D,501.1 +Line A,502.6 +Line B,501.2 +Line C,497.0 +Line D,502.3 +Line A,501.0 +Line B,504.2 +Line C,499.8 +Line D,501.0 +Line A,499.5 +Line B,503.1 +Line C,499.3 +Line D,501.2 +Line A,499.3 +Line B,501.3 +Line C,501.3 +Line D,502.8 +Line A,499.3 +Line B,498.1 +Line C,497.1 +Line D,501.4 +Line A,501.0 +Line B,501.3 +Line C,497.4 +Line D,502.6 +Line A,499.5 +Line B,500.6 +Line C,499.0 +Line D,501.2 +Line A,498.4 +Line B,506.5 +Line C,499.2 +Line D,502.8 +Line A,500.4 +Line B,501.6 +Line C,498.1 +Line D,503.4 +Line A,499.9 +Line B,503.2 +Line C,501.8 +Line D,502.3 +Line A,500.4 +Line B,500.4 +Line C,499.0 +Line D,503.3 +Line A,501.0 +Line B,498.9 +Line C,497.1 +Line D,510.2 +Line A,500.1 +Line B,502.3 +Line C,497.0 +Line D,501.5 +Line A,501.1 +Line B,504.1 +Line C,500.6 +Line D,502.5 +Line A,501.6 +Line B,501.0 +Line C,500.5 +Line D,502.1 +Line A,498.6 +Line B,501.0 +Line C,495.8 +Line D,500.5 +Line A,500.9 +Line B,501.5 +Line C,499.3 +Line D,502.1 +Line A,499.6 +Line B,503.1 +Line C,498.5 +Line D,501.3 +Line A,499.3 +Line B,502.3 +Line C,497.7 +Line D,502.8 +Line A,501.3 +Line B,499.4 +Line C,498.7 +Line D,503.1 +Line A,501.1 +Line B,504.5 +Line C,502.5 +Line D,500.5 +Line A,502.2 +Line B,501.0 +Line C,497.7 +Line D,502.1 +Line A,502.5 +Line B,501.9 +Line C,490.6 +Line D,502.5 +Line A,499.6 +Line B,498.3 +Line C,500.7 +Line D,502.2 +Line A,501.0 +Line B,501.2 +Line C,498.5 +Line D,502.8 +Line A,499.7 +Line B,500.1 +Line C,499.3 +Line D,499.9 +Line A,500.5 +Line B,502.4 +Line C,501.3 +Line D,500.8 +Line A,499.6 +Line B,502.1 +Line C,500.1 +Line D,501.4 +Line A,498.2 +Line B,504.2 +Line C,498.1 +Line D,502.0 +Line A,500.4 +Line B,501.3 +Line C,498.0 +Line D,502.1 +Line A,500.1 +Line B,501.3 +Line C,499.2 +Line D,502.0 +Line A,500.9 +Line B,498.6 +Line C,499.8 +Line D,502.0 +Line A,501.4 +Line B,497.0 +Line C,499.5 +Line D,501.2 +Line A,500.3 +Line B,501.2 +Line C,497.9 +Line D,502.8 +Line A,502.1 +Line B,503.3 +Line C,495.5 +Line D,502.2 +Line A,500.1 +Line B,501.8 +Line C,499.3 +Line D,502.8 +Line A,501.0 +Line B,500.7 +Line C,501.2 +Line D,499.9 +Line A,500.2 +Line B,501.5 +Line C,501.0 +Line D,501.2 +Line A,503.3 +Line B,500.7 +Line C,502.1 +Line D,502.1 +Line A,501.6 +Line B,498.9 +Line C,499.3 +Line D,502.7 +Line A,501.8 +Line B,499.4 +Line C,500.5 +Line D,503.1 +Line A,499.7 +Line B,503.0 +Line C,498.1 +Line D,502.6 +Line A,501.2 +Line B,500.3 +Line C,498.2 +Line D,500.6 +Line A,499.8 +Line B,502.0 +Line C,498.5 +Line D,503.1 +Line A,502.2 +Line B,501.2 +Line C,499.0 +Line D,502.8 +Line A,499.7 +Line B,502.7 +Line C,498.0 +Line D,504.0 +Line A,499.7 +Line B,501.0 +Line C,496.9 +Line D,499.7 +Line A,497.7 +Line B,499.9 +Line C,500.3 +Line D,502.1 +Line A,499.7 +Line B,500.6 +Line C,499.3 +Line D,501.2 +Line A,500.5 +Line B,498.0 +Line C,501.0 +Line D,501.7 +Line A,500.9 +Line B,499.7 +Line C,501.4 +Line D,500.6 +Line A,501.5 +Line B,500.6 +Line C,501.5 +Line D,501.8 +Line A,503.4 +Line B,501.8 +Line C,498.9 +Line D,500.0 +Line A,500.6 +Line B,500.2 +Line C,499.6 +Line D,502.9 +Line A,499.9 +Line B,503.0 +Line C,498.4 +Line D,499.8 +Line A,498.7 +Line B,499.2 +Line C,497.9 +Line D,500.7 +Line A,500.6 +Line B,498.7 +Line C,498.7 +Line D,501.1 +Line A,500.3 +Line B,498.0 +Line C,499.4 +Line D,501.9 +Line A,497.3 +Line B,498.9 +Line C,500.2 +Line D,502.6 +Line A,501.3 +Line B,504.4 +Line C,499.4 +Line D,502.0 +Line A,500.7 +Line B,500.0 +Line C,498.9 +Line D,504.3 +Line A,499.3 +Line B,502.8 +Line C,498.4 +Line D,501.9 +Line A,500.3 +Line B,503.8 +Line C,500.4 +Line D,501.7 +Line A,499.4 +Line B,500.0 +Line C,498.4 +Line D,501.0 +Line A,500.6 +Line B,502.4 +Line C,498.8 +Line D,502.2 +Line A,501.3 +Line B,504.8 +Line C,497.9 +Line D,501.1 +Line A,501.1 +Line B,499.7 +Line C,500.0 +Line D,502.6 +Line A,499.8 +Line B,499.4 +Line C,500.3 +Line D,502.0 +Line A,501.6 +Line B,500.8 +Line C,495.7 +Line D,501.7 +Line A,499.4 +Line B,501.7 +Line C,499.1 +Line D,501.5 +Line A,497.8 +Line B,499.8 +Line C,499.8 +Line D,498.7 +Line A,499.8 +Line B,501.6 +Line C,497.4 +Line D,502.0 +Line A,500.2 +Line B,502.5 +Line C,499.7 +Line D,500.7 +Line A,499.8 +Line B,497.2 +Line C,498.1 +Line D,501.7 +Line A,501.0 +Line B,501.5 +Line C,497.6 +Line D,502.9 +Line A,501.7 +Line B,500.7 +Line C,499.1 +Line D,501.1 +Line A,500.3 +Line B,500.1 +Line C,499.2 +Line D,502.2 +Line A,498.9 +Line B,501.9 +Line C,497.9 +Line D,502.2 +Line A,499.9 +Line B,503.4 +Line C,499.5 +Line D,502.9 +Line A,500.5 +Line B,503.8 +Line C,499.7 +Line D,501.7 +Line A,500.8 +Line B,500.1 +Line C,500.4 +Line D,501.1 +Line A,500.3 +Line B,503.8 +Line C,496.7 +Line D,501.9 +Line A,501.0 +Line B,500.1 +Line C,500.5 +Line D,502.5 +Line A,501.2 +Line B,501.1 +Line C,499.1 +Line D,501.5 +Line A,501.5 +Line B,501.3 +Line C,502.9 +Line D,501.4 +Line A,502.0 +Line B,500.3 +Line C,498.3 +Line D,500.6 +Line A,500.7 +Line B,502.6 +Line C,501.0 +Line D,503.3 +Line A,497.4 +Line B,500.9 +Line C,499.4 +Line D,502.0 +Line A,501.0 +Line B,499.9 +Line C,498.8 +Line D,502.1 +Line A,498.6 +Line B,499.5 +Line C,496.0 +Line D,500.6 +Line A,498.3 +Line B,501.2 +Line C,497.7 +Line D,500.7 +Line A,499.0 +Line B,503.4 +Line C,502.0 +Line D,500.6 +Line A,500.8 +Line B,502.1 +Line C,500.0 +Line D,501.3 +Line A,490.3 +Line B,502.6 +Line C,499.6 +Line D,499.8 +Line A,498.4 +Line B,502.5 +Line C,497.9 +Line D,501.0 +Line A,501.0 +Line B,502.7 +Line C,499.2 +Line D,501.6 +Line A,500.8 +Line B,501.5 +Line C,499.4 +Line D,502.6 +Line A,501.4 +Line B,502.1 +Line C,498.9 +Line D,501.6 +Line A,500.8 +Line B,500.6 +Line C,499.8 +Line D,501.9 +Line A,501.3 +Line B,496.6 +Line C,497.2 +Line D,502.2 +Line A,499.2 +Line B,497.5 +Line C,497.7 +Line D,502.2 +Line A,500.6 +Line B,505.2 +Line C,499.3 +Line D,501.4 +Line A,501.0 +Line B,501.6 +Line C,500.3 +Line D,502.9 +Line A,498.9 +Line B,502.6 +Line C,500.7 +Line D,501.4 +Line A,500.6 +Line B,500.6 +Line C,498.2 +Line D,501.6 +Line A,501.1 +Line B,502.3 +Line C,499.5 +Line D,502.7 +Line A,502.7 +Line B,501.8 +Line C,498.2 +Line D,503.6 +Line A,498.7 +Line B,504.1 +Line C,499.1 +Line D,501.7 +Line A,499.7 +Line B,501.3 +Line C,497.6 +Line D,502.4 +Line A,499.8 +Line B,500.2 +Line C,497.8 +Line D,502.4 +Line A,500.0 +Line B,501.8 +Line C,499.4 +Line D,501.3 +Line A,501.3 +Line B,505.0 +Line C,497.5 +Line D,503.5 +Line A,501.1 +Line B,504.2 +Line C,498.4 +Line D,501.5 +Line A,497.9 +Line B,501.3 +Line C,499.6 +Line D,500.1 +Line A,500.0 +Line B,502.4 +Line C,499.4 +Line D,501.9 +Line A,501.3 +Line B,499.4 +Line C,499.6 +Line D,502.4 +Line A,500.4 +Line B,500.6 +Line C,494.7 +Line D,500.9 +Line A,498.9 +Line B,506.2 +Line C,496.7 +Line D,501.6 +Line A,502.1 +Line B,500.3 +Line C,501.9 +Line D,503.2 +Line A,499.2 +Line B,499.9 +Line C,499.7 +Line D,502.0 +Line A,501.2 +Line B,499.4 +Line C,499.9 +Line D,502.1 +Line A,500.1 +Line B,501.9 +Line C,498.4 +Line D,502.8 +Line A,500.3 +Line B,499.7 +Line C,498.7 +Line D,503.3 +Line A,499.9 +Line B,501.2 +Line C,498.4 +Line D,502.9 +Line A,499.5 +Line B,499.1 +Line C,499.4 +Line D,502.2 +Line A,500.4 +Line B,505.7 +Line C,498.4 +Line D,502.2 +Line A,499.8 +Line B,498.7 +Line C,496.8 +Line D,502.2 +Line A,500.7 +Line B,502.5 +Line C,498.0 +Line D,502.0 +Line A,500.5 +Line B,500.6 +Line C,498.0 +Line D,501.9 +Line A,499.0 +Line B,498.4 +Line C,498.1 +Line D,503.1 +Line A,502.1 +Line B,504.8 +Line C,499.7 +Line D,501.9 +Line A,500.5 +Line B,501.9 +Line C,499.0 +Line D,501.0 +Line A,501.2 +Line B,499.0 +Line C,501.1 +Line D,502.7 +Line A,497.8 +Line B,500.9 +Line C,498.2 +Line D,501.9 +Line A,499.6 +Line B,501.5 +Line C,497.8 +Line D,501.0 +Line A,501.0 +Line B,501.9 +Line C,501.3 +Line D,502.4 +Line A,499.7 +Line B,502.5 +Line C,497.8 +Line D,500.9 +Line A,499.7 +Line B,503.2 +Line C,499.2 +Line D,501.8 +Line A,500.6 +Line B,500.3 +Line C,498.4 +Line D,501.6 +Line A,497.7 +Line B,497.6 +Line C,500.4 +Line D,502.1 +Line A,500.2 +Line B,500.5 +Line C,499.2 +Line D,502.1 +Line A,501.5 +Line B,500.4 +Line C,500.8 +Line D,502.1 +Line A,497.9 +Line B,499.7 +Line C,498.4 +Line D,502.5 +Line A,500.7 +Line B,501.1 +Line C,498.0 +Line D,504.0 +Line A,498.5 +Line B,499.3 +Line C,499.8 +Line D,501.6 +Line A,500.8 +Line B,509.2 +Line C,499.2 +Line D,501.0 +Line A,500.2 +Line B,503.2 +Line C,501.3 +Line D,502.1 +Line A,498.3 +Line B,500.7 +Line C,496.1 +Line D,501.4 diff --git a/agents/evals/fixtures/cases/box-basic-seaborn-renamed/case.json b/agents/evals/fixtures/cases/box-basic-seaborn-renamed/case.json new file mode 100644 index 0000000000..bd99814dff --- /dev/null +++ b/agents/evals/fixtures/cases/box-basic-seaborn-renamed/case.json @@ -0,0 +1,25 @@ +{ + "spec_id": "box-basic", + "library": "seaborn", + "locale": "de", + "perturbation": "renamed", + "bindings": [ + { + "role": "category", + "column": "Abfülllinie" + }, + { + "role": "value", + "column": "Füllgewicht [g]" + } + ], + "expected": "accepted", + "tags": [ + "box", + "renamed", + "synthetic", + "renamed-headers", + "non-ascii-headers" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 505, renamed)" +} diff --git a/agents/evals/fixtures/cases/box-basic-seaborn-renamed/data.csv b/agents/evals/fixtures/cases/box-basic-seaborn-renamed/data.csv new file mode 100644 index 0000000000..f3b21176c0 --- /dev/null +++ b/agents/evals/fixtures/cases/box-basic-seaborn-renamed/data.csv @@ -0,0 +1,241 @@ +Abfülllinie,Füllgewicht [g] +Line A,501.9 +Line B,498.7 +Line C,499.7 +Line D,500.5 +Line A,500.1 +Line B,500.8 +Line C,500.1 +Line D,501.4 +Line A,501.2 +Line B,499.3 +Line C,498.1 +Line D,501.0 +Line A,494.0 +Line B,496.2 +Line C,500.1 +Line D,500.4 +Line A,500.5 +Line B,501.6 +Line C,500.7 +Line D,502.7 +Line A,499.0 +Line B,502.0 +Line C,500.6 +Line D,503.4 +Line A,499.8 +Line B,500.2 +Line C,499.5 +Line D,500.9 +Line A,501.1 +Line B,503.8 +Line C,498.2 +Line D,502.6 +Line A,501.3 +Line B,503.9 +Line C,498.2 +Line D,500.8 +Line A,498.2 +Line B,502.1 +Line C,500.8 +Line D,502.4 +Line A,501.6 +Line B,499.6 +Line C,500.2 +Line D,500.6 +Line A,499.5 +Line B,496.6 +Line C,499.5 +Line D,501.8 +Line A,499.5 +Line B,501.2 +Line C,497.4 +Line D,503.8 +Line A,499.4 +Line B,505.5 +Line C,500.6 +Line D,502.4 +Line A,502.6 +Line B,501.9 +Line C,499.7 +Line D,503.4 +Line A,499.9 +Line B,502.5 +Line C,503.7 +Line D,502.3 +Line A,499.3 +Line B,499.3 +Line C,497.6 +Line D,502.2 +Line A,501.8 +Line B,503.1 +Line C,497.4 +Line D,502.7 +Line A,502.6 +Line B,500.1 +Line C,501.0 +Line D,503.3 +Line A,502.0 +Line B,496.4 +Line C,499.8 +Line D,501.9 +Line A,500.6 +Line B,498.9 +Line C,502.8 +Line D,501.7 +Line A,501.7 +Line B,503.0 +Line C,498.9 +Line D,502.2 +Line A,502.2 +Line B,498.6 +Line C,497.3 +Line D,501.8 +Line A,501.6 +Line B,500.0 +Line C,500.7 +Line D,501.7 +Line A,498.8 +Line B,500.9 +Line C,498.0 +Line D,502.1 +Line A,498.5 +Line B,502.2 +Line C,499.8 +Line D,501.6 +Line A,499.1 +Line B,499.8 +Line C,496.6 +Line D,502.4 +Line A,498.5 +Line B,499.5 +Line C,497.9 +Line D,503.3 +Line A,499.9 +Line B,501.0 +Line C,498.1 +Line D,503.6 +Line A,503.2 +Line B,502.3 +Line C,499.4 +Line D,494.3 +Line A,501.4 +Line B,501.9 +Line C,498.4 +Line D,500.3 +Line A,493.6 +Line B,501.1 +Line C,499.6 +Line D,502.3 +Line A,500.4 +Line B,501.0 +Line C,498.2 +Line D,502.3 +Line A,499.0 +Line B,500.4 +Line C,500.1 +Line D,502.6 +Line A,500.2 +Line B,500.0 +Line C,499.6 +Line D,502.4 +Line A,499.0 +Line B,500.9 +Line C,500.3 +Line D,501.3 +Line A,500.6 +Line B,500.1 +Line C,497.7 +Line D,502.4 +Line A,501.5 +Line B,501.8 +Line C,499.5 +Line D,502.0 +Line A,501.4 +Line B,503.6 +Line C,501.9 +Line D,503.7 +Line A,501.8 +Line B,500.7 +Line C,498.3 +Line D,501.3 +Line A,501.8 +Line B,501.2 +Line C,499.6 +Line D,502.6 +Line A,500.6 +Line B,499.6 +Line C,498.3 +Line D,502.7 +Line A,501.0 +Line B,498.9 +Line C,499.2 +Line D,502.1 +Line A,502.7 +Line B,502.9 +Line C,498.2 +Line D,502.2 +Line A,498.2 +Line B,498.5 +Line C,499.2 +Line D,502.0 +Line A,502.9 +Line B,505.2 +Line C,497.9 +Line D,502.5 +Line A,501.6 +Line B,501.7 +Line C,499.7 +Line D,502.9 +Line A,500.8 +Line B,502.3 +Line C,496.7 +Line D,502.1 +Line A,499.5 +Line B,502.1 +Line C,500.0 +Line D,501.1 +Line A,497.8 +Line B,499.9 +Line C,501.0 +Line D,503.2 +Line A,503.1 +Line B,499.1 +Line C,501.0 +Line D,500.2 +Line A,499.4 +Line B,497.9 +Line C,499.0 +Line D,500.5 +Line A,502.4 +Line B,500.3 +Line C,498.7 +Line D,502.0 +Line A,500.6 +Line B,498.7 +Line C,498.1 +Line D,500.6 +Line A,501.3 +Line B,505.4 +Line C,498.7 +Line D,503.2 +Line A,499.5 +Line B,502.0 +Line C,498.4 +Line D,501.3 +Line A,501.9 +Line B,489.3 +Line C,499.0 +Line D,502.6 +Line A,499.7 +Line B,500.0 +Line C,498.2 +Line D,501.4 +Line A,501.4 +Line B,506.5 +Line C,498.8 +Line D,501.7 +Line A,499.7 +Line B,502.0 +Line C,500.5 +Line D,501.4 diff --git a/agents/evals/fixtures/cases/box-basic-seaborn-x10/case.json b/agents/evals/fixtures/cases/box-basic-seaborn-x10/case.json new file mode 100644 index 0000000000..ed135c1f66 --- /dev/null +++ b/agents/evals/fixtures/cases/box-basic-seaborn-x10/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "box-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "x10", + "bindings": [ + { + "role": "category", + "column": "Production Line" + }, + { + "role": "value", + "column": "Fill Weight (g)" + } + ], + "expected": "accepted", + "tags": [ + "box", + "x10", + "synthetic", + "scaled-values" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 505, x10)" +} diff --git a/agents/evals/fixtures/cases/box-basic-seaborn-x10/data.csv b/agents/evals/fixtures/cases/box-basic-seaborn-x10/data.csv new file mode 100644 index 0000000000..05f7d36b8e --- /dev/null +++ b/agents/evals/fixtures/cases/box-basic-seaborn-x10/data.csv @@ -0,0 +1,241 @@ +Production Line,Fill Weight (g) +Line A,5019.3 +Line B,4987.0 +Line C,4997.3 +Line D,5005.3 +Line A,5001.1 +Line B,5008.0 +Line C,5000.8 +Line D,5014.1 +Line A,5012.1 +Line B,4993.1 +Line C,4981.1 +Line D,5010.1 +Line A,4940.3 +Line B,4961.5 +Line C,5001.0 +Line D,5004.5 +Line A,5004.5 +Line B,5015.9 +Line C,5007.5 +Line D,5026.6 +Line A,4990.5 +Line B,5019.9 +Line C,5006.2 +Line D,5034.4 +Line A,4997.9 +Line B,5001.6 +Line C,4995.3 +Line D,5009.2 +Line A,5011.0 +Line B,5037.7 +Line C,4982.4 +Line D,5026.2 +Line A,5013.1 +Line B,5039.0 +Line C,4981.6 +Line D,5008.1 +Line A,4981.6 +Line B,5021.1 +Line C,5008.0 +Line D,5024.1 +Line A,5015.9 +Line B,4995.8 +Line C,5001.5 +Line D,5006.5 +Line A,4995.0 +Line B,4966.0 +Line C,4994.8 +Line D,5017.9 +Line A,4994.8 +Line B,5011.7 +Line C,4974.4 +Line D,5037.6 +Line A,4993.5 +Line B,5054.9 +Line C,5006.1 +Line D,5023.9 +Line A,5025.9 +Line B,5018.9 +Line C,4996.8 +Line D,5033.5 +Line A,4999.3 +Line B,5025.0 +Line C,5036.7 +Line D,5023.0 +Line A,4993.3 +Line B,4993.3 +Line C,4976.2 +Line D,5021.8 +Line A,5018.0 +Line B,5030.6 +Line C,4974.2 +Line D,5027.4 +Line A,5026.2 +Line B,5000.8 +Line C,5009.9 +Line D,5032.7 +Line A,5020.5 +Line B,4964.3 +Line C,4998.3 +Line D,5019.3 +Line A,5005.6 +Line B,4989.3 +Line C,5028.5 +Line D,5017.5 +Line A,5016.7 +Line B,5029.9 +Line C,4989.0 +Line D,5021.8 +Line A,5022.1 +Line B,4986.4 +Line C,4972.7 +Line D,5018.2 +Line A,5015.8 +Line B,4999.5 +Line C,5006.8 +Line D,5017.5 +Line A,4987.6 +Line B,5009.3 +Line C,4979.7 +Line D,5021.0 +Line A,4985.4 +Line B,5021.6 +Line C,4998.1 +Line D,5015.7 +Line A,4991.1 +Line B,4997.8 +Line C,4966.4 +Line D,5023.5 +Line A,4985.4 +Line B,4995.1 +Line C,4979.4 +Line D,5033.1 +Line A,4998.9 +Line B,5010.2 +Line C,4981.0 +Line D,5036.0 +Line A,5032.0 +Line B,5022.6 +Line C,4993.8 +Line D,4943.3 +Line A,5013.8 +Line B,5019.0 +Line C,4984.1 +Line D,5003.3 +Line A,4936.3 +Line B,5011.3 +Line C,4995.7 +Line D,5022.7 +Line A,5004.2 +Line B,5009.9 +Line C,4981.5 +Line D,5023.4 +Line A,4990.1 +Line B,5004.2 +Line C,5000.9 +Line D,5026.3 +Line A,5001.8 +Line B,5000.0 +Line C,4995.9 +Line D,5024.4 +Line A,4989.9 +Line B,5009.1 +Line C,5002.9 +Line D,5013.4 +Line A,5006.0 +Line B,5000.9 +Line C,4976.7 +Line D,5024.1 +Line A,5014.7 +Line B,5017.9 +Line C,4995.4 +Line D,5019.5 +Line A,5014.4 +Line B,5036.1 +Line C,5019.0 +Line D,5036.7 +Line A,5018.0 +Line B,5007.2 +Line C,4983.1 +Line D,5013.1 +Line A,5018.0 +Line B,5012.5 +Line C,4996.0 +Line D,5026.4 +Line A,5006.5 +Line B,4995.6 +Line C,4982.8 +Line D,5027.3 +Line A,5009.7 +Line B,4988.8 +Line C,4992.4 +Line D,5021.1 +Line A,5027.1 +Line B,5029.3 +Line C,4981.8 +Line D,5022.3 +Line A,4981.5 +Line B,4985.4 +Line C,4992.1 +Line D,5020.5 +Line A,5028.6 +Line B,5051.6 +Line C,4978.5 +Line D,5024.9 +Line A,5016.4 +Line B,5016.6 +Line C,4996.8 +Line D,5029.1 +Line A,5008.2 +Line B,5022.8 +Line C,4967.4 +Line D,5021.0 +Line A,4995.2 +Line B,5021.1 +Line C,5000.4 +Line D,5011.3 +Line A,4977.7 +Line B,4998.6 +Line C,5009.6 +Line D,5031.8 +Line A,5031.2 +Line B,4991.4 +Line C,5009.6 +Line D,5002.3 +Line A,4994.3 +Line B,4978.5 +Line C,4989.9 +Line D,5004.9 +Line A,5023.7 +Line B,5003.5 +Line C,4987.0 +Line D,5020.4 +Line A,5006.5 +Line B,4986.7 +Line C,4981.4 +Line D,5006.2 +Line A,5013.4 +Line B,5053.7 +Line C,4986.8 +Line D,5031.8 +Line A,4995.4 +Line B,5020.4 +Line C,4983.7 +Line D,5012.8 +Line A,5019.2 +Line B,4892.8 +Line C,4989.8 +Line D,5025.9 +Line A,4996.7 +Line B,5000.1 +Line C,4981.6 +Line D,5014.4 +Line A,5013.7 +Line B,5065.0 +Line C,4988.4 +Line D,5017.0 +Line A,4997.4 +Line B,5019.9 +Line C,5004.9 +Line D,5014.4 diff --git a/agents/evals/fixtures/cases/heatmap-basic-matplotlib-date/case.json b/agents/evals/fixtures/cases/heatmap-basic-matplotlib-date/case.json new file mode 100644 index 0000000000..ca990c7428 --- /dev/null +++ b/agents/evals/fixtures/cases/heatmap-basic-matplotlib-date/case.json @@ -0,0 +1,30 @@ +{ + "spec_id": "heatmap-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "date", + "bindings": [ + { + "role": "y", + "column": "Weekday" + }, + { + "role": "x", + "column": "Hour" + }, + { + "role": "value", + "column": "Response Time (min)" + } + ], + "expected": "accepted", + "tags": [ + "heatmap", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 606, date)" +} diff --git a/agents/evals/fixtures/cases/heatmap-basic-matplotlib-date/data.csv b/agents/evals/fixtures/cases/heatmap-basic-matplotlib-date/data.csv new file mode 100644 index 0000000000..3e75b7d7ae --- /dev/null +++ b/agents/evals/fixtures/cases/heatmap-basic-matplotlib-date/data.csv @@ -0,0 +1,169 @@ +Weekday,Hour,Response Time (min),Week Of,Exported On +Monday,0,14.2,26.01.2026,2026-01-27 +Monday,1,15.3,07.01.2026,2026-01-09 +Monday,2,14.3,31.01.2026,2026-02-02 +Monday,3,14.8,08.03.2026,2026-03-12 +Monday,4,14.6,20.04.2026,2026-04-20 +Monday,5,14.8,06.04.2026,2026-04-06 +Monday,6,13.5,09.03.2026,2026-03-12 +Monday,7,8.7,11.05.2026,2026-05-12 +Monday,8,10.2,16.06.2026,2026-06-20 +Monday,9,11.4,26.04.2026,2026-04-29 +Monday,10,14.5,11.02.2026,2026-02-12 +Monday,11,16.2,10.04.2026,2026-04-14 +Monday,12,17.9,30.03.2026,2026-04-03 +Monday,13,16.8,12.03.2026,2026-03-14 +Monday,14,14.7,10.03.2026,2026-03-14 +Monday,15,13.2,14.04.2026,2026-04-16 +Monday,16,10.9,26.04.2026,2026-04-26 +Monday,17,8.6,18.05.2026,2026-05-18 +Monday,18,6.9,29.05.2026,2026-05-30 +Monday,19,6.0,23.05.2026,2026-05-23 +Monday,20,6.5,10.01.2026,2026-01-13 +Monday,21,13.8,16.02.2026,2026-02-19 +Monday,22,13.1,20.06.2026,2026-06-22 +Monday,23,14.4,29.01.2026,2026-01-31 +Tuesday,0,14.2,25.06.2026,2026-06-25 +Tuesday,1,13.3,20.02.2026,2026-02-21 +Tuesday,2,13.6,06.01.2026,2026-01-10 +Tuesday,3,14.8,12.06.2026,2026-06-12 +Tuesday,4,14.2,18.02.2026,2026-02-20 +Tuesday,5,14.2,25.03.2026,2026-03-28 +Tuesday,6,14.2,03.02.2026,2026-02-05 +Tuesday,7,6.7,10.05.2026,2026-05-12 +Tuesday,8,9.5,06.03.2026,2026-03-09 +Tuesday,9,13.2,04.05.2026,2026-05-07 +Tuesday,10,15.7,15.03.2026,2026-03-17 +Tuesday,11,17.4,22.02.2026,2026-02-23 +Tuesday,12,18.2,19.06.2026,2026-06-21 +Tuesday,13,16.1,03.06.2026,2026-06-06 +Tuesday,14,15.4,29.04.2026,2026-05-01 +Tuesday,15,13.5,05.02.2026,2026-02-08 +Tuesday,16,12.0,23.01.2026,2026-01-23 +Tuesday,17,9.8,17.05.2026,2026-05-18 +Tuesday,18,7.0,23.06.2026,2026-06-24 +Tuesday,19,7.1,04.02.2026,2026-02-05 +Tuesday,20,5.8,04.04.2026,2026-04-04 +Tuesday,21,14.1,03.03.2026,2026-03-03 +Tuesday,22,13.7,26.05.2026,2026-05-27 +Tuesday,23,14.3,14.02.2026,2026-02-18 +Wednesday,0,15.4,24.03.2026,2026-03-25 +Wednesday,1,14.5,31.01.2026,2026-01-31 +Wednesday,2,14.1,05.01.2026,2026-01-05 +Wednesday,3,12.6,25.04.2026,2026-04-26 +Wednesday,4,14.3,26.06.2026,2026-06-30 +Wednesday,5,13.4,07.05.2026,2026-05-09 +Wednesday,6,16.0,18.03.2026,2026-03-18 +Wednesday,7,7.4,15.05.2026,2026-05-15 +Wednesday,8,8.7,07.05.2026,2026-05-11 +Wednesday,9,11.8,24.02.2026,2026-02-27 +Wednesday,10,15.3,08.02.2026,2026-02-12 +Wednesday,11,14.9,25.05.2026,2026-05-26 +Wednesday,12,16.2,10.02.2026,2026-02-11 +Wednesday,13,15.9,02.05.2026,2026-05-05 +Wednesday,14,15.3,24.06.2026,2026-06-25 +Wednesday,15,13.4,20.05.2026,2026-05-22 +Wednesday,16,10.9,08.05.2026,2026-05-11 +Wednesday,17,10.1,20.02.2026,2026-02-24 +Wednesday,18,7.9,11.01.2026,2026-01-11 +Wednesday,19,6.0,20.05.2026,2026-05-24 +Wednesday,20,6.2,03.03.2026,2026-03-03 +Wednesday,21,13.9,06.04.2026,2026-04-08 +Wednesday,22,14.5,16.01.2026,2026-01-19 +Wednesday,23,13.2,07.01.2026,2026-01-10 +Thursday,0,13.0,25.05.2026,2026-05-26 +Thursday,1,14.3,27.01.2026,2026-01-29 +Thursday,2,14.4,19.03.2026,2026-03-23 +Thursday,3,13.6,27.03.2026,2026-03-30 +Thursday,4,13.9,28.02.2026,2026-03-02 +Thursday,5,12.9,11.04.2026,2026-04-15 +Thursday,6,13.6,26.03.2026,2026-03-26 +Thursday,7,7.7,15.02.2026,2026-02-16 +Thursday,8,9.5,19.03.2026,2026-03-20 +Thursday,9,12.8,15.05.2026,2026-05-15 +Thursday,10,14.7,15.05.2026,2026-05-17 +Thursday,11,17.0,12.01.2026,2026-01-13 +Thursday,12,15.3,21.01.2026,2026-01-23 +Thursday,13,15.7,23.02.2026,2026-02-23 +Thursday,14,14.7,28.05.2026,2026-05-31 +Thursday,15,13.1,25.02.2026,2026-02-27 +Thursday,16,12.0,19.05.2026,2026-05-19 +Thursday,17,9.4,15.05.2026,2026-05-15 +Thursday,18,6.7,08.03.2026,2026-03-12 +Thursday,19,7.3,06.04.2026,2026-04-07 +Thursday,20,7.8,06.04.2026,2026-04-07 +Thursday,21,13.4,12.04.2026,2026-04-14 +Thursday,22,13.8,18.02.2026,2026-02-21 +Thursday,23,14.0,10.06.2026,2026-06-11 +Friday,0,14.6,28.03.2026,2026-04-01 +Friday,1,14.6,25.01.2026,2026-01-28 +Friday,2,14.3,02.06.2026,2026-06-06 +Friday,3,14.8,07.06.2026,2026-06-09 +Friday,4,13.7,08.01.2026,2026-01-10 +Friday,5,13.9,09.04.2026,2026-04-11 +Friday,6,15.0,09.04.2026,2026-04-10 +Friday,7,7.6,02.03.2026,2026-03-02 +Friday,8,9.2,29.04.2026,2026-05-03 +Friday,9,12.3,12.02.2026,2026-02-13 +Friday,10,15.0,13.05.2026,2026-05-17 +Friday,11,14.7,18.04.2026,2026-04-22 +Friday,12,15.5,01.02.2026,2026-02-04 +Friday,13,15.7,01.04.2026,2026-04-02 +Friday,14,15.4,25.01.2026,2026-01-26 +Friday,15,14.0,17.05.2026,2026-05-20 +Friday,16,12.4,08.02.2026,2026-02-09 +Friday,17,9.2,03.07.2026,2026-07-03 +Friday,18,5.9,14.03.2026,2026-03-18 +Friday,19,6.6,19.01.2026,2026-01-21 +Friday,20,5.9,15.03.2026,2026-03-19 +Friday,21,14.4,22.01.2026,2026-01-25 +Friday,22,14.4,15.05.2026,2026-05-15 +Friday,23,13.5,29.06.2026,2026-07-03 +Saturday,0,14.3,08.01.2026,2026-01-10 +Saturday,1,14.4,23.02.2026,2026-02-24 +Saturday,2,13.4,24.01.2026,2026-01-26 +Saturday,3,14.3,30.06.2026,2026-07-03 +Saturday,4,13.3,26.02.2026,2026-02-28 +Saturday,5,14.2,31.05.2026,2026-06-04 +Saturday,6,14.0,03.03.2026,2026-03-03 +Saturday,7,5.2,04.05.2026,2026-05-05 +Saturday,8,8.2,15.03.2026,2026-03-19 +Saturday,9,9.4,16.04.2026,2026-04-19 +Saturday,10,10.2,14.03.2026,2026-03-16 +Saturday,11,12.1,10.05.2026,2026-05-11 +Saturday,12,11.9,24.04.2026,2026-04-25 +Saturday,13,12.1,04.06.2026,2026-06-08 +Saturday,14,11.1,31.05.2026,2026-06-04 +Saturday,15,9.6,02.03.2026,2026-03-02 +Saturday,16,8.6,16.03.2026,2026-03-20 +Saturday,17,8.3,28.05.2026,2026-05-29 +Saturday,18,6.6,13.01.2026,2026-01-14 +Saturday,19,5.6,26.02.2026,2026-03-02 +Saturday,20,4.0,28.04.2026,2026-05-01 +Saturday,21,12.9,23.03.2026,2026-03-25 +Saturday,22,14.1,08.03.2026,2026-03-10 +Saturday,23,14.2,19.03.2026,2026-03-21 +Sunday,0,14.9,11.05.2026,2026-05-14 +Sunday,1,13.9,05.05.2026,2026-05-09 +Sunday,2,11.5,26.04.2026,2026-04-29 +Sunday,3,13.8,10.03.2026,2026-03-12 +Sunday,4,14.2,28.04.2026,2026-05-01 +Sunday,5,14.9,23.06.2026,2026-06-27 +Sunday,6,13.6,23.04.2026,2026-04-26 +Sunday,7,6.7,20.04.2026,2026-04-24 +Sunday,8,8.8,23.06.2026,2026-06-23 +Sunday,9,8.8,13.01.2026,2026-01-17 +Sunday,10,11.1,30.06.2026,2026-07-01 +Sunday,11,12.1,16.06.2026,2026-06-18 +Sunday,12,11.0,11.02.2026,2026-02-14 +Sunday,13,10.3,29.03.2026,2026-03-29 +Sunday,14,10.7,06.02.2026,2026-02-06 +Sunday,15,9.7,10.02.2026,2026-02-10 +Sunday,16,9.2,29.05.2026,2026-05-30 +Sunday,17,8.9,10.04.2026,2026-04-13 +Sunday,18,6.4,05.01.2026,2026-01-06 +Sunday,19,6.9,01.03.2026,2026-03-05 +Sunday,20,6.0,23.05.2026,2026-05-23 +Sunday,21,12.8,09.06.2026,2026-06-13 +Sunday,22,12.7,31.03.2026,2026-04-03 +Sunday,23,12.4,21.03.2026,2026-03-21 diff --git a/agents/evals/fixtures/cases/heatmap-basic-matplotlib-decimal-comma/case.json b/agents/evals/fixtures/cases/heatmap-basic-matplotlib-decimal-comma/case.json new file mode 100644 index 0000000000..df59e31e3c --- /dev/null +++ b/agents/evals/fixtures/cases/heatmap-basic-matplotlib-decimal-comma/case.json @@ -0,0 +1,28 @@ +{ + "spec_id": "heatmap-basic", + "library": "matplotlib", + "locale": "de", + "perturbation": "decimal-comma", + "bindings": [ + { + "role": "y", + "column": "Weekday" + }, + { + "role": "x", + "column": "Hour" + }, + { + "role": "value", + "column": "Response Time (min)" + } + ], + "expected": "accepted", + "tags": [ + "heatmap", + "decimal-comma", + "synthetic", + "semicolon" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 606, decimal-comma)" +} diff --git a/agents/evals/fixtures/cases/heatmap-basic-matplotlib-decimal-comma/data.csv b/agents/evals/fixtures/cases/heatmap-basic-matplotlib-decimal-comma/data.csv new file mode 100644 index 0000000000..8b23d95671 --- /dev/null +++ b/agents/evals/fixtures/cases/heatmap-basic-matplotlib-decimal-comma/data.csv @@ -0,0 +1,169 @@ +Weekday;Hour;Response Time (min) +Monday;0;14,2 +Monday;1;15,3 +Monday;2;14,3 +Monday;3;14,8 +Monday;4;14,6 +Monday;5;14,8 +Monday;6;13,5 +Monday;7;8,7 +Monday;8;10,2 +Monday;9;11,4 +Monday;10;14,5 +Monday;11;16,2 +Monday;12;17,9 +Monday;13;16,8 +Monday;14;14,7 +Monday;15;13,2 +Monday;16;10,9 +Monday;17;8,6 +Monday;18;6,9 +Monday;19;6,0 +Monday;20;6,5 +Monday;21;13,8 +Monday;22;13,1 +Monday;23;14,4 +Tuesday;0;14,2 +Tuesday;1;13,3 +Tuesday;2;13,6 +Tuesday;3;14,8 +Tuesday;4;14,2 +Tuesday;5;14,2 +Tuesday;6;14,2 +Tuesday;7;6,7 +Tuesday;8;9,5 +Tuesday;9;13,2 +Tuesday;10;15,7 +Tuesday;11;17,4 +Tuesday;12;18,2 +Tuesday;13;16,1 +Tuesday;14;15,4 +Tuesday;15;13,5 +Tuesday;16;12,0 +Tuesday;17;9,8 +Tuesday;18;7,0 +Tuesday;19;7,1 +Tuesday;20;5,8 +Tuesday;21;14,1 +Tuesday;22;13,7 +Tuesday;23;14,3 +Wednesday;0;15,4 +Wednesday;1;14,5 +Wednesday;2;14,1 +Wednesday;3;12,6 +Wednesday;4;14,3 +Wednesday;5;13,4 +Wednesday;6;16,0 +Wednesday;7;7,4 +Wednesday;8;8,7 +Wednesday;9;11,8 +Wednesday;10;15,3 +Wednesday;11;14,9 +Wednesday;12;16,2 +Wednesday;13;15,9 +Wednesday;14;15,3 +Wednesday;15;13,4 +Wednesday;16;10,9 +Wednesday;17;10,1 +Wednesday;18;7,9 +Wednesday;19;6,0 +Wednesday;20;6,2 +Wednesday;21;13,9 +Wednesday;22;14,5 +Wednesday;23;13,2 +Thursday;0;13,0 +Thursday;1;14,3 +Thursday;2;14,4 +Thursday;3;13,6 +Thursday;4;13,9 +Thursday;5;12,9 +Thursday;6;13,6 +Thursday;7;7,7 +Thursday;8;9,5 +Thursday;9;12,8 +Thursday;10;14,7 +Thursday;11;17,0 +Thursday;12;15,3 +Thursday;13;15,7 +Thursday;14;14,7 +Thursday;15;13,1 +Thursday;16;12,0 +Thursday;17;9,4 +Thursday;18;6,7 +Thursday;19;7,3 +Thursday;20;7,8 +Thursday;21;13,4 +Thursday;22;13,8 +Thursday;23;14,0 +Friday;0;14,6 +Friday;1;14,6 +Friday;2;14,3 +Friday;3;14,8 +Friday;4;13,7 +Friday;5;13,9 +Friday;6;15,0 +Friday;7;7,6 +Friday;8;9,2 +Friday;9;12,3 +Friday;10;15,0 +Friday;11;14,7 +Friday;12;15,5 +Friday;13;15,7 +Friday;14;15,4 +Friday;15;14,0 +Friday;16;12,4 +Friday;17;9,2 +Friday;18;5,9 +Friday;19;6,6 +Friday;20;5,9 +Friday;21;14,4 +Friday;22;14,4 +Friday;23;13,5 +Saturday;0;14,3 +Saturday;1;14,4 +Saturday;2;13,4 +Saturday;3;14,3 +Saturday;4;13,3 +Saturday;5;14,2 +Saturday;6;14,0 +Saturday;7;5,2 +Saturday;8;8,2 +Saturday;9;9,4 +Saturday;10;10,2 +Saturday;11;12,1 +Saturday;12;11,9 +Saturday;13;12,1 +Saturday;14;11,1 +Saturday;15;9,6 +Saturday;16;8,6 +Saturday;17;8,3 +Saturday;18;6,6 +Saturday;19;5,6 +Saturday;20;4,0 +Saturday;21;12,9 +Saturday;22;14,1 +Saturday;23;14,2 +Sunday;0;14,9 +Sunday;1;13,9 +Sunday;2;11,5 +Sunday;3;13,8 +Sunday;4;14,2 +Sunday;5;14,9 +Sunday;6;13,6 +Sunday;7;6,7 +Sunday;8;8,8 +Sunday;9;8,8 +Sunday;10;11,1 +Sunday;11;12,1 +Sunday;12;11,0 +Sunday;13;10,3 +Sunday;14;10,7 +Sunday;15;9,7 +Sunday;16;9,2 +Sunday;17;8,9 +Sunday;18;6,4 +Sunday;19;6,9 +Sunday;20;6,0 +Sunday;21;12,8 +Sunday;22;12,7 +Sunday;23;12,4 diff --git a/agents/evals/fixtures/cases/heatmap-basic-matplotlib-n12/case.json b/agents/evals/fixtures/cases/heatmap-basic-matplotlib-n12/case.json new file mode 100644 index 0000000000..2c0cb99652 --- /dev/null +++ b/agents/evals/fixtures/cases/heatmap-basic-matplotlib-n12/case.json @@ -0,0 +1,28 @@ +{ + "spec_id": "heatmap-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "n12", + "bindings": [ + { + "role": "y", + "column": "Weekday" + }, + { + "role": "x", + "column": "Hour" + }, + { + "role": "value", + "column": "Response Time (min)" + } + ], + "expected": "accepted", + "tags": [ + "heatmap", + "n12", + "synthetic", + "small" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 606, n12)" +} diff --git a/agents/evals/fixtures/cases/heatmap-basic-matplotlib-n12/data.csv b/agents/evals/fixtures/cases/heatmap-basic-matplotlib-n12/data.csv new file mode 100644 index 0000000000..ca5beb0ecf --- /dev/null +++ b/agents/evals/fixtures/cases/heatmap-basic-matplotlib-n12/data.csv @@ -0,0 +1,13 @@ +Weekday,Hour,Response Time (min) +Monday,8,9.1 +Monday,12,16.5 +Monday,16,10.8 +Monday,20,4.8 +Wednesday,8,10.9 +Wednesday,12,18.3 +Wednesday,16,11.6 +Wednesday,20,5.5 +Friday,8,10.8 +Friday,12,17.4 +Friday,16,11.9 +Friday,20,4.9 diff --git a/agents/evals/fixtures/cases/heatmap-basic-matplotlib-n5000/case.json b/agents/evals/fixtures/cases/heatmap-basic-matplotlib-n5000/case.json new file mode 100644 index 0000000000..bf13bf7f1d --- /dev/null +++ b/agents/evals/fixtures/cases/heatmap-basic-matplotlib-n5000/case.json @@ -0,0 +1,29 @@ +{ + "spec_id": "heatmap-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "n5000", + "bindings": [ + { + "role": "y", + "column": "Weekday" + }, + { + "role": "x", + "column": "Hour" + }, + { + "role": "value", + "column": "Response Time (min)" + } + ], + "expected": "accepted", + "tags": [ + "heatmap", + "n5000", + "synthetic", + "large", + "aggregation" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 606, n5000)" +} diff --git a/agents/evals/fixtures/cases/heatmap-basic-matplotlib-n5000/data.csv b/agents/evals/fixtures/cases/heatmap-basic-matplotlib-n5000/data.csv new file mode 100644 index 0000000000..37329786f7 --- /dev/null +++ b/agents/evals/fixtures/cases/heatmap-basic-matplotlib-n5000/data.csv @@ -0,0 +1,5001 @@ +Weekday,Hour,Response Time (min) +Friday,17,18.0 +Monday,20,6.2 +Wednesday,10,10.0 +Wednesday,7,9.5 +Wednesday,19,3.7 +Thursday,8,24.6 +Sunday,15,3.3 +Friday,5,59.2 +Sunday,16,8.2 +Friday,15,3.4 +Sunday,17,10.6 +Sunday,12,8.6 +Friday,20,2.6 +Tuesday,18,3.0 +Thursday,20,9.2 +Friday,6,43.2 +Saturday,18,10.5 +Thursday,10,57.3 +Friday,12,25.6 +Monday,21,15.0 +Thursday,19,2.2 +Friday,10,50.4 +Monday,7,4.1 +Wednesday,14,13.3 +Monday,12,29.1 +Tuesday,10,31.2 +Wednesday,13,6.8 +Tuesday,17,0.3 +Tuesday,16,5.4 +Wednesday,10,16.2 +Saturday,13,13.0 +Sunday,8,3.9 +Friday,11,21.0 +Wednesday,21,17.4 +Monday,8,30.5 +Sunday,7,4.0 +Wednesday,12,17.1 +Saturday,8,0.5 +Thursday,12,24.5 +Wednesday,18,7.1 +Sunday,3,10.6 +Friday,18,4.4 +Friday,18,3.8 +Friday,15,27.1 +Friday,7,6.5 +Saturday,17,5.5 +Thursday,14,12.5 +Monday,19,3.3 +Monday,20,8.1 +Thursday,14,38.2 +Wednesday,2,12.4 +Monday,19,6.4 +Thursday,9,2.9 +Sunday,5,2.1 +Wednesday,20,3.6 +Saturday,0,15.5 +Wednesday,17,31.3 +Tuesday,20,5.5 +Tuesday,12,6.4 +Thursday,1,22.6 +Wednesday,7,8.1 +Monday,17,5.3 +Wednesday,11,25.0 +Thursday,19,1.6 +Wednesday,13,27.8 +Monday,20,6.9 +Thursday,13,9.7 +Tuesday,18,1.9 +Tuesday,19,1.8 +Saturday,1,16.2 +Wednesday,10,32.6 +Thursday,7,4.8 +Wednesday,8,9.1 +Monday,19,2.3 +Saturday,18,3.9 +Thursday,20,3.7 +Saturday,13,8.4 +Tuesday,20,10.0 +Monday,10,9.7 +Wednesday,23,5.0 +Saturday,18,9.9 +Friday,13,11.6 +Thursday,16,16.0 +Friday,16,17.0 +Friday,11,21.5 +Monday,15,6.2 +Sunday,8,2.7 +Monday,10,2.8 +Saturday,12,26.9 +Friday,9,38.9 +Friday,14,11.8 +Thursday,19,6.1 +Saturday,12,8.2 +Tuesday,21,8.2 +Saturday,20,2.0 +Sunday,13,11.4 +Tuesday,12,18.2 +Sunday,11,8.2 +Friday,20,8.7 +Saturday,21,6.2 +Saturday,10,24.2 +Friday,6,20.1 +Sunday,22,12.6 +Sunday,17,6.1 +Wednesday,13,6.6 +Thursday,20,4.3 +Saturday,12,2.3 +Sunday,18,4.2 +Tuesday,9,14.1 +Tuesday,12,3.6 +Thursday,10,9.2 +Wednesday,10,4.3 +Thursday,2,3.1 +Friday,12,13.8 +Tuesday,13,12.2 +Monday,10,18.7 +Tuesday,20,6.2 +Thursday,7,5.8 +Wednesday,9,17.6 +Friday,21,4.0 +Tuesday,14,12.0 +Wednesday,17,10.6 +Thursday,0,15.1 +Wednesday,16,10.8 +Sunday,18,4.1 +Saturday,8,1.8 +Friday,12,12.2 +Wednesday,7,8.2 +Friday,12,15.4 +Monday,2,5.8 +Thursday,8,10.2 +Wednesday,16,15.1 +Sunday,5,1.5 +Monday,9,6.0 +Thursday,20,3.6 +Sunday,18,6.1 +Monday,11,5.8 +Monday,15,10.4 +Monday,13,6.8 +Tuesday,10,2.5 +Sunday,17,3.5 +Saturday,7,4.9 +Friday,7,4.6 +Thursday,15,5.7 +Saturday,11,18.6 +Wednesday,16,16.3 +Sunday,16,8.5 +Thursday,5,64.0 +Saturday,14,5.0 +Tuesday,19,2.7 +Friday,20,5.6 +Friday,13,20.3 +Friday,9,9.5 +Sunday,17,20.2 +Tuesday,12,28.6 +Monday,15,17.7 +Sunday,17,11.0 +Saturday,12,12.0 +Monday,8,7.2 +Thursday,13,10.4 +Tuesday,20,8.7 +Tuesday,7,13.9 +Tuesday,18,8.3 +Tuesday,7,0.8 +Sunday,19,8.3 +Saturday,1,22.8 +Tuesday,16,17.7 +Sunday,9,7.1 +Wednesday,7,13.5 +Sunday,0,5.5 +Thursday,9,7.8 +Sunday,19,8.3 +Sunday,0,2.5 +Saturday,17,12.3 +Friday,22,17.9 +Saturday,15,2.8 +Wednesday,12,9.4 +Sunday,14,18.7 +Wednesday,9,6.0 +Friday,18,5.7 +Wednesday,12,12.5 +Thursday,17,8.9 +Thursday,10,4.7 +Thursday,9,48.3 +Tuesday,20,4.2 +Friday,9,18.3 +Tuesday,10,10.4 +Saturday,21,8.0 +Monday,20,9.9 +Thursday,16,12.2 +Friday,19,4.3 +Friday,17,2.9 +Sunday,11,10.1 +Thursday,8,15.1 +Sunday,20,5.4 +Thursday,3,12.2 +Sunday,13,14.1 +Tuesday,7,12.3 +Monday,16,1.3 +Thursday,23,8.4 +Monday,10,11.7 +Saturday,8,8.6 +Sunday,10,22.6 +Tuesday,20,7.1 +Thursday,16,17.5 +Saturday,10,9.9 +Sunday,22,22.5 +Thursday,17,10.8 +Sunday,19,10.8 +Tuesday,10,17.5 +Sunday,11,12.0 +Friday,9,4.0 +Monday,14,5.3 +Tuesday,19,3.7 +Friday,9,8.9 +Friday,10,19.0 +Thursday,13,11.5 +Monday,20,8.4 +Friday,1,7.0 +Saturday,13,4.5 +Monday,15,5.3 +Tuesday,20,7.0 +Wednesday,19,6.9 +Saturday,11,6.6 +Thursday,15,21.3 +Sunday,18,6.9 +Sunday,17,13.2 +Monday,16,16.6 +Saturday,8,5.9 +Thursday,7,17.4 +Thursday,9,6.7 +Tuesday,15,15.2 +Wednesday,17,5.2 +Monday,18,6.5 +Wednesday,19,21.4 +Tuesday,7,19.4 +Friday,11,0.2 +Tuesday,18,6.5 +Sunday,17,11.1 +Tuesday,11,23.7 +Friday,10,29.5 +Monday,5,5.9 +Sunday,16,17.0 +Saturday,19,12.6 +Monday,19,8.8 +Saturday,7,1.5 +Saturday,18,6.9 +Tuesday,18,5.6 +Monday,20,2.5 +Tuesday,4,17.5 +Saturday,8,2.5 +Friday,15,23.1 +Saturday,8,13.6 +Friday,22,23.6 +Tuesday,4,30.1 +Friday,8,4.3 +Sunday,14,21.6 +Sunday,12,13.8 +Friday,4,18.8 +Wednesday,15,2.2 +Monday,18,5.4 +Thursday,11,13.2 +Tuesday,1,6.6 +Thursday,17,11.8 +Wednesday,16,16.0 +Monday,15,5.2 +Thursday,5,27.6 +Thursday,17,5.4 +Tuesday,10,25.9 +Sunday,20,5.5 +Wednesday,14,35.1 +Wednesday,9,11.1 +Sunday,14,5.8 +Monday,9,10.9 +Monday,9,15.1 +Monday,5,5.1 +Tuesday,19,6.6 +Saturday,8,2.2 +Wednesday,19,2.8 +Thursday,13,17.4 +Monday,18,5.3 +Tuesday,15,3.3 +Friday,16,8.5 +Friday,20,11.1 +Sunday,12,5.6 +Sunday,19,5.8 +Monday,11,18.7 +Sunday,15,1.8 +Thursday,20,13.8 +Monday,2,23.3 +Monday,9,0.8 +Monday,14,3.0 +Thursday,9,16.8 +Wednesday,12,22.3 +Saturday,11,2.8 +Wednesday,11,4.1 +Sunday,5,9.6 +Tuesday,23,27.6 +Wednesday,10,6.1 +Wednesday,12,14.6 +Friday,14,12.8 +Tuesday,11,11.0 +Friday,19,2.2 +Sunday,19,2.4 +Tuesday,10,12.4 +Sunday,9,15.8 +Monday,8,6.3 +Friday,20,4.3 +Friday,17,5.5 +Tuesday,4,7.8 +Saturday,12,25.0 +Friday,7,18.0 +Wednesday,10,6.0 +Tuesday,19,0.8 +Monday,11,58.7 +Tuesday,0,6.4 +Tuesday,4,21.5 +Monday,17,12.7 +Friday,15,12.6 +Friday,7,11.0 +Sunday,20,8.7 +Saturday,10,30.1 +Friday,14,17.0 +Tuesday,15,11.9 +Wednesday,16,15.3 +Saturday,16,11.1 +Sunday,14,25.5 +Thursday,11,7.7 +Friday,9,4.1 +Friday,21,14.4 +Thursday,1,16.1 +Friday,17,7.3 +Friday,13,8.8 +Monday,15,14.1 +Tuesday,11,14.0 +Saturday,20,3.0 +Wednesday,11,11.5 +Thursday,5,10.3 +Tuesday,15,13.9 +Saturday,10,24.4 +Wednesday,18,12.6 +Sunday,8,8.8 +Sunday,19,3.1 +Saturday,9,7.6 +Saturday,11,16.7 +Friday,7,1.3 +Sunday,8,13.8 +Wednesday,11,5.5 +Thursday,10,3.9 +Thursday,9,9.6 +Wednesday,7,11.5 +Sunday,17,4.3 +Saturday,7,1.8 +Monday,15,5.3 +Sunday,20,6.3 +Tuesday,8,8.1 +Tuesday,19,3.9 +Wednesday,11,11.9 +Friday,15,3.4 +Tuesday,7,5.5 +Friday,17,6.0 +Wednesday,7,14.3 +Friday,17,8.6 +Wednesday,6,9.6 +Thursday,8,5.6 +Tuesday,8,13.9 +Tuesday,9,7.6 +Saturday,7,3.0 +Monday,22,1.1 +Saturday,23,12.6 +Tuesday,1,12.6 +Monday,7,5.1 +Wednesday,13,14.6 +Thursday,10,6.1 +Monday,7,2.4 +Saturday,17,3.9 +Saturday,13,5.0 +Monday,8,14.9 +Saturday,8,1.3 +Wednesday,18,7.3 +Sunday,20,13.3 +Saturday,8,1.8 +Saturday,14,12.2 +Monday,20,5.8 +Thursday,7,8.5 +Thursday,12,10.7 +Friday,19,6.3 +Wednesday,19,1.9 +Thursday,0,10.7 +Thursday,17,11.4 +Wednesday,7,3.1 +Sunday,10,6.7 +Monday,8,10.9 +Monday,17,9.1 +Tuesday,13,15.1 +Friday,16,12.1 +Monday,17,4.1 +Thursday,9,8.2 +Thursday,17,0.6 +Thursday,5,6.6 +Friday,16,9.5 +Sunday,13,0.6 +Thursday,17,1.9 +Tuesday,14,9.1 +Wednesday,20,3.4 +Tuesday,17,4.3 +Monday,23,11.1 +Monday,12,16.4 +Friday,8,9.5 +Thursday,7,13.0 +Sunday,18,7.4 +Wednesday,12,13.3 +Monday,13,8.3 +Sunday,8,7.3 +Tuesday,14,1.8 +Tuesday,9,22.1 +Thursday,12,21.6 +Saturday,20,0.6 +Tuesday,14,19.5 +Friday,8,8.0 +Wednesday,16,5.3 +Saturday,13,4.9 +Sunday,8,9.2 +Wednesday,20,5.7 +Sunday,8,7.6 +Thursday,11,15.5 +Sunday,17,9.2 +Monday,15,18.8 +Tuesday,13,14.3 +Friday,14,14.9 +Monday,10,12.6 +Saturday,17,4.0 +Wednesday,12,28.1 +Saturday,19,12.3 +Monday,20,18.0 +Sunday,13,9.9 +Monday,17,4.9 +Saturday,15,19.3 +Tuesday,15,16.5 +Saturday,18,4.2 +Tuesday,20,5.3 +Thursday,15,21.5 +Wednesday,8,5.4 +Monday,12,2.8 +Friday,9,20.7 +Wednesday,13,31.6 +Monday,9,7.8 +Monday,13,13.4 +Thursday,3,37.9 +Monday,16,29.1 +Sunday,16,29.3 +Thursday,19,2.5 +Thursday,15,16.5 +Saturday,7,7.9 +Monday,0,6.0 +Sunday,8,5.4 +Monday,20,3.4 +Saturday,2,18.8 +Thursday,10,1.0 +Friday,16,5.3 +Friday,13,13.2 +Monday,9,19.6 +Monday,17,4.8 +Tuesday,10,2.2 +Sunday,14,0.5 +Saturday,20,4.1 +Wednesday,9,0.9 +Tuesday,13,11.3 +Saturday,9,21.0 +Sunday,16,16.5 +Wednesday,10,12.6 +Monday,14,14.2 +Tuesday,8,16.6 +Friday,12,47.1 +Saturday,11,9.3 +Thursday,18,3.1 +Thursday,8,4.9 +Thursday,13,6.6 +Wednesday,12,30.4 +Saturday,15,6.8 +Friday,9,9.3 +Sunday,8,7.3 +Wednesday,18,10.8 +Friday,8,13.8 +Tuesday,20,6.0 +Saturday,11,20.9 +Wednesday,8,10.5 +Monday,21,7.2 +Tuesday,12,6.0 +Monday,10,25.8 +Sunday,17,3.0 +Monday,3,2.2 +Saturday,6,3.8 +Saturday,7,3.3 +Monday,17,2.4 +Friday,17,3.1 +Saturday,5,5.0 +Saturday,20,0.1 +Tuesday,18,7.9 +Wednesday,8,6.2 +Wednesday,10,12.9 +Thursday,16,18.5 +Sunday,7,6.1 +Wednesday,5,4.0 +Wednesday,7,12.4 +Monday,15,9.5 +Wednesday,8,12.7 +Wednesday,8,12.1 +Saturday,14,10.1 +Friday,21,17.9 +Monday,17,15.2 +Tuesday,16,24.4 +Sunday,9,5.0 +Tuesday,9,7.0 +Monday,16,21.3 +Monday,9,16.9 +Monday,9,8.5 +Saturday,11,25.7 +Saturday,6,9.5 +Wednesday,9,5.0 +Wednesday,7,4.7 +Tuesday,16,6.5 +Friday,0,8.9 +Thursday,10,15.3 +Friday,18,1.5 +Tuesday,9,9.3 +Thursday,21,28.7 +Thursday,11,19.2 +Saturday,15,3.4 +Wednesday,4,8.3 +Tuesday,8,17.3 +Monday,20,1.4 +Thursday,12,18.6 +Saturday,7,4.7 +Saturday,19,4.2 +Tuesday,16,15.9 +Monday,9,0.7 +Thursday,11,21.9 +Thursday,13,3.4 +Monday,18,5.6 +Monday,3,6.8 +Wednesday,1,42.4 +Wednesday,19,3.1 +Thursday,7,4.4 +Tuesday,17,13.9 +Tuesday,19,7.1 +Sunday,15,14.2 +Friday,4,11.2 +Wednesday,11,18.3 +Wednesday,21,5.2 +Friday,13,15.7 +Thursday,7,13.5 +Sunday,13,3.3 +Wednesday,7,2.2 +Saturday,14,5.7 +Sunday,7,3.4 +Monday,12,25.0 +Friday,10,9.2 +Monday,11,8.1 +Monday,19,2.8 +Wednesday,10,5.7 +Monday,19,2.7 +Wednesday,7,1.9 +Wednesday,5,8.6 +Thursday,9,4.8 +Thursday,14,42.3 +Monday,19,5.4 +Saturday,12,4.5 +Wednesday,13,4.1 +Tuesday,10,1.4 +Tuesday,14,20.7 +Tuesday,14,12.7 +Saturday,7,2.2 +Tuesday,20,1.2 +Saturday,3,8.8 +Friday,11,28.0 +Thursday,11,5.4 +Thursday,7,5.6 +Saturday,7,8.1 +Thursday,8,11.6 +Sunday,10,8.0 +Sunday,15,10.6 +Saturday,12,26.8 +Thursday,3,34.9 +Sunday,14,14.1 +Monday,8,3.1 +Thursday,9,11.0 +Monday,8,8.2 +Friday,19,5.6 +Saturday,13,13.7 +Sunday,17,2.6 +Sunday,1,6.5 +Thursday,15,6.2 +Saturday,17,1.7 +Sunday,13,28.1 +Friday,9,22.0 +Saturday,15,38.6 +Friday,18,14.4 +Friday,2,21.5 +Saturday,12,2.8 +Tuesday,9,19.3 +Tuesday,10,1.3 +Monday,22,9.2 +Thursday,13,19.1 +Friday,11,24.6 +Friday,8,5.6 +Tuesday,11,16.9 +Monday,10,6.2 +Friday,16,10.5 +Tuesday,23,34.0 +Friday,20,7.4 +Friday,15,21.8 +Monday,13,18.7 +Saturday,19,3.4 +Thursday,13,14.4 +Thursday,13,15.5 +Saturday,12,10.3 +Friday,12,4.2 +Wednesday,11,9.1 +Thursday,2,4.9 +Wednesday,7,12.2 +Sunday,12,1.5 +Friday,10,25.6 +Monday,16,5.6 +Wednesday,18,9.9 +Thursday,10,11.2 +Tuesday,0,6.0 +Friday,11,18.7 +Tuesday,12,18.3 +Sunday,16,10.4 +Friday,13,31.1 +Sunday,23,2.8 +Friday,10,4.1 +Friday,12,28.0 +Thursday,10,16.0 +Tuesday,20,2.1 +Saturday,15,7.2 +Wednesday,11,12.8 +Tuesday,16,15.0 +Saturday,12,6.8 +Wednesday,20,0.9 +Tuesday,8,14.4 +Friday,12,19.5 +Friday,18,17.9 +Thursday,11,21.5 +Wednesday,13,7.3 +Sunday,11,4.3 +Tuesday,16,10.7 +Thursday,8,10.7 +Sunday,17,8.3 +Friday,16,15.8 +Monday,6,7.1 +Monday,14,20.5 +Wednesday,11,13.5 +Thursday,13,19.8 +Tuesday,17,8.5 +Thursday,11,23.1 +Wednesday,23,19.9 +Tuesday,20,4.1 +Sunday,14,12.2 +Friday,10,17.5 +Saturday,18,11.1 +Saturday,3,8.5 +Monday,4,27.7 +Wednesday,15,25.4 +Friday,4,26.8 +Tuesday,17,15.1 +Thursday,22,19.5 +Sunday,13,6.2 +Friday,7,18.3 +Tuesday,14,10.6 +Thursday,12,6.5 +Sunday,7,9.8 +Thursday,10,28.3 +Thursday,17,13.7 +Wednesday,7,13.0 +Saturday,4,21.4 +Wednesday,1,11.4 +Wednesday,15,8.7 +Friday,20,8.2 +Friday,11,18.2 +Thursday,9,8.6 +Friday,9,9.0 +Saturday,19,4.7 +Friday,21,16.1 +Wednesday,19,5.2 +Monday,20,4.8 +Tuesday,15,23.2 +Friday,7,2.1 +Thursday,1,0.2 +Thursday,19,1.1 +Saturday,11,10.9 +Monday,7,4.4 +Saturday,13,9.2 +Sunday,9,2.1 +Sunday,20,6.1 +Monday,7,7.5 +Sunday,7,15.6 +Tuesday,9,26.5 +Friday,19,2.4 +Monday,17,12.5 +Thursday,16,9.2 +Tuesday,18,9.8 +Sunday,16,0.7 +Monday,17,20.9 +Monday,10,4.3 +Friday,23,38.2 +Tuesday,0,5.5 +Tuesday,19,5.1 +Wednesday,17,1.4 +Tuesday,8,16.7 +Friday,23,17.1 +Sunday,11,0.9 +Tuesday,18,9.3 +Wednesday,18,13.1 +Friday,14,7.4 +Tuesday,12,14.9 +Thursday,20,1.2 +Saturday,10,27.5 +Tuesday,16,4.0 +Friday,9,10.2 +Thursday,23,8.4 +Saturday,12,20.6 +Friday,17,1.0 +Monday,7,5.9 +Saturday,9,6.1 +Monday,20,14.7 +Tuesday,15,22.7 +Tuesday,19,11.1 +Thursday,10,5.1 +Saturday,8,5.5 +Saturday,21,3.8 +Friday,20,4.4 +Saturday,19,2.0 +Wednesday,17,23.9 +Tuesday,6,12.0 +Wednesday,0,10.7 +Sunday,3,9.5 +Tuesday,8,13.5 +Saturday,18,5.9 +Saturday,18,10.3 +Monday,10,26.1 +Saturday,8,8.0 +Sunday,13,6.6 +Wednesday,7,11.1 +Wednesday,19,2.4 +Sunday,20,5.1 +Tuesday,18,5.0 +Friday,22,18.4 +Wednesday,17,8.6 +Monday,8,3.2 +Friday,11,25.1 +Tuesday,10,17.9 +Wednesday,13,7.7 +Wednesday,16,2.1 +Friday,9,10.6 +Friday,12,26.2 +Monday,18,12.4 +Monday,18,9.0 +Sunday,18,6.9 +Monday,1,12.5 +Wednesday,15,12.2 +Wednesday,10,33.0 +Sunday,10,3.5 +Wednesday,2,13.7 +Friday,12,1.3 +Wednesday,8,28.2 +Sunday,9,4.4 +Saturday,18,0.3 +Thursday,10,9.5 +Tuesday,12,9.8 +Thursday,19,10.3 +Friday,4,15.2 +Sunday,7,5.8 +Thursday,13,5.7 +Wednesday,5,2.5 +Friday,7,4.2 +Wednesday,17,4.4 +Thursday,17,15.4 +Tuesday,14,3.3 +Friday,19,7.5 +Sunday,12,36.6 +Saturday,12,2.9 +Thursday,15,16.0 +Tuesday,15,14.2 +Sunday,12,14.5 +Wednesday,10,13.2 +Sunday,19,3.2 +Monday,19,11.1 +Wednesday,10,15.5 +Wednesday,22,19.7 +Sunday,18,13.1 +Thursday,9,6.0 +Sunday,16,2.7 +Friday,11,9.9 +Saturday,20,1.6 +Friday,12,15.8 +Saturday,13,11.9 +Wednesday,19,1.2 +Saturday,11,17.3 +Sunday,18,16.0 +Friday,14,8.5 +Saturday,10,6.9 +Tuesday,20,2.5 +Monday,19,18.2 +Sunday,23,2.7 +Saturday,7,1.7 +Sunday,12,19.0 +Sunday,10,9.5 +Sunday,7,2.9 +Monday,13,18.4 +Monday,8,4.0 +Wednesday,9,7.3 +Saturday,19,4.8 +Thursday,12,15.4 +Monday,11,32.9 +Friday,17,6.9 +Wednesday,7,4.3 +Monday,13,20.2 +Sunday,19,7.4 +Sunday,16,14.0 +Tuesday,9,11.4 +Sunday,17,13.3 +Friday,10,19.2 +Saturday,18,11.7 +Monday,18,4.8 +Thursday,8,9.1 +Wednesday,8,0.6 +Wednesday,8,4.7 +Wednesday,18,8.3 +Friday,19,10.7 +Sunday,12,22.4 +Friday,14,14.8 +Thursday,5,29.6 +Wednesday,15,8.5 +Thursday,9,11.8 +Monday,18,0.9 +Monday,11,10.2 +Sunday,8,3.8 +Thursday,13,18.6 +Sunday,14,17.2 +Saturday,16,10.8 +Saturday,7,5.3 +Wednesday,15,3.8 +Tuesday,11,16.4 +Tuesday,15,12.5 +Thursday,14,7.3 +Friday,16,26.1 +Sunday,7,8.1 +Monday,10,15.7 +Saturday,18,16.4 +Thursday,0,12.1 +Tuesday,0,5.2 +Thursday,7,6.8 +Thursday,13,10.7 +Tuesday,10,16.3 +Thursday,22,5.6 +Friday,16,9.2 +Wednesday,9,3.4 +Wednesday,19,0.5 +Thursday,14,3.0 +Saturday,23,10.7 +Friday,19,9.3 +Friday,2,16.7 +Sunday,16,8.0 +Sunday,22,9.0 +Friday,21,21.5 +Friday,7,8.3 +Tuesday,20,7.3 +Tuesday,8,9.9 +Sunday,4,31.4 +Friday,2,16.6 +Thursday,11,25.6 +Wednesday,9,27.3 +Sunday,20,3.4 +Sunday,15,2.2 +Saturday,3,8.9 +Tuesday,12,28.2 +Saturday,7,5.9 +Sunday,19,5.1 +Thursday,7,7.8 +Thursday,19,9.0 +Sunday,7,13.7 +Saturday,11,7.8 +Friday,11,25.7 +Saturday,18,9.5 +Thursday,18,5.3 +Thursday,9,4.1 +Saturday,11,5.1 +Sunday,3,21.9 +Wednesday,13,10.8 +Wednesday,4,11.6 +Wednesday,2,3.6 +Thursday,13,11.6 +Thursday,4,12.3 +Friday,12,18.7 +Wednesday,11,5.7 +Friday,10,15.8 +Friday,15,5.2 +Thursday,17,1.4 +Friday,12,9.9 +Friday,0,19.3 +Tuesday,16,5.5 +Monday,3,27.6 +Tuesday,13,5.4 +Thursday,12,10.6 +Monday,10,4.9 +Thursday,22,5.1 +Saturday,4,18.2 +Sunday,8,5.2 +Wednesday,0,10.4 +Sunday,9,5.3 +Wednesday,12,38.3 +Thursday,12,21.1 +Thursday,16,6.8 +Monday,19,6.2 +Wednesday,0,11.0 +Tuesday,10,25.6 +Monday,16,13.9 +Tuesday,3,17.0 +Monday,2,8.7 +Monday,12,13.4 +Saturday,8,2.3 +Tuesday,14,18.4 +Friday,13,13.2 +Monday,0,11.6 +Tuesday,15,23.2 +Sunday,18,7.7 +Friday,8,10.7 +Sunday,17,24.8 +Wednesday,16,18.1 +Friday,15,37.2 +Tuesday,19,8.6 +Wednesday,9,8.1 +Sunday,15,11.8 +Friday,20,2.9 +Thursday,18,7.7 +Thursday,9,13.4 +Sunday,20,7.1 +Sunday,8,7.6 +Tuesday,19,2.0 +Friday,1,23.2 +Tuesday,16,21.2 +Wednesday,11,7.7 +Friday,12,32.0 +Saturday,8,7.3 +Monday,11,11.3 +Monday,18,6.5 +Friday,14,5.4 +Wednesday,12,5.5 +Wednesday,13,8.0 +Sunday,15,3.9 +Wednesday,18,3.6 +Monday,13,17.1 +Saturday,13,7.1 +Wednesday,19,11.1 +Wednesday,21,7.5 +Wednesday,11,16.4 +Tuesday,15,23.2 +Friday,16,5.9 +Tuesday,16,7.3 +Friday,12,5.3 +Monday,13,16.3 +Tuesday,8,5.8 +Thursday,14,31.7 +Thursday,12,8.0 +Sunday,10,5.9 +Saturday,16,14.5 +Thursday,3,5.6 +Saturday,19,2.3 +Sunday,20,2.7 +Friday,11,42.4 +Thursday,9,15.9 +Thursday,8,10.2 +Wednesday,5,33.3 +Thursday,7,7.2 +Saturday,9,9.1 +Sunday,17,4.5 +Sunday,11,1.1 +Saturday,8,10.5 +Wednesday,16,8.7 +Saturday,21,33.7 +Tuesday,19,15.2 +Friday,15,4.6 +Friday,15,7.7 +Friday,8,8.0 +Wednesday,22,8.6 +Wednesday,15,28.9 +Sunday,22,24.8 +Thursday,16,10.9 +Wednesday,11,13.2 +Thursday,10,1.3 +Sunday,16,9.8 +Tuesday,15,7.2 +Saturday,19,17.7 +Sunday,12,8.6 +Tuesday,20,6.9 +Saturday,11,23.6 +Friday,8,20.3 +Sunday,11,2.1 +Monday,20,6.8 +Thursday,13,3.7 +Saturday,15,10.7 +Sunday,21,11.2 +Monday,7,1.3 +Sunday,11,2.9 +Monday,9,15.9 +Monday,21,10.7 +Saturday,11,8.1 +Friday,19,7.8 +Saturday,11,12.4 +Wednesday,8,0.5 +Thursday,21,5.1 +Sunday,3,3.6 +Saturday,14,13.1 +Monday,20,12.3 +Wednesday,8,9.9 +Monday,10,12.6 +Thursday,16,4.9 +Saturday,14,1.6 +Wednesday,14,12.7 +Sunday,12,10.5 +Tuesday,23,6.0 +Wednesday,9,11.3 +Saturday,7,14.0 +Wednesday,12,6.5 +Friday,14,3.8 +Sunday,10,7.6 +Monday,8,6.0 +Tuesday,13,3.5 +Monday,3,2.4 +Wednesday,1,11.4 +Wednesday,9,3.7 +Monday,15,16.4 +Wednesday,18,12.6 +Monday,23,14.6 +Sunday,11,9.1 +Sunday,3,17.3 +Tuesday,17,17.6 +Thursday,12,18.9 +Friday,14,34.9 +Friday,1,13.7 +Monday,9,19.3 +Sunday,15,5.4 +Saturday,17,12.4 +Saturday,20,4.7 +Monday,5,29.8 +Friday,4,13.3 +Monday,11,14.4 +Wednesday,8,10.4 +Friday,7,1.3 +Monday,3,12.5 +Monday,11,10.2 +Monday,18,16.3 +Wednesday,19,2.5 +Saturday,6,11.4 +Friday,10,6.1 +Thursday,8,7.0 +Sunday,14,4.6 +Wednesday,15,8.6 +Wednesday,11,13.0 +Saturday,8,1.3 +Sunday,9,3.4 +Monday,8,16.9 +Monday,17,17.1 +Thursday,14,11.2 +Friday,7,3.5 +Sunday,14,10.9 +Sunday,19,6.1 +Saturday,15,5.0 +Sunday,15,23.7 +Saturday,13,5.7 +Friday,10,7.3 +Tuesday,7,0.7 +Thursday,9,10.7 +Tuesday,11,11.6 +Wednesday,8,3.7 +Friday,17,35.1 +Sunday,13,6.4 +Saturday,18,0.9 +Thursday,18,3.3 +Wednesday,13,22.8 +Thursday,23,18.0 +Saturday,13,1.9 +Monday,5,20.8 +Thursday,17,20.5 +Sunday,7,7.9 +Saturday,19,5.7 +Sunday,17,8.4 +Friday,7,3.3 +Saturday,12,4.1 +Tuesday,10,14.6 +Thursday,14,16.2 +Thursday,5,6.2 +Thursday,20,6.1 +Wednesday,8,9.0 +Saturday,12,15.9 +Monday,19,3.5 +Sunday,9,6.7 +Sunday,8,7.0 +Tuesday,9,23.7 +Monday,13,15.0 +Thursday,8,5.6 +Saturday,15,5.2 +Wednesday,7,6.4 +Sunday,18,5.8 +Friday,20,1.1 +Tuesday,18,4.8 +Friday,12,15.2 +Monday,13,13.8 +Friday,20,13.2 +Thursday,8,6.1 +Sunday,1,5.8 +Saturday,17,3.3 +Wednesday,9,15.1 +Wednesday,7,4.2 +Friday,16,15.2 +Wednesday,16,9.1 +Monday,12,16.7 +Thursday,1,25.2 +Thursday,17,6.9 +Friday,12,10.2 +Saturday,19,3.2 +Wednesday,12,13.4 +Tuesday,19,12.4 +Wednesday,15,9.9 +Saturday,8,1.6 +Monday,13,1.2 +Thursday,10,6.7 +Wednesday,15,3.1 +Sunday,15,11.4 +Thursday,16,9.6 +Sunday,12,14.4 +Friday,17,3.0 +Wednesday,23,4.2 +Wednesday,14,23.6 +Thursday,11,14.2 +Saturday,14,6.4 +Saturday,4,11.8 +Sunday,7,1.5 +Wednesday,8,1.7 +Thursday,18,2.7 +Friday,17,4.0 +Wednesday,18,11.3 +Saturday,8,4.2 +Saturday,14,10.3 +Sunday,12,8.2 +Monday,7,1.1 +Monday,11,17.8 +Sunday,10,1.3 +Friday,19,3.7 +Thursday,8,20.8 +Sunday,4,33.7 +Friday,10,14.8 +Friday,20,0.3 +Monday,7,14.5 +Thursday,9,3.0 +Monday,18,22.1 +Sunday,18,5.4 +Friday,16,15.8 +Tuesday,12,56.8 +Thursday,4,10.1 +Wednesday,11,23.2 +Saturday,11,3.7 +Saturday,18,8.3 +Saturday,11,15.6 +Friday,20,15.4 +Tuesday,7,1.6 +Sunday,20,7.7 +Saturday,19,2.1 +Thursday,20,8.0 +Tuesday,8,6.3 +Friday,18,6.4 +Friday,19,7.8 +Sunday,9,11.0 +Thursday,12,30.6 +Wednesday,11,23.4 +Thursday,10,37.5 +Saturday,9,9.1 +Sunday,13,22.4 +Wednesday,14,9.9 +Tuesday,15,13.2 +Friday,16,4.0 +Tuesday,7,1.7 +Wednesday,9,1.3 +Sunday,2,14.7 +Friday,19,10.7 +Wednesday,7,12.8 +Tuesday,15,27.3 +Monday,9,23.1 +Wednesday,13,13.0 +Sunday,17,17.5 +Monday,13,27.4 +Monday,10,0.9 +Saturday,10,4.3 +Thursday,23,9.4 +Monday,10,28.8 +Saturday,21,28.5 +Thursday,8,3.2 +Friday,10,3.2 +Thursday,17,5.9 +Saturday,12,20.9 +Sunday,19,8.9 +Monday,14,18.6 +Saturday,12,17.8 +Monday,23,23.0 +Wednesday,18,4.7 +Sunday,17,19.9 +Saturday,13,7.9 +Tuesday,17,15.5 +Friday,12,3.7 +Sunday,12,29.1 +Wednesday,13,22.0 +Wednesday,16,22.3 +Wednesday,13,8.7 +Sunday,7,33.9 +Tuesday,8,4.1 +Friday,2,6.7 +Tuesday,19,26.1 +Sunday,4,4.7 +Saturday,18,3.0 +Monday,20,5.6 +Wednesday,9,7.0 +Saturday,16,10.7 +Saturday,7,8.0 +Tuesday,4,4.6 +Tuesday,5,4.5 +Thursday,8,6.0 +Monday,15,7.0 +Friday,16,27.7 +Thursday,12,4.7 +Wednesday,17,7.0 +Sunday,14,42.2 +Tuesday,21,6.7 +Monday,8,14.3 +Saturday,12,5.5 +Monday,7,8.3 +Friday,10,18.8 +Friday,0,22.8 +Friday,12,24.8 +Friday,9,21.9 +Tuesday,4,5.0 +Wednesday,13,20.6 +Thursday,16,14.4 +Monday,18,7.0 +Wednesday,12,22.8 +Thursday,8,3.2 +Saturday,7,5.3 +Thursday,11,1.2 +Wednesday,7,12.3 +Monday,4,18.9 +Tuesday,9,12.0 +Friday,20,5.5 +Wednesday,20,1.1 +Friday,16,5.5 +Tuesday,16,28.7 +Saturday,12,8.7 +Monday,17,5.4 +Tuesday,15,11.7 +Friday,8,7.5 +Wednesday,20,2.5 +Thursday,19,1.6 +Sunday,10,5.9 +Monday,20,6.6 +Wednesday,19,7.4 +Monday,12,8.8 +Wednesday,13,8.3 +Wednesday,20,5.2 +Sunday,13,5.0 +Saturday,19,5.9 +Friday,3,11.2 +Monday,9,7.5 +Tuesday,10,23.0 +Tuesday,22,25.9 +Sunday,9,1.6 +Friday,10,8.0 +Friday,8,11.0 +Thursday,18,5.1 +Monday,9,5.1 +Friday,16,6.6 +Wednesday,15,27.7 +Wednesday,15,3.7 +Wednesday,10,37.0 +Sunday,11,3.5 +Thursday,18,9.7 +Sunday,14,9.7 +Sunday,5,4.4 +Sunday,17,9.5 +Wednesday,14,5.1 +Saturday,10,10.4 +Wednesday,15,9.9 +Thursday,9,8.6 +Friday,8,5.0 +Sunday,20,3.2 +Tuesday,20,7.8 +Wednesday,18,6.2 +Tuesday,12,25.9 +Monday,10,27.9 +Friday,9,9.1 +Friday,6,6.0 +Sunday,9,12.2 +Sunday,5,18.6 +Monday,8,7.3 +Monday,8,13.1 +Saturday,18,3.0 +Tuesday,10,18.5 +Monday,16,12.1 +Thursday,18,0.7 +Thursday,12,6.2 +Monday,11,20.4 +Tuesday,8,6.6 +Saturday,0,11.9 +Thursday,17,4.0 +Tuesday,14,16.5 +Tuesday,18,6.2 +Friday,16,6.0 +Sunday,11,2.4 +Saturday,14,9.7 +Friday,11,27.9 +Friday,8,3.5 +Tuesday,9,10.2 +Tuesday,16,10.3 +Saturday,13,13.4 +Tuesday,18,10.8 +Wednesday,20,10.9 +Tuesday,18,4.8 +Friday,7,2.2 +Saturday,10,16.2 +Friday,13,9.0 +Sunday,9,7.9 +Thursday,16,10.1 +Saturday,16,3.7 +Thursday,7,16.2 +Monday,10,7.8 +Tuesday,18,13.7 +Sunday,18,2.6 +Saturday,20,6.1 +Sunday,9,23.2 +Thursday,16,12.5 +Friday,15,7.1 +Sunday,17,15.1 +Saturday,12,10.3 +Tuesday,15,2.6 +Friday,0,16.7 +Monday,20,2.3 +Saturday,10,15.9 +Monday,13,21.9 +Thursday,8,3.1 +Tuesday,8,2.4 +Saturday,7,9.5 +Thursday,9,13.1 +Tuesday,14,8.6 +Monday,9,8.7 +Monday,13,3.0 +Wednesday,13,8.2 +Wednesday,19,8.1 +Sunday,9,25.4 +Friday,19,8.5 +Friday,17,15.5 +Friday,15,21.8 +Friday,19,2.1 +Wednesday,14,12.6 +Thursday,18,5.4 +Sunday,9,5.1 +Thursday,11,14.4 +Monday,4,12.4 +Wednesday,8,6.8 +Tuesday,7,3.5 +Saturday,8,19.7 +Friday,9,17.6 +Tuesday,12,20.5 +Monday,8,3.3 +Saturday,12,6.0 +Saturday,5,19.7 +Tuesday,9,16.6 +Thursday,9,19.3 +Thursday,14,16.5 +Friday,18,2.1 +Friday,10,6.1 +Monday,19,3.9 +Friday,9,18.1 +Saturday,18,8.7 +Tuesday,15,6.4 +Thursday,10,12.6 +Thursday,19,2.3 +Wednesday,18,9.5 +Friday,20,5.8 +Thursday,9,4.4 +Saturday,18,2.8 +Friday,13,8.7 +Sunday,16,8.0 +Wednesday,13,20.2 +Sunday,10,22.4 +Sunday,3,11.0 +Saturday,15,9.9 +Thursday,11,17.4 +Thursday,20,4.3 +Monday,14,32.1 +Thursday,20,6.8 +Sunday,15,16.0 +Thursday,10,10.6 +Sunday,8,7.9 +Sunday,16,6.3 +Sunday,18,1.0 +Wednesday,5,9.5 +Tuesday,14,8.4 +Friday,11,25.9 +Sunday,14,26.5 +Thursday,16,4.5 +Friday,17,3.6 +Thursday,16,12.5 +Sunday,15,15.0 +Thursday,8,11.0 +Friday,14,67.5 +Wednesday,23,24.0 +Friday,16,7.7 +Saturday,13,10.1 +Thursday,17,5.9 +Tuesday,23,28.1 +Friday,11,15.2 +Tuesday,11,9.5 +Monday,3,9.2 +Sunday,20,1.6 +Wednesday,18,12.1 +Sunday,15,16.4 +Friday,14,24.7 +Monday,16,6.9 +Sunday,14,6.7 +Saturday,7,1.6 +Sunday,10,0.9 +Thursday,16,11.6 +Friday,14,31.1 +Sunday,10,8.4 +Friday,19,3.2 +Friday,14,17.7 +Monday,13,1.4 +Wednesday,9,20.9 +Sunday,20,2.7 +Tuesday,9,8.3 +Wednesday,10,3.9 +Thursday,9,5.6 +Friday,20,1.5 +Monday,10,75.2 +Friday,15,24.2 +Monday,12,9.9 +Monday,9,17.2 +Saturday,7,1.8 +Tuesday,19,19.5 +Tuesday,12,6.2 +Saturday,17,0.3 +Saturday,16,8.7 +Friday,16,7.2 +Wednesday,14,44.3 +Wednesday,14,5.7 +Thursday,7,2.3 +Saturday,13,3.9 +Sunday,9,11.4 +Thursday,19,6.8 +Wednesday,14,25.5 +Wednesday,13,8.3 +Wednesday,20,6.0 +Saturday,15,14.1 +Tuesday,5,11.8 +Wednesday,10,7.9 +Wednesday,8,1.2 +Tuesday,19,0.8 +Tuesday,18,6.6 +Wednesday,20,1.0 +Saturday,12,10.3 +Sunday,7,2.6 +Thursday,11,8.1 +Saturday,19,13.0 +Thursday,12,13.6 +Saturday,13,2.6 +Saturday,8,10.3 +Thursday,13,29.3 +Wednesday,4,4.5 +Sunday,12,3.5 +Tuesday,13,9.4 +Saturday,10,11.3 +Tuesday,1,2.4 +Tuesday,13,12.1 +Monday,8,2.0 +Saturday,11,5.9 +Wednesday,16,5.7 +Friday,20,8.0 +Monday,20,3.2 +Monday,7,5.0 +Sunday,17,5.4 +Wednesday,9,8.6 +Friday,19,8.3 +Sunday,12,22.5 +Monday,9,8.5 +Friday,7,6.4 +Tuesday,14,23.3 +Wednesday,13,24.9 +Saturday,18,5.8 +Friday,12,18.7 +Thursday,7,1.2 +Saturday,0,12.8 +Tuesday,10,3.4 +Thursday,7,11.5 +Friday,18,11.1 +Saturday,4,10.7 +Monday,22,27.7 +Wednesday,0,7.4 +Friday,18,2.8 +Wednesday,14,21.0 +Friday,17,0.9 +Tuesday,20,4.2 +Sunday,17,0.7 +Sunday,11,14.9 +Sunday,16,7.0 +Monday,16,3.9 +Wednesday,21,14.4 +Tuesday,4,9.4 +Tuesday,15,2.6 +Saturday,10,13.5 +Saturday,14,18.4 +Tuesday,10,1.6 +Friday,12,16.0 +Saturday,18,7.4 +Sunday,16,12.8 +Monday,15,30.1 +Wednesday,3,8.2 +Thursday,21,7.5 +Thursday,22,0.4 +Wednesday,20,4.8 +Sunday,2,7.6 +Tuesday,0,8.8 +Thursday,18,11.3 +Thursday,8,10.3 +Monday,8,2.5 +Monday,11,9.1 +Monday,19,7.7 +Wednesday,6,11.0 +Saturday,15,3.6 +Wednesday,11,23.7 +Saturday,18,5.8 +Tuesday,8,1.6 +Monday,15,3.6 +Wednesday,19,2.2 +Thursday,8,17.1 +Wednesday,14,11.7 +Friday,19,1.9 +Wednesday,12,11.8 +Wednesday,4,27.6 +Monday,12,23.0 +Tuesday,7,3.0 +Wednesday,5,28.9 +Tuesday,16,19.9 +Thursday,10,4.2 +Thursday,11,7.4 +Saturday,16,13.1 +Friday,12,6.1 +Thursday,11,18.9 +Wednesday,13,8.4 +Wednesday,7,3.8 +Friday,16,16.4 +Wednesday,9,26.5 +Friday,3,24.5 +Sunday,10,7.9 +Tuesday,12,9.6 +Wednesday,16,15.3 +Saturday,7,4.9 +Saturday,14,9.6 +Thursday,14,5.4 +Monday,9,15.1 +Tuesday,5,10.5 +Thursday,13,31.6 +Thursday,19,5.2 +Tuesday,18,13.0 +Sunday,18,11.6 +Tuesday,15,9.1 +Friday,3,6.6 +Saturday,23,5.1 +Friday,5,22.5 +Monday,19,6.8 +Tuesday,19,0.6 +Monday,10,9.8 +Sunday,15,18.1 +Sunday,20,6.2 +Tuesday,7,6.3 +Wednesday,1,7.0 +Monday,8,22.3 +Sunday,17,13.9 +Monday,20,10.6 +Thursday,15,2.7 +Wednesday,8,4.4 +Sunday,15,13.4 +Sunday,8,2.4 +Wednesday,4,3.2 +Saturday,2,3.2 +Thursday,16,6.1 +Saturday,7,3.9 +Wednesday,5,26.5 +Monday,7,2.1 +Saturday,20,6.4 +Wednesday,16,20.7 +Wednesday,23,22.9 +Wednesday,20,4.1 +Friday,10,10.6 +Wednesday,2,28.5 +Thursday,11,43.3 +Monday,18,3.8 +Wednesday,11,33.0 +Sunday,17,5.4 +Saturday,20,2.3 +Tuesday,14,10.2 +Friday,13,3.1 +Wednesday,18,16.8 +Monday,3,14.1 +Saturday,14,7.3 +Wednesday,12,21.1 +Tuesday,16,9.0 +Friday,12,54.7 +Friday,18,11.6 +Saturday,8,2.4 +Tuesday,19,2.6 +Saturday,13,5.3 +Tuesday,20,3.3 +Saturday,13,2.2 +Wednesday,9,18.2 +Wednesday,16,46.0 +Thursday,12,27.1 +Saturday,9,7.9 +Friday,20,3.2 +Friday,20,10.7 +Wednesday,9,4.8 +Saturday,11,15.5 +Thursday,14,6.9 +Thursday,9,34.9 +Wednesday,16,6.2 +Thursday,10,12.3 +Thursday,12,14.9 +Thursday,3,5.3 +Tuesday,14,19.1 +Saturday,22,15.4 +Monday,8,3.6 +Tuesday,10,19.8 +Wednesday,19,11.3 +Friday,12,10.6 +Monday,19,7.8 +Thursday,17,6.4 +Tuesday,17,16.9 +Friday,10,3.7 +Sunday,2,4.0 +Friday,7,2.4 +Wednesday,13,9.9 +Thursday,12,2.5 +Tuesday,4,15.5 +Saturday,19,8.8 +Thursday,19,10.8 +Friday,17,3.9 +Monday,12,17.4 +Monday,20,2.4 +Thursday,10,15.0 +Wednesday,7,4.6 +Wednesday,7,12.0 +Sunday,1,3.3 +Friday,15,7.5 +Sunday,23,18.2 +Friday,13,19.2 +Monday,10,12.3 +Wednesday,7,5.7 +Wednesday,9,14.3 +Wednesday,14,27.7 +Saturday,16,2.6 +Wednesday,9,2.1 +Monday,5,13.9 +Friday,12,7.6 +Monday,9,1.9 +Wednesday,14,44.6 +Wednesday,7,29.3 +Thursday,6,24.2 +Tuesday,15,3.3 +Saturday,7,13.6 +Thursday,20,3.1 +Saturday,18,8.9 +Saturday,14,4.2 +Monday,12,15.8 +Wednesday,10,1.0 +Thursday,8,7.6 +Tuesday,15,20.9 +Saturday,17,9.8 +Tuesday,18,3.8 +Wednesday,7,11.7 +Tuesday,3,21.4 +Tuesday,19,1.5 +Saturday,18,5.5 +Monday,20,1.2 +Thursday,10,4.7 +Tuesday,3,22.4 +Tuesday,22,12.2 +Monday,15,2.7 +Wednesday,20,6.2 +Wednesday,17,7.3 +Saturday,19,3.5 +Sunday,6,7.2 +Thursday,15,26.8 +Tuesday,18,3.3 +Thursday,8,10.6 +Friday,12,31.5 +Monday,4,16.2 +Wednesday,7,5.0 +Wednesday,5,0.2 +Saturday,19,5.4 +Monday,9,11.9 +Wednesday,19,2.5 +Wednesday,13,17.4 +Thursday,9,17.8 +Tuesday,20,1.1 +Tuesday,13,36.3 +Monday,12,36.0 +Friday,19,15.4 +Friday,8,11.4 +Thursday,14,6.6 +Wednesday,7,5.6 +Thursday,10,18.1 +Tuesday,15,8.9 +Monday,14,23.7 +Wednesday,13,6.2 +Friday,16,14.4 +Tuesday,8,3.3 +Wednesday,6,11.0 +Saturday,9,13.4 +Saturday,11,22.6 +Friday,21,15.5 +Saturday,13,19.3 +Monday,9,29.0 +Sunday,14,3.4 +Monday,14,10.3 +Monday,11,5.9 +Wednesday,11,71.5 +Sunday,9,3.1 +Thursday,9,11.2 +Saturday,8,4.4 +Monday,9,11.6 +Wednesday,8,1.3 +Tuesday,15,4.3 +Saturday,10,11.3 +Friday,11,34.6 +Wednesday,8,9.8 +Friday,9,11.6 +Tuesday,18,12.0 +Tuesday,8,12.1 +Thursday,16,15.3 +Thursday,20,10.3 +Saturday,13,6.6 +Tuesday,19,9.7 +Wednesday,8,17.5 +Saturday,11,4.2 +Wednesday,13,11.6 +Monday,14,13.6 +Wednesday,14,11.1 +Wednesday,9,5.8 +Saturday,16,4.8 +Friday,9,2.7 +Friday,11,22.8 +Saturday,19,4.7 +Sunday,14,9.3 +Monday,17,26.1 +Sunday,16,4.8 +Tuesday,18,3.6 +Saturday,9,2.7 +Thursday,20,10.0 +Saturday,11,14.0 +Sunday,4,35.2 +Friday,20,4.1 +Friday,10,39.4 +Tuesday,11,37.6 +Thursday,9,1.6 +Saturday,20,4.8 +Wednesday,20,4.7 +Monday,4,14.6 +Tuesday,12,7.4 +Friday,21,25.1 +Wednesday,20,16.8 +Saturday,18,2.3 +Wednesday,20,9.4 +Wednesday,5,11.4 +Monday,17,2.2 +Wednesday,15,10.9 +Friday,10,11.7 +Tuesday,14,20.4 +Thursday,18,6.7 +Saturday,13,16.6 +Wednesday,20,1.8 +Wednesday,9,21.2 +Wednesday,19,10.7 +Tuesday,14,22.4 +Tuesday,9,2.9 +Friday,11,1.7 +Monday,20,2.2 +Wednesday,17,7.2 +Thursday,20,1.5 +Saturday,19,16.9 +Tuesday,15,10.9 +Wednesday,18,8.2 +Thursday,22,15.7 +Tuesday,2,2.1 +Friday,17,20.0 +Thursday,16,18.0 +Thursday,11,4.3 +Wednesday,19,2.3 +Tuesday,6,19.5 +Wednesday,18,3.8 +Tuesday,14,11.9 +Friday,23,10.4 +Sunday,12,9.0 +Monday,15,6.7 +Friday,12,3.4 +Tuesday,1,4.5 +Monday,16,3.9 +Monday,9,20.6 +Thursday,13,21.8 +Saturday,18,10.9 +Saturday,20,4.4 +Tuesday,17,13.8 +Saturday,17,7.2 +Saturday,14,1.0 +Monday,18,3.8 +Sunday,19,7.3 +Sunday,9,2.2 +Thursday,16,14.6 +Wednesday,20,16.6 +Wednesday,1,15.2 +Tuesday,17,1.4 +Saturday,11,6.0 +Wednesday,16,11.8 +Thursday,0,8.6 +Wednesday,14,24.7 +Thursday,4,5.7 +Monday,9,12.5 +Monday,9,2.6 +Thursday,21,16.1 +Sunday,8,6.1 +Tuesday,17,1.5 +Monday,12,24.0 +Tuesday,9,0.1 +Sunday,7,3.0 +Sunday,8,4.0 +Tuesday,18,14.7 +Sunday,17,3.7 +Tuesday,19,4.3 +Friday,7,4.8 +Wednesday,18,9.9 +Thursday,17,3.5 +Saturday,17,1.7 +Wednesday,18,2.0 +Friday,20,11.2 +Sunday,2,2.7 +Friday,22,22.9 +Monday,14,20.5 +Wednesday,17,2.6 +Friday,17,17.8 +Wednesday,13,1.2 +Sunday,20,5.8 +Monday,9,1.7 +Sunday,15,23.5 +Thursday,2,5.8 +Tuesday,18,9.5 +Wednesday,11,3.4 +Thursday,17,13.2 +Saturday,10,11.6 +Friday,11,22.7 +Monday,9,18.4 +Monday,9,5.6 +Saturday,7,3.7 +Friday,6,16.1 +Monday,9,7.6 +Thursday,20,4.6 +Tuesday,17,1.8 +Saturday,16,5.8 +Wednesday,16,6.3 +Monday,20,1.8 +Wednesday,12,17.5 +Saturday,10,6.6 +Thursday,9,10.7 +Wednesday,10,23.9 +Thursday,8,7.4 +Monday,13,3.7 +Tuesday,20,1.1 +Tuesday,17,17.0 +Thursday,4,9.8 +Monday,23,10.6 +Sunday,20,2.9 +Wednesday,8,15.8 +Saturday,20,10.0 +Tuesday,6,38.6 +Wednesday,15,8.4 +Wednesday,6,12.5 +Wednesday,0,2.8 +Tuesday,10,14.8 +Monday,17,19.6 +Friday,20,11.1 +Friday,14,7.4 +Wednesday,19,2.6 +Tuesday,20,5.1 +Monday,9,8.8 +Saturday,19,9.2 +Sunday,11,19.6 +Saturday,4,11.6 +Friday,11,8.9 +Sunday,15,5.8 +Friday,9,11.4 +Tuesday,8,13.1 +Sunday,11,14.9 +Sunday,12,9.9 +Tuesday,16,3.3 +Monday,16,18.2 +Saturday,12,14.5 +Thursday,20,1.9 +Saturday,11,5.2 +Friday,19,11.8 +Tuesday,15,5.5 +Monday,13,9.8 +Saturday,16,3.0 +Wednesday,14,10.9 +Sunday,10,43.0 +Tuesday,15,28.6 +Sunday,19,4.0 +Monday,20,6.8 +Monday,12,20.3 +Thursday,12,4.3 +Tuesday,12,29.5 +Wednesday,20,2.6 +Saturday,2,7.8 +Monday,19,6.6 +Saturday,11,13.0 +Saturday,7,6.4 +Monday,9,14.3 +Sunday,3,4.7 +Tuesday,12,6.2 +Wednesday,10,9.2 +Saturday,13,11.1 +Thursday,16,11.5 +Friday,13,20.5 +Thursday,14,7.5 +Tuesday,9,16.5 +Monday,14,2.7 +Thursday,17,19.7 +Sunday,4,20.8 +Saturday,0,13.8 +Wednesday,0,18.1 +Friday,16,7.8 +Saturday,10,8.7 +Friday,18,8.1 +Saturday,22,10.1 +Friday,17,26.0 +Friday,12,9.8 +Sunday,11,13.5 +Sunday,17,8.4 +Thursday,17,2.4 +Wednesday,15,13.3 +Sunday,16,2.1 +Friday,1,39.2 +Wednesday,13,11.6 +Monday,11,6.9 +Thursday,18,9.3 +Saturday,17,7.7 +Tuesday,18,4.1 +Tuesday,14,5.1 +Thursday,14,14.8 +Wednesday,16,37.4 +Sunday,22,2.2 +Sunday,18,13.0 +Saturday,12,12.0 +Saturday,19,3.3 +Monday,11,15.7 +Friday,19,5.2 +Friday,13,12.1 +Wednesday,22,10.2 +Thursday,7,2.7 +Tuesday,19,9.8 +Wednesday,17,26.9 +Saturday,20,11.6 +Saturday,18,3.6 +Tuesday,10,23.4 +Sunday,11,15.6 +Saturday,17,13.5 +Monday,18,16.7 +Wednesday,15,8.8 +Friday,14,18.4 +Thursday,13,11.6 +Friday,13,6.5 +Wednesday,22,14.4 +Monday,16,2.8 +Tuesday,14,13.8 +Wednesday,7,5.9 +Thursday,8,2.5 +Monday,16,4.5 +Thursday,13,0.8 +Wednesday,9,12.0 +Monday,20,14.6 +Monday,21,20.1 +Monday,7,14.3 +Sunday,18,6.5 +Tuesday,8,13.8 +Monday,10,21.0 +Tuesday,8,9.1 +Monday,9,22.3 +Wednesday,15,16.3 +Friday,16,5.3 +Sunday,10,12.5 +Friday,1,12.1 +Wednesday,18,6.0 +Monday,11,27.6 +Thursday,7,3.5 +Wednesday,18,1.6 +Sunday,16,18.0 +Monday,20,5.3 +Saturday,3,16.5 +Sunday,17,6.7 +Friday,9,4.8 +Thursday,7,13.7 +Saturday,7,1.7 +Wednesday,16,26.6 +Thursday,16,17.4 +Wednesday,19,16.7 +Wednesday,22,16.8 +Monday,21,15.6 +Thursday,15,12.6 +Thursday,16,12.4 +Monday,10,19.1 +Monday,13,7.3 +Sunday,19,6.3 +Saturday,10,26.0 +Saturday,6,21.5 +Tuesday,9,3.9 +Monday,17,14.1 +Saturday,14,10.5 +Wednesday,12,11.2 +Friday,18,7.5 +Thursday,15,26.0 +Tuesday,13,4.5 +Sunday,9,12.9 +Wednesday,2,32.1 +Saturday,8,10.9 +Sunday,9,0.8 +Saturday,19,5.8 +Monday,14,8.8 +Monday,14,35.1 +Friday,9,6.1 +Wednesday,15,13.6 +Wednesday,11,6.1 +Sunday,9,13.2 +Tuesday,12,6.0 +Friday,1,30.4 +Friday,14,6.0 +Tuesday,15,17.1 +Wednesday,19,6.3 +Wednesday,18,3.1 +Tuesday,10,11.0 +Thursday,16,7.8 +Thursday,10,24.5 +Monday,15,17.4 +Sunday,19,2.1 +Friday,20,5.2 +Thursday,20,5.6 +Saturday,16,11.0 +Monday,9,3.9 +Thursday,18,6.7 +Monday,15,15.0 +Saturday,18,4.9 +Saturday,14,3.3 +Wednesday,20,4.0 +Wednesday,7,10.3 +Wednesday,17,13.1 +Wednesday,12,21.4 +Saturday,12,11.9 +Wednesday,12,14.4 +Thursday,14,10.0 +Friday,9,9.6 +Friday,9,15.3 +Saturday,18,6.9 +Sunday,7,0.4 +Friday,18,0.7 +Saturday,17,8.2 +Sunday,11,9.5 +Tuesday,8,15.0 +Sunday,11,15.4 +Sunday,14,4.2 +Saturday,12,4.3 +Wednesday,15,7.5 +Friday,14,13.2 +Thursday,17,7.0 +Wednesday,14,9.2 +Thursday,11,7.6 +Friday,15,14.0 +Tuesday,17,3.8 +Wednesday,7,13.7 +Tuesday,19,2.4 +Tuesday,11,24.1 +Tuesday,18,3.6 +Tuesday,10,42.7 +Friday,7,7.9 +Tuesday,12,16.3 +Friday,15,17.3 +Wednesday,10,9.6 +Tuesday,16,6.1 +Friday,12,12.8 +Monday,10,56.6 +Thursday,19,2.4 +Friday,23,1.4 +Monday,20,14.8 +Saturday,18,19.2 +Monday,7,7.5 +Wednesday,9,1.4 +Saturday,15,6.7 +Saturday,19,5.6 +Saturday,11,6.6 +Saturday,19,1.8 +Monday,10,14.7 +Monday,8,12.8 +Friday,11,6.4 +Monday,18,5.3 +Thursday,12,40.1 +Sunday,9,14.2 +Friday,7,15.2 +Tuesday,11,6.1 +Wednesday,16,0.6 +Tuesday,20,1.2 +Monday,8,7.9 +Wednesday,11,21.0 +Thursday,19,3.3 +Tuesday,0,11.1 +Wednesday,13,3.4 +Wednesday,15,2.5 +Friday,15,14.7 +Friday,8,10.1 +Thursday,12,1.9 +Monday,5,14.8 +Monday,7,16.1 +Thursday,2,10.9 +Wednesday,15,18.4 +Sunday,11,7.7 +Sunday,16,5.8 +Tuesday,19,4.6 +Tuesday,11,9.1 +Saturday,11,1.5 +Thursday,9,8.9 +Saturday,9,8.7 +Thursday,8,4.4 +Friday,8,11.3 +Friday,13,20.3 +Thursday,7,10.8 +Sunday,20,7.1 +Saturday,4,10.1 +Saturday,13,16.9 +Thursday,8,8.4 +Tuesday,20,1.9 +Sunday,19,2.9 +Thursday,18,10.3 +Tuesday,11,15.8 +Wednesday,9,11.4 +Tuesday,12,19.2 +Sunday,16,7.3 +Friday,11,45.3 +Monday,11,30.5 +Sunday,11,17.4 +Friday,17,25.3 +Monday,10,35.4 +Wednesday,8,2.3 +Tuesday,10,5.2 +Saturday,17,25.7 +Wednesday,17,6.6 +Saturday,17,1.3 +Friday,5,20.0 +Friday,13,5.5 +Sunday,9,17.6 +Friday,1,20.5 +Thursday,17,8.7 +Friday,14,17.4 +Friday,17,4.0 +Monday,9,1.1 +Wednesday,12,14.5 +Wednesday,8,3.7 +Friday,12,13.7 +Wednesday,18,16.8 +Wednesday,8,10.8 +Wednesday,11,15.2 +Wednesday,9,17.8 +Wednesday,15,8.6 +Tuesday,8,20.2 +Thursday,7,2.4 +Sunday,17,6.7 +Sunday,20,8.4 +Saturday,11,13.2 +Thursday,18,5.3 +Saturday,10,15.9 +Thursday,9,11.3 +Wednesday,19,5.5 +Tuesday,22,28.4 +Wednesday,9,10.1 +Tuesday,18,12.8 +Tuesday,14,9.2 +Monday,14,6.6 +Sunday,19,11.1 +Friday,4,8.8 +Wednesday,13,17.5 +Thursday,8,7.4 +Saturday,13,9.3 +Tuesday,11,27.4 +Tuesday,12,24.2 +Tuesday,14,13.4 +Wednesday,11,59.4 +Sunday,19,5.4 +Thursday,13,42.3 +Sunday,10,16.8 +Friday,13,11.5 +Monday,9,11.8 +Wednesday,7,12.8 +Thursday,19,8.8 +Sunday,8,6.5 +Wednesday,11,15.8 +Friday,7,4.0 +Friday,14,4.1 +Saturday,21,1.7 +Tuesday,11,9.9 +Friday,20,7.6 +Sunday,19,7.9 +Thursday,19,4.4 +Saturday,16,1.5 +Saturday,11,21.3 +Friday,19,1.8 +Saturday,13,3.5 +Monday,12,18.7 +Monday,16,16.4 +Sunday,15,0.5 +Friday,13,12.3 +Monday,5,23.4 +Thursday,12,9.4 +Saturday,9,3.9 +Thursday,22,14.7 +Thursday,11,21.8 +Tuesday,8,23.4 +Wednesday,13,9.3 +Friday,22,20.1 +Saturday,10,7.8 +Wednesday,18,2.9 +Thursday,6,4.7 +Friday,15,13.6 +Tuesday,12,14.3 +Sunday,21,5.0 +Saturday,14,8.5 +Sunday,1,11.2 +Thursday,17,5.6 +Tuesday,18,2.0 +Friday,7,1.7 +Friday,4,10.1 +Sunday,17,10.6 +Tuesday,19,5.1 +Sunday,19,8.0 +Sunday,11,16.0 +Saturday,14,6.4 +Tuesday,8,9.6 +Sunday,11,19.9 +Wednesday,12,11.4 +Tuesday,8,15.3 +Wednesday,12,21.4 +Tuesday,12,52.9 +Monday,17,8.9 +Friday,8,4.7 +Sunday,20,12.3 +Wednesday,20,2.3 +Wednesday,8,4.0 +Friday,19,5.9 +Saturday,8,5.5 +Friday,16,10.4 +Monday,13,4.6 +Thursday,9,7.6 +Friday,7,2.3 +Friday,11,29.8 +Friday,17,10.2 +Saturday,12,17.5 +Friday,20,7.3 +Tuesday,9,6.3 +Sunday,18,6.0 +Monday,14,4.7 +Monday,18,5.2 +Wednesday,13,13.5 +Sunday,14,1.6 +Friday,18,6.8 +Tuesday,18,5.2 +Wednesday,9,10.5 +Thursday,15,17.6 +Tuesday,13,8.6 +Sunday,14,2.7 +Monday,14,13.5 +Saturday,22,11.5 +Monday,14,7.3 +Sunday,11,29.9 +Wednesday,2,6.2 +Saturday,14,6.7 +Sunday,2,13.1 +Friday,17,1.5 +Sunday,19,1.8 +Wednesday,10,21.8 +Thursday,7,4.7 +Tuesday,11,30.2 +Saturday,15,7.4 +Wednesday,6,18.0 +Monday,7,9.0 +Sunday,17,12.5 +Sunday,17,7.2 +Wednesday,19,11.4 +Tuesday,16,2.8 +Wednesday,8,15.2 +Sunday,18,1.9 +Monday,7,5.3 +Sunday,14,12.7 +Friday,9,3.2 +Thursday,10,8.0 +Tuesday,11,3.7 +Monday,11,7.8 +Sunday,9,4.5 +Sunday,15,23.9 +Wednesday,2,11.6 +Monday,14,20.2 +Thursday,12,31.3 +Monday,13,17.1 +Thursday,11,22.5 +Thursday,19,3.0 +Wednesday,20,20.9 +Thursday,18,7.5 +Saturday,9,4.3 +Saturday,17,2.7 +Saturday,15,2.3 +Tuesday,16,28.8 +Tuesday,13,7.5 +Monday,16,9.3 +Sunday,16,2.5 +Sunday,17,5.0 +Saturday,8,2.5 +Tuesday,19,8.6 +Sunday,16,3.7 +Friday,20,15.8 +Sunday,20,2.3 +Saturday,16,12.8 +Monday,12,6.3 +Monday,20,10.9 +Thursday,13,17.5 +Friday,20,12.6 +Friday,20,4.5 +Wednesday,22,6.3 +Monday,21,23.6 +Wednesday,17,6.6 +Tuesday,13,2.1 +Monday,1,1.0 +Monday,9,17.5 +Wednesday,12,13.1 +Tuesday,15,14.7 +Monday,18,10.2 +Saturday,20,0.9 +Tuesday,2,13.7 +Sunday,14,4.7 +Sunday,12,7.7 +Thursday,14,11.7 +Wednesday,10,11.9 +Thursday,11,46.1 +Saturday,18,3.1 +Thursday,0,5.6 +Wednesday,8,8.0 +Wednesday,13,10.0 +Friday,16,12.5 +Sunday,15,3.7 +Thursday,19,8.8 +Friday,2,8.8 +Wednesday,12,41.6 +Saturday,13,3.1 +Monday,20,6.7 +Friday,18,5.7 +Wednesday,3,25.9 +Sunday,7,3.5 +Tuesday,16,29.8 +Monday,22,10.6 +Thursday,20,2.8 +Sunday,15,10.0 +Thursday,23,23.1 +Tuesday,12,85.9 +Thursday,20,9.4 +Saturday,11,10.0 +Friday,13,8.3 +Sunday,8,7.0 +Tuesday,17,27.4 +Wednesday,23,17.6 +Saturday,20,16.5 +Saturday,2,20.8 +Wednesday,18,11.4 +Monday,8,16.2 +Saturday,8,1.3 +Tuesday,17,9.7 +Saturday,17,3.2 +Thursday,11,11.8 +Saturday,13,7.8 +Wednesday,8,5.9 +Tuesday,5,9.3 +Monday,4,16.2 +Monday,12,8.4 +Monday,10,22.9 +Monday,9,7.4 +Saturday,16,4.9 +Sunday,10,9.8 +Wednesday,21,5.2 +Tuesday,9,20.2 +Thursday,8,2.0 +Monday,18,15.3 +Sunday,12,8.9 +Saturday,7,7.8 +Wednesday,13,19.5 +Saturday,12,9.6 +Friday,10,8.0 +Monday,17,9.7 +Thursday,19,15.0 +Sunday,18,3.6 +Friday,7,13.4 +Saturday,16,14.2 +Wednesday,9,25.3 +Wednesday,19,23.0 +Sunday,16,10.2 +Wednesday,9,12.9 +Monday,7,2.9 +Tuesday,0,9.0 +Saturday,15,17.0 +Monday,16,7.0 +Sunday,10,17.9 +Monday,17,9.8 +Tuesday,6,10.3 +Wednesday,10,30.5 +Monday,17,2.4 +Sunday,17,4.7 +Sunday,8,8.4 +Saturday,7,2.9 +Friday,10,12.5 +Saturday,18,9.6 +Wednesday,9,16.8 +Sunday,17,11.4 +Wednesday,17,5.0 +Saturday,16,9.0 +Sunday,22,5.6 +Wednesday,9,26.2 +Saturday,11,6.0 +Sunday,7,4.0 +Sunday,19,7.7 +Tuesday,12,11.5 +Friday,14,10.1 +Monday,23,5.8 +Friday,15,4.5 +Wednesday,15,6.7 +Friday,13,13.9 +Monday,13,13.8 +Monday,13,18.4 +Thursday,19,5.3 +Monday,16,9.9 +Tuesday,12,24.3 +Monday,7,2.5 +Wednesday,4,6.8 +Monday,23,18.5 +Saturday,18,22.8 +Wednesday,14,2.2 +Thursday,7,3.6 +Saturday,19,7.4 +Sunday,17,5.2 +Wednesday,4,7.1 +Monday,21,7.9 +Wednesday,10,3.0 +Monday,20,7.8 +Saturday,8,1.3 +Wednesday,13,19.1 +Friday,9,8.7 +Tuesday,18,1.5 +Friday,20,2.1 +Monday,18,7.2 +Saturday,10,7.5 +Thursday,10,22.0 +Tuesday,15,3.5 +Wednesday,13,16.4 +Thursday,20,7.6 +Tuesday,14,10.2 +Thursday,8,5.1 +Friday,8,23.5 +Friday,17,12.9 +Sunday,17,6.4 +Tuesday,20,6.8 +Saturday,8,4.4 +Thursday,11,22.7 +Friday,7,4.2 +Wednesday,5,8.2 +Friday,12,2.8 +Tuesday,19,17.3 +Friday,13,28.8 +Friday,16,12.2 +Friday,10,19.0 +Friday,20,5.9 +Saturday,9,0.4 +Monday,11,13.2 +Tuesday,16,4.9 +Monday,10,27.1 +Saturday,19,4.4 +Wednesday,17,24.8 +Wednesday,11,28.3 +Thursday,23,9.2 +Thursday,15,0.2 +Monday,15,28.8 +Tuesday,8,13.7 +Sunday,15,4.2 +Friday,14,3.3 +Friday,12,27.4 +Tuesday,14,21.8 +Saturday,18,8.5 +Tuesday,8,11.0 +Thursday,14,15.7 +Saturday,10,10.0 +Tuesday,17,9.3 +Saturday,18,14.9 +Wednesday,11,27.1 +Wednesday,13,12.0 +Wednesday,19,5.1 +Thursday,16,29.8 +Thursday,9,8.4 +Tuesday,9,6.6 +Friday,12,9.7 +Monday,23,8.2 +Monday,18,5.7 +Friday,7,11.0 +Tuesday,18,6.3 +Saturday,12,3.6 +Sunday,20,10.4 +Sunday,18,1.1 +Tuesday,11,4.9 +Wednesday,15,8.2 +Monday,16,12.8 +Saturday,8,4.6 +Wednesday,11,55.0 +Wednesday,15,1.6 +Monday,18,3.3 +Wednesday,10,12.3 +Sunday,11,5.3 +Sunday,18,2.8 +Sunday,10,27.8 +Friday,16,15.4 +Tuesday,11,16.9 +Saturday,6,4.7 +Sunday,0,17.4 +Saturday,16,16.9 +Tuesday,2,26.6 +Tuesday,7,3.3 +Monday,7,6.2 +Friday,9,19.5 +Wednesday,12,23.4 +Thursday,16,16.8 +Wednesday,19,5.1 +Thursday,17,8.5 +Sunday,14,4.7 +Sunday,13,10.0 +Sunday,10,31.1 +Sunday,16,2.7 +Tuesday,13,2.4 +Wednesday,18,2.7 +Thursday,19,4.9 +Thursday,9,31.5 +Tuesday,9,14.6 +Sunday,17,6.7 +Saturday,13,11.2 +Wednesday,15,5.5 +Monday,19,6.0 +Sunday,15,14.0 +Thursday,19,3.1 +Friday,19,3.9 +Saturday,13,4.7 +Thursday,5,7.9 +Sunday,15,3.8 +Saturday,14,7.3 +Tuesday,20,3.6 +Wednesday,7,14.1 +Saturday,16,1.1 +Thursday,10,17.8 +Saturday,21,34.4 +Friday,20,1.4 +Monday,14,50.4 +Sunday,10,18.6 +Thursday,20,15.5 +Thursday,10,22.1 +Sunday,13,3.4 +Monday,18,5.3 +Friday,13,20.1 +Tuesday,16,29.7 +Sunday,8,5.3 +Wednesday,13,10.3 +Wednesday,20,2.9 +Wednesday,18,3.8 +Tuesday,12,13.3 +Wednesday,14,3.0 +Tuesday,16,4.3 +Monday,6,1.7 +Friday,8,2.9 +Wednesday,16,7.8 +Tuesday,18,20.8 +Friday,22,15.7 +Wednesday,8,6.3 +Sunday,18,5.5 +Tuesday,13,14.3 +Wednesday,10,39.3 +Wednesday,9,9.1 +Monday,7,11.5 +Monday,10,18.9 +Wednesday,19,9.1 +Thursday,8,10.5 +Thursday,23,4.9 +Friday,14,4.6 +Tuesday,7,13.2 +Wednesday,19,15.5 +Saturday,19,4.0 +Friday,13,14.9 +Tuesday,7,17.0 +Thursday,14,15.5 +Wednesday,10,0.5 +Monday,10,1.3 +Monday,14,29.1 +Wednesday,12,23.0 +Wednesday,16,18.6 +Tuesday,17,11.7 +Friday,17,11.8 +Tuesday,23,5.9 +Monday,15,14.0 +Monday,9,10.6 +Thursday,13,11.4 +Friday,5,8.1 +Tuesday,2,6.6 +Friday,19,9.8 +Thursday,13,13.2 +Friday,1,5.6 +Friday,21,19.4 +Thursday,12,3.9 +Monday,15,18.9 +Monday,17,14.2 +Friday,13,7.7 +Monday,14,20.1 +Monday,14,34.2 +Wednesday,12,16.9 +Sunday,18,9.8 +Monday,18,3.0 +Monday,10,4.0 +Friday,14,2.3 +Friday,12,22.3 +Monday,13,26.3 +Sunday,12,11.7 +Thursday,8,11.9 +Thursday,13,29.8 +Sunday,9,5.5 +Thursday,15,0.2 +Thursday,21,9.9 +Thursday,10,12.3 +Sunday,10,5.9 +Wednesday,19,6.7 +Thursday,7,5.5 +Saturday,19,11.2 +Thursday,7,25.6 +Saturday,19,8.3 +Wednesday,19,20.2 +Monday,18,4.3 +Saturday,5,14.0 +Friday,8,26.0 +Friday,14,6.2 +Saturday,0,6.3 +Wednesday,9,11.8 +Friday,17,5.4 +Tuesday,20,10.2 +Thursday,11,2.0 +Monday,10,5.5 +Wednesday,16,10.1 +Monday,20,2.5 +Tuesday,19,7.1 +Monday,11,14.0 +Wednesday,3,9.5 +Saturday,10,4.0 +Sunday,10,3.0 +Tuesday,18,8.5 +Friday,7,3.0 +Friday,12,3.0 +Monday,17,7.2 +Monday,10,26.5 +Sunday,11,10.8 +Monday,20,2.1 +Friday,19,4.4 +Friday,12,6.5 +Monday,9,2.6 +Sunday,15,13.7 +Tuesday,15,34.5 +Monday,21,10.3 +Wednesday,9,2.8 +Wednesday,9,16.7 +Saturday,13,25.3 +Sunday,20,9.9 +Thursday,7,5.9 +Saturday,21,7.8 +Friday,9,9.9 +Thursday,16,3.1 +Tuesday,9,3.7 +Friday,17,5.0 +Friday,10,18.9 +Saturday,18,4.4 +Friday,9,30.9 +Monday,20,2.6 +Wednesday,14,15.2 +Friday,9,22.7 +Saturday,8,12.7 +Monday,4,4.1 +Saturday,11,35.7 +Thursday,12,18.9 +Wednesday,8,6.2 +Friday,19,2.7 +Friday,5,11.3 +Monday,7,7.0 +Monday,2,22.8 +Saturday,10,6.0 +Monday,11,36.8 +Friday,0,14.4 +Saturday,7,3.2 +Tuesday,10,17.4 +Monday,13,14.9 +Friday,13,14.4 +Tuesday,17,8.5 +Saturday,7,13.6 +Saturday,10,6.6 +Thursday,11,16.2 +Sunday,12,3.9 +Wednesday,19,4.2 +Monday,19,3.1 +Tuesday,11,7.8 +Friday,5,16.9 +Monday,18,2.7 +Saturday,2,19.4 +Friday,2,23.5 +Thursday,18,11.3 +Monday,16,16.9 +Wednesday,20,9.4 +Saturday,17,5.8 +Monday,11,10.6 +Tuesday,17,20.7 +Thursday,14,12.5 +Sunday,10,25.4 +Wednesday,14,18.1 +Wednesday,15,6.3 +Wednesday,8,1.4 +Tuesday,12,45.0 +Tuesday,19,5.0 +Thursday,9,15.5 +Wednesday,9,4.8 +Sunday,9,3.0 +Wednesday,8,6.8 +Wednesday,10,14.3 +Saturday,7,1.8 +Wednesday,12,10.4 +Sunday,0,8.3 +Friday,8,6.6 +Monday,19,5.1 +Wednesday,1,1.9 +Monday,11,23.0 +Wednesday,9,11.4 +Thursday,7,6.5 +Thursday,10,11.6 +Thursday,19,6.0 +Saturday,9,7.6 +Sunday,14,11.1 +Saturday,19,5.8 +Saturday,9,3.5 +Saturday,13,18.8 +Thursday,12,7.7 +Saturday,13,9.9 +Thursday,10,13.5 +Sunday,19,3.7 +Monday,20,6.0 +Tuesday,17,8.9 +Friday,7,5.1 +Thursday,10,24.3 +Thursday,19,11.5 +Friday,9,6.9 +Wednesday,19,1.6 +Wednesday,15,2.1 +Monday,9,9.9 +Friday,11,24.9 +Saturday,19,3.5 +Wednesday,7,5.3 +Friday,10,6.2 +Monday,15,28.9 +Thursday,20,9.6 +Tuesday,12,17.7 +Wednesday,20,5.2 +Sunday,7,0.7 +Wednesday,9,2.5 +Thursday,18,12.2 +Friday,17,24.6 +Saturday,20,2.0 +Tuesday,10,15.8 +Sunday,7,2.6 +Saturday,15,14.9 +Friday,17,2.0 +Sunday,17,1.5 +Tuesday,12,19.1 +Thursday,12,18.1 +Thursday,8,21.2 +Monday,10,4.6 +Sunday,20,11.7 +Tuesday,13,9.9 +Wednesday,18,2.3 +Friday,9,27.1 +Friday,11,9.4 +Thursday,18,11.8 +Thursday,17,17.6 +Saturday,17,2.5 +Tuesday,7,1.2 +Thursday,13,15.3 +Sunday,17,1.6 +Monday,14,10.4 +Wednesday,16,13.9 +Wednesday,7,1.3 +Friday,20,7.0 +Saturday,19,3.1 +Friday,17,3.6 +Friday,22,6.4 +Thursday,19,5.0 +Tuesday,9,13.1 +Wednesday,12,5.1 +Friday,7,1.8 +Monday,17,1.6 +Monday,14,19.1 +Friday,7,0.2 +Thursday,14,18.6 +Monday,19,11.9 +Sunday,15,9.6 +Monday,2,16.5 +Wednesday,10,23.3 +Sunday,17,7.1 +Monday,15,8.8 +Tuesday,9,9.0 +Wednesday,20,3.0 +Tuesday,7,1.4 +Friday,19,0.6 +Wednesday,15,14.9 +Friday,14,35.3 +Friday,18,1.4 +Thursday,18,16.8 +Tuesday,17,9.4 +Saturday,7,1.7 +Thursday,13,20.4 +Monday,14,4.4 +Monday,16,6.7 +Wednesday,5,5.8 +Monday,15,5.7 +Tuesday,19,4.8 +Saturday,9,4.6 +Thursday,19,5.0 +Monday,18,0.4 +Saturday,11,5.9 +Friday,9,4.2 +Friday,19,2.8 +Monday,23,12.2 +Wednesday,19,4.8 +Friday,13,18.4 +Sunday,19,11.1 +Saturday,19,3.1 +Saturday,12,1.2 +Saturday,18,13.9 +Saturday,12,5.6 +Sunday,18,4.7 +Saturday,17,5.6 +Saturday,1,18.4 +Tuesday,17,10.7 +Tuesday,19,2.6 +Wednesday,14,21.7 +Tuesday,20,2.6 +Wednesday,10,11.3 +Thursday,19,28.9 +Friday,7,10.0 +Sunday,11,11.1 +Monday,2,8.2 +Monday,21,20.1 +Monday,18,8.0 +Thursday,15,8.7 +Sunday,20,20.4 +Wednesday,21,8.5 +Thursday,16,6.9 +Friday,15,12.1 +Sunday,20,1.5 +Friday,18,5.2 +Sunday,4,31.2 +Friday,7,9.0 +Monday,16,26.0 +Sunday,19,5.0 +Sunday,0,49.2 +Tuesday,16,8.1 +Monday,18,8.0 +Wednesday,21,13.7 +Friday,21,23.0 +Wednesday,6,41.6 +Sunday,11,12.2 +Saturday,13,17.3 +Sunday,18,1.9 +Monday,9,8.1 +Tuesday,19,1.1 +Thursday,7,12.5 +Friday,20,5.4 +Sunday,21,48.5 +Saturday,7,3.5 +Monday,18,10.5 +Sunday,11,22.2 +Wednesday,20,8.7 +Wednesday,15,23.5 +Thursday,14,9.4 +Friday,5,9.8 +Thursday,17,16.1 +Sunday,0,15.8 +Thursday,16,41.5 +Friday,15,2.2 +Friday,20,1.9 +Friday,15,9.4 +Sunday,19,7.0 +Saturday,20,2.9 +Sunday,3,27.9 +Wednesday,6,7.9 +Sunday,15,6.3 +Friday,16,8.3 +Sunday,21,15.1 +Tuesday,18,3.4 +Friday,21,3.3 +Tuesday,16,2.2 +Friday,13,27.9 +Saturday,12,6.2 +Wednesday,5,18.2 +Thursday,9,10.3 +Tuesday,20,5.7 +Sunday,11,12.8 +Tuesday,18,6.9 +Monday,2,33.6 +Monday,15,14.7 +Sunday,8,6.5 +Thursday,15,11.5 +Friday,16,5.3 +Wednesday,8,2.0 +Sunday,2,13.5 +Friday,13,13.9 +Monday,9,17.2 +Thursday,16,13.7 +Tuesday,10,8.5 +Wednesday,21,20.2 +Thursday,11,4.2 +Sunday,0,28.7 +Friday,10,4.8 +Tuesday,18,9.1 +Wednesday,10,5.5 +Monday,11,1.6 +Sunday,13,20.8 +Monday,18,13.8 +Monday,9,11.3 +Thursday,12,0.4 +Monday,19,14.5 +Monday,16,14.6 +Tuesday,1,3.8 +Sunday,22,9.1 +Tuesday,18,10.0 +Saturday,13,5.4 +Monday,2,23.6 +Monday,12,12.9 +Monday,13,11.1 +Friday,13,22.9 +Saturday,9,14.2 +Saturday,14,8.3 +Thursday,20,6.1 +Monday,8,14.3 +Friday,7,6.2 +Wednesday,14,27.2 +Wednesday,12,7.4 +Wednesday,18,2.2 +Friday,15,13.3 +Wednesday,10,7.8 +Thursday,15,30.7 +Thursday,8,7.4 +Tuesday,10,5.2 +Tuesday,11,20.3 +Wednesday,17,12.3 +Wednesday,20,4.2 +Sunday,7,1.6 +Tuesday,8,13.4 +Thursday,17,18.6 +Saturday,16,9.4 +Tuesday,12,5.6 +Sunday,15,14.5 +Friday,18,3.4 +Sunday,17,0.8 +Sunday,13,3.4 +Friday,17,3.9 +Saturday,17,9.4 +Sunday,18,1.1 +Sunday,18,4.1 +Tuesday,10,11.2 +Friday,7,12.9 +Sunday,7,2.0 +Saturday,15,8.9 +Thursday,14,16.6 +Monday,13,27.4 +Thursday,20,2.4 +Saturday,19,7.6 +Saturday,10,10.4 +Friday,10,10.2 +Thursday,13,3.9 +Wednesday,9,4.0 +Tuesday,12,15.1 +Thursday,14,2.4 +Thursday,9,15.3 +Monday,13,24.7 +Thursday,14,8.4 +Tuesday,9,6.5 +Tuesday,8,12.9 +Friday,8,7.7 +Wednesday,11,21.1 +Friday,12,24.7 +Thursday,15,17.9 +Sunday,9,5.2 +Thursday,11,16.9 +Friday,9,3.1 +Sunday,19,9.1 +Thursday,19,4.8 +Friday,7,6.1 +Wednesday,7,6.2 +Sunday,18,12.1 +Thursday,15,10.7 +Tuesday,17,2.1 +Thursday,20,0.8 +Monday,20,3.4 +Monday,17,16.0 +Friday,20,11.0 +Wednesday,13,23.6 +Sunday,19,5.8 +Thursday,9,4.4 +Sunday,4,14.8 +Wednesday,15,6.9 +Friday,9,25.2 +Monday,17,4.0 +Thursday,20,2.2 +Thursday,5,19.6 +Tuesday,16,24.1 +Thursday,17,4.1 +Monday,2,4.4 +Wednesday,10,1.4 +Monday,7,5.8 +Tuesday,14,10.2 +Saturday,17,0.7 +Tuesday,16,3.1 +Thursday,12,6.1 +Friday,13,33.8 +Tuesday,11,2.6 +Monday,9,7.2 +Tuesday,19,3.8 +Friday,13,25.8 +Monday,17,7.9 +Monday,15,30.2 +Thursday,16,12.7 +Monday,13,19.7 +Wednesday,17,4.0 +Thursday,11,13.9 +Sunday,15,6.4 +Wednesday,10,18.2 +Monday,4,18.2 +Saturday,11,6.6 +Sunday,20,2.2 +Tuesday,14,18.1 +Tuesday,12,20.6 +Wednesday,17,25.7 +Monday,15,5.3 +Tuesday,17,12.1 +Friday,18,1.6 +Monday,13,22.0 +Tuesday,13,8.3 +Wednesday,18,19.4 +Tuesday,9,6.8 +Tuesday,8,4.5 +Saturday,10,8.3 +Thursday,13,9.2 +Saturday,17,8.6 +Monday,12,14.5 +Thursday,20,4.7 +Thursday,11,19.8 +Friday,15,27.2 +Sunday,19,4.4 +Tuesday,16,0.5 +Saturday,5,8.2 +Sunday,10,8.3 +Monday,16,6.5 +Saturday,12,11.1 +Friday,12,33.1 +Tuesday,17,8.1 +Tuesday,3,5.9 +Monday,17,6.7 +Saturday,3,6.6 +Tuesday,14,18.6 +Wednesday,12,43.2 +Saturday,0,6.9 +Monday,0,13.3 +Thursday,13,10.4 +Monday,16,2.2 +Saturday,14,17.1 +Wednesday,8,18.0 +Friday,18,9.2 +Saturday,15,15.0 +Friday,11,0.7 +Friday,18,9.3 +Thursday,0,47.7 +Wednesday,5,11.1 +Sunday,16,6.0 +Friday,1,9.8 +Tuesday,16,10.7 +Wednesday,19,10.2 +Friday,9,20.4 +Sunday,7,1.3 +Wednesday,18,3.6 +Friday,10,9.7 +Friday,16,10.7 +Wednesday,20,2.8 +Sunday,20,3.6 +Tuesday,18,8.5 +Tuesday,17,5.4 +Monday,14,15.0 +Friday,12,14.9 +Sunday,16,8.6 +Friday,12,21.2 +Friday,16,13.8 +Wednesday,18,9.1 +Tuesday,17,3.2 +Tuesday,19,4.1 +Sunday,15,19.4 +Thursday,4,4.5 +Saturday,8,7.6 +Friday,2,11.9 +Friday,9,4.1 +Wednesday,19,5.0 +Thursday,12,11.8 +Monday,12,36.6 +Friday,14,12.8 +Saturday,7,4.4 +Tuesday,15,8.4 +Wednesday,11,15.2 +Thursday,16,13.6 +Wednesday,17,5.2 +Thursday,8,3.8 +Saturday,15,11.7 +Thursday,21,15.4 +Thursday,16,7.9 +Wednesday,8,11.4 +Saturday,10,5.7 +Thursday,16,5.9 +Saturday,19,8.7 +Sunday,10,5.6 +Wednesday,1,17.3 +Tuesday,10,12.3 +Friday,13,6.3 +Monday,19,3.0 +Friday,13,3.4 +Friday,20,3.5 +Tuesday,21,18.0 +Monday,15,13.2 +Saturday,1,20.3 +Tuesday,20,8.3 +Sunday,2,11.4 +Wednesday,13,15.8 +Saturday,21,5.3 +Wednesday,15,12.6 +Thursday,6,7.2 +Friday,12,9.5 +Saturday,9,12.0 +Monday,15,1.8 +Saturday,13,10.6 +Wednesday,11,17.1 +Friday,3,9.1 +Monday,17,1.3 +Thursday,0,41.7 +Saturday,7,6.3 +Sunday,15,7.1 +Wednesday,12,2.4 +Wednesday,20,6.6 +Monday,14,8.0 +Sunday,8,11.9 +Friday,13,10.6 +Wednesday,20,10.9 +Sunday,3,7.4 +Saturday,18,8.1 +Thursday,15,4.3 +Monday,13,6.3 +Sunday,15,7.7 +Wednesday,22,12.4 +Monday,9,17.2 +Wednesday,15,4.4 +Monday,17,1.8 +Thursday,19,3.3 +Thursday,16,6.0 +Sunday,15,12.0 +Sunday,10,8.1 +Tuesday,7,13.8 +Tuesday,16,5.0 +Sunday,15,21.8 +Saturday,17,1.6 +Thursday,13,1.4 +Saturday,19,8.8 +Sunday,13,11.2 +Monday,9,20.4 +Wednesday,20,1.5 +Wednesday,18,4.8 +Tuesday,12,8.7 +Friday,15,2.8 +Sunday,10,9.1 +Saturday,6,8.0 +Monday,19,10.1 +Friday,11,8.5 +Sunday,16,7.1 +Friday,11,27.3 +Tuesday,0,15.7 +Monday,9,5.5 +Thursday,12,7.8 +Monday,9,11.2 +Monday,20,4.7 +Thursday,1,20.8 +Saturday,12,10.0 +Tuesday,16,23.1 +Monday,17,4.1 +Wednesday,20,8.0 +Friday,14,11.9 +Wednesday,16,7.6 +Monday,10,19.6 +Thursday,14,15.3 +Friday,19,6.6 +Wednesday,6,10.4 +Thursday,10,16.0 +Friday,11,17.4 +Sunday,20,4.6 +Wednesday,18,1.9 +Tuesday,6,3.4 +Friday,15,14.6 +Friday,16,8.2 +Friday,7,9.1 +Sunday,18,2.8 +Tuesday,13,27.1 +Monday,10,7.2 +Thursday,10,17.1 +Thursday,13,27.7 +Friday,11,25.0 +Wednesday,11,38.2 +Monday,11,33.6 +Saturday,14,5.1 +Monday,13,16.9 +Friday,11,18.1 +Saturday,16,10.7 +Friday,17,3.7 +Friday,8,4.0 +Saturday,18,8.9 +Friday,23,18.4 +Saturday,10,6.8 +Wednesday,17,8.0 +Friday,5,3.2 +Friday,4,5.4 +Monday,20,3.1 +Tuesday,7,1.1 +Wednesday,21,13.9 +Thursday,20,4.5 +Friday,22,25.8 +Tuesday,20,1.3 +Friday,16,3.3 +Saturday,10,11.6 +Thursday,22,7.5 +Tuesday,13,8.7 +Saturday,7,7.9 +Saturday,15,4.9 +Thursday,19,3.5 +Wednesday,20,14.7 +Friday,13,3.2 +Thursday,3,22.9 +Wednesday,7,3.8 +Thursday,12,14.1 +Saturday,17,5.5 +Tuesday,4,11.4 +Thursday,13,24.7 +Thursday,13,22.3 +Sunday,18,8.0 +Tuesday,7,5.8 +Saturday,19,5.8 +Wednesday,12,9.9 +Friday,14,8.2 +Sunday,14,8.7 +Tuesday,15,3.9 +Thursday,16,27.1 +Saturday,20,3.2 +Friday,16,15.1 +Monday,8,6.1 +Friday,8,11.8 +Monday,17,4.6 +Friday,19,4.9 +Sunday,19,3.2 +Monday,9,12.1 +Wednesday,14,32.4 +Tuesday,12,12.3 +Saturday,9,7.3 +Wednesday,19,4.7 +Saturday,13,9.9 +Friday,19,4.2 +Thursday,16,4.3 +Wednesday,6,18.5 +Monday,14,4.3 +Wednesday,13,10.7 +Sunday,19,2.2 +Monday,20,3.9 +Tuesday,22,19.7 +Monday,18,3.2 +Tuesday,16,31.6 +Sunday,8,2.9 +Friday,17,6.7 +Wednesday,16,14.3 +Thursday,18,14.7 +Friday,18,10.6 +Sunday,3,4.8 +Friday,0,10.0 +Thursday,18,7.8 +Sunday,10,24.2 +Wednesday,12,6.7 +Saturday,9,2.8 +Friday,12,20.0 +Tuesday,12,15.5 +Monday,9,4.9 +Tuesday,16,2.2 +Tuesday,18,2.9 +Thursday,15,8.9 +Tuesday,7,5.2 +Wednesday,7,3.6 +Sunday,19,12.6 +Tuesday,19,2.9 +Tuesday,20,8.5 +Sunday,12,2.4 +Wednesday,18,2.8 +Wednesday,14,49.1 +Wednesday,17,2.8 +Saturday,13,9.0 +Thursday,12,15.9 +Friday,9,3.6 +Monday,19,15.3 +Wednesday,2,10.5 +Thursday,13,20.7 +Monday,17,8.2 +Thursday,19,8.5 +Saturday,19,12.7 +Monday,7,12.1 +Friday,9,15.5 +Monday,9,33.2 +Monday,12,32.6 +Thursday,19,2.3 +Thursday,10,9.2 +Tuesday,14,5.1 +Saturday,10,10.7 +Wednesday,11,8.4 +Wednesday,7,10.7 +Monday,13,14.3 +Tuesday,13,5.4 +Wednesday,9,16.5 +Thursday,18,5.3 +Friday,11,4.1 +Sunday,14,10.6 +Friday,15,14.8 +Saturday,18,7.6 +Thursday,16,4.8 +Thursday,18,21.7 +Monday,11,11.0 +Tuesday,5,52.1 +Friday,10,12.6 +Sunday,9,12.1 +Saturday,4,17.5 +Monday,0,2.9 +Monday,12,15.8 +Wednesday,8,22.8 +Monday,9,9.3 +Thursday,14,11.9 +Wednesday,5,23.6 +Sunday,17,3.5 +Sunday,17,11.7 +Monday,19,10.3 +Monday,20,2.5 +Saturday,12,0.8 +Friday,7,7.8 +Thursday,11,7.0 +Tuesday,0,6.8 +Wednesday,17,10.8 +Saturday,7,6.7 +Tuesday,7,2.9 +Sunday,11,10.8 +Saturday,20,2.8 +Saturday,11,16.5 +Thursday,13,7.9 +Wednesday,18,6.3 +Monday,15,13.9 +Wednesday,14,10.0 +Saturday,17,0.9 +Sunday,16,0.7 +Tuesday,5,7.2 +Wednesday,20,4.9 +Wednesday,12,6.9 +Thursday,17,2.9 +Thursday,7,12.4 +Wednesday,9,3.0 +Friday,3,24.9 +Monday,10,19.3 +Saturday,15,6.0 +Thursday,12,8.6 +Tuesday,16,25.3 +Wednesday,16,5.0 +Thursday,22,5.7 +Thursday,23,15.1 +Sunday,20,14.4 +Wednesday,7,7.9 +Sunday,13,3.3 +Monday,8,5.4 +Saturday,13,7.3 +Friday,13,19.9 +Thursday,17,7.7 +Monday,20,2.2 +Tuesday,18,8.4 +Tuesday,5,9.9 +Wednesday,19,13.5 +Thursday,13,31.4 +Monday,10,12.2 +Tuesday,17,4.5 +Thursday,7,5.4 +Sunday,15,15.5 +Tuesday,0,14.4 +Thursday,20,3.1 +Friday,19,1.0 +Saturday,14,5.7 +Tuesday,14,2.9 +Monday,12,19.9 +Friday,20,7.0 +Monday,10,6.6 +Sunday,18,31.5 +Sunday,18,13.5 +Tuesday,14,7.7 +Thursday,8,4.4 +Thursday,9,3.5 +Sunday,13,9.7 +Friday,8,14.9 +Wednesday,17,2.2 +Friday,12,21.1 +Thursday,13,19.3 +Wednesday,13,4.0 +Thursday,15,3.3 +Friday,23,2.3 +Thursday,13,31.7 +Saturday,8,5.6 +Saturday,17,15.5 +Wednesday,15,4.6 +Tuesday,16,22.9 +Friday,7,5.5 +Friday,16,7.4 +Saturday,14,3.3 +Tuesday,12,12.1 +Saturday,18,8.8 +Sunday,12,14.0 +Thursday,10,12.8 +Wednesday,9,10.6 +Sunday,10,18.4 +Tuesday,22,26.4 +Tuesday,14,6.4 +Tuesday,7,7.2 +Saturday,17,5.7 +Tuesday,9,23.8 +Friday,13,21.6 +Sunday,18,2.1 +Friday,19,3.4 +Tuesday,19,10.4 +Saturday,20,22.2 +Wednesday,14,12.9 +Friday,10,30.7 +Wednesday,19,12.1 +Wednesday,4,11.0 +Thursday,11,8.3 +Saturday,9,6.4 +Sunday,19,2.5 +Tuesday,16,6.1 +Saturday,17,4.5 +Friday,4,4.4 +Sunday,17,10.8 +Monday,8,28.3 +Monday,13,4.1 +Thursday,14,6.3 +Monday,8,17.6 +Saturday,9,6.0 +Wednesday,14,8.4 +Wednesday,8,20.3 +Wednesday,11,6.3 +Sunday,13,21.2 +Friday,19,2.6 +Monday,14,3.3 +Thursday,5,14.2 +Friday,18,13.6 +Friday,8,10.1 +Sunday,22,19.3 +Tuesday,14,15.7 +Thursday,17,2.7 +Saturday,17,6.7 +Friday,10,8.0 +Monday,12,17.6 +Friday,8,27.0 +Wednesday,5,13.5 +Thursday,18,10.4 +Sunday,19,15.6 +Thursday,18,4.1 +Saturday,11,40.7 +Wednesday,6,12.5 +Sunday,10,10.8 +Friday,14,27.8 +Tuesday,10,40.3 +Saturday,15,22.0 +Monday,16,32.6 +Wednesday,15,12.7 +Thursday,10,7.4 +Friday,13,28.3 +Saturday,15,15.6 +Thursday,12,29.4 +Sunday,11,11.3 +Monday,19,5.1 +Wednesday,15,5.2 +Tuesday,19,5.8 +Monday,13,10.8 +Wednesday,15,9.0 +Wednesday,8,13.2 +Saturday,13,6.3 +Thursday,17,2.1 +Thursday,1,2.7 +Tuesday,15,34.1 +Wednesday,7,6.2 +Friday,1,24.8 +Friday,5,7.7 +Thursday,11,25.2 +Thursday,4,9.0 +Friday,15,17.0 +Saturday,11,8.9 +Monday,16,16.5 +Sunday,15,4.5 +Friday,23,46.6 +Wednesday,18,21.8 +Thursday,12,13.4 +Friday,15,5.2 +Tuesday,13,7.4 +Monday,8,7.9 +Wednesday,16,9.7 +Friday,12,26.4 +Thursday,7,8.7 +Tuesday,20,1.2 +Saturday,16,5.8 +Saturday,15,11.8 +Wednesday,14,12.5 +Tuesday,17,6.4 +Thursday,7,7.1 +Sunday,16,11.5 +Tuesday,13,14.5 +Thursday,17,9.8 +Wednesday,20,8.2 +Friday,14,15.1 +Friday,18,8.4 +Sunday,10,5.9 +Friday,11,3.4 +Thursday,19,5.8 +Saturday,16,2.6 +Saturday,8,7.5 +Tuesday,15,4.8 +Friday,14,24.5 +Sunday,0,11.9 +Saturday,9,8.1 +Tuesday,19,9.2 +Wednesday,10,16.8 +Monday,20,9.2 +Friday,7,5.3 +Saturday,15,3.4 +Monday,6,21.9 +Saturday,12,4.3 +Saturday,18,1.7 +Sunday,13,7.0 +Sunday,15,3.8 +Saturday,11,7.6 +Monday,21,18.8 +Saturday,20,4.0 +Wednesday,9,15.0 +Sunday,12,7.3 +Thursday,3,11.6 +Thursday,7,5.8 +Tuesday,1,9.5 +Wednesday,10,18.7 +Tuesday,11,19.2 +Saturday,12,1.3 +Friday,16,15.2 +Monday,2,15.3 +Saturday,15,5.1 +Wednesday,20,9.8 +Wednesday,21,7.4 +Monday,8,10.1 +Monday,14,1.7 +Saturday,20,8.0 +Sunday,9,7.1 +Friday,8,7.9 +Wednesday,10,17.3 +Thursday,14,7.8 +Thursday,1,3.4 +Wednesday,20,9.1 +Sunday,20,3.7 +Monday,19,8.7 +Sunday,10,1.2 +Wednesday,14,12.8 +Friday,15,21.2 +Thursday,15,8.1 +Sunday,9,17.5 +Sunday,10,37.2 +Tuesday,9,6.6 +Monday,6,14.4 +Sunday,18,2.9 +Wednesday,14,9.8 +Saturday,4,3.9 +Thursday,15,33.7 +Sunday,9,2.0 +Monday,9,9.4 +Saturday,9,2.8 +Friday,13,22.9 +Tuesday,18,5.7 +Saturday,17,3.3 +Wednesday,12,21.6 +Thursday,13,9.0 +Wednesday,17,16.9 +Wednesday,14,8.9 +Wednesday,18,8.2 +Saturday,1,23.9 +Wednesday,15,8.2 +Tuesday,16,13.4 +Wednesday,11,3.7 +Tuesday,19,12.8 +Monday,20,4.5 +Monday,19,9.9 +Tuesday,15,17.7 +Thursday,12,6.9 +Saturday,8,6.2 +Tuesday,22,25.1 +Wednesday,20,6.8 +Monday,17,7.6 +Wednesday,11,6.1 +Thursday,2,8.8 +Wednesday,22,2.5 +Saturday,13,26.1 +Wednesday,14,6.5 +Tuesday,11,39.9 +Sunday,11,7.2 +Friday,18,6.9 +Monday,10,2.6 +Thursday,13,7.9 +Tuesday,7,10.1 +Monday,15,2.7 +Sunday,7,3.4 +Thursday,11,29.7 +Thursday,18,3.0 +Saturday,10,16.3 +Saturday,18,5.5 +Friday,19,1.8 +Monday,12,1.3 +Tuesday,15,2.0 +Wednesday,16,16.0 +Sunday,11,18.4 +Friday,19,2.7 +Thursday,16,16.3 +Saturday,0,26.8 +Sunday,13,6.8 +Friday,8,2.1 +Friday,14,11.3 +Saturday,10,25.2 +Friday,19,3.3 +Sunday,20,1.4 +Tuesday,14,3.7 +Sunday,8,9.4 +Saturday,13,13.1 +Monday,12,6.9 +Saturday,9,17.7 +Thursday,9,8.6 +Sunday,17,10.5 +Sunday,13,13.7 +Monday,8,7.0 +Thursday,12,6.2 +Tuesday,18,8.6 +Saturday,18,1.8 +Thursday,8,7.1 +Friday,9,11.8 +Saturday,19,5.6 +Saturday,17,1.9 +Tuesday,17,12.5 +Wednesday,14,6.6 +Sunday,18,4.1 +Saturday,9,24.6 +Sunday,1,21.4 +Saturday,17,8.1 +Tuesday,13,11.2 +Friday,13,2.7 +Tuesday,18,13.7 +Tuesday,15,18.4 +Sunday,17,8.9 +Sunday,17,1.0 +Wednesday,23,7.9 +Saturday,19,4.5 +Sunday,20,1.8 +Wednesday,15,1.8 +Saturday,13,16.7 +Tuesday,16,10.4 +Saturday,13,6.8 +Tuesday,16,13.3 +Wednesday,9,19.5 +Thursday,13,9.0 +Friday,10,8.3 +Monday,19,0.7 +Tuesday,11,12.1 +Monday,15,5.0 +Thursday,18,9.6 +Friday,12,7.4 +Sunday,19,4.1 +Wednesday,14,13.4 +Monday,18,3.7 +Thursday,19,12.2 +Thursday,5,20.8 +Thursday,19,8.6 +Monday,20,4.6 +Wednesday,10,10.5 +Thursday,14,5.5 +Tuesday,10,4.8 +Monday,16,10.9 +Saturday,18,16.0 +Wednesday,13,1.2 +Wednesday,19,3.7 +Monday,8,7.5 +Friday,10,29.9 +Tuesday,17,18.7 +Saturday,13,21.9 +Thursday,18,7.4 +Thursday,11,41.8 +Thursday,7,5.4 +Saturday,18,2.3 +Saturday,16,21.0 +Saturday,14,8.7 +Saturday,17,6.0 +Sunday,9,18.3 +Thursday,12,15.1 +Wednesday,15,5.1 +Wednesday,9,11.0 +Tuesday,21,9.5 +Saturday,15,7.6 +Monday,8,5.2 +Sunday,21,9.7 +Tuesday,10,10.5 +Thursday,17,1.4 +Thursday,1,6.8 +Wednesday,13,14.3 +Friday,4,25.7 +Monday,19,10.6 +Sunday,17,15.1 +Wednesday,7,14.9 +Monday,15,17.0 +Sunday,16,6.7 +Friday,17,9.3 +Tuesday,17,3.7 +Thursday,8,2.4 +Sunday,20,3.6 +Thursday,0,10.7 +Wednesday,18,7.6 +Saturday,10,22.5 +Tuesday,11,8.0 +Sunday,12,4.4 +Wednesday,16,7.7 +Tuesday,18,4.7 +Monday,10,7.3 +Monday,19,6.3 +Sunday,13,8.1 +Tuesday,17,3.0 +Wednesday,10,19.2 +Wednesday,16,4.5 +Wednesday,22,46.9 +Saturday,7,4.4 +Sunday,20,2.3 +Wednesday,11,3.1 +Sunday,11,12.0 +Saturday,15,11.6 +Tuesday,11,37.7 +Monday,15,15.4 +Thursday,7,4.4 +Wednesday,12,20.9 +Sunday,10,12.0 +Wednesday,10,34.9 +Friday,19,2.8 +Thursday,14,15.9 +Tuesday,11,18.9 +Wednesday,8,9.8 +Sunday,9,2.5 +Tuesday,11,15.4 +Friday,18,1.9 +Monday,7,16.9 +Monday,9,10.5 +Tuesday,12,29.7 +Friday,13,42.3 +Friday,6,2.9 +Thursday,2,12.4 +Sunday,11,17.9 +Saturday,17,7.8 +Wednesday,8,9.9 +Friday,17,13.8 +Monday,16,22.9 +Sunday,11,8.6 +Sunday,15,13.8 +Thursday,20,2.6 +Monday,10,7.0 +Monday,9,13.4 +Tuesday,17,16.5 +Monday,7,1.5 +Friday,8,10.8 +Friday,15,35.2 +Monday,12,15.1 +Wednesday,10,27.6 +Saturday,14,8.1 +Monday,15,5.7 +Monday,10,28.0 +Sunday,13,33.5 +Saturday,9,2.5 +Thursday,14,1.0 +Saturday,19,8.2 +Tuesday,10,10.5 +Wednesday,13,12.8 +Saturday,19,1.7 +Monday,12,26.6 +Tuesday,20,19.0 +Friday,15,10.0 +Wednesday,18,4.5 +Saturday,10,2.1 +Saturday,16,7.8 +Wednesday,14,10.4 +Monday,19,14.8 +Wednesday,20,5.1 +Friday,14,11.6 +Wednesday,7,2.0 +Friday,11,7.5 +Friday,5,15.2 +Thursday,7,9.3 +Saturday,17,4.3 +Saturday,22,29.3 +Saturday,10,2.1 +Monday,17,26.6 +Saturday,8,9.8 +Sunday,20,5.0 +Monday,14,6.4 +Saturday,7,11.9 +Sunday,6,15.0 +Saturday,10,10.6 +Thursday,20,5.5 +Wednesday,23,28.2 +Thursday,14,6.4 +Thursday,13,9.9 +Sunday,9,4.5 +Sunday,5,11.8 +Thursday,17,19.1 +Monday,19,11.7 +Monday,15,12.8 +Saturday,20,3.7 +Wednesday,19,13.1 +Monday,17,1.7 +Thursday,13,29.7 +Wednesday,13,17.4 +Tuesday,18,2.8 +Monday,15,13.2 +Monday,9,16.4 +Monday,10,17.3 +Wednesday,8,3.2 +Sunday,17,2.1 +Tuesday,9,24.1 +Friday,17,3.9 +Thursday,7,11.4 +Tuesday,19,2.8 +Thursday,13,11.9 +Monday,19,10.6 +Wednesday,8,5.9 +Thursday,20,1.2 +Sunday,17,5.5 +Thursday,2,14.0 +Friday,8,11.5 +Friday,7,5.2 +Wednesday,5,10.4 +Saturday,3,6.5 +Saturday,3,12.7 +Thursday,8,9.2 +Thursday,15,3.0 +Tuesday,12,16.0 +Saturday,19,3.8 +Monday,12,38.3 +Thursday,12,23.9 +Wednesday,18,5.6 +Tuesday,14,6.1 +Friday,11,30.2 +Sunday,18,18.9 +Thursday,7,3.6 +Friday,9,2.4 +Wednesday,2,5.5 +Sunday,14,9.7 +Saturday,9,7.0 +Thursday,19,11.2 +Thursday,9,5.5 +Monday,19,5.2 +Wednesday,12,10.5 +Saturday,14,13.1 +Monday,12,10.8 +Sunday,9,15.0 +Thursday,10,8.9 +Saturday,9,16.3 +Saturday,0,31.0 +Friday,12,23.9 +Thursday,11,18.4 +Tuesday,14,7.0 +Saturday,0,17.0 +Monday,5,14.8 +Wednesday,18,11.2 +Sunday,19,19.9 +Wednesday,19,14.6 +Saturday,16,6.9 +Monday,7,3.3 +Sunday,9,14.1 +Monday,21,14.3 +Wednesday,15,21.1 +Tuesday,15,21.8 +Wednesday,14,30.1 +Saturday,11,2.0 +Friday,14,2.2 +Tuesday,18,9.2 +Saturday,9,13.3 +Sunday,20,1.8 +Monday,15,9.1 +Wednesday,8,3.7 +Saturday,7,5.8 +Sunday,10,4.7 +Friday,10,11.3 +Sunday,12,10.6 +Wednesday,14,15.8 +Monday,15,13.1 +Tuesday,11,4.0 +Tuesday,15,10.4 +Thursday,13,11.6 +Thursday,22,14.2 +Thursday,13,6.5 +Wednesday,11,11.2 +Sunday,17,9.4 +Saturday,14,0.8 +Thursday,19,1.8 +Friday,17,4.3 +Thursday,12,19.9 +Thursday,15,10.2 +Monday,10,13.6 +Friday,9,21.0 +Monday,16,19.9 +Friday,14,4.5 +Wednesday,15,29.4 +Monday,16,10.9 +Wednesday,17,7.2 +Saturday,9,17.5 +Thursday,21,9.7 +Sunday,10,10.8 +Thursday,20,5.1 +Sunday,10,19.6 +Tuesday,9,6.5 +Tuesday,16,19.3 +Wednesday,9,7.4 +Sunday,12,5.3 +Saturday,0,11.3 +Monday,1,1.1 +Friday,14,9.3 +Tuesday,8,19.4 +Saturday,10,10.7 +Friday,19,10.6 +Sunday,10,16.9 +Friday,11,17.1 +Friday,0,8.2 +Friday,13,7.3 +Wednesday,14,0.8 +Monday,10,4.2 +Sunday,16,6.2 +Saturday,7,2.5 +Friday,14,32.8 +Friday,8,5.1 +Friday,22,16.1 +Wednesday,18,7.8 +Thursday,20,8.6 +Thursday,17,13.9 +Thursday,11,1.6 +Monday,20,5.3 +Monday,17,4.3 +Wednesday,19,5.9 +Saturday,12,5.1 +Monday,11,23.4 +Monday,4,11.6 +Wednesday,10,6.9 +Tuesday,14,15.1 +Tuesday,17,5.3 +Saturday,8,7.9 +Tuesday,10,28.6 +Friday,8,0.9 +Thursday,7,21.0 +Monday,10,6.2 +Friday,9,8.4 +Monday,20,11.1 +Wednesday,18,7.5 +Tuesday,10,37.0 +Tuesday,17,29.4 +Saturday,14,7.8 +Monday,14,10.1 +Sunday,7,2.7 +Monday,20,1.5 +Thursday,13,9.4 +Friday,20,6.1 +Monday,20,5.8 +Monday,16,37.4 +Thursday,12,20.9 +Tuesday,19,6.3 +Thursday,14,11.3 +Thursday,7,21.5 +Friday,13,8.0 +Wednesday,9,4.5 +Tuesday,12,22.8 +Monday,14,17.4 +Sunday,10,9.9 +Tuesday,20,5.5 +Tuesday,5,6.2 +Wednesday,17,16.5 +Monday,8,8.0 +Tuesday,14,8.8 +Wednesday,7,3.2 +Friday,12,15.8 +Thursday,9,8.3 +Sunday,15,23.1 +Sunday,20,14.8 +Tuesday,9,4.8 +Monday,7,10.9 +Sunday,13,32.7 +Monday,12,13.2 +Monday,13,20.2 +Sunday,15,11.8 +Sunday,10,8.4 +Saturday,19,5.5 +Sunday,12,6.9 +Monday,16,19.3 +Friday,11,5.2 +Thursday,8,11.3 +Sunday,14,3.6 +Wednesday,20,5.3 +Saturday,13,11.3 +Wednesday,14,16.6 +Friday,12,14.4 +Tuesday,18,6.9 +Saturday,16,13.2 +Friday,16,10.9 +Wednesday,17,0.7 +Saturday,17,8.4 +Wednesday,17,5.5 +Tuesday,17,12.9 +Monday,14,19.1 +Tuesday,15,16.4 +Friday,12,30.0 +Saturday,20,8.0 +Friday,10,3.0 +Monday,13,10.4 +Saturday,17,5.4 +Friday,14,6.7 +Tuesday,13,31.7 +Wednesday,0,3.9 +Sunday,18,13.2 +Friday,10,11.8 +Wednesday,9,8.7 +Friday,11,15.4 +Friday,12,0.9 +Thursday,10,4.9 +Sunday,15,13.4 +Saturday,7,5.9 +Saturday,8,9.5 +Tuesday,20,1.9 +Wednesday,11,38.0 +Thursday,20,2.7 +Monday,11,6.2 +Saturday,19,3.3 +Wednesday,1,38.8 +Saturday,9,11.5 +Tuesday,3,14.5 +Saturday,11,4.7 +Thursday,16,16.2 +Monday,15,18.8 +Sunday,13,2.1 +Friday,2,5.0 +Monday,18,4.6 +Friday,22,17.4 +Tuesday,20,3.2 +Friday,0,29.5 +Saturday,15,15.5 +Wednesday,13,23.2 +Sunday,0,16.3 +Thursday,15,9.0 +Saturday,1,13.3 +Saturday,9,11.4 +Wednesday,10,23.8 +Wednesday,0,14.2 +Friday,14,3.9 +Wednesday,16,12.6 +Thursday,12,6.6 +Monday,7,6.3 +Friday,12,35.8 +Monday,14,16.0 +Wednesday,12,19.7 +Sunday,15,20.9 +Sunday,8,12.1 +Wednesday,3,12.1 +Monday,20,6.8 +Friday,12,14.4 +Monday,18,7.1 +Saturday,17,1.4 +Wednesday,19,1.7 +Friday,8,4.4 +Tuesday,20,3.9 +Tuesday,19,5.5 +Saturday,11,7.8 +Monday,18,4.8 +Friday,17,14.5 +Saturday,8,5.4 +Friday,1,10.6 +Saturday,9,9.9 +Saturday,15,16.8 +Friday,16,2.7 +Sunday,14,6.2 +Tuesday,20,5.1 +Sunday,9,32.1 +Thursday,14,8.3 +Saturday,17,4.8 +Saturday,13,6.5 +Saturday,21,1.0 +Friday,13,7.7 +Sunday,10,2.8 +Sunday,10,6.1 +Friday,22,10.4 +Tuesday,7,7.5 +Saturday,19,5.3 +Monday,7,14.6 +Tuesday,18,5.8 +Tuesday,14,3.7 +Wednesday,19,1.4 +Monday,9,40.7 +Thursday,16,16.4 +Sunday,18,2.4 +Wednesday,20,6.0 +Wednesday,19,1.2 +Friday,18,1.0 +Friday,15,14.3 +Friday,10,15.8 +Saturday,10,18.2 +Saturday,19,19.1 +Thursday,12,9.0 +Monday,22,14.1 +Tuesday,12,7.1 +Saturday,7,0.5 +Monday,2,22.3 +Wednesday,20,1.6 +Tuesday,22,9.2 +Monday,21,7.9 +Wednesday,17,10.9 +Wednesday,12,17.9 +Wednesday,12,12.3 +Monday,13,24.4 +Sunday,18,2.3 +Tuesday,6,0.7 +Sunday,20,12.2 +Wednesday,9,15.1 +Monday,1,7.8 +Friday,12,3.8 +Thursday,15,0.8 +Sunday,8,12.8 +Thursday,14,12.1 +Thursday,17,6.2 +Wednesday,12,14.8 +Monday,12,10.7 +Tuesday,13,18.3 +Friday,10,1.5 +Tuesday,22,8.7 +Sunday,20,2.6 +Tuesday,18,11.3 +Friday,19,1.2 +Sunday,9,9.2 +Tuesday,11,12.3 +Saturday,16,1.2 +Monday,15,11.4 +Thursday,11,31.7 +Saturday,14,1.3 +Saturday,18,2.4 +Thursday,13,21.6 +Monday,12,6.4 +Sunday,18,10.8 +Thursday,8,5.7 +Sunday,10,5.6 +Tuesday,20,6.1 +Thursday,15,9.6 +Friday,20,5.1 +Wednesday,19,9.6 +Saturday,19,2.8 +Friday,4,20.6 +Wednesday,7,11.2 +Saturday,19,12.6 +Sunday,20,5.7 +Thursday,10,5.3 +Wednesday,15,9.7 +Saturday,15,9.9 +Wednesday,19,6.0 +Thursday,20,1.7 +Saturday,8,1.0 +Monday,18,9.7 +Tuesday,5,4.0 +Tuesday,10,2.8 +Saturday,7,6.0 +Friday,11,14.7 +Tuesday,8,7.7 +Saturday,17,3.6 +Wednesday,12,16.4 +Friday,11,18.0 +Thursday,7,7.0 +Monday,6,18.7 +Monday,11,1.7 +Friday,9,4.4 +Saturday,19,8.3 +Sunday,17,17.1 +Wednesday,10,10.6 +Saturday,3,15.5 +Tuesday,17,9.7 +Wednesday,6,25.7 +Wednesday,7,5.0 +Tuesday,22,1.2 +Saturday,7,11.2 +Monday,20,1.0 +Wednesday,8,14.3 +Sunday,14,6.9 +Thursday,15,9.3 +Thursday,4,25.1 +Sunday,19,9.2 +Wednesday,14,16.3 +Sunday,15,16.7 +Saturday,12,7.4 +Wednesday,21,18.9 +Thursday,13,14.7 +Sunday,12,11.5 +Sunday,11,16.4 +Wednesday,13,22.0 +Thursday,17,11.0 +Saturday,14,24.5 +Tuesday,21,17.3 +Tuesday,6,12.3 +Tuesday,12,16.7 +Tuesday,7,7.3 +Wednesday,15,16.8 +Saturday,9,24.5 +Saturday,10,13.9 +Wednesday,20,3.2 +Saturday,4,23.2 +Sunday,19,6.2 +Wednesday,5,17.4 +Friday,20,5.6 +Monday,11,22.9 +Friday,15,8.5 +Wednesday,10,10.1 +Thursday,15,5.2 +Sunday,13,8.4 +Monday,19,10.2 +Monday,13,16.7 +Saturday,19,7.4 +Monday,17,5.6 +Tuesday,20,1.9 +Saturday,15,15.5 +Friday,14,57.3 +Saturday,2,4.8 +Thursday,1,11.7 +Monday,20,14.5 +Tuesday,1,7.5 +Wednesday,17,5.0 +Wednesday,8,3.7 +Saturday,15,21.9 +Tuesday,6,7.3 +Saturday,17,1.7 +Sunday,18,4.3 +Saturday,9,11.7 +Wednesday,20,8.0 +Monday,19,5.3 +Thursday,19,2.7 +Friday,17,8.3 +Saturday,18,2.6 +Thursday,16,9.8 +Thursday,14,22.4 +Sunday,9,2.7 +Sunday,6,5.8 +Thursday,2,9.0 +Wednesday,1,5.4 +Monday,14,16.3 +Wednesday,17,14.4 +Tuesday,8,15.1 +Monday,9,13.5 +Friday,1,5.3 +Sunday,11,14.7 +Thursday,17,5.9 +Sunday,10,7.8 +Monday,3,8.0 +Thursday,20,0.9 +Saturday,9,8.6 +Sunday,7,13.8 +Friday,3,6.1 +Friday,18,15.8 +Wednesday,14,39.5 +Tuesday,14,16.0 +Sunday,11,17.5 +Tuesday,10,9.5 +Sunday,10,16.6 +Thursday,10,5.6 +Tuesday,10,4.8 +Sunday,12,19.8 +Monday,20,5.7 +Thursday,5,3.6 +Friday,20,6.5 +Saturday,10,22.7 +Sunday,18,8.2 +Wednesday,13,31.6 +Wednesday,22,6.9 +Monday,9,10.3 +Tuesday,22,11.9 +Friday,9,9.9 +Wednesday,6,9.6 +Monday,7,2.1 +Sunday,9,2.7 +Sunday,12,3.7 +Thursday,13,43.7 +Sunday,11,6.4 +Sunday,14,5.9 +Saturday,13,21.8 +Monday,0,26.8 +Wednesday,14,16.7 +Monday,14,10.9 +Sunday,16,2.7 +Wednesday,11,27.1 +Monday,12,2.5 +Thursday,8,7.6 +Tuesday,15,4.9 +Sunday,14,30.5 +Tuesday,9,11.4 +Wednesday,18,4.8 +Monday,19,12.8 +Sunday,14,11.8 +Wednesday,20,4.9 +Friday,13,4.3 +Friday,7,8.4 +Tuesday,8,3.7 +Sunday,18,3.5 +Friday,8,15.9 +Wednesday,13,27.9 +Monday,10,2.5 +Saturday,20,2.5 +Thursday,20,2.3 +Sunday,4,25.8 +Saturday,0,13.8 +Thursday,17,5.5 +Friday,13,16.4 +Thursday,11,4.8 +Wednesday,19,7.2 +Monday,9,29.0 +Friday,8,10.9 +Wednesday,9,11.9 +Wednesday,18,6.2 +Monday,20,4.7 +Wednesday,16,10.5 +Saturday,21,2.2 +Saturday,10,5.2 +Wednesday,13,2.5 +Sunday,8,3.9 +Saturday,20,4.2 +Wednesday,15,2.6 +Saturday,14,31.1 +Sunday,18,0.9 +Sunday,14,5.9 +Wednesday,21,1.9 +Saturday,9,4.1 +Monday,11,49.4 +Monday,20,8.6 +Wednesday,9,19.7 +Wednesday,19,6.7 +Friday,17,10.1 +Monday,19,5.3 +Saturday,15,18.3 +Friday,20,12.2 +Wednesday,19,8.5 +Thursday,17,5.6 +Thursday,10,24.1 +Wednesday,22,10.8 +Monday,20,7.8 +Monday,10,7.4 +Friday,10,10.2 +Sunday,13,7.1 +Saturday,2,10.9 +Saturday,9,11.0 +Sunday,0,5.9 +Friday,19,4.5 +Tuesday,21,5.5 +Wednesday,12,12.0 +Thursday,18,8.7 +Wednesday,19,7.0 +Wednesday,22,16.9 +Monday,19,1.8 +Sunday,15,4.4 +Thursday,4,5.4 +Tuesday,17,7.9 +Tuesday,17,4.9 +Sunday,18,16.6 +Wednesday,7,6.2 +Tuesday,12,2.2 +Thursday,19,0.6 +Wednesday,8,7.2 +Wednesday,12,15.5 +Saturday,18,5.4 +Saturday,2,11.6 +Sunday,12,24.2 +Sunday,11,8.4 +Wednesday,20,1.7 +Tuesday,10,11.2 +Thursday,20,4.6 +Wednesday,19,20.2 +Monday,17,8.1 +Monday,7,11.2 +Tuesday,14,8.2 +Wednesday,11,8.7 +Tuesday,16,20.0 +Wednesday,12,10.5 +Saturday,2,15.2 +Friday,10,8.7 +Friday,20,1.8 +Monday,9,11.8 +Tuesday,12,8.2 +Tuesday,13,9.8 +Monday,11,11.9 +Thursday,15,12.0 +Tuesday,10,4.6 +Saturday,7,2.8 +Saturday,15,9.8 +Thursday,2,24.6 +Thursday,20,5.2 +Saturday,19,3.1 +Wednesday,3,5.1 +Saturday,19,1.4 +Sunday,2,9.4 +Thursday,3,12.6 +Friday,11,24.3 +Saturday,9,3.0 +Sunday,9,5.9 +Monday,7,0.3 +Sunday,10,12.9 +Wednesday,9,9.6 +Saturday,10,14.7 +Thursday,9,2.7 +Monday,13,58.2 +Monday,16,20.9 +Thursday,8,16.8 +Tuesday,14,15.3 +Saturday,15,11.7 +Monday,18,5.5 +Monday,23,20.4 +Monday,5,12.0 +Wednesday,4,24.2 +Wednesday,13,4.6 +Sunday,7,7.3 +Friday,11,48.7 +Sunday,17,4.8 +Thursday,13,12.7 +Saturday,9,8.9 +Monday,8,16.5 +Thursday,14,7.8 +Tuesday,13,6.4 +Thursday,15,10.1 +Sunday,14,5.6 +Wednesday,15,18.0 +Saturday,8,5.6 +Thursday,17,20.4 +Friday,9,4.6 +Saturday,23,5.6 +Wednesday,20,15.2 +Monday,13,6.6 +Monday,16,0.6 +Tuesday,16,14.7 +Friday,9,2.1 +Tuesday,15,13.8 +Sunday,18,16.5 +Thursday,3,3.9 +Tuesday,14,5.3 +Tuesday,19,6.3 +Sunday,20,12.1 +Monday,14,17.6 +Tuesday,7,12.9 +Monday,8,5.6 +Monday,20,8.2 +Tuesday,5,26.6 +Friday,9,12.8 +Monday,20,0.8 +Saturday,8,11.6 +Thursday,0,19.4 +Saturday,18,10.4 +Tuesday,8,3.4 +Saturday,19,2.6 +Monday,10,6.7 +Friday,11,5.1 +Monday,20,6.2 +Tuesday,14,23.8 +Wednesday,4,25.6 +Thursday,18,8.0 +Monday,20,15.0 +Tuesday,8,6.9 +Sunday,13,37.4 +Friday,6,24.9 +Monday,19,23.7 +Sunday,16,5.8 +Sunday,21,26.6 +Sunday,18,6.9 +Saturday,8,18.5 +Friday,7,7.2 +Sunday,7,11.1 +Saturday,8,12.1 +Monday,20,8.6 +Wednesday,10,11.9 +Friday,20,1.2 +Tuesday,19,4.8 +Friday,5,19.2 +Thursday,19,2.9 +Tuesday,1,17.4 +Friday,6,3.8 +Thursday,18,8.4 +Monday,7,14.0 +Saturday,9,9.6 +Tuesday,19,3.4 +Friday,15,5.5 +Monday,7,13.9 +Friday,10,29.1 +Wednesday,9,16.7 +Sunday,17,10.6 +Friday,13,7.3 +Sunday,11,31.3 +Tuesday,20,8.7 +Monday,7,7.0 +Sunday,8,11.7 +Thursday,22,2.5 +Monday,18,7.0 +Friday,16,24.3 +Monday,17,11.3 +Monday,20,8.0 +Thursday,0,14.2 +Thursday,19,7.2 +Friday,12,9.6 +Tuesday,3,3.8 +Friday,20,15.4 +Thursday,19,8.3 +Thursday,12,14.4 +Sunday,11,12.8 +Monday,16,7.5 +Friday,10,13.2 +Thursday,6,3.4 +Friday,5,23.3 +Sunday,20,3.1 +Friday,13,14.2 +Wednesday,10,32.8 +Thursday,14,7.9 +Friday,14,6.5 +Thursday,10,3.1 +Thursday,13,4.8 +Sunday,16,8.7 +Thursday,19,12.0 +Friday,7,6.5 +Friday,11,10.9 +Friday,12,1.7 +Sunday,8,4.4 +Thursday,12,11.4 +Friday,20,12.8 +Wednesday,22,29.2 +Sunday,7,7.5 +Friday,15,1.6 +Wednesday,12,9.4 +Sunday,8,9.8 +Thursday,21,8.7 +Saturday,8,13.4 +Thursday,0,8.7 +Saturday,10,10.8 +Thursday,11,34.4 +Monday,8,8.2 +Sunday,13,6.1 +Saturday,13,6.1 +Tuesday,17,0.8 +Monday,22,13.0 +Sunday,19,8.8 +Tuesday,14,14.0 +Tuesday,14,10.7 +Tuesday,18,2.7 +Sunday,0,9.5 +Friday,4,4.4 +Thursday,14,26.6 +Wednesday,14,6.1 +Wednesday,19,17.0 +Friday,11,32.1 +Thursday,11,17.7 +Wednesday,1,26.3 +Thursday,20,3.4 +Friday,9,4.0 +Thursday,15,12.0 +Tuesday,17,12.8 +Saturday,7,7.6 +Saturday,18,4.2 +Friday,14,12.3 +Thursday,6,4.6 +Sunday,11,19.7 +Wednesday,8,6.8 +Friday,17,8.5 +Wednesday,8,21.0 +Tuesday,13,20.6 +Saturday,7,8.2 +Friday,20,3.1 +Thursday,15,4.2 +Monday,18,5.7 +Wednesday,13,12.4 +Monday,15,4.1 +Saturday,7,2.9 +Thursday,8,10.2 +Tuesday,15,9.3 +Tuesday,11,14.6 +Monday,18,0.7 +Friday,18,10.7 +Monday,4,16.1 +Tuesday,11,11.2 +Friday,17,10.5 +Friday,11,25.0 +Sunday,11,11.4 +Sunday,14,19.6 +Friday,4,21.8 +Saturday,12,17.4 +Sunday,23,3.3 +Thursday,16,3.2 +Tuesday,12,34.5 +Friday,19,14.7 +Saturday,1,16.8 +Friday,20,7.0 +Thursday,20,3.9 +Saturday,9,31.5 +Sunday,20,4.7 +Monday,9,19.0 +Saturday,20,4.7 +Friday,23,12.0 +Wednesday,20,6.5 +Monday,8,24.0 +Saturday,17,9.0 +Wednesday,12,31.1 +Monday,8,15.1 +Wednesday,6,14.2 +Wednesday,12,29.6 +Tuesday,9,8.1 +Sunday,9,9.4 +Wednesday,15,2.1 +Tuesday,8,1.5 +Tuesday,14,31.3 +Friday,15,32.2 +Sunday,18,2.3 +Wednesday,10,40.3 +Friday,2,17.0 +Thursday,11,16.9 +Friday,9,29.5 +Wednesday,10,6.5 +Saturday,16,3.8 +Monday,18,5.8 +Tuesday,18,6.5 +Tuesday,19,7.5 +Friday,18,4.6 +Wednesday,20,1.2 +Saturday,9,8.5 +Sunday,17,1.7 +Thursday,20,2.4 +Wednesday,9,26.5 +Wednesday,15,21.9 +Tuesday,13,2.9 +Thursday,18,3.8 +Monday,19,0.9 +Monday,15,11.6 +Tuesday,7,11.0 +Saturday,10,12.6 +Tuesday,9,3.8 +Sunday,18,5.9 +Monday,8,6.5 +Sunday,8,8.5 +Monday,20,18.4 +Saturday,23,9.1 +Thursday,15,12.8 +Friday,9,12.4 +Wednesday,20,8.2 +Saturday,7,9.5 +Friday,15,1.8 +Monday,11,11.5 +Tuesday,14,15.4 +Tuesday,17,2.9 +Wednesday,18,10.4 +Monday,9,4.3 +Friday,12,1.2 +Wednesday,12,12.0 +Sunday,7,16.5 +Friday,14,8.2 +Tuesday,19,3.8 +Monday,4,19.0 +Wednesday,15,8.8 +Wednesday,23,1.7 +Saturday,4,9.0 +Monday,8,2.0 +Friday,23,1.7 +Sunday,4,11.1 +Wednesday,14,38.7 +Sunday,15,15.2 +Sunday,3,6.5 +Saturday,19,16.8 +Tuesday,4,22.6 +Tuesday,11,2.4 +Tuesday,18,6.5 +Friday,3,5.8 +Tuesday,18,6.7 +Saturday,18,13.4 +Friday,17,19.0 +Tuesday,12,8.9 +Monday,2,24.2 +Wednesday,9,6.8 +Friday,11,9.2 +Saturday,16,0.7 +Friday,10,39.9 +Thursday,15,2.0 +Monday,3,22.8 +Tuesday,10,2.7 +Tuesday,18,6.0 +Monday,17,1.5 +Thursday,8,4.6 +Thursday,9,6.4 +Wednesday,16,4.3 +Saturday,13,22.0 +Tuesday,19,9.6 +Wednesday,17,3.5 +Wednesday,7,1.3 +Wednesday,17,6.0 +Friday,8,4.8 +Monday,13,12.0 +Thursday,19,11.0 +Saturday,17,0.9 +Tuesday,8,10.9 +Tuesday,20,1.5 +Tuesday,20,5.8 +Monday,14,13.3 +Saturday,4,18.4 +Monday,17,6.3 +Saturday,8,6.0 +Thursday,15,10.8 +Wednesday,17,17.9 +Thursday,12,6.5 +Friday,10,28.7 +Saturday,13,9.5 +Monday,9,0.9 +Thursday,7,1.3 +Thursday,4,3.7 +Friday,8,4.6 +Monday,14,12.0 +Monday,15,5.0 +Monday,4,12.2 +Friday,17,30.5 +Monday,11,19.2 +Sunday,10,3.0 +Sunday,11,6.8 +Sunday,15,8.0 +Saturday,9,13.5 +Friday,0,16.3 +Friday,19,3.0 +Wednesday,10,20.9 +Tuesday,10,17.0 +Wednesday,8,19.8 +Monday,10,0.8 +Friday,17,8.2 +Friday,7,13.3 +Wednesday,17,16.0 +Friday,7,1.1 +Saturday,11,6.5 +Saturday,13,11.4 +Friday,18,1.6 +Tuesday,8,8.8 +Saturday,10,5.3 +Sunday,16,0.7 +Friday,19,13.7 +Friday,19,0.2 +Monday,7,10.1 +Saturday,18,0.9 +Saturday,17,9.8 +Thursday,14,12.5 +Sunday,11,24.6 +Saturday,18,8.5 +Friday,18,9.7 +Wednesday,15,8.0 +Tuesday,10,12.6 +Tuesday,0,10.6 +Wednesday,5,9.1 +Sunday,18,5.7 +Friday,10,8.8 +Sunday,8,10.2 +Friday,6,4.0 +Thursday,22,17.6 +Tuesday,12,6.4 +Thursday,14,5.1 +Friday,7,8.2 +Monday,12,14.8 +Sunday,10,3.1 +Saturday,10,30.2 +Sunday,15,14.3 +Thursday,14,10.2 +Wednesday,2,24.7 +Monday,18,13.5 +Monday,4,16.1 +Thursday,11,26.3 +Tuesday,16,9.1 +Thursday,16,4.4 +Wednesday,12,11.2 +Friday,12,0.5 +Wednesday,12,6.4 +Sunday,15,7.9 +Thursday,22,20.2 +Friday,17,3.4 +Thursday,11,14.4 +Sunday,17,6.5 +Thursday,14,12.9 +Wednesday,11,30.9 +Wednesday,12,23.1 +Saturday,14,9.1 +Wednesday,15,17.7 +Friday,22,11.4 +Friday,20,6.3 +Wednesday,3,2.5 +Friday,13,13.3 +Tuesday,9,15.4 +Monday,1,15.9 +Wednesday,8,5.3 +Tuesday,12,52.5 +Monday,8,4.1 +Thursday,19,3.4 +Tuesday,10,10.6 +Friday,9,7.1 +Saturday,7,4.6 +Wednesday,19,2.2 +Saturday,10,16.6 +Sunday,15,4.9 +Wednesday,7,10.8 +Friday,6,12.4 +Friday,15,18.4 +Monday,11,33.3 +Wednesday,19,4.9 +Sunday,14,30.1 +Thursday,16,9.7 +Saturday,14,34.1 +Sunday,18,11.9 +Wednesday,10,31.2 +Monday,14,16.2 +Friday,14,19.6 +Friday,14,6.7 +Friday,16,9.5 +Thursday,16,17.7 +Monday,18,8.0 +Thursday,10,26.2 +Saturday,23,2.1 +Wednesday,20,5.6 +Monday,12,5.8 +Wednesday,11,11.6 +Monday,16,8.4 +Tuesday,11,10.2 +Tuesday,9,26.0 +Wednesday,8,10.8 +Saturday,21,14.9 +Sunday,5,13.3 +Friday,8,8.5 +Monday,9,39.8 +Thursday,20,2.6 +Thursday,14,11.1 +Friday,1,34.5 +Tuesday,0,28.3 +Friday,20,17.2 +Monday,15,10.9 +Saturday,19,6.3 +Monday,9,8.5 +Saturday,8,4.4 +Saturday,20,8.1 +Thursday,20,4.5 +Monday,1,17.0 +Saturday,4,11.9 +Wednesday,7,12.9 +Tuesday,11,7.1 +Thursday,9,10.2 +Saturday,13,4.7 +Friday,16,7.9 +Friday,13,4.3 +Wednesday,20,7.2 +Saturday,4,13.0 +Friday,12,8.2 +Wednesday,13,11.2 +Thursday,15,15.0 +Wednesday,10,20.1 +Sunday,8,10.1 +Friday,9,8.1 +Friday,17,3.8 +Wednesday,12,20.0 +Sunday,10,6.3 +Thursday,9,3.9 +Saturday,12,10.9 +Monday,18,4.3 +Tuesday,7,9.3 +Saturday,16,9.7 +Thursday,16,1.7 +Sunday,15,8.8 +Friday,19,7.3 +Tuesday,11,5.1 +Monday,18,7.1 +Sunday,20,1.2 +Sunday,8,14.0 +Tuesday,9,31.0 +Saturday,14,25.8 +Sunday,20,15.8 +Tuesday,13,20.0 +Saturday,4,10.5 +Wednesday,16,2.5 +Friday,20,5.2 +Monday,19,7.6 +Monday,19,8.4 +Sunday,2,7.1 +Wednesday,7,1.4 +Monday,17,3.1 +Friday,11,19.2 +Tuesday,5,33.4 +Saturday,3,4.8 +Friday,18,6.8 +Monday,7,21.4 +Wednesday,13,5.7 +Thursday,15,18.1 +Sunday,16,4.8 +Friday,8,13.4 +Saturday,11,5.1 +Tuesday,8,7.8 +Wednesday,6,11.1 +Thursday,0,2.1 +Sunday,12,13.6 +Friday,23,2.0 +Tuesday,17,3.7 +Monday,18,4.8 +Wednesday,0,16.2 +Tuesday,10,4.8 +Tuesday,20,7.3 +Sunday,18,2.7 +Tuesday,23,5.7 +Saturday,14,0.7 +Thursday,8,13.6 +Sunday,19,12.0 +Saturday,12,6.5 +Wednesday,23,3.3 +Monday,20,0.3 +Monday,8,3.9 +Sunday,11,16.2 +Monday,19,2.6 +Thursday,17,8.3 +Wednesday,8,33.0 +Tuesday,15,8.6 +Wednesday,8,3.2 +Tuesday,11,3.4 +Tuesday,11,5.4 +Tuesday,13,6.9 +Sunday,8,2.2 +Sunday,17,4.0 +Monday,8,6.7 +Sunday,16,8.4 +Monday,11,30.7 +Friday,7,7.7 +Friday,11,4.8 +Sunday,17,2.1 +Tuesday,12,27.1 +Sunday,3,8.8 +Monday,23,15.1 +Tuesday,13,13.3 +Wednesday,1,5.5 +Tuesday,9,9.2 +Saturday,11,15.2 +Tuesday,7,4.5 +Wednesday,12,3.7 +Tuesday,12,13.4 +Monday,16,11.3 +Saturday,11,30.3 +Monday,20,17.8 +Monday,18,5.7 +Monday,7,5.9 +Saturday,12,15.1 +Thursday,9,10.2 diff --git a/agents/evals/fixtures/cases/heatmap-basic-matplotlib-renamed/case.json b/agents/evals/fixtures/cases/heatmap-basic-matplotlib-renamed/case.json new file mode 100644 index 0000000000..6a4d0701fe --- /dev/null +++ b/agents/evals/fixtures/cases/heatmap-basic-matplotlib-renamed/case.json @@ -0,0 +1,29 @@ +{ + "spec_id": "heatmap-basic", + "library": "matplotlib", + "locale": "de", + "perturbation": "renamed", + "bindings": [ + { + "role": "y", + "column": "Wochentag" + }, + { + "role": "x", + "column": "Stunde" + }, + { + "role": "value", + "column": "Antwortzeit Ø (min)" + } + ], + "expected": "accepted", + "tags": [ + "heatmap", + "renamed", + "synthetic", + "renamed-headers", + "non-ascii-headers" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 606, renamed)" +} diff --git a/agents/evals/fixtures/cases/heatmap-basic-matplotlib-renamed/data.csv b/agents/evals/fixtures/cases/heatmap-basic-matplotlib-renamed/data.csv new file mode 100644 index 0000000000..9ecbdd0a6d --- /dev/null +++ b/agents/evals/fixtures/cases/heatmap-basic-matplotlib-renamed/data.csv @@ -0,0 +1,169 @@ +Wochentag,Stunde,Antwortzeit Ø (min) +Monday,0,14.2 +Monday,1,15.3 +Monday,2,14.3 +Monday,3,14.8 +Monday,4,14.6 +Monday,5,14.8 +Monday,6,13.5 +Monday,7,8.7 +Monday,8,10.2 +Monday,9,11.4 +Monday,10,14.5 +Monday,11,16.2 +Monday,12,17.9 +Monday,13,16.8 +Monday,14,14.7 +Monday,15,13.2 +Monday,16,10.9 +Monday,17,8.6 +Monday,18,6.9 +Monday,19,6.0 +Monday,20,6.5 +Monday,21,13.8 +Monday,22,13.1 +Monday,23,14.4 +Tuesday,0,14.2 +Tuesday,1,13.3 +Tuesday,2,13.6 +Tuesday,3,14.8 +Tuesday,4,14.2 +Tuesday,5,14.2 +Tuesday,6,14.2 +Tuesday,7,6.7 +Tuesday,8,9.5 +Tuesday,9,13.2 +Tuesday,10,15.7 +Tuesday,11,17.4 +Tuesday,12,18.2 +Tuesday,13,16.1 +Tuesday,14,15.4 +Tuesday,15,13.5 +Tuesday,16,12.0 +Tuesday,17,9.8 +Tuesday,18,7.0 +Tuesday,19,7.1 +Tuesday,20,5.8 +Tuesday,21,14.1 +Tuesday,22,13.7 +Tuesday,23,14.3 +Wednesday,0,15.4 +Wednesday,1,14.5 +Wednesday,2,14.1 +Wednesday,3,12.6 +Wednesday,4,14.3 +Wednesday,5,13.4 +Wednesday,6,16.0 +Wednesday,7,7.4 +Wednesday,8,8.7 +Wednesday,9,11.8 +Wednesday,10,15.3 +Wednesday,11,14.9 +Wednesday,12,16.2 +Wednesday,13,15.9 +Wednesday,14,15.3 +Wednesday,15,13.4 +Wednesday,16,10.9 +Wednesday,17,10.1 +Wednesday,18,7.9 +Wednesday,19,6.0 +Wednesday,20,6.2 +Wednesday,21,13.9 +Wednesday,22,14.5 +Wednesday,23,13.2 +Thursday,0,13.0 +Thursday,1,14.3 +Thursday,2,14.4 +Thursday,3,13.6 +Thursday,4,13.9 +Thursday,5,12.9 +Thursday,6,13.6 +Thursday,7,7.7 +Thursday,8,9.5 +Thursday,9,12.8 +Thursday,10,14.7 +Thursday,11,17.0 +Thursday,12,15.3 +Thursday,13,15.7 +Thursday,14,14.7 +Thursday,15,13.1 +Thursday,16,12.0 +Thursday,17,9.4 +Thursday,18,6.7 +Thursday,19,7.3 +Thursday,20,7.8 +Thursday,21,13.4 +Thursday,22,13.8 +Thursday,23,14.0 +Friday,0,14.6 +Friday,1,14.6 +Friday,2,14.3 +Friday,3,14.8 +Friday,4,13.7 +Friday,5,13.9 +Friday,6,15.0 +Friday,7,7.6 +Friday,8,9.2 +Friday,9,12.3 +Friday,10,15.0 +Friday,11,14.7 +Friday,12,15.5 +Friday,13,15.7 +Friday,14,15.4 +Friday,15,14.0 +Friday,16,12.4 +Friday,17,9.2 +Friday,18,5.9 +Friday,19,6.6 +Friday,20,5.9 +Friday,21,14.4 +Friday,22,14.4 +Friday,23,13.5 +Saturday,0,14.3 +Saturday,1,14.4 +Saturday,2,13.4 +Saturday,3,14.3 +Saturday,4,13.3 +Saturday,5,14.2 +Saturday,6,14.0 +Saturday,7,5.2 +Saturday,8,8.2 +Saturday,9,9.4 +Saturday,10,10.2 +Saturday,11,12.1 +Saturday,12,11.9 +Saturday,13,12.1 +Saturday,14,11.1 +Saturday,15,9.6 +Saturday,16,8.6 +Saturday,17,8.3 +Saturday,18,6.6 +Saturday,19,5.6 +Saturday,20,4.0 +Saturday,21,12.9 +Saturday,22,14.1 +Saturday,23,14.2 +Sunday,0,14.9 +Sunday,1,13.9 +Sunday,2,11.5 +Sunday,3,13.8 +Sunday,4,14.2 +Sunday,5,14.9 +Sunday,6,13.6 +Sunday,7,6.7 +Sunday,8,8.8 +Sunday,9,8.8 +Sunday,10,11.1 +Sunday,11,12.1 +Sunday,12,11.0 +Sunday,13,10.3 +Sunday,14,10.7 +Sunday,15,9.7 +Sunday,16,9.2 +Sunday,17,8.9 +Sunday,18,6.4 +Sunday,19,6.9 +Sunday,20,6.0 +Sunday,21,12.8 +Sunday,22,12.7 +Sunday,23,12.4 diff --git a/agents/evals/fixtures/cases/heatmap-basic-matplotlib-x10/case.json b/agents/evals/fixtures/cases/heatmap-basic-matplotlib-x10/case.json new file mode 100644 index 0000000000..08d7d0bc59 --- /dev/null +++ b/agents/evals/fixtures/cases/heatmap-basic-matplotlib-x10/case.json @@ -0,0 +1,28 @@ +{ + "spec_id": "heatmap-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "x10", + "bindings": [ + { + "role": "y", + "column": "Weekday" + }, + { + "role": "x", + "column": "Hour" + }, + { + "role": "value", + "column": "Response Time (min)" + } + ], + "expected": "accepted", + "tags": [ + "heatmap", + "x10", + "synthetic", + "scaled-values" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 606, x10)" +} diff --git a/agents/evals/fixtures/cases/heatmap-basic-matplotlib-x10/data.csv b/agents/evals/fixtures/cases/heatmap-basic-matplotlib-x10/data.csv new file mode 100644 index 0000000000..0acbde41bf --- /dev/null +++ b/agents/evals/fixtures/cases/heatmap-basic-matplotlib-x10/data.csv @@ -0,0 +1,169 @@ +Weekday,Hour,Response Time (min) +Monday,0,142.1 +Monday,1,153.0 +Monday,2,142.9 +Monday,3,147.9 +Monday,4,146.3 +Monday,5,147.8 +Monday,6,134.9 +Monday,7,86.6 +Monday,8,101.7 +Monday,9,113.6 +Monday,10,145.0 +Monday,11,161.6 +Monday,12,178.7 +Monday,13,167.8 +Monday,14,147.1 +Monday,15,131.8 +Monday,16,109.1 +Monday,17,85.7 +Monday,18,69.1 +Monday,19,60.2 +Monday,20,65.4 +Monday,21,138.5 +Monday,22,131.0 +Monday,23,144.0 +Tuesday,0,141.8 +Tuesday,1,132.7 +Tuesday,2,136.2 +Tuesday,3,148.4 +Tuesday,4,142.0 +Tuesday,5,142.4 +Tuesday,6,142.2 +Tuesday,7,67.3 +Tuesday,8,94.6 +Tuesday,9,131.5 +Tuesday,10,157.5 +Tuesday,11,174.2 +Tuesday,12,181.8 +Tuesday,13,161.2 +Tuesday,14,154.4 +Tuesday,15,134.8 +Tuesday,16,120.1 +Tuesday,17,98.2 +Tuesday,18,70.2 +Tuesday,19,70.7 +Tuesday,20,57.5 +Tuesday,21,141.1 +Tuesday,22,136.7 +Tuesday,23,142.7 +Wednesday,0,153.6 +Wednesday,1,145.3 +Wednesday,2,141.1 +Wednesday,3,125.5 +Wednesday,4,142.9 +Wednesday,5,134.1 +Wednesday,6,160.3 +Wednesday,7,74.2 +Wednesday,8,87.0 +Wednesday,9,117.6 +Wednesday,10,153.1 +Wednesday,11,148.8 +Wednesday,12,162.2 +Wednesday,13,158.8 +Wednesday,14,152.9 +Wednesday,15,133.9 +Wednesday,16,109.1 +Wednesday,17,101.2 +Wednesday,18,78.6 +Wednesday,19,59.6 +Wednesday,20,62.4 +Wednesday,21,138.5 +Wednesday,22,145.5 +Wednesday,23,132.3 +Thursday,0,129.6 +Thursday,1,142.6 +Thursday,2,144.2 +Thursday,3,136.2 +Thursday,4,139.3 +Thursday,5,129.1 +Thursday,6,135.7 +Thursday,7,77.0 +Thursday,8,94.6 +Thursday,9,128.4 +Thursday,10,147.4 +Thursday,11,169.8 +Thursday,12,153.4 +Thursday,13,156.7 +Thursday,14,146.6 +Thursday,15,131.2 +Thursday,16,120.1 +Thursday,17,94.3 +Thursday,18,66.6 +Thursday,19,72.7 +Thursday,20,78.0 +Thursday,21,134.2 +Thursday,22,137.9 +Thursday,23,139.9 +Friday,0,145.6 +Friday,1,145.8 +Friday,2,143.1 +Friday,3,148.2 +Friday,4,136.9 +Friday,5,139.1 +Friday,6,150.2 +Friday,7,75.7 +Friday,8,91.6 +Friday,9,122.6 +Friday,10,150.2 +Friday,11,147.5 +Friday,12,154.8 +Friday,13,156.9 +Friday,14,154.4 +Friday,15,139.7 +Friday,16,123.6 +Friday,17,91.7 +Friday,18,59.3 +Friday,19,65.5 +Friday,20,58.6 +Friday,21,143.7 +Friday,22,143.7 +Friday,23,135.4 +Saturday,0,142.9 +Saturday,1,143.9 +Saturday,2,133.6 +Saturday,3,142.8 +Saturday,4,132.7 +Saturday,5,142.3 +Saturday,6,139.6 +Saturday,7,52.0 +Saturday,8,81.9 +Saturday,9,93.8 +Saturday,10,102.2 +Saturday,11,121.3 +Saturday,12,119.1 +Saturday,13,121.1 +Saturday,14,110.7 +Saturday,15,96.3 +Saturday,16,86.3 +Saturday,17,83.2 +Saturday,18,66.4 +Saturday,19,55.6 +Saturday,20,40.1 +Saturday,21,128.9 +Saturday,22,141.5 +Saturday,23,142.4 +Sunday,0,148.8 +Sunday,1,139.5 +Sunday,2,114.9 +Sunday,3,138.4 +Sunday,4,142.3 +Sunday,5,148.6 +Sunday,6,136.0 +Sunday,7,67.1 +Sunday,8,88.3 +Sunday,9,88.3 +Sunday,10,110.8 +Sunday,11,121.3 +Sunday,12,110.4 +Sunday,13,102.6 +Sunday,14,107.0 +Sunday,15,97.3 +Sunday,16,91.8 +Sunday,17,89.3 +Sunday,18,63.5 +Sunday,19,69.3 +Sunday,20,59.7 +Sunday,21,128.1 +Sunday,22,127.1 +Sunday,23,124.0 diff --git a/agents/evals/fixtures/cases/heatmap-basic-seaborn-date/case.json b/agents/evals/fixtures/cases/heatmap-basic-seaborn-date/case.json new file mode 100644 index 0000000000..6957a4323c --- /dev/null +++ b/agents/evals/fixtures/cases/heatmap-basic-seaborn-date/case.json @@ -0,0 +1,30 @@ +{ + "spec_id": "heatmap-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "date", + "bindings": [ + { + "role": "y", + "column": "Weekday" + }, + { + "role": "x", + "column": "Hour" + }, + { + "role": "value", + "column": "Response Time (min)" + } + ], + "expected": "accepted", + "tags": [ + "heatmap", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 606, date)" +} diff --git a/agents/evals/fixtures/cases/heatmap-basic-seaborn-date/data.csv b/agents/evals/fixtures/cases/heatmap-basic-seaborn-date/data.csv new file mode 100644 index 0000000000..3e75b7d7ae --- /dev/null +++ b/agents/evals/fixtures/cases/heatmap-basic-seaborn-date/data.csv @@ -0,0 +1,169 @@ +Weekday,Hour,Response Time (min),Week Of,Exported On +Monday,0,14.2,26.01.2026,2026-01-27 +Monday,1,15.3,07.01.2026,2026-01-09 +Monday,2,14.3,31.01.2026,2026-02-02 +Monday,3,14.8,08.03.2026,2026-03-12 +Monday,4,14.6,20.04.2026,2026-04-20 +Monday,5,14.8,06.04.2026,2026-04-06 +Monday,6,13.5,09.03.2026,2026-03-12 +Monday,7,8.7,11.05.2026,2026-05-12 +Monday,8,10.2,16.06.2026,2026-06-20 +Monday,9,11.4,26.04.2026,2026-04-29 +Monday,10,14.5,11.02.2026,2026-02-12 +Monday,11,16.2,10.04.2026,2026-04-14 +Monday,12,17.9,30.03.2026,2026-04-03 +Monday,13,16.8,12.03.2026,2026-03-14 +Monday,14,14.7,10.03.2026,2026-03-14 +Monday,15,13.2,14.04.2026,2026-04-16 +Monday,16,10.9,26.04.2026,2026-04-26 +Monday,17,8.6,18.05.2026,2026-05-18 +Monday,18,6.9,29.05.2026,2026-05-30 +Monday,19,6.0,23.05.2026,2026-05-23 +Monday,20,6.5,10.01.2026,2026-01-13 +Monday,21,13.8,16.02.2026,2026-02-19 +Monday,22,13.1,20.06.2026,2026-06-22 +Monday,23,14.4,29.01.2026,2026-01-31 +Tuesday,0,14.2,25.06.2026,2026-06-25 +Tuesday,1,13.3,20.02.2026,2026-02-21 +Tuesday,2,13.6,06.01.2026,2026-01-10 +Tuesday,3,14.8,12.06.2026,2026-06-12 +Tuesday,4,14.2,18.02.2026,2026-02-20 +Tuesday,5,14.2,25.03.2026,2026-03-28 +Tuesday,6,14.2,03.02.2026,2026-02-05 +Tuesday,7,6.7,10.05.2026,2026-05-12 +Tuesday,8,9.5,06.03.2026,2026-03-09 +Tuesday,9,13.2,04.05.2026,2026-05-07 +Tuesday,10,15.7,15.03.2026,2026-03-17 +Tuesday,11,17.4,22.02.2026,2026-02-23 +Tuesday,12,18.2,19.06.2026,2026-06-21 +Tuesday,13,16.1,03.06.2026,2026-06-06 +Tuesday,14,15.4,29.04.2026,2026-05-01 +Tuesday,15,13.5,05.02.2026,2026-02-08 +Tuesday,16,12.0,23.01.2026,2026-01-23 +Tuesday,17,9.8,17.05.2026,2026-05-18 +Tuesday,18,7.0,23.06.2026,2026-06-24 +Tuesday,19,7.1,04.02.2026,2026-02-05 +Tuesday,20,5.8,04.04.2026,2026-04-04 +Tuesday,21,14.1,03.03.2026,2026-03-03 +Tuesday,22,13.7,26.05.2026,2026-05-27 +Tuesday,23,14.3,14.02.2026,2026-02-18 +Wednesday,0,15.4,24.03.2026,2026-03-25 +Wednesday,1,14.5,31.01.2026,2026-01-31 +Wednesday,2,14.1,05.01.2026,2026-01-05 +Wednesday,3,12.6,25.04.2026,2026-04-26 +Wednesday,4,14.3,26.06.2026,2026-06-30 +Wednesday,5,13.4,07.05.2026,2026-05-09 +Wednesday,6,16.0,18.03.2026,2026-03-18 +Wednesday,7,7.4,15.05.2026,2026-05-15 +Wednesday,8,8.7,07.05.2026,2026-05-11 +Wednesday,9,11.8,24.02.2026,2026-02-27 +Wednesday,10,15.3,08.02.2026,2026-02-12 +Wednesday,11,14.9,25.05.2026,2026-05-26 +Wednesday,12,16.2,10.02.2026,2026-02-11 +Wednesday,13,15.9,02.05.2026,2026-05-05 +Wednesday,14,15.3,24.06.2026,2026-06-25 +Wednesday,15,13.4,20.05.2026,2026-05-22 +Wednesday,16,10.9,08.05.2026,2026-05-11 +Wednesday,17,10.1,20.02.2026,2026-02-24 +Wednesday,18,7.9,11.01.2026,2026-01-11 +Wednesday,19,6.0,20.05.2026,2026-05-24 +Wednesday,20,6.2,03.03.2026,2026-03-03 +Wednesday,21,13.9,06.04.2026,2026-04-08 +Wednesday,22,14.5,16.01.2026,2026-01-19 +Wednesday,23,13.2,07.01.2026,2026-01-10 +Thursday,0,13.0,25.05.2026,2026-05-26 +Thursday,1,14.3,27.01.2026,2026-01-29 +Thursday,2,14.4,19.03.2026,2026-03-23 +Thursday,3,13.6,27.03.2026,2026-03-30 +Thursday,4,13.9,28.02.2026,2026-03-02 +Thursday,5,12.9,11.04.2026,2026-04-15 +Thursday,6,13.6,26.03.2026,2026-03-26 +Thursday,7,7.7,15.02.2026,2026-02-16 +Thursday,8,9.5,19.03.2026,2026-03-20 +Thursday,9,12.8,15.05.2026,2026-05-15 +Thursday,10,14.7,15.05.2026,2026-05-17 +Thursday,11,17.0,12.01.2026,2026-01-13 +Thursday,12,15.3,21.01.2026,2026-01-23 +Thursday,13,15.7,23.02.2026,2026-02-23 +Thursday,14,14.7,28.05.2026,2026-05-31 +Thursday,15,13.1,25.02.2026,2026-02-27 +Thursday,16,12.0,19.05.2026,2026-05-19 +Thursday,17,9.4,15.05.2026,2026-05-15 +Thursday,18,6.7,08.03.2026,2026-03-12 +Thursday,19,7.3,06.04.2026,2026-04-07 +Thursday,20,7.8,06.04.2026,2026-04-07 +Thursday,21,13.4,12.04.2026,2026-04-14 +Thursday,22,13.8,18.02.2026,2026-02-21 +Thursday,23,14.0,10.06.2026,2026-06-11 +Friday,0,14.6,28.03.2026,2026-04-01 +Friday,1,14.6,25.01.2026,2026-01-28 +Friday,2,14.3,02.06.2026,2026-06-06 +Friday,3,14.8,07.06.2026,2026-06-09 +Friday,4,13.7,08.01.2026,2026-01-10 +Friday,5,13.9,09.04.2026,2026-04-11 +Friday,6,15.0,09.04.2026,2026-04-10 +Friday,7,7.6,02.03.2026,2026-03-02 +Friday,8,9.2,29.04.2026,2026-05-03 +Friday,9,12.3,12.02.2026,2026-02-13 +Friday,10,15.0,13.05.2026,2026-05-17 +Friday,11,14.7,18.04.2026,2026-04-22 +Friday,12,15.5,01.02.2026,2026-02-04 +Friday,13,15.7,01.04.2026,2026-04-02 +Friday,14,15.4,25.01.2026,2026-01-26 +Friday,15,14.0,17.05.2026,2026-05-20 +Friday,16,12.4,08.02.2026,2026-02-09 +Friday,17,9.2,03.07.2026,2026-07-03 +Friday,18,5.9,14.03.2026,2026-03-18 +Friday,19,6.6,19.01.2026,2026-01-21 +Friday,20,5.9,15.03.2026,2026-03-19 +Friday,21,14.4,22.01.2026,2026-01-25 +Friday,22,14.4,15.05.2026,2026-05-15 +Friday,23,13.5,29.06.2026,2026-07-03 +Saturday,0,14.3,08.01.2026,2026-01-10 +Saturday,1,14.4,23.02.2026,2026-02-24 +Saturday,2,13.4,24.01.2026,2026-01-26 +Saturday,3,14.3,30.06.2026,2026-07-03 +Saturday,4,13.3,26.02.2026,2026-02-28 +Saturday,5,14.2,31.05.2026,2026-06-04 +Saturday,6,14.0,03.03.2026,2026-03-03 +Saturday,7,5.2,04.05.2026,2026-05-05 +Saturday,8,8.2,15.03.2026,2026-03-19 +Saturday,9,9.4,16.04.2026,2026-04-19 +Saturday,10,10.2,14.03.2026,2026-03-16 +Saturday,11,12.1,10.05.2026,2026-05-11 +Saturday,12,11.9,24.04.2026,2026-04-25 +Saturday,13,12.1,04.06.2026,2026-06-08 +Saturday,14,11.1,31.05.2026,2026-06-04 +Saturday,15,9.6,02.03.2026,2026-03-02 +Saturday,16,8.6,16.03.2026,2026-03-20 +Saturday,17,8.3,28.05.2026,2026-05-29 +Saturday,18,6.6,13.01.2026,2026-01-14 +Saturday,19,5.6,26.02.2026,2026-03-02 +Saturday,20,4.0,28.04.2026,2026-05-01 +Saturday,21,12.9,23.03.2026,2026-03-25 +Saturday,22,14.1,08.03.2026,2026-03-10 +Saturday,23,14.2,19.03.2026,2026-03-21 +Sunday,0,14.9,11.05.2026,2026-05-14 +Sunday,1,13.9,05.05.2026,2026-05-09 +Sunday,2,11.5,26.04.2026,2026-04-29 +Sunday,3,13.8,10.03.2026,2026-03-12 +Sunday,4,14.2,28.04.2026,2026-05-01 +Sunday,5,14.9,23.06.2026,2026-06-27 +Sunday,6,13.6,23.04.2026,2026-04-26 +Sunday,7,6.7,20.04.2026,2026-04-24 +Sunday,8,8.8,23.06.2026,2026-06-23 +Sunday,9,8.8,13.01.2026,2026-01-17 +Sunday,10,11.1,30.06.2026,2026-07-01 +Sunday,11,12.1,16.06.2026,2026-06-18 +Sunday,12,11.0,11.02.2026,2026-02-14 +Sunday,13,10.3,29.03.2026,2026-03-29 +Sunday,14,10.7,06.02.2026,2026-02-06 +Sunday,15,9.7,10.02.2026,2026-02-10 +Sunday,16,9.2,29.05.2026,2026-05-30 +Sunday,17,8.9,10.04.2026,2026-04-13 +Sunday,18,6.4,05.01.2026,2026-01-06 +Sunday,19,6.9,01.03.2026,2026-03-05 +Sunday,20,6.0,23.05.2026,2026-05-23 +Sunday,21,12.8,09.06.2026,2026-06-13 +Sunday,22,12.7,31.03.2026,2026-04-03 +Sunday,23,12.4,21.03.2026,2026-03-21 diff --git a/agents/evals/fixtures/cases/heatmap-basic-seaborn-decimal-comma/case.json b/agents/evals/fixtures/cases/heatmap-basic-seaborn-decimal-comma/case.json new file mode 100644 index 0000000000..8852ff8c01 --- /dev/null +++ b/agents/evals/fixtures/cases/heatmap-basic-seaborn-decimal-comma/case.json @@ -0,0 +1,29 @@ +{ + "spec_id": "heatmap-basic", + "library": "seaborn", + "locale": "de", + "perturbation": "decimal-comma", + "bindings": [ + { + "role": "y", + "column": "Weekday" + }, + { + "role": "x", + "column": "Hour" + }, + { + "role": "value", + "column": "Response Time (min)" + } + ], + "expected": "accepted", + "tags": [ + "heatmap", + "decimal-comma", + "synthetic", + "semicolon", + "smoke" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 606, decimal-comma)" +} diff --git a/agents/evals/fixtures/cases/heatmap-basic-seaborn-decimal-comma/data.csv b/agents/evals/fixtures/cases/heatmap-basic-seaborn-decimal-comma/data.csv new file mode 100644 index 0000000000..8b23d95671 --- /dev/null +++ b/agents/evals/fixtures/cases/heatmap-basic-seaborn-decimal-comma/data.csv @@ -0,0 +1,169 @@ +Weekday;Hour;Response Time (min) +Monday;0;14,2 +Monday;1;15,3 +Monday;2;14,3 +Monday;3;14,8 +Monday;4;14,6 +Monday;5;14,8 +Monday;6;13,5 +Monday;7;8,7 +Monday;8;10,2 +Monday;9;11,4 +Monday;10;14,5 +Monday;11;16,2 +Monday;12;17,9 +Monday;13;16,8 +Monday;14;14,7 +Monday;15;13,2 +Monday;16;10,9 +Monday;17;8,6 +Monday;18;6,9 +Monday;19;6,0 +Monday;20;6,5 +Monday;21;13,8 +Monday;22;13,1 +Monday;23;14,4 +Tuesday;0;14,2 +Tuesday;1;13,3 +Tuesday;2;13,6 +Tuesday;3;14,8 +Tuesday;4;14,2 +Tuesday;5;14,2 +Tuesday;6;14,2 +Tuesday;7;6,7 +Tuesday;8;9,5 +Tuesday;9;13,2 +Tuesday;10;15,7 +Tuesday;11;17,4 +Tuesday;12;18,2 +Tuesday;13;16,1 +Tuesday;14;15,4 +Tuesday;15;13,5 +Tuesday;16;12,0 +Tuesday;17;9,8 +Tuesday;18;7,0 +Tuesday;19;7,1 +Tuesday;20;5,8 +Tuesday;21;14,1 +Tuesday;22;13,7 +Tuesday;23;14,3 +Wednesday;0;15,4 +Wednesday;1;14,5 +Wednesday;2;14,1 +Wednesday;3;12,6 +Wednesday;4;14,3 +Wednesday;5;13,4 +Wednesday;6;16,0 +Wednesday;7;7,4 +Wednesday;8;8,7 +Wednesday;9;11,8 +Wednesday;10;15,3 +Wednesday;11;14,9 +Wednesday;12;16,2 +Wednesday;13;15,9 +Wednesday;14;15,3 +Wednesday;15;13,4 +Wednesday;16;10,9 +Wednesday;17;10,1 +Wednesday;18;7,9 +Wednesday;19;6,0 +Wednesday;20;6,2 +Wednesday;21;13,9 +Wednesday;22;14,5 +Wednesday;23;13,2 +Thursday;0;13,0 +Thursday;1;14,3 +Thursday;2;14,4 +Thursday;3;13,6 +Thursday;4;13,9 +Thursday;5;12,9 +Thursday;6;13,6 +Thursday;7;7,7 +Thursday;8;9,5 +Thursday;9;12,8 +Thursday;10;14,7 +Thursday;11;17,0 +Thursday;12;15,3 +Thursday;13;15,7 +Thursday;14;14,7 +Thursday;15;13,1 +Thursday;16;12,0 +Thursday;17;9,4 +Thursday;18;6,7 +Thursday;19;7,3 +Thursday;20;7,8 +Thursday;21;13,4 +Thursday;22;13,8 +Thursday;23;14,0 +Friday;0;14,6 +Friday;1;14,6 +Friday;2;14,3 +Friday;3;14,8 +Friday;4;13,7 +Friday;5;13,9 +Friday;6;15,0 +Friday;7;7,6 +Friday;8;9,2 +Friday;9;12,3 +Friday;10;15,0 +Friday;11;14,7 +Friday;12;15,5 +Friday;13;15,7 +Friday;14;15,4 +Friday;15;14,0 +Friday;16;12,4 +Friday;17;9,2 +Friday;18;5,9 +Friday;19;6,6 +Friday;20;5,9 +Friday;21;14,4 +Friday;22;14,4 +Friday;23;13,5 +Saturday;0;14,3 +Saturday;1;14,4 +Saturday;2;13,4 +Saturday;3;14,3 +Saturday;4;13,3 +Saturday;5;14,2 +Saturday;6;14,0 +Saturday;7;5,2 +Saturday;8;8,2 +Saturday;9;9,4 +Saturday;10;10,2 +Saturday;11;12,1 +Saturday;12;11,9 +Saturday;13;12,1 +Saturday;14;11,1 +Saturday;15;9,6 +Saturday;16;8,6 +Saturday;17;8,3 +Saturday;18;6,6 +Saturday;19;5,6 +Saturday;20;4,0 +Saturday;21;12,9 +Saturday;22;14,1 +Saturday;23;14,2 +Sunday;0;14,9 +Sunday;1;13,9 +Sunday;2;11,5 +Sunday;3;13,8 +Sunday;4;14,2 +Sunday;5;14,9 +Sunday;6;13,6 +Sunday;7;6,7 +Sunday;8;8,8 +Sunday;9;8,8 +Sunday;10;11,1 +Sunday;11;12,1 +Sunday;12;11,0 +Sunday;13;10,3 +Sunday;14;10,7 +Sunday;15;9,7 +Sunday;16;9,2 +Sunday;17;8,9 +Sunday;18;6,4 +Sunday;19;6,9 +Sunday;20;6,0 +Sunday;21;12,8 +Sunday;22;12,7 +Sunday;23;12,4 diff --git a/agents/evals/fixtures/cases/heatmap-basic-seaborn-n12/case.json b/agents/evals/fixtures/cases/heatmap-basic-seaborn-n12/case.json new file mode 100644 index 0000000000..e03fbd4638 --- /dev/null +++ b/agents/evals/fixtures/cases/heatmap-basic-seaborn-n12/case.json @@ -0,0 +1,28 @@ +{ + "spec_id": "heatmap-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "n12", + "bindings": [ + { + "role": "y", + "column": "Weekday" + }, + { + "role": "x", + "column": "Hour" + }, + { + "role": "value", + "column": "Response Time (min)" + } + ], + "expected": "accepted", + "tags": [ + "heatmap", + "n12", + "synthetic", + "small" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 606, n12)" +} diff --git a/agents/evals/fixtures/cases/heatmap-basic-seaborn-n12/data.csv b/agents/evals/fixtures/cases/heatmap-basic-seaborn-n12/data.csv new file mode 100644 index 0000000000..ca5beb0ecf --- /dev/null +++ b/agents/evals/fixtures/cases/heatmap-basic-seaborn-n12/data.csv @@ -0,0 +1,13 @@ +Weekday,Hour,Response Time (min) +Monday,8,9.1 +Monday,12,16.5 +Monday,16,10.8 +Monday,20,4.8 +Wednesday,8,10.9 +Wednesday,12,18.3 +Wednesday,16,11.6 +Wednesday,20,5.5 +Friday,8,10.8 +Friday,12,17.4 +Friday,16,11.9 +Friday,20,4.9 diff --git a/agents/evals/fixtures/cases/heatmap-basic-seaborn-n5000/case.json b/agents/evals/fixtures/cases/heatmap-basic-seaborn-n5000/case.json new file mode 100644 index 0000000000..0b6baf8db0 --- /dev/null +++ b/agents/evals/fixtures/cases/heatmap-basic-seaborn-n5000/case.json @@ -0,0 +1,29 @@ +{ + "spec_id": "heatmap-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "n5000", + "bindings": [ + { + "role": "y", + "column": "Weekday" + }, + { + "role": "x", + "column": "Hour" + }, + { + "role": "value", + "column": "Response Time (min)" + } + ], + "expected": "accepted", + "tags": [ + "heatmap", + "n5000", + "synthetic", + "large", + "aggregation" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 606, n5000)" +} diff --git a/agents/evals/fixtures/cases/heatmap-basic-seaborn-n5000/data.csv b/agents/evals/fixtures/cases/heatmap-basic-seaborn-n5000/data.csv new file mode 100644 index 0000000000..37329786f7 --- /dev/null +++ b/agents/evals/fixtures/cases/heatmap-basic-seaborn-n5000/data.csv @@ -0,0 +1,5001 @@ +Weekday,Hour,Response Time (min) +Friday,17,18.0 +Monday,20,6.2 +Wednesday,10,10.0 +Wednesday,7,9.5 +Wednesday,19,3.7 +Thursday,8,24.6 +Sunday,15,3.3 +Friday,5,59.2 +Sunday,16,8.2 +Friday,15,3.4 +Sunday,17,10.6 +Sunday,12,8.6 +Friday,20,2.6 +Tuesday,18,3.0 +Thursday,20,9.2 +Friday,6,43.2 +Saturday,18,10.5 +Thursday,10,57.3 +Friday,12,25.6 +Monday,21,15.0 +Thursday,19,2.2 +Friday,10,50.4 +Monday,7,4.1 +Wednesday,14,13.3 +Monday,12,29.1 +Tuesday,10,31.2 +Wednesday,13,6.8 +Tuesday,17,0.3 +Tuesday,16,5.4 +Wednesday,10,16.2 +Saturday,13,13.0 +Sunday,8,3.9 +Friday,11,21.0 +Wednesday,21,17.4 +Monday,8,30.5 +Sunday,7,4.0 +Wednesday,12,17.1 +Saturday,8,0.5 +Thursday,12,24.5 +Wednesday,18,7.1 +Sunday,3,10.6 +Friday,18,4.4 +Friday,18,3.8 +Friday,15,27.1 +Friday,7,6.5 +Saturday,17,5.5 +Thursday,14,12.5 +Monday,19,3.3 +Monday,20,8.1 +Thursday,14,38.2 +Wednesday,2,12.4 +Monday,19,6.4 +Thursday,9,2.9 +Sunday,5,2.1 +Wednesday,20,3.6 +Saturday,0,15.5 +Wednesday,17,31.3 +Tuesday,20,5.5 +Tuesday,12,6.4 +Thursday,1,22.6 +Wednesday,7,8.1 +Monday,17,5.3 +Wednesday,11,25.0 +Thursday,19,1.6 +Wednesday,13,27.8 +Monday,20,6.9 +Thursday,13,9.7 +Tuesday,18,1.9 +Tuesday,19,1.8 +Saturday,1,16.2 +Wednesday,10,32.6 +Thursday,7,4.8 +Wednesday,8,9.1 +Monday,19,2.3 +Saturday,18,3.9 +Thursday,20,3.7 +Saturday,13,8.4 +Tuesday,20,10.0 +Monday,10,9.7 +Wednesday,23,5.0 +Saturday,18,9.9 +Friday,13,11.6 +Thursday,16,16.0 +Friday,16,17.0 +Friday,11,21.5 +Monday,15,6.2 +Sunday,8,2.7 +Monday,10,2.8 +Saturday,12,26.9 +Friday,9,38.9 +Friday,14,11.8 +Thursday,19,6.1 +Saturday,12,8.2 +Tuesday,21,8.2 +Saturday,20,2.0 +Sunday,13,11.4 +Tuesday,12,18.2 +Sunday,11,8.2 +Friday,20,8.7 +Saturday,21,6.2 +Saturday,10,24.2 +Friday,6,20.1 +Sunday,22,12.6 +Sunday,17,6.1 +Wednesday,13,6.6 +Thursday,20,4.3 +Saturday,12,2.3 +Sunday,18,4.2 +Tuesday,9,14.1 +Tuesday,12,3.6 +Thursday,10,9.2 +Wednesday,10,4.3 +Thursday,2,3.1 +Friday,12,13.8 +Tuesday,13,12.2 +Monday,10,18.7 +Tuesday,20,6.2 +Thursday,7,5.8 +Wednesday,9,17.6 +Friday,21,4.0 +Tuesday,14,12.0 +Wednesday,17,10.6 +Thursday,0,15.1 +Wednesday,16,10.8 +Sunday,18,4.1 +Saturday,8,1.8 +Friday,12,12.2 +Wednesday,7,8.2 +Friday,12,15.4 +Monday,2,5.8 +Thursday,8,10.2 +Wednesday,16,15.1 +Sunday,5,1.5 +Monday,9,6.0 +Thursday,20,3.6 +Sunday,18,6.1 +Monday,11,5.8 +Monday,15,10.4 +Monday,13,6.8 +Tuesday,10,2.5 +Sunday,17,3.5 +Saturday,7,4.9 +Friday,7,4.6 +Thursday,15,5.7 +Saturday,11,18.6 +Wednesday,16,16.3 +Sunday,16,8.5 +Thursday,5,64.0 +Saturday,14,5.0 +Tuesday,19,2.7 +Friday,20,5.6 +Friday,13,20.3 +Friday,9,9.5 +Sunday,17,20.2 +Tuesday,12,28.6 +Monday,15,17.7 +Sunday,17,11.0 +Saturday,12,12.0 +Monday,8,7.2 +Thursday,13,10.4 +Tuesday,20,8.7 +Tuesday,7,13.9 +Tuesday,18,8.3 +Tuesday,7,0.8 +Sunday,19,8.3 +Saturday,1,22.8 +Tuesday,16,17.7 +Sunday,9,7.1 +Wednesday,7,13.5 +Sunday,0,5.5 +Thursday,9,7.8 +Sunday,19,8.3 +Sunday,0,2.5 +Saturday,17,12.3 +Friday,22,17.9 +Saturday,15,2.8 +Wednesday,12,9.4 +Sunday,14,18.7 +Wednesday,9,6.0 +Friday,18,5.7 +Wednesday,12,12.5 +Thursday,17,8.9 +Thursday,10,4.7 +Thursday,9,48.3 +Tuesday,20,4.2 +Friday,9,18.3 +Tuesday,10,10.4 +Saturday,21,8.0 +Monday,20,9.9 +Thursday,16,12.2 +Friday,19,4.3 +Friday,17,2.9 +Sunday,11,10.1 +Thursday,8,15.1 +Sunday,20,5.4 +Thursday,3,12.2 +Sunday,13,14.1 +Tuesday,7,12.3 +Monday,16,1.3 +Thursday,23,8.4 +Monday,10,11.7 +Saturday,8,8.6 +Sunday,10,22.6 +Tuesday,20,7.1 +Thursday,16,17.5 +Saturday,10,9.9 +Sunday,22,22.5 +Thursday,17,10.8 +Sunday,19,10.8 +Tuesday,10,17.5 +Sunday,11,12.0 +Friday,9,4.0 +Monday,14,5.3 +Tuesday,19,3.7 +Friday,9,8.9 +Friday,10,19.0 +Thursday,13,11.5 +Monday,20,8.4 +Friday,1,7.0 +Saturday,13,4.5 +Monday,15,5.3 +Tuesday,20,7.0 +Wednesday,19,6.9 +Saturday,11,6.6 +Thursday,15,21.3 +Sunday,18,6.9 +Sunday,17,13.2 +Monday,16,16.6 +Saturday,8,5.9 +Thursday,7,17.4 +Thursday,9,6.7 +Tuesday,15,15.2 +Wednesday,17,5.2 +Monday,18,6.5 +Wednesday,19,21.4 +Tuesday,7,19.4 +Friday,11,0.2 +Tuesday,18,6.5 +Sunday,17,11.1 +Tuesday,11,23.7 +Friday,10,29.5 +Monday,5,5.9 +Sunday,16,17.0 +Saturday,19,12.6 +Monday,19,8.8 +Saturday,7,1.5 +Saturday,18,6.9 +Tuesday,18,5.6 +Monday,20,2.5 +Tuesday,4,17.5 +Saturday,8,2.5 +Friday,15,23.1 +Saturday,8,13.6 +Friday,22,23.6 +Tuesday,4,30.1 +Friday,8,4.3 +Sunday,14,21.6 +Sunday,12,13.8 +Friday,4,18.8 +Wednesday,15,2.2 +Monday,18,5.4 +Thursday,11,13.2 +Tuesday,1,6.6 +Thursday,17,11.8 +Wednesday,16,16.0 +Monday,15,5.2 +Thursday,5,27.6 +Thursday,17,5.4 +Tuesday,10,25.9 +Sunday,20,5.5 +Wednesday,14,35.1 +Wednesday,9,11.1 +Sunday,14,5.8 +Monday,9,10.9 +Monday,9,15.1 +Monday,5,5.1 +Tuesday,19,6.6 +Saturday,8,2.2 +Wednesday,19,2.8 +Thursday,13,17.4 +Monday,18,5.3 +Tuesday,15,3.3 +Friday,16,8.5 +Friday,20,11.1 +Sunday,12,5.6 +Sunday,19,5.8 +Monday,11,18.7 +Sunday,15,1.8 +Thursday,20,13.8 +Monday,2,23.3 +Monday,9,0.8 +Monday,14,3.0 +Thursday,9,16.8 +Wednesday,12,22.3 +Saturday,11,2.8 +Wednesday,11,4.1 +Sunday,5,9.6 +Tuesday,23,27.6 +Wednesday,10,6.1 +Wednesday,12,14.6 +Friday,14,12.8 +Tuesday,11,11.0 +Friday,19,2.2 +Sunday,19,2.4 +Tuesday,10,12.4 +Sunday,9,15.8 +Monday,8,6.3 +Friday,20,4.3 +Friday,17,5.5 +Tuesday,4,7.8 +Saturday,12,25.0 +Friday,7,18.0 +Wednesday,10,6.0 +Tuesday,19,0.8 +Monday,11,58.7 +Tuesday,0,6.4 +Tuesday,4,21.5 +Monday,17,12.7 +Friday,15,12.6 +Friday,7,11.0 +Sunday,20,8.7 +Saturday,10,30.1 +Friday,14,17.0 +Tuesday,15,11.9 +Wednesday,16,15.3 +Saturday,16,11.1 +Sunday,14,25.5 +Thursday,11,7.7 +Friday,9,4.1 +Friday,21,14.4 +Thursday,1,16.1 +Friday,17,7.3 +Friday,13,8.8 +Monday,15,14.1 +Tuesday,11,14.0 +Saturday,20,3.0 +Wednesday,11,11.5 +Thursday,5,10.3 +Tuesday,15,13.9 +Saturday,10,24.4 +Wednesday,18,12.6 +Sunday,8,8.8 +Sunday,19,3.1 +Saturday,9,7.6 +Saturday,11,16.7 +Friday,7,1.3 +Sunday,8,13.8 +Wednesday,11,5.5 +Thursday,10,3.9 +Thursday,9,9.6 +Wednesday,7,11.5 +Sunday,17,4.3 +Saturday,7,1.8 +Monday,15,5.3 +Sunday,20,6.3 +Tuesday,8,8.1 +Tuesday,19,3.9 +Wednesday,11,11.9 +Friday,15,3.4 +Tuesday,7,5.5 +Friday,17,6.0 +Wednesday,7,14.3 +Friday,17,8.6 +Wednesday,6,9.6 +Thursday,8,5.6 +Tuesday,8,13.9 +Tuesday,9,7.6 +Saturday,7,3.0 +Monday,22,1.1 +Saturday,23,12.6 +Tuesday,1,12.6 +Monday,7,5.1 +Wednesday,13,14.6 +Thursday,10,6.1 +Monday,7,2.4 +Saturday,17,3.9 +Saturday,13,5.0 +Monday,8,14.9 +Saturday,8,1.3 +Wednesday,18,7.3 +Sunday,20,13.3 +Saturday,8,1.8 +Saturday,14,12.2 +Monday,20,5.8 +Thursday,7,8.5 +Thursday,12,10.7 +Friday,19,6.3 +Wednesday,19,1.9 +Thursday,0,10.7 +Thursday,17,11.4 +Wednesday,7,3.1 +Sunday,10,6.7 +Monday,8,10.9 +Monday,17,9.1 +Tuesday,13,15.1 +Friday,16,12.1 +Monday,17,4.1 +Thursday,9,8.2 +Thursday,17,0.6 +Thursday,5,6.6 +Friday,16,9.5 +Sunday,13,0.6 +Thursday,17,1.9 +Tuesday,14,9.1 +Wednesday,20,3.4 +Tuesday,17,4.3 +Monday,23,11.1 +Monday,12,16.4 +Friday,8,9.5 +Thursday,7,13.0 +Sunday,18,7.4 +Wednesday,12,13.3 +Monday,13,8.3 +Sunday,8,7.3 +Tuesday,14,1.8 +Tuesday,9,22.1 +Thursday,12,21.6 +Saturday,20,0.6 +Tuesday,14,19.5 +Friday,8,8.0 +Wednesday,16,5.3 +Saturday,13,4.9 +Sunday,8,9.2 +Wednesday,20,5.7 +Sunday,8,7.6 +Thursday,11,15.5 +Sunday,17,9.2 +Monday,15,18.8 +Tuesday,13,14.3 +Friday,14,14.9 +Monday,10,12.6 +Saturday,17,4.0 +Wednesday,12,28.1 +Saturday,19,12.3 +Monday,20,18.0 +Sunday,13,9.9 +Monday,17,4.9 +Saturday,15,19.3 +Tuesday,15,16.5 +Saturday,18,4.2 +Tuesday,20,5.3 +Thursday,15,21.5 +Wednesday,8,5.4 +Monday,12,2.8 +Friday,9,20.7 +Wednesday,13,31.6 +Monday,9,7.8 +Monday,13,13.4 +Thursday,3,37.9 +Monday,16,29.1 +Sunday,16,29.3 +Thursday,19,2.5 +Thursday,15,16.5 +Saturday,7,7.9 +Monday,0,6.0 +Sunday,8,5.4 +Monday,20,3.4 +Saturday,2,18.8 +Thursday,10,1.0 +Friday,16,5.3 +Friday,13,13.2 +Monday,9,19.6 +Monday,17,4.8 +Tuesday,10,2.2 +Sunday,14,0.5 +Saturday,20,4.1 +Wednesday,9,0.9 +Tuesday,13,11.3 +Saturday,9,21.0 +Sunday,16,16.5 +Wednesday,10,12.6 +Monday,14,14.2 +Tuesday,8,16.6 +Friday,12,47.1 +Saturday,11,9.3 +Thursday,18,3.1 +Thursday,8,4.9 +Thursday,13,6.6 +Wednesday,12,30.4 +Saturday,15,6.8 +Friday,9,9.3 +Sunday,8,7.3 +Wednesday,18,10.8 +Friday,8,13.8 +Tuesday,20,6.0 +Saturday,11,20.9 +Wednesday,8,10.5 +Monday,21,7.2 +Tuesday,12,6.0 +Monday,10,25.8 +Sunday,17,3.0 +Monday,3,2.2 +Saturday,6,3.8 +Saturday,7,3.3 +Monday,17,2.4 +Friday,17,3.1 +Saturday,5,5.0 +Saturday,20,0.1 +Tuesday,18,7.9 +Wednesday,8,6.2 +Wednesday,10,12.9 +Thursday,16,18.5 +Sunday,7,6.1 +Wednesday,5,4.0 +Wednesday,7,12.4 +Monday,15,9.5 +Wednesday,8,12.7 +Wednesday,8,12.1 +Saturday,14,10.1 +Friday,21,17.9 +Monday,17,15.2 +Tuesday,16,24.4 +Sunday,9,5.0 +Tuesday,9,7.0 +Monday,16,21.3 +Monday,9,16.9 +Monday,9,8.5 +Saturday,11,25.7 +Saturday,6,9.5 +Wednesday,9,5.0 +Wednesday,7,4.7 +Tuesday,16,6.5 +Friday,0,8.9 +Thursday,10,15.3 +Friday,18,1.5 +Tuesday,9,9.3 +Thursday,21,28.7 +Thursday,11,19.2 +Saturday,15,3.4 +Wednesday,4,8.3 +Tuesday,8,17.3 +Monday,20,1.4 +Thursday,12,18.6 +Saturday,7,4.7 +Saturday,19,4.2 +Tuesday,16,15.9 +Monday,9,0.7 +Thursday,11,21.9 +Thursday,13,3.4 +Monday,18,5.6 +Monday,3,6.8 +Wednesday,1,42.4 +Wednesday,19,3.1 +Thursday,7,4.4 +Tuesday,17,13.9 +Tuesday,19,7.1 +Sunday,15,14.2 +Friday,4,11.2 +Wednesday,11,18.3 +Wednesday,21,5.2 +Friday,13,15.7 +Thursday,7,13.5 +Sunday,13,3.3 +Wednesday,7,2.2 +Saturday,14,5.7 +Sunday,7,3.4 +Monday,12,25.0 +Friday,10,9.2 +Monday,11,8.1 +Monday,19,2.8 +Wednesday,10,5.7 +Monday,19,2.7 +Wednesday,7,1.9 +Wednesday,5,8.6 +Thursday,9,4.8 +Thursday,14,42.3 +Monday,19,5.4 +Saturday,12,4.5 +Wednesday,13,4.1 +Tuesday,10,1.4 +Tuesday,14,20.7 +Tuesday,14,12.7 +Saturday,7,2.2 +Tuesday,20,1.2 +Saturday,3,8.8 +Friday,11,28.0 +Thursday,11,5.4 +Thursday,7,5.6 +Saturday,7,8.1 +Thursday,8,11.6 +Sunday,10,8.0 +Sunday,15,10.6 +Saturday,12,26.8 +Thursday,3,34.9 +Sunday,14,14.1 +Monday,8,3.1 +Thursday,9,11.0 +Monday,8,8.2 +Friday,19,5.6 +Saturday,13,13.7 +Sunday,17,2.6 +Sunday,1,6.5 +Thursday,15,6.2 +Saturday,17,1.7 +Sunday,13,28.1 +Friday,9,22.0 +Saturday,15,38.6 +Friday,18,14.4 +Friday,2,21.5 +Saturday,12,2.8 +Tuesday,9,19.3 +Tuesday,10,1.3 +Monday,22,9.2 +Thursday,13,19.1 +Friday,11,24.6 +Friday,8,5.6 +Tuesday,11,16.9 +Monday,10,6.2 +Friday,16,10.5 +Tuesday,23,34.0 +Friday,20,7.4 +Friday,15,21.8 +Monday,13,18.7 +Saturday,19,3.4 +Thursday,13,14.4 +Thursday,13,15.5 +Saturday,12,10.3 +Friday,12,4.2 +Wednesday,11,9.1 +Thursday,2,4.9 +Wednesday,7,12.2 +Sunday,12,1.5 +Friday,10,25.6 +Monday,16,5.6 +Wednesday,18,9.9 +Thursday,10,11.2 +Tuesday,0,6.0 +Friday,11,18.7 +Tuesday,12,18.3 +Sunday,16,10.4 +Friday,13,31.1 +Sunday,23,2.8 +Friday,10,4.1 +Friday,12,28.0 +Thursday,10,16.0 +Tuesday,20,2.1 +Saturday,15,7.2 +Wednesday,11,12.8 +Tuesday,16,15.0 +Saturday,12,6.8 +Wednesday,20,0.9 +Tuesday,8,14.4 +Friday,12,19.5 +Friday,18,17.9 +Thursday,11,21.5 +Wednesday,13,7.3 +Sunday,11,4.3 +Tuesday,16,10.7 +Thursday,8,10.7 +Sunday,17,8.3 +Friday,16,15.8 +Monday,6,7.1 +Monday,14,20.5 +Wednesday,11,13.5 +Thursday,13,19.8 +Tuesday,17,8.5 +Thursday,11,23.1 +Wednesday,23,19.9 +Tuesday,20,4.1 +Sunday,14,12.2 +Friday,10,17.5 +Saturday,18,11.1 +Saturday,3,8.5 +Monday,4,27.7 +Wednesday,15,25.4 +Friday,4,26.8 +Tuesday,17,15.1 +Thursday,22,19.5 +Sunday,13,6.2 +Friday,7,18.3 +Tuesday,14,10.6 +Thursday,12,6.5 +Sunday,7,9.8 +Thursday,10,28.3 +Thursday,17,13.7 +Wednesday,7,13.0 +Saturday,4,21.4 +Wednesday,1,11.4 +Wednesday,15,8.7 +Friday,20,8.2 +Friday,11,18.2 +Thursday,9,8.6 +Friday,9,9.0 +Saturday,19,4.7 +Friday,21,16.1 +Wednesday,19,5.2 +Monday,20,4.8 +Tuesday,15,23.2 +Friday,7,2.1 +Thursday,1,0.2 +Thursday,19,1.1 +Saturday,11,10.9 +Monday,7,4.4 +Saturday,13,9.2 +Sunday,9,2.1 +Sunday,20,6.1 +Monday,7,7.5 +Sunday,7,15.6 +Tuesday,9,26.5 +Friday,19,2.4 +Monday,17,12.5 +Thursday,16,9.2 +Tuesday,18,9.8 +Sunday,16,0.7 +Monday,17,20.9 +Monday,10,4.3 +Friday,23,38.2 +Tuesday,0,5.5 +Tuesday,19,5.1 +Wednesday,17,1.4 +Tuesday,8,16.7 +Friday,23,17.1 +Sunday,11,0.9 +Tuesday,18,9.3 +Wednesday,18,13.1 +Friday,14,7.4 +Tuesday,12,14.9 +Thursday,20,1.2 +Saturday,10,27.5 +Tuesday,16,4.0 +Friday,9,10.2 +Thursday,23,8.4 +Saturday,12,20.6 +Friday,17,1.0 +Monday,7,5.9 +Saturday,9,6.1 +Monday,20,14.7 +Tuesday,15,22.7 +Tuesday,19,11.1 +Thursday,10,5.1 +Saturday,8,5.5 +Saturday,21,3.8 +Friday,20,4.4 +Saturday,19,2.0 +Wednesday,17,23.9 +Tuesday,6,12.0 +Wednesday,0,10.7 +Sunday,3,9.5 +Tuesday,8,13.5 +Saturday,18,5.9 +Saturday,18,10.3 +Monday,10,26.1 +Saturday,8,8.0 +Sunday,13,6.6 +Wednesday,7,11.1 +Wednesday,19,2.4 +Sunday,20,5.1 +Tuesday,18,5.0 +Friday,22,18.4 +Wednesday,17,8.6 +Monday,8,3.2 +Friday,11,25.1 +Tuesday,10,17.9 +Wednesday,13,7.7 +Wednesday,16,2.1 +Friday,9,10.6 +Friday,12,26.2 +Monday,18,12.4 +Monday,18,9.0 +Sunday,18,6.9 +Monday,1,12.5 +Wednesday,15,12.2 +Wednesday,10,33.0 +Sunday,10,3.5 +Wednesday,2,13.7 +Friday,12,1.3 +Wednesday,8,28.2 +Sunday,9,4.4 +Saturday,18,0.3 +Thursday,10,9.5 +Tuesday,12,9.8 +Thursday,19,10.3 +Friday,4,15.2 +Sunday,7,5.8 +Thursday,13,5.7 +Wednesday,5,2.5 +Friday,7,4.2 +Wednesday,17,4.4 +Thursday,17,15.4 +Tuesday,14,3.3 +Friday,19,7.5 +Sunday,12,36.6 +Saturday,12,2.9 +Thursday,15,16.0 +Tuesday,15,14.2 +Sunday,12,14.5 +Wednesday,10,13.2 +Sunday,19,3.2 +Monday,19,11.1 +Wednesday,10,15.5 +Wednesday,22,19.7 +Sunday,18,13.1 +Thursday,9,6.0 +Sunday,16,2.7 +Friday,11,9.9 +Saturday,20,1.6 +Friday,12,15.8 +Saturday,13,11.9 +Wednesday,19,1.2 +Saturday,11,17.3 +Sunday,18,16.0 +Friday,14,8.5 +Saturday,10,6.9 +Tuesday,20,2.5 +Monday,19,18.2 +Sunday,23,2.7 +Saturday,7,1.7 +Sunday,12,19.0 +Sunday,10,9.5 +Sunday,7,2.9 +Monday,13,18.4 +Monday,8,4.0 +Wednesday,9,7.3 +Saturday,19,4.8 +Thursday,12,15.4 +Monday,11,32.9 +Friday,17,6.9 +Wednesday,7,4.3 +Monday,13,20.2 +Sunday,19,7.4 +Sunday,16,14.0 +Tuesday,9,11.4 +Sunday,17,13.3 +Friday,10,19.2 +Saturday,18,11.7 +Monday,18,4.8 +Thursday,8,9.1 +Wednesday,8,0.6 +Wednesday,8,4.7 +Wednesday,18,8.3 +Friday,19,10.7 +Sunday,12,22.4 +Friday,14,14.8 +Thursday,5,29.6 +Wednesday,15,8.5 +Thursday,9,11.8 +Monday,18,0.9 +Monday,11,10.2 +Sunday,8,3.8 +Thursday,13,18.6 +Sunday,14,17.2 +Saturday,16,10.8 +Saturday,7,5.3 +Wednesday,15,3.8 +Tuesday,11,16.4 +Tuesday,15,12.5 +Thursday,14,7.3 +Friday,16,26.1 +Sunday,7,8.1 +Monday,10,15.7 +Saturday,18,16.4 +Thursday,0,12.1 +Tuesday,0,5.2 +Thursday,7,6.8 +Thursday,13,10.7 +Tuesday,10,16.3 +Thursday,22,5.6 +Friday,16,9.2 +Wednesday,9,3.4 +Wednesday,19,0.5 +Thursday,14,3.0 +Saturday,23,10.7 +Friday,19,9.3 +Friday,2,16.7 +Sunday,16,8.0 +Sunday,22,9.0 +Friday,21,21.5 +Friday,7,8.3 +Tuesday,20,7.3 +Tuesday,8,9.9 +Sunday,4,31.4 +Friday,2,16.6 +Thursday,11,25.6 +Wednesday,9,27.3 +Sunday,20,3.4 +Sunday,15,2.2 +Saturday,3,8.9 +Tuesday,12,28.2 +Saturday,7,5.9 +Sunday,19,5.1 +Thursday,7,7.8 +Thursday,19,9.0 +Sunday,7,13.7 +Saturday,11,7.8 +Friday,11,25.7 +Saturday,18,9.5 +Thursday,18,5.3 +Thursday,9,4.1 +Saturday,11,5.1 +Sunday,3,21.9 +Wednesday,13,10.8 +Wednesday,4,11.6 +Wednesday,2,3.6 +Thursday,13,11.6 +Thursday,4,12.3 +Friday,12,18.7 +Wednesday,11,5.7 +Friday,10,15.8 +Friday,15,5.2 +Thursday,17,1.4 +Friday,12,9.9 +Friday,0,19.3 +Tuesday,16,5.5 +Monday,3,27.6 +Tuesday,13,5.4 +Thursday,12,10.6 +Monday,10,4.9 +Thursday,22,5.1 +Saturday,4,18.2 +Sunday,8,5.2 +Wednesday,0,10.4 +Sunday,9,5.3 +Wednesday,12,38.3 +Thursday,12,21.1 +Thursday,16,6.8 +Monday,19,6.2 +Wednesday,0,11.0 +Tuesday,10,25.6 +Monday,16,13.9 +Tuesday,3,17.0 +Monday,2,8.7 +Monday,12,13.4 +Saturday,8,2.3 +Tuesday,14,18.4 +Friday,13,13.2 +Monday,0,11.6 +Tuesday,15,23.2 +Sunday,18,7.7 +Friday,8,10.7 +Sunday,17,24.8 +Wednesday,16,18.1 +Friday,15,37.2 +Tuesday,19,8.6 +Wednesday,9,8.1 +Sunday,15,11.8 +Friday,20,2.9 +Thursday,18,7.7 +Thursday,9,13.4 +Sunday,20,7.1 +Sunday,8,7.6 +Tuesday,19,2.0 +Friday,1,23.2 +Tuesday,16,21.2 +Wednesday,11,7.7 +Friday,12,32.0 +Saturday,8,7.3 +Monday,11,11.3 +Monday,18,6.5 +Friday,14,5.4 +Wednesday,12,5.5 +Wednesday,13,8.0 +Sunday,15,3.9 +Wednesday,18,3.6 +Monday,13,17.1 +Saturday,13,7.1 +Wednesday,19,11.1 +Wednesday,21,7.5 +Wednesday,11,16.4 +Tuesday,15,23.2 +Friday,16,5.9 +Tuesday,16,7.3 +Friday,12,5.3 +Monday,13,16.3 +Tuesday,8,5.8 +Thursday,14,31.7 +Thursday,12,8.0 +Sunday,10,5.9 +Saturday,16,14.5 +Thursday,3,5.6 +Saturday,19,2.3 +Sunday,20,2.7 +Friday,11,42.4 +Thursday,9,15.9 +Thursday,8,10.2 +Wednesday,5,33.3 +Thursday,7,7.2 +Saturday,9,9.1 +Sunday,17,4.5 +Sunday,11,1.1 +Saturday,8,10.5 +Wednesday,16,8.7 +Saturday,21,33.7 +Tuesday,19,15.2 +Friday,15,4.6 +Friday,15,7.7 +Friday,8,8.0 +Wednesday,22,8.6 +Wednesday,15,28.9 +Sunday,22,24.8 +Thursday,16,10.9 +Wednesday,11,13.2 +Thursday,10,1.3 +Sunday,16,9.8 +Tuesday,15,7.2 +Saturday,19,17.7 +Sunday,12,8.6 +Tuesday,20,6.9 +Saturday,11,23.6 +Friday,8,20.3 +Sunday,11,2.1 +Monday,20,6.8 +Thursday,13,3.7 +Saturday,15,10.7 +Sunday,21,11.2 +Monday,7,1.3 +Sunday,11,2.9 +Monday,9,15.9 +Monday,21,10.7 +Saturday,11,8.1 +Friday,19,7.8 +Saturday,11,12.4 +Wednesday,8,0.5 +Thursday,21,5.1 +Sunday,3,3.6 +Saturday,14,13.1 +Monday,20,12.3 +Wednesday,8,9.9 +Monday,10,12.6 +Thursday,16,4.9 +Saturday,14,1.6 +Wednesday,14,12.7 +Sunday,12,10.5 +Tuesday,23,6.0 +Wednesday,9,11.3 +Saturday,7,14.0 +Wednesday,12,6.5 +Friday,14,3.8 +Sunday,10,7.6 +Monday,8,6.0 +Tuesday,13,3.5 +Monday,3,2.4 +Wednesday,1,11.4 +Wednesday,9,3.7 +Monday,15,16.4 +Wednesday,18,12.6 +Monday,23,14.6 +Sunday,11,9.1 +Sunday,3,17.3 +Tuesday,17,17.6 +Thursday,12,18.9 +Friday,14,34.9 +Friday,1,13.7 +Monday,9,19.3 +Sunday,15,5.4 +Saturday,17,12.4 +Saturday,20,4.7 +Monday,5,29.8 +Friday,4,13.3 +Monday,11,14.4 +Wednesday,8,10.4 +Friday,7,1.3 +Monday,3,12.5 +Monday,11,10.2 +Monday,18,16.3 +Wednesday,19,2.5 +Saturday,6,11.4 +Friday,10,6.1 +Thursday,8,7.0 +Sunday,14,4.6 +Wednesday,15,8.6 +Wednesday,11,13.0 +Saturday,8,1.3 +Sunday,9,3.4 +Monday,8,16.9 +Monday,17,17.1 +Thursday,14,11.2 +Friday,7,3.5 +Sunday,14,10.9 +Sunday,19,6.1 +Saturday,15,5.0 +Sunday,15,23.7 +Saturday,13,5.7 +Friday,10,7.3 +Tuesday,7,0.7 +Thursday,9,10.7 +Tuesday,11,11.6 +Wednesday,8,3.7 +Friday,17,35.1 +Sunday,13,6.4 +Saturday,18,0.9 +Thursday,18,3.3 +Wednesday,13,22.8 +Thursday,23,18.0 +Saturday,13,1.9 +Monday,5,20.8 +Thursday,17,20.5 +Sunday,7,7.9 +Saturday,19,5.7 +Sunday,17,8.4 +Friday,7,3.3 +Saturday,12,4.1 +Tuesday,10,14.6 +Thursday,14,16.2 +Thursday,5,6.2 +Thursday,20,6.1 +Wednesday,8,9.0 +Saturday,12,15.9 +Monday,19,3.5 +Sunday,9,6.7 +Sunday,8,7.0 +Tuesday,9,23.7 +Monday,13,15.0 +Thursday,8,5.6 +Saturday,15,5.2 +Wednesday,7,6.4 +Sunday,18,5.8 +Friday,20,1.1 +Tuesday,18,4.8 +Friday,12,15.2 +Monday,13,13.8 +Friday,20,13.2 +Thursday,8,6.1 +Sunday,1,5.8 +Saturday,17,3.3 +Wednesday,9,15.1 +Wednesday,7,4.2 +Friday,16,15.2 +Wednesday,16,9.1 +Monday,12,16.7 +Thursday,1,25.2 +Thursday,17,6.9 +Friday,12,10.2 +Saturday,19,3.2 +Wednesday,12,13.4 +Tuesday,19,12.4 +Wednesday,15,9.9 +Saturday,8,1.6 +Monday,13,1.2 +Thursday,10,6.7 +Wednesday,15,3.1 +Sunday,15,11.4 +Thursday,16,9.6 +Sunday,12,14.4 +Friday,17,3.0 +Wednesday,23,4.2 +Wednesday,14,23.6 +Thursday,11,14.2 +Saturday,14,6.4 +Saturday,4,11.8 +Sunday,7,1.5 +Wednesday,8,1.7 +Thursday,18,2.7 +Friday,17,4.0 +Wednesday,18,11.3 +Saturday,8,4.2 +Saturday,14,10.3 +Sunday,12,8.2 +Monday,7,1.1 +Monday,11,17.8 +Sunday,10,1.3 +Friday,19,3.7 +Thursday,8,20.8 +Sunday,4,33.7 +Friday,10,14.8 +Friday,20,0.3 +Monday,7,14.5 +Thursday,9,3.0 +Monday,18,22.1 +Sunday,18,5.4 +Friday,16,15.8 +Tuesday,12,56.8 +Thursday,4,10.1 +Wednesday,11,23.2 +Saturday,11,3.7 +Saturday,18,8.3 +Saturday,11,15.6 +Friday,20,15.4 +Tuesday,7,1.6 +Sunday,20,7.7 +Saturday,19,2.1 +Thursday,20,8.0 +Tuesday,8,6.3 +Friday,18,6.4 +Friday,19,7.8 +Sunday,9,11.0 +Thursday,12,30.6 +Wednesday,11,23.4 +Thursday,10,37.5 +Saturday,9,9.1 +Sunday,13,22.4 +Wednesday,14,9.9 +Tuesday,15,13.2 +Friday,16,4.0 +Tuesday,7,1.7 +Wednesday,9,1.3 +Sunday,2,14.7 +Friday,19,10.7 +Wednesday,7,12.8 +Tuesday,15,27.3 +Monday,9,23.1 +Wednesday,13,13.0 +Sunday,17,17.5 +Monday,13,27.4 +Monday,10,0.9 +Saturday,10,4.3 +Thursday,23,9.4 +Monday,10,28.8 +Saturday,21,28.5 +Thursday,8,3.2 +Friday,10,3.2 +Thursday,17,5.9 +Saturday,12,20.9 +Sunday,19,8.9 +Monday,14,18.6 +Saturday,12,17.8 +Monday,23,23.0 +Wednesday,18,4.7 +Sunday,17,19.9 +Saturday,13,7.9 +Tuesday,17,15.5 +Friday,12,3.7 +Sunday,12,29.1 +Wednesday,13,22.0 +Wednesday,16,22.3 +Wednesday,13,8.7 +Sunday,7,33.9 +Tuesday,8,4.1 +Friday,2,6.7 +Tuesday,19,26.1 +Sunday,4,4.7 +Saturday,18,3.0 +Monday,20,5.6 +Wednesday,9,7.0 +Saturday,16,10.7 +Saturday,7,8.0 +Tuesday,4,4.6 +Tuesday,5,4.5 +Thursday,8,6.0 +Monday,15,7.0 +Friday,16,27.7 +Thursday,12,4.7 +Wednesday,17,7.0 +Sunday,14,42.2 +Tuesday,21,6.7 +Monday,8,14.3 +Saturday,12,5.5 +Monday,7,8.3 +Friday,10,18.8 +Friday,0,22.8 +Friday,12,24.8 +Friday,9,21.9 +Tuesday,4,5.0 +Wednesday,13,20.6 +Thursday,16,14.4 +Monday,18,7.0 +Wednesday,12,22.8 +Thursday,8,3.2 +Saturday,7,5.3 +Thursday,11,1.2 +Wednesday,7,12.3 +Monday,4,18.9 +Tuesday,9,12.0 +Friday,20,5.5 +Wednesday,20,1.1 +Friday,16,5.5 +Tuesday,16,28.7 +Saturday,12,8.7 +Monday,17,5.4 +Tuesday,15,11.7 +Friday,8,7.5 +Wednesday,20,2.5 +Thursday,19,1.6 +Sunday,10,5.9 +Monday,20,6.6 +Wednesday,19,7.4 +Monday,12,8.8 +Wednesday,13,8.3 +Wednesday,20,5.2 +Sunday,13,5.0 +Saturday,19,5.9 +Friday,3,11.2 +Monday,9,7.5 +Tuesday,10,23.0 +Tuesday,22,25.9 +Sunday,9,1.6 +Friday,10,8.0 +Friday,8,11.0 +Thursday,18,5.1 +Monday,9,5.1 +Friday,16,6.6 +Wednesday,15,27.7 +Wednesday,15,3.7 +Wednesday,10,37.0 +Sunday,11,3.5 +Thursday,18,9.7 +Sunday,14,9.7 +Sunday,5,4.4 +Sunday,17,9.5 +Wednesday,14,5.1 +Saturday,10,10.4 +Wednesday,15,9.9 +Thursday,9,8.6 +Friday,8,5.0 +Sunday,20,3.2 +Tuesday,20,7.8 +Wednesday,18,6.2 +Tuesday,12,25.9 +Monday,10,27.9 +Friday,9,9.1 +Friday,6,6.0 +Sunday,9,12.2 +Sunday,5,18.6 +Monday,8,7.3 +Monday,8,13.1 +Saturday,18,3.0 +Tuesday,10,18.5 +Monday,16,12.1 +Thursday,18,0.7 +Thursday,12,6.2 +Monday,11,20.4 +Tuesday,8,6.6 +Saturday,0,11.9 +Thursday,17,4.0 +Tuesday,14,16.5 +Tuesday,18,6.2 +Friday,16,6.0 +Sunday,11,2.4 +Saturday,14,9.7 +Friday,11,27.9 +Friday,8,3.5 +Tuesday,9,10.2 +Tuesday,16,10.3 +Saturday,13,13.4 +Tuesday,18,10.8 +Wednesday,20,10.9 +Tuesday,18,4.8 +Friday,7,2.2 +Saturday,10,16.2 +Friday,13,9.0 +Sunday,9,7.9 +Thursday,16,10.1 +Saturday,16,3.7 +Thursday,7,16.2 +Monday,10,7.8 +Tuesday,18,13.7 +Sunday,18,2.6 +Saturday,20,6.1 +Sunday,9,23.2 +Thursday,16,12.5 +Friday,15,7.1 +Sunday,17,15.1 +Saturday,12,10.3 +Tuesday,15,2.6 +Friday,0,16.7 +Monday,20,2.3 +Saturday,10,15.9 +Monday,13,21.9 +Thursday,8,3.1 +Tuesday,8,2.4 +Saturday,7,9.5 +Thursday,9,13.1 +Tuesday,14,8.6 +Monday,9,8.7 +Monday,13,3.0 +Wednesday,13,8.2 +Wednesday,19,8.1 +Sunday,9,25.4 +Friday,19,8.5 +Friday,17,15.5 +Friday,15,21.8 +Friday,19,2.1 +Wednesday,14,12.6 +Thursday,18,5.4 +Sunday,9,5.1 +Thursday,11,14.4 +Monday,4,12.4 +Wednesday,8,6.8 +Tuesday,7,3.5 +Saturday,8,19.7 +Friday,9,17.6 +Tuesday,12,20.5 +Monday,8,3.3 +Saturday,12,6.0 +Saturday,5,19.7 +Tuesday,9,16.6 +Thursday,9,19.3 +Thursday,14,16.5 +Friday,18,2.1 +Friday,10,6.1 +Monday,19,3.9 +Friday,9,18.1 +Saturday,18,8.7 +Tuesday,15,6.4 +Thursday,10,12.6 +Thursday,19,2.3 +Wednesday,18,9.5 +Friday,20,5.8 +Thursday,9,4.4 +Saturday,18,2.8 +Friday,13,8.7 +Sunday,16,8.0 +Wednesday,13,20.2 +Sunday,10,22.4 +Sunday,3,11.0 +Saturday,15,9.9 +Thursday,11,17.4 +Thursday,20,4.3 +Monday,14,32.1 +Thursday,20,6.8 +Sunday,15,16.0 +Thursday,10,10.6 +Sunday,8,7.9 +Sunday,16,6.3 +Sunday,18,1.0 +Wednesday,5,9.5 +Tuesday,14,8.4 +Friday,11,25.9 +Sunday,14,26.5 +Thursday,16,4.5 +Friday,17,3.6 +Thursday,16,12.5 +Sunday,15,15.0 +Thursday,8,11.0 +Friday,14,67.5 +Wednesday,23,24.0 +Friday,16,7.7 +Saturday,13,10.1 +Thursday,17,5.9 +Tuesday,23,28.1 +Friday,11,15.2 +Tuesday,11,9.5 +Monday,3,9.2 +Sunday,20,1.6 +Wednesday,18,12.1 +Sunday,15,16.4 +Friday,14,24.7 +Monday,16,6.9 +Sunday,14,6.7 +Saturday,7,1.6 +Sunday,10,0.9 +Thursday,16,11.6 +Friday,14,31.1 +Sunday,10,8.4 +Friday,19,3.2 +Friday,14,17.7 +Monday,13,1.4 +Wednesday,9,20.9 +Sunday,20,2.7 +Tuesday,9,8.3 +Wednesday,10,3.9 +Thursday,9,5.6 +Friday,20,1.5 +Monday,10,75.2 +Friday,15,24.2 +Monday,12,9.9 +Monday,9,17.2 +Saturday,7,1.8 +Tuesday,19,19.5 +Tuesday,12,6.2 +Saturday,17,0.3 +Saturday,16,8.7 +Friday,16,7.2 +Wednesday,14,44.3 +Wednesday,14,5.7 +Thursday,7,2.3 +Saturday,13,3.9 +Sunday,9,11.4 +Thursday,19,6.8 +Wednesday,14,25.5 +Wednesday,13,8.3 +Wednesday,20,6.0 +Saturday,15,14.1 +Tuesday,5,11.8 +Wednesday,10,7.9 +Wednesday,8,1.2 +Tuesday,19,0.8 +Tuesday,18,6.6 +Wednesday,20,1.0 +Saturday,12,10.3 +Sunday,7,2.6 +Thursday,11,8.1 +Saturday,19,13.0 +Thursday,12,13.6 +Saturday,13,2.6 +Saturday,8,10.3 +Thursday,13,29.3 +Wednesday,4,4.5 +Sunday,12,3.5 +Tuesday,13,9.4 +Saturday,10,11.3 +Tuesday,1,2.4 +Tuesday,13,12.1 +Monday,8,2.0 +Saturday,11,5.9 +Wednesday,16,5.7 +Friday,20,8.0 +Monday,20,3.2 +Monday,7,5.0 +Sunday,17,5.4 +Wednesday,9,8.6 +Friday,19,8.3 +Sunday,12,22.5 +Monday,9,8.5 +Friday,7,6.4 +Tuesday,14,23.3 +Wednesday,13,24.9 +Saturday,18,5.8 +Friday,12,18.7 +Thursday,7,1.2 +Saturday,0,12.8 +Tuesday,10,3.4 +Thursday,7,11.5 +Friday,18,11.1 +Saturday,4,10.7 +Monday,22,27.7 +Wednesday,0,7.4 +Friday,18,2.8 +Wednesday,14,21.0 +Friday,17,0.9 +Tuesday,20,4.2 +Sunday,17,0.7 +Sunday,11,14.9 +Sunday,16,7.0 +Monday,16,3.9 +Wednesday,21,14.4 +Tuesday,4,9.4 +Tuesday,15,2.6 +Saturday,10,13.5 +Saturday,14,18.4 +Tuesday,10,1.6 +Friday,12,16.0 +Saturday,18,7.4 +Sunday,16,12.8 +Monday,15,30.1 +Wednesday,3,8.2 +Thursday,21,7.5 +Thursday,22,0.4 +Wednesday,20,4.8 +Sunday,2,7.6 +Tuesday,0,8.8 +Thursday,18,11.3 +Thursday,8,10.3 +Monday,8,2.5 +Monday,11,9.1 +Monday,19,7.7 +Wednesday,6,11.0 +Saturday,15,3.6 +Wednesday,11,23.7 +Saturday,18,5.8 +Tuesday,8,1.6 +Monday,15,3.6 +Wednesday,19,2.2 +Thursday,8,17.1 +Wednesday,14,11.7 +Friday,19,1.9 +Wednesday,12,11.8 +Wednesday,4,27.6 +Monday,12,23.0 +Tuesday,7,3.0 +Wednesday,5,28.9 +Tuesday,16,19.9 +Thursday,10,4.2 +Thursday,11,7.4 +Saturday,16,13.1 +Friday,12,6.1 +Thursday,11,18.9 +Wednesday,13,8.4 +Wednesday,7,3.8 +Friday,16,16.4 +Wednesday,9,26.5 +Friday,3,24.5 +Sunday,10,7.9 +Tuesday,12,9.6 +Wednesday,16,15.3 +Saturday,7,4.9 +Saturday,14,9.6 +Thursday,14,5.4 +Monday,9,15.1 +Tuesday,5,10.5 +Thursday,13,31.6 +Thursday,19,5.2 +Tuesday,18,13.0 +Sunday,18,11.6 +Tuesday,15,9.1 +Friday,3,6.6 +Saturday,23,5.1 +Friday,5,22.5 +Monday,19,6.8 +Tuesday,19,0.6 +Monday,10,9.8 +Sunday,15,18.1 +Sunday,20,6.2 +Tuesday,7,6.3 +Wednesday,1,7.0 +Monday,8,22.3 +Sunday,17,13.9 +Monday,20,10.6 +Thursday,15,2.7 +Wednesday,8,4.4 +Sunday,15,13.4 +Sunday,8,2.4 +Wednesday,4,3.2 +Saturday,2,3.2 +Thursday,16,6.1 +Saturday,7,3.9 +Wednesday,5,26.5 +Monday,7,2.1 +Saturday,20,6.4 +Wednesday,16,20.7 +Wednesday,23,22.9 +Wednesday,20,4.1 +Friday,10,10.6 +Wednesday,2,28.5 +Thursday,11,43.3 +Monday,18,3.8 +Wednesday,11,33.0 +Sunday,17,5.4 +Saturday,20,2.3 +Tuesday,14,10.2 +Friday,13,3.1 +Wednesday,18,16.8 +Monday,3,14.1 +Saturday,14,7.3 +Wednesday,12,21.1 +Tuesday,16,9.0 +Friday,12,54.7 +Friday,18,11.6 +Saturday,8,2.4 +Tuesday,19,2.6 +Saturday,13,5.3 +Tuesday,20,3.3 +Saturday,13,2.2 +Wednesday,9,18.2 +Wednesday,16,46.0 +Thursday,12,27.1 +Saturday,9,7.9 +Friday,20,3.2 +Friday,20,10.7 +Wednesday,9,4.8 +Saturday,11,15.5 +Thursday,14,6.9 +Thursday,9,34.9 +Wednesday,16,6.2 +Thursday,10,12.3 +Thursday,12,14.9 +Thursday,3,5.3 +Tuesday,14,19.1 +Saturday,22,15.4 +Monday,8,3.6 +Tuesday,10,19.8 +Wednesday,19,11.3 +Friday,12,10.6 +Monday,19,7.8 +Thursday,17,6.4 +Tuesday,17,16.9 +Friday,10,3.7 +Sunday,2,4.0 +Friday,7,2.4 +Wednesday,13,9.9 +Thursday,12,2.5 +Tuesday,4,15.5 +Saturday,19,8.8 +Thursday,19,10.8 +Friday,17,3.9 +Monday,12,17.4 +Monday,20,2.4 +Thursday,10,15.0 +Wednesday,7,4.6 +Wednesday,7,12.0 +Sunday,1,3.3 +Friday,15,7.5 +Sunday,23,18.2 +Friday,13,19.2 +Monday,10,12.3 +Wednesday,7,5.7 +Wednesday,9,14.3 +Wednesday,14,27.7 +Saturday,16,2.6 +Wednesday,9,2.1 +Monday,5,13.9 +Friday,12,7.6 +Monday,9,1.9 +Wednesday,14,44.6 +Wednesday,7,29.3 +Thursday,6,24.2 +Tuesday,15,3.3 +Saturday,7,13.6 +Thursday,20,3.1 +Saturday,18,8.9 +Saturday,14,4.2 +Monday,12,15.8 +Wednesday,10,1.0 +Thursday,8,7.6 +Tuesday,15,20.9 +Saturday,17,9.8 +Tuesday,18,3.8 +Wednesday,7,11.7 +Tuesday,3,21.4 +Tuesday,19,1.5 +Saturday,18,5.5 +Monday,20,1.2 +Thursday,10,4.7 +Tuesday,3,22.4 +Tuesday,22,12.2 +Monday,15,2.7 +Wednesday,20,6.2 +Wednesday,17,7.3 +Saturday,19,3.5 +Sunday,6,7.2 +Thursday,15,26.8 +Tuesday,18,3.3 +Thursday,8,10.6 +Friday,12,31.5 +Monday,4,16.2 +Wednesday,7,5.0 +Wednesday,5,0.2 +Saturday,19,5.4 +Monday,9,11.9 +Wednesday,19,2.5 +Wednesday,13,17.4 +Thursday,9,17.8 +Tuesday,20,1.1 +Tuesday,13,36.3 +Monday,12,36.0 +Friday,19,15.4 +Friday,8,11.4 +Thursday,14,6.6 +Wednesday,7,5.6 +Thursday,10,18.1 +Tuesday,15,8.9 +Monday,14,23.7 +Wednesday,13,6.2 +Friday,16,14.4 +Tuesday,8,3.3 +Wednesday,6,11.0 +Saturday,9,13.4 +Saturday,11,22.6 +Friday,21,15.5 +Saturday,13,19.3 +Monday,9,29.0 +Sunday,14,3.4 +Monday,14,10.3 +Monday,11,5.9 +Wednesday,11,71.5 +Sunday,9,3.1 +Thursday,9,11.2 +Saturday,8,4.4 +Monday,9,11.6 +Wednesday,8,1.3 +Tuesday,15,4.3 +Saturday,10,11.3 +Friday,11,34.6 +Wednesday,8,9.8 +Friday,9,11.6 +Tuesday,18,12.0 +Tuesday,8,12.1 +Thursday,16,15.3 +Thursday,20,10.3 +Saturday,13,6.6 +Tuesday,19,9.7 +Wednesday,8,17.5 +Saturday,11,4.2 +Wednesday,13,11.6 +Monday,14,13.6 +Wednesday,14,11.1 +Wednesday,9,5.8 +Saturday,16,4.8 +Friday,9,2.7 +Friday,11,22.8 +Saturday,19,4.7 +Sunday,14,9.3 +Monday,17,26.1 +Sunday,16,4.8 +Tuesday,18,3.6 +Saturday,9,2.7 +Thursday,20,10.0 +Saturday,11,14.0 +Sunday,4,35.2 +Friday,20,4.1 +Friday,10,39.4 +Tuesday,11,37.6 +Thursday,9,1.6 +Saturday,20,4.8 +Wednesday,20,4.7 +Monday,4,14.6 +Tuesday,12,7.4 +Friday,21,25.1 +Wednesday,20,16.8 +Saturday,18,2.3 +Wednesday,20,9.4 +Wednesday,5,11.4 +Monday,17,2.2 +Wednesday,15,10.9 +Friday,10,11.7 +Tuesday,14,20.4 +Thursday,18,6.7 +Saturday,13,16.6 +Wednesday,20,1.8 +Wednesday,9,21.2 +Wednesday,19,10.7 +Tuesday,14,22.4 +Tuesday,9,2.9 +Friday,11,1.7 +Monday,20,2.2 +Wednesday,17,7.2 +Thursday,20,1.5 +Saturday,19,16.9 +Tuesday,15,10.9 +Wednesday,18,8.2 +Thursday,22,15.7 +Tuesday,2,2.1 +Friday,17,20.0 +Thursday,16,18.0 +Thursday,11,4.3 +Wednesday,19,2.3 +Tuesday,6,19.5 +Wednesday,18,3.8 +Tuesday,14,11.9 +Friday,23,10.4 +Sunday,12,9.0 +Monday,15,6.7 +Friday,12,3.4 +Tuesday,1,4.5 +Monday,16,3.9 +Monday,9,20.6 +Thursday,13,21.8 +Saturday,18,10.9 +Saturday,20,4.4 +Tuesday,17,13.8 +Saturday,17,7.2 +Saturday,14,1.0 +Monday,18,3.8 +Sunday,19,7.3 +Sunday,9,2.2 +Thursday,16,14.6 +Wednesday,20,16.6 +Wednesday,1,15.2 +Tuesday,17,1.4 +Saturday,11,6.0 +Wednesday,16,11.8 +Thursday,0,8.6 +Wednesday,14,24.7 +Thursday,4,5.7 +Monday,9,12.5 +Monday,9,2.6 +Thursday,21,16.1 +Sunday,8,6.1 +Tuesday,17,1.5 +Monday,12,24.0 +Tuesday,9,0.1 +Sunday,7,3.0 +Sunday,8,4.0 +Tuesday,18,14.7 +Sunday,17,3.7 +Tuesday,19,4.3 +Friday,7,4.8 +Wednesday,18,9.9 +Thursday,17,3.5 +Saturday,17,1.7 +Wednesday,18,2.0 +Friday,20,11.2 +Sunday,2,2.7 +Friday,22,22.9 +Monday,14,20.5 +Wednesday,17,2.6 +Friday,17,17.8 +Wednesday,13,1.2 +Sunday,20,5.8 +Monday,9,1.7 +Sunday,15,23.5 +Thursday,2,5.8 +Tuesday,18,9.5 +Wednesday,11,3.4 +Thursday,17,13.2 +Saturday,10,11.6 +Friday,11,22.7 +Monday,9,18.4 +Monday,9,5.6 +Saturday,7,3.7 +Friday,6,16.1 +Monday,9,7.6 +Thursday,20,4.6 +Tuesday,17,1.8 +Saturday,16,5.8 +Wednesday,16,6.3 +Monday,20,1.8 +Wednesday,12,17.5 +Saturday,10,6.6 +Thursday,9,10.7 +Wednesday,10,23.9 +Thursday,8,7.4 +Monday,13,3.7 +Tuesday,20,1.1 +Tuesday,17,17.0 +Thursday,4,9.8 +Monday,23,10.6 +Sunday,20,2.9 +Wednesday,8,15.8 +Saturday,20,10.0 +Tuesday,6,38.6 +Wednesday,15,8.4 +Wednesday,6,12.5 +Wednesday,0,2.8 +Tuesday,10,14.8 +Monday,17,19.6 +Friday,20,11.1 +Friday,14,7.4 +Wednesday,19,2.6 +Tuesday,20,5.1 +Monday,9,8.8 +Saturday,19,9.2 +Sunday,11,19.6 +Saturday,4,11.6 +Friday,11,8.9 +Sunday,15,5.8 +Friday,9,11.4 +Tuesday,8,13.1 +Sunday,11,14.9 +Sunday,12,9.9 +Tuesday,16,3.3 +Monday,16,18.2 +Saturday,12,14.5 +Thursday,20,1.9 +Saturday,11,5.2 +Friday,19,11.8 +Tuesday,15,5.5 +Monday,13,9.8 +Saturday,16,3.0 +Wednesday,14,10.9 +Sunday,10,43.0 +Tuesday,15,28.6 +Sunday,19,4.0 +Monday,20,6.8 +Monday,12,20.3 +Thursday,12,4.3 +Tuesday,12,29.5 +Wednesday,20,2.6 +Saturday,2,7.8 +Monday,19,6.6 +Saturday,11,13.0 +Saturday,7,6.4 +Monday,9,14.3 +Sunday,3,4.7 +Tuesday,12,6.2 +Wednesday,10,9.2 +Saturday,13,11.1 +Thursday,16,11.5 +Friday,13,20.5 +Thursday,14,7.5 +Tuesday,9,16.5 +Monday,14,2.7 +Thursday,17,19.7 +Sunday,4,20.8 +Saturday,0,13.8 +Wednesday,0,18.1 +Friday,16,7.8 +Saturday,10,8.7 +Friday,18,8.1 +Saturday,22,10.1 +Friday,17,26.0 +Friday,12,9.8 +Sunday,11,13.5 +Sunday,17,8.4 +Thursday,17,2.4 +Wednesday,15,13.3 +Sunday,16,2.1 +Friday,1,39.2 +Wednesday,13,11.6 +Monday,11,6.9 +Thursday,18,9.3 +Saturday,17,7.7 +Tuesday,18,4.1 +Tuesday,14,5.1 +Thursday,14,14.8 +Wednesday,16,37.4 +Sunday,22,2.2 +Sunday,18,13.0 +Saturday,12,12.0 +Saturday,19,3.3 +Monday,11,15.7 +Friday,19,5.2 +Friday,13,12.1 +Wednesday,22,10.2 +Thursday,7,2.7 +Tuesday,19,9.8 +Wednesday,17,26.9 +Saturday,20,11.6 +Saturday,18,3.6 +Tuesday,10,23.4 +Sunday,11,15.6 +Saturday,17,13.5 +Monday,18,16.7 +Wednesday,15,8.8 +Friday,14,18.4 +Thursday,13,11.6 +Friday,13,6.5 +Wednesday,22,14.4 +Monday,16,2.8 +Tuesday,14,13.8 +Wednesday,7,5.9 +Thursday,8,2.5 +Monday,16,4.5 +Thursday,13,0.8 +Wednesday,9,12.0 +Monday,20,14.6 +Monday,21,20.1 +Monday,7,14.3 +Sunday,18,6.5 +Tuesday,8,13.8 +Monday,10,21.0 +Tuesday,8,9.1 +Monday,9,22.3 +Wednesday,15,16.3 +Friday,16,5.3 +Sunday,10,12.5 +Friday,1,12.1 +Wednesday,18,6.0 +Monday,11,27.6 +Thursday,7,3.5 +Wednesday,18,1.6 +Sunday,16,18.0 +Monday,20,5.3 +Saturday,3,16.5 +Sunday,17,6.7 +Friday,9,4.8 +Thursday,7,13.7 +Saturday,7,1.7 +Wednesday,16,26.6 +Thursday,16,17.4 +Wednesday,19,16.7 +Wednesday,22,16.8 +Monday,21,15.6 +Thursday,15,12.6 +Thursday,16,12.4 +Monday,10,19.1 +Monday,13,7.3 +Sunday,19,6.3 +Saturday,10,26.0 +Saturday,6,21.5 +Tuesday,9,3.9 +Monday,17,14.1 +Saturday,14,10.5 +Wednesday,12,11.2 +Friday,18,7.5 +Thursday,15,26.0 +Tuesday,13,4.5 +Sunday,9,12.9 +Wednesday,2,32.1 +Saturday,8,10.9 +Sunday,9,0.8 +Saturday,19,5.8 +Monday,14,8.8 +Monday,14,35.1 +Friday,9,6.1 +Wednesday,15,13.6 +Wednesday,11,6.1 +Sunday,9,13.2 +Tuesday,12,6.0 +Friday,1,30.4 +Friday,14,6.0 +Tuesday,15,17.1 +Wednesday,19,6.3 +Wednesday,18,3.1 +Tuesday,10,11.0 +Thursday,16,7.8 +Thursday,10,24.5 +Monday,15,17.4 +Sunday,19,2.1 +Friday,20,5.2 +Thursday,20,5.6 +Saturday,16,11.0 +Monday,9,3.9 +Thursday,18,6.7 +Monday,15,15.0 +Saturday,18,4.9 +Saturday,14,3.3 +Wednesday,20,4.0 +Wednesday,7,10.3 +Wednesday,17,13.1 +Wednesday,12,21.4 +Saturday,12,11.9 +Wednesday,12,14.4 +Thursday,14,10.0 +Friday,9,9.6 +Friday,9,15.3 +Saturday,18,6.9 +Sunday,7,0.4 +Friday,18,0.7 +Saturday,17,8.2 +Sunday,11,9.5 +Tuesday,8,15.0 +Sunday,11,15.4 +Sunday,14,4.2 +Saturday,12,4.3 +Wednesday,15,7.5 +Friday,14,13.2 +Thursday,17,7.0 +Wednesday,14,9.2 +Thursday,11,7.6 +Friday,15,14.0 +Tuesday,17,3.8 +Wednesday,7,13.7 +Tuesday,19,2.4 +Tuesday,11,24.1 +Tuesday,18,3.6 +Tuesday,10,42.7 +Friday,7,7.9 +Tuesday,12,16.3 +Friday,15,17.3 +Wednesday,10,9.6 +Tuesday,16,6.1 +Friday,12,12.8 +Monday,10,56.6 +Thursday,19,2.4 +Friday,23,1.4 +Monday,20,14.8 +Saturday,18,19.2 +Monday,7,7.5 +Wednesday,9,1.4 +Saturday,15,6.7 +Saturday,19,5.6 +Saturday,11,6.6 +Saturday,19,1.8 +Monday,10,14.7 +Monday,8,12.8 +Friday,11,6.4 +Monday,18,5.3 +Thursday,12,40.1 +Sunday,9,14.2 +Friday,7,15.2 +Tuesday,11,6.1 +Wednesday,16,0.6 +Tuesday,20,1.2 +Monday,8,7.9 +Wednesday,11,21.0 +Thursday,19,3.3 +Tuesday,0,11.1 +Wednesday,13,3.4 +Wednesday,15,2.5 +Friday,15,14.7 +Friday,8,10.1 +Thursday,12,1.9 +Monday,5,14.8 +Monday,7,16.1 +Thursday,2,10.9 +Wednesday,15,18.4 +Sunday,11,7.7 +Sunday,16,5.8 +Tuesday,19,4.6 +Tuesday,11,9.1 +Saturday,11,1.5 +Thursday,9,8.9 +Saturday,9,8.7 +Thursday,8,4.4 +Friday,8,11.3 +Friday,13,20.3 +Thursday,7,10.8 +Sunday,20,7.1 +Saturday,4,10.1 +Saturday,13,16.9 +Thursday,8,8.4 +Tuesday,20,1.9 +Sunday,19,2.9 +Thursday,18,10.3 +Tuesday,11,15.8 +Wednesday,9,11.4 +Tuesday,12,19.2 +Sunday,16,7.3 +Friday,11,45.3 +Monday,11,30.5 +Sunday,11,17.4 +Friday,17,25.3 +Monday,10,35.4 +Wednesday,8,2.3 +Tuesday,10,5.2 +Saturday,17,25.7 +Wednesday,17,6.6 +Saturday,17,1.3 +Friday,5,20.0 +Friday,13,5.5 +Sunday,9,17.6 +Friday,1,20.5 +Thursday,17,8.7 +Friday,14,17.4 +Friday,17,4.0 +Monday,9,1.1 +Wednesday,12,14.5 +Wednesday,8,3.7 +Friday,12,13.7 +Wednesday,18,16.8 +Wednesday,8,10.8 +Wednesday,11,15.2 +Wednesday,9,17.8 +Wednesday,15,8.6 +Tuesday,8,20.2 +Thursday,7,2.4 +Sunday,17,6.7 +Sunday,20,8.4 +Saturday,11,13.2 +Thursday,18,5.3 +Saturday,10,15.9 +Thursday,9,11.3 +Wednesday,19,5.5 +Tuesday,22,28.4 +Wednesday,9,10.1 +Tuesday,18,12.8 +Tuesday,14,9.2 +Monday,14,6.6 +Sunday,19,11.1 +Friday,4,8.8 +Wednesday,13,17.5 +Thursday,8,7.4 +Saturday,13,9.3 +Tuesday,11,27.4 +Tuesday,12,24.2 +Tuesday,14,13.4 +Wednesday,11,59.4 +Sunday,19,5.4 +Thursday,13,42.3 +Sunday,10,16.8 +Friday,13,11.5 +Monday,9,11.8 +Wednesday,7,12.8 +Thursday,19,8.8 +Sunday,8,6.5 +Wednesday,11,15.8 +Friday,7,4.0 +Friday,14,4.1 +Saturday,21,1.7 +Tuesday,11,9.9 +Friday,20,7.6 +Sunday,19,7.9 +Thursday,19,4.4 +Saturday,16,1.5 +Saturday,11,21.3 +Friday,19,1.8 +Saturday,13,3.5 +Monday,12,18.7 +Monday,16,16.4 +Sunday,15,0.5 +Friday,13,12.3 +Monday,5,23.4 +Thursday,12,9.4 +Saturday,9,3.9 +Thursday,22,14.7 +Thursday,11,21.8 +Tuesday,8,23.4 +Wednesday,13,9.3 +Friday,22,20.1 +Saturday,10,7.8 +Wednesday,18,2.9 +Thursday,6,4.7 +Friday,15,13.6 +Tuesday,12,14.3 +Sunday,21,5.0 +Saturday,14,8.5 +Sunday,1,11.2 +Thursday,17,5.6 +Tuesday,18,2.0 +Friday,7,1.7 +Friday,4,10.1 +Sunday,17,10.6 +Tuesday,19,5.1 +Sunday,19,8.0 +Sunday,11,16.0 +Saturday,14,6.4 +Tuesday,8,9.6 +Sunday,11,19.9 +Wednesday,12,11.4 +Tuesday,8,15.3 +Wednesday,12,21.4 +Tuesday,12,52.9 +Monday,17,8.9 +Friday,8,4.7 +Sunday,20,12.3 +Wednesday,20,2.3 +Wednesday,8,4.0 +Friday,19,5.9 +Saturday,8,5.5 +Friday,16,10.4 +Monday,13,4.6 +Thursday,9,7.6 +Friday,7,2.3 +Friday,11,29.8 +Friday,17,10.2 +Saturday,12,17.5 +Friday,20,7.3 +Tuesday,9,6.3 +Sunday,18,6.0 +Monday,14,4.7 +Monday,18,5.2 +Wednesday,13,13.5 +Sunday,14,1.6 +Friday,18,6.8 +Tuesday,18,5.2 +Wednesday,9,10.5 +Thursday,15,17.6 +Tuesday,13,8.6 +Sunday,14,2.7 +Monday,14,13.5 +Saturday,22,11.5 +Monday,14,7.3 +Sunday,11,29.9 +Wednesday,2,6.2 +Saturday,14,6.7 +Sunday,2,13.1 +Friday,17,1.5 +Sunday,19,1.8 +Wednesday,10,21.8 +Thursday,7,4.7 +Tuesday,11,30.2 +Saturday,15,7.4 +Wednesday,6,18.0 +Monday,7,9.0 +Sunday,17,12.5 +Sunday,17,7.2 +Wednesday,19,11.4 +Tuesday,16,2.8 +Wednesday,8,15.2 +Sunday,18,1.9 +Monday,7,5.3 +Sunday,14,12.7 +Friday,9,3.2 +Thursday,10,8.0 +Tuesday,11,3.7 +Monday,11,7.8 +Sunday,9,4.5 +Sunday,15,23.9 +Wednesday,2,11.6 +Monday,14,20.2 +Thursday,12,31.3 +Monday,13,17.1 +Thursday,11,22.5 +Thursday,19,3.0 +Wednesday,20,20.9 +Thursday,18,7.5 +Saturday,9,4.3 +Saturday,17,2.7 +Saturday,15,2.3 +Tuesday,16,28.8 +Tuesday,13,7.5 +Monday,16,9.3 +Sunday,16,2.5 +Sunday,17,5.0 +Saturday,8,2.5 +Tuesday,19,8.6 +Sunday,16,3.7 +Friday,20,15.8 +Sunday,20,2.3 +Saturday,16,12.8 +Monday,12,6.3 +Monday,20,10.9 +Thursday,13,17.5 +Friday,20,12.6 +Friday,20,4.5 +Wednesday,22,6.3 +Monday,21,23.6 +Wednesday,17,6.6 +Tuesday,13,2.1 +Monday,1,1.0 +Monday,9,17.5 +Wednesday,12,13.1 +Tuesday,15,14.7 +Monday,18,10.2 +Saturday,20,0.9 +Tuesday,2,13.7 +Sunday,14,4.7 +Sunday,12,7.7 +Thursday,14,11.7 +Wednesday,10,11.9 +Thursday,11,46.1 +Saturday,18,3.1 +Thursday,0,5.6 +Wednesday,8,8.0 +Wednesday,13,10.0 +Friday,16,12.5 +Sunday,15,3.7 +Thursday,19,8.8 +Friday,2,8.8 +Wednesday,12,41.6 +Saturday,13,3.1 +Monday,20,6.7 +Friday,18,5.7 +Wednesday,3,25.9 +Sunday,7,3.5 +Tuesday,16,29.8 +Monday,22,10.6 +Thursday,20,2.8 +Sunday,15,10.0 +Thursday,23,23.1 +Tuesday,12,85.9 +Thursday,20,9.4 +Saturday,11,10.0 +Friday,13,8.3 +Sunday,8,7.0 +Tuesday,17,27.4 +Wednesday,23,17.6 +Saturday,20,16.5 +Saturday,2,20.8 +Wednesday,18,11.4 +Monday,8,16.2 +Saturday,8,1.3 +Tuesday,17,9.7 +Saturday,17,3.2 +Thursday,11,11.8 +Saturday,13,7.8 +Wednesday,8,5.9 +Tuesday,5,9.3 +Monday,4,16.2 +Monday,12,8.4 +Monday,10,22.9 +Monday,9,7.4 +Saturday,16,4.9 +Sunday,10,9.8 +Wednesday,21,5.2 +Tuesday,9,20.2 +Thursday,8,2.0 +Monday,18,15.3 +Sunday,12,8.9 +Saturday,7,7.8 +Wednesday,13,19.5 +Saturday,12,9.6 +Friday,10,8.0 +Monday,17,9.7 +Thursday,19,15.0 +Sunday,18,3.6 +Friday,7,13.4 +Saturday,16,14.2 +Wednesday,9,25.3 +Wednesday,19,23.0 +Sunday,16,10.2 +Wednesday,9,12.9 +Monday,7,2.9 +Tuesday,0,9.0 +Saturday,15,17.0 +Monday,16,7.0 +Sunday,10,17.9 +Monday,17,9.8 +Tuesday,6,10.3 +Wednesday,10,30.5 +Monday,17,2.4 +Sunday,17,4.7 +Sunday,8,8.4 +Saturday,7,2.9 +Friday,10,12.5 +Saturday,18,9.6 +Wednesday,9,16.8 +Sunday,17,11.4 +Wednesday,17,5.0 +Saturday,16,9.0 +Sunday,22,5.6 +Wednesday,9,26.2 +Saturday,11,6.0 +Sunday,7,4.0 +Sunday,19,7.7 +Tuesday,12,11.5 +Friday,14,10.1 +Monday,23,5.8 +Friday,15,4.5 +Wednesday,15,6.7 +Friday,13,13.9 +Monday,13,13.8 +Monday,13,18.4 +Thursday,19,5.3 +Monday,16,9.9 +Tuesday,12,24.3 +Monday,7,2.5 +Wednesday,4,6.8 +Monday,23,18.5 +Saturday,18,22.8 +Wednesday,14,2.2 +Thursday,7,3.6 +Saturday,19,7.4 +Sunday,17,5.2 +Wednesday,4,7.1 +Monday,21,7.9 +Wednesday,10,3.0 +Monday,20,7.8 +Saturday,8,1.3 +Wednesday,13,19.1 +Friday,9,8.7 +Tuesday,18,1.5 +Friday,20,2.1 +Monday,18,7.2 +Saturday,10,7.5 +Thursday,10,22.0 +Tuesday,15,3.5 +Wednesday,13,16.4 +Thursday,20,7.6 +Tuesday,14,10.2 +Thursday,8,5.1 +Friday,8,23.5 +Friday,17,12.9 +Sunday,17,6.4 +Tuesday,20,6.8 +Saturday,8,4.4 +Thursday,11,22.7 +Friday,7,4.2 +Wednesday,5,8.2 +Friday,12,2.8 +Tuesday,19,17.3 +Friday,13,28.8 +Friday,16,12.2 +Friday,10,19.0 +Friday,20,5.9 +Saturday,9,0.4 +Monday,11,13.2 +Tuesday,16,4.9 +Monday,10,27.1 +Saturday,19,4.4 +Wednesday,17,24.8 +Wednesday,11,28.3 +Thursday,23,9.2 +Thursday,15,0.2 +Monday,15,28.8 +Tuesday,8,13.7 +Sunday,15,4.2 +Friday,14,3.3 +Friday,12,27.4 +Tuesday,14,21.8 +Saturday,18,8.5 +Tuesday,8,11.0 +Thursday,14,15.7 +Saturday,10,10.0 +Tuesday,17,9.3 +Saturday,18,14.9 +Wednesday,11,27.1 +Wednesday,13,12.0 +Wednesday,19,5.1 +Thursday,16,29.8 +Thursday,9,8.4 +Tuesday,9,6.6 +Friday,12,9.7 +Monday,23,8.2 +Monday,18,5.7 +Friday,7,11.0 +Tuesday,18,6.3 +Saturday,12,3.6 +Sunday,20,10.4 +Sunday,18,1.1 +Tuesday,11,4.9 +Wednesday,15,8.2 +Monday,16,12.8 +Saturday,8,4.6 +Wednesday,11,55.0 +Wednesday,15,1.6 +Monday,18,3.3 +Wednesday,10,12.3 +Sunday,11,5.3 +Sunday,18,2.8 +Sunday,10,27.8 +Friday,16,15.4 +Tuesday,11,16.9 +Saturday,6,4.7 +Sunday,0,17.4 +Saturday,16,16.9 +Tuesday,2,26.6 +Tuesday,7,3.3 +Monday,7,6.2 +Friday,9,19.5 +Wednesday,12,23.4 +Thursday,16,16.8 +Wednesday,19,5.1 +Thursday,17,8.5 +Sunday,14,4.7 +Sunday,13,10.0 +Sunday,10,31.1 +Sunday,16,2.7 +Tuesday,13,2.4 +Wednesday,18,2.7 +Thursday,19,4.9 +Thursday,9,31.5 +Tuesday,9,14.6 +Sunday,17,6.7 +Saturday,13,11.2 +Wednesday,15,5.5 +Monday,19,6.0 +Sunday,15,14.0 +Thursday,19,3.1 +Friday,19,3.9 +Saturday,13,4.7 +Thursday,5,7.9 +Sunday,15,3.8 +Saturday,14,7.3 +Tuesday,20,3.6 +Wednesday,7,14.1 +Saturday,16,1.1 +Thursday,10,17.8 +Saturday,21,34.4 +Friday,20,1.4 +Monday,14,50.4 +Sunday,10,18.6 +Thursday,20,15.5 +Thursday,10,22.1 +Sunday,13,3.4 +Monday,18,5.3 +Friday,13,20.1 +Tuesday,16,29.7 +Sunday,8,5.3 +Wednesday,13,10.3 +Wednesday,20,2.9 +Wednesday,18,3.8 +Tuesday,12,13.3 +Wednesday,14,3.0 +Tuesday,16,4.3 +Monday,6,1.7 +Friday,8,2.9 +Wednesday,16,7.8 +Tuesday,18,20.8 +Friday,22,15.7 +Wednesday,8,6.3 +Sunday,18,5.5 +Tuesday,13,14.3 +Wednesday,10,39.3 +Wednesday,9,9.1 +Monday,7,11.5 +Monday,10,18.9 +Wednesday,19,9.1 +Thursday,8,10.5 +Thursday,23,4.9 +Friday,14,4.6 +Tuesday,7,13.2 +Wednesday,19,15.5 +Saturday,19,4.0 +Friday,13,14.9 +Tuesday,7,17.0 +Thursday,14,15.5 +Wednesday,10,0.5 +Monday,10,1.3 +Monday,14,29.1 +Wednesday,12,23.0 +Wednesday,16,18.6 +Tuesday,17,11.7 +Friday,17,11.8 +Tuesday,23,5.9 +Monday,15,14.0 +Monday,9,10.6 +Thursday,13,11.4 +Friday,5,8.1 +Tuesday,2,6.6 +Friday,19,9.8 +Thursday,13,13.2 +Friday,1,5.6 +Friday,21,19.4 +Thursday,12,3.9 +Monday,15,18.9 +Monday,17,14.2 +Friday,13,7.7 +Monday,14,20.1 +Monday,14,34.2 +Wednesday,12,16.9 +Sunday,18,9.8 +Monday,18,3.0 +Monday,10,4.0 +Friday,14,2.3 +Friday,12,22.3 +Monday,13,26.3 +Sunday,12,11.7 +Thursday,8,11.9 +Thursday,13,29.8 +Sunday,9,5.5 +Thursday,15,0.2 +Thursday,21,9.9 +Thursday,10,12.3 +Sunday,10,5.9 +Wednesday,19,6.7 +Thursday,7,5.5 +Saturday,19,11.2 +Thursday,7,25.6 +Saturday,19,8.3 +Wednesday,19,20.2 +Monday,18,4.3 +Saturday,5,14.0 +Friday,8,26.0 +Friday,14,6.2 +Saturday,0,6.3 +Wednesday,9,11.8 +Friday,17,5.4 +Tuesday,20,10.2 +Thursday,11,2.0 +Monday,10,5.5 +Wednesday,16,10.1 +Monday,20,2.5 +Tuesday,19,7.1 +Monday,11,14.0 +Wednesday,3,9.5 +Saturday,10,4.0 +Sunday,10,3.0 +Tuesday,18,8.5 +Friday,7,3.0 +Friday,12,3.0 +Monday,17,7.2 +Monday,10,26.5 +Sunday,11,10.8 +Monday,20,2.1 +Friday,19,4.4 +Friday,12,6.5 +Monday,9,2.6 +Sunday,15,13.7 +Tuesday,15,34.5 +Monday,21,10.3 +Wednesday,9,2.8 +Wednesday,9,16.7 +Saturday,13,25.3 +Sunday,20,9.9 +Thursday,7,5.9 +Saturday,21,7.8 +Friday,9,9.9 +Thursday,16,3.1 +Tuesday,9,3.7 +Friday,17,5.0 +Friday,10,18.9 +Saturday,18,4.4 +Friday,9,30.9 +Monday,20,2.6 +Wednesday,14,15.2 +Friday,9,22.7 +Saturday,8,12.7 +Monday,4,4.1 +Saturday,11,35.7 +Thursday,12,18.9 +Wednesday,8,6.2 +Friday,19,2.7 +Friday,5,11.3 +Monday,7,7.0 +Monday,2,22.8 +Saturday,10,6.0 +Monday,11,36.8 +Friday,0,14.4 +Saturday,7,3.2 +Tuesday,10,17.4 +Monday,13,14.9 +Friday,13,14.4 +Tuesday,17,8.5 +Saturday,7,13.6 +Saturday,10,6.6 +Thursday,11,16.2 +Sunday,12,3.9 +Wednesday,19,4.2 +Monday,19,3.1 +Tuesday,11,7.8 +Friday,5,16.9 +Monday,18,2.7 +Saturday,2,19.4 +Friday,2,23.5 +Thursday,18,11.3 +Monday,16,16.9 +Wednesday,20,9.4 +Saturday,17,5.8 +Monday,11,10.6 +Tuesday,17,20.7 +Thursday,14,12.5 +Sunday,10,25.4 +Wednesday,14,18.1 +Wednesday,15,6.3 +Wednesday,8,1.4 +Tuesday,12,45.0 +Tuesday,19,5.0 +Thursday,9,15.5 +Wednesday,9,4.8 +Sunday,9,3.0 +Wednesday,8,6.8 +Wednesday,10,14.3 +Saturday,7,1.8 +Wednesday,12,10.4 +Sunday,0,8.3 +Friday,8,6.6 +Monday,19,5.1 +Wednesday,1,1.9 +Monday,11,23.0 +Wednesday,9,11.4 +Thursday,7,6.5 +Thursday,10,11.6 +Thursday,19,6.0 +Saturday,9,7.6 +Sunday,14,11.1 +Saturday,19,5.8 +Saturday,9,3.5 +Saturday,13,18.8 +Thursday,12,7.7 +Saturday,13,9.9 +Thursday,10,13.5 +Sunday,19,3.7 +Monday,20,6.0 +Tuesday,17,8.9 +Friday,7,5.1 +Thursday,10,24.3 +Thursday,19,11.5 +Friday,9,6.9 +Wednesday,19,1.6 +Wednesday,15,2.1 +Monday,9,9.9 +Friday,11,24.9 +Saturday,19,3.5 +Wednesday,7,5.3 +Friday,10,6.2 +Monday,15,28.9 +Thursday,20,9.6 +Tuesday,12,17.7 +Wednesday,20,5.2 +Sunday,7,0.7 +Wednesday,9,2.5 +Thursday,18,12.2 +Friday,17,24.6 +Saturday,20,2.0 +Tuesday,10,15.8 +Sunday,7,2.6 +Saturday,15,14.9 +Friday,17,2.0 +Sunday,17,1.5 +Tuesday,12,19.1 +Thursday,12,18.1 +Thursday,8,21.2 +Monday,10,4.6 +Sunday,20,11.7 +Tuesday,13,9.9 +Wednesday,18,2.3 +Friday,9,27.1 +Friday,11,9.4 +Thursday,18,11.8 +Thursday,17,17.6 +Saturday,17,2.5 +Tuesday,7,1.2 +Thursday,13,15.3 +Sunday,17,1.6 +Monday,14,10.4 +Wednesday,16,13.9 +Wednesday,7,1.3 +Friday,20,7.0 +Saturday,19,3.1 +Friday,17,3.6 +Friday,22,6.4 +Thursday,19,5.0 +Tuesday,9,13.1 +Wednesday,12,5.1 +Friday,7,1.8 +Monday,17,1.6 +Monday,14,19.1 +Friday,7,0.2 +Thursday,14,18.6 +Monday,19,11.9 +Sunday,15,9.6 +Monday,2,16.5 +Wednesday,10,23.3 +Sunday,17,7.1 +Monday,15,8.8 +Tuesday,9,9.0 +Wednesday,20,3.0 +Tuesday,7,1.4 +Friday,19,0.6 +Wednesday,15,14.9 +Friday,14,35.3 +Friday,18,1.4 +Thursday,18,16.8 +Tuesday,17,9.4 +Saturday,7,1.7 +Thursday,13,20.4 +Monday,14,4.4 +Monday,16,6.7 +Wednesday,5,5.8 +Monday,15,5.7 +Tuesday,19,4.8 +Saturday,9,4.6 +Thursday,19,5.0 +Monday,18,0.4 +Saturday,11,5.9 +Friday,9,4.2 +Friday,19,2.8 +Monday,23,12.2 +Wednesday,19,4.8 +Friday,13,18.4 +Sunday,19,11.1 +Saturday,19,3.1 +Saturday,12,1.2 +Saturday,18,13.9 +Saturday,12,5.6 +Sunday,18,4.7 +Saturday,17,5.6 +Saturday,1,18.4 +Tuesday,17,10.7 +Tuesday,19,2.6 +Wednesday,14,21.7 +Tuesday,20,2.6 +Wednesday,10,11.3 +Thursday,19,28.9 +Friday,7,10.0 +Sunday,11,11.1 +Monday,2,8.2 +Monday,21,20.1 +Monday,18,8.0 +Thursday,15,8.7 +Sunday,20,20.4 +Wednesday,21,8.5 +Thursday,16,6.9 +Friday,15,12.1 +Sunday,20,1.5 +Friday,18,5.2 +Sunday,4,31.2 +Friday,7,9.0 +Monday,16,26.0 +Sunday,19,5.0 +Sunday,0,49.2 +Tuesday,16,8.1 +Monday,18,8.0 +Wednesday,21,13.7 +Friday,21,23.0 +Wednesday,6,41.6 +Sunday,11,12.2 +Saturday,13,17.3 +Sunday,18,1.9 +Monday,9,8.1 +Tuesday,19,1.1 +Thursday,7,12.5 +Friday,20,5.4 +Sunday,21,48.5 +Saturday,7,3.5 +Monday,18,10.5 +Sunday,11,22.2 +Wednesday,20,8.7 +Wednesday,15,23.5 +Thursday,14,9.4 +Friday,5,9.8 +Thursday,17,16.1 +Sunday,0,15.8 +Thursday,16,41.5 +Friday,15,2.2 +Friday,20,1.9 +Friday,15,9.4 +Sunday,19,7.0 +Saturday,20,2.9 +Sunday,3,27.9 +Wednesday,6,7.9 +Sunday,15,6.3 +Friday,16,8.3 +Sunday,21,15.1 +Tuesday,18,3.4 +Friday,21,3.3 +Tuesday,16,2.2 +Friday,13,27.9 +Saturday,12,6.2 +Wednesday,5,18.2 +Thursday,9,10.3 +Tuesday,20,5.7 +Sunday,11,12.8 +Tuesday,18,6.9 +Monday,2,33.6 +Monday,15,14.7 +Sunday,8,6.5 +Thursday,15,11.5 +Friday,16,5.3 +Wednesday,8,2.0 +Sunday,2,13.5 +Friday,13,13.9 +Monday,9,17.2 +Thursday,16,13.7 +Tuesday,10,8.5 +Wednesday,21,20.2 +Thursday,11,4.2 +Sunday,0,28.7 +Friday,10,4.8 +Tuesday,18,9.1 +Wednesday,10,5.5 +Monday,11,1.6 +Sunday,13,20.8 +Monday,18,13.8 +Monday,9,11.3 +Thursday,12,0.4 +Monday,19,14.5 +Monday,16,14.6 +Tuesday,1,3.8 +Sunday,22,9.1 +Tuesday,18,10.0 +Saturday,13,5.4 +Monday,2,23.6 +Monday,12,12.9 +Monday,13,11.1 +Friday,13,22.9 +Saturday,9,14.2 +Saturday,14,8.3 +Thursday,20,6.1 +Monday,8,14.3 +Friday,7,6.2 +Wednesday,14,27.2 +Wednesday,12,7.4 +Wednesday,18,2.2 +Friday,15,13.3 +Wednesday,10,7.8 +Thursday,15,30.7 +Thursday,8,7.4 +Tuesday,10,5.2 +Tuesday,11,20.3 +Wednesday,17,12.3 +Wednesday,20,4.2 +Sunday,7,1.6 +Tuesday,8,13.4 +Thursday,17,18.6 +Saturday,16,9.4 +Tuesday,12,5.6 +Sunday,15,14.5 +Friday,18,3.4 +Sunday,17,0.8 +Sunday,13,3.4 +Friday,17,3.9 +Saturday,17,9.4 +Sunday,18,1.1 +Sunday,18,4.1 +Tuesday,10,11.2 +Friday,7,12.9 +Sunday,7,2.0 +Saturday,15,8.9 +Thursday,14,16.6 +Monday,13,27.4 +Thursday,20,2.4 +Saturday,19,7.6 +Saturday,10,10.4 +Friday,10,10.2 +Thursday,13,3.9 +Wednesday,9,4.0 +Tuesday,12,15.1 +Thursday,14,2.4 +Thursday,9,15.3 +Monday,13,24.7 +Thursday,14,8.4 +Tuesday,9,6.5 +Tuesday,8,12.9 +Friday,8,7.7 +Wednesday,11,21.1 +Friday,12,24.7 +Thursday,15,17.9 +Sunday,9,5.2 +Thursday,11,16.9 +Friday,9,3.1 +Sunday,19,9.1 +Thursday,19,4.8 +Friday,7,6.1 +Wednesday,7,6.2 +Sunday,18,12.1 +Thursday,15,10.7 +Tuesday,17,2.1 +Thursday,20,0.8 +Monday,20,3.4 +Monday,17,16.0 +Friday,20,11.0 +Wednesday,13,23.6 +Sunday,19,5.8 +Thursday,9,4.4 +Sunday,4,14.8 +Wednesday,15,6.9 +Friday,9,25.2 +Monday,17,4.0 +Thursday,20,2.2 +Thursday,5,19.6 +Tuesday,16,24.1 +Thursday,17,4.1 +Monday,2,4.4 +Wednesday,10,1.4 +Monday,7,5.8 +Tuesday,14,10.2 +Saturday,17,0.7 +Tuesday,16,3.1 +Thursday,12,6.1 +Friday,13,33.8 +Tuesday,11,2.6 +Monday,9,7.2 +Tuesday,19,3.8 +Friday,13,25.8 +Monday,17,7.9 +Monday,15,30.2 +Thursday,16,12.7 +Monday,13,19.7 +Wednesday,17,4.0 +Thursday,11,13.9 +Sunday,15,6.4 +Wednesday,10,18.2 +Monday,4,18.2 +Saturday,11,6.6 +Sunday,20,2.2 +Tuesday,14,18.1 +Tuesday,12,20.6 +Wednesday,17,25.7 +Monday,15,5.3 +Tuesday,17,12.1 +Friday,18,1.6 +Monday,13,22.0 +Tuesday,13,8.3 +Wednesday,18,19.4 +Tuesday,9,6.8 +Tuesday,8,4.5 +Saturday,10,8.3 +Thursday,13,9.2 +Saturday,17,8.6 +Monday,12,14.5 +Thursday,20,4.7 +Thursday,11,19.8 +Friday,15,27.2 +Sunday,19,4.4 +Tuesday,16,0.5 +Saturday,5,8.2 +Sunday,10,8.3 +Monday,16,6.5 +Saturday,12,11.1 +Friday,12,33.1 +Tuesday,17,8.1 +Tuesday,3,5.9 +Monday,17,6.7 +Saturday,3,6.6 +Tuesday,14,18.6 +Wednesday,12,43.2 +Saturday,0,6.9 +Monday,0,13.3 +Thursday,13,10.4 +Monday,16,2.2 +Saturday,14,17.1 +Wednesday,8,18.0 +Friday,18,9.2 +Saturday,15,15.0 +Friday,11,0.7 +Friday,18,9.3 +Thursday,0,47.7 +Wednesday,5,11.1 +Sunday,16,6.0 +Friday,1,9.8 +Tuesday,16,10.7 +Wednesday,19,10.2 +Friday,9,20.4 +Sunday,7,1.3 +Wednesday,18,3.6 +Friday,10,9.7 +Friday,16,10.7 +Wednesday,20,2.8 +Sunday,20,3.6 +Tuesday,18,8.5 +Tuesday,17,5.4 +Monday,14,15.0 +Friday,12,14.9 +Sunday,16,8.6 +Friday,12,21.2 +Friday,16,13.8 +Wednesday,18,9.1 +Tuesday,17,3.2 +Tuesday,19,4.1 +Sunday,15,19.4 +Thursday,4,4.5 +Saturday,8,7.6 +Friday,2,11.9 +Friday,9,4.1 +Wednesday,19,5.0 +Thursday,12,11.8 +Monday,12,36.6 +Friday,14,12.8 +Saturday,7,4.4 +Tuesday,15,8.4 +Wednesday,11,15.2 +Thursday,16,13.6 +Wednesday,17,5.2 +Thursday,8,3.8 +Saturday,15,11.7 +Thursday,21,15.4 +Thursday,16,7.9 +Wednesday,8,11.4 +Saturday,10,5.7 +Thursday,16,5.9 +Saturday,19,8.7 +Sunday,10,5.6 +Wednesday,1,17.3 +Tuesday,10,12.3 +Friday,13,6.3 +Monday,19,3.0 +Friday,13,3.4 +Friday,20,3.5 +Tuesday,21,18.0 +Monday,15,13.2 +Saturday,1,20.3 +Tuesday,20,8.3 +Sunday,2,11.4 +Wednesday,13,15.8 +Saturday,21,5.3 +Wednesday,15,12.6 +Thursday,6,7.2 +Friday,12,9.5 +Saturday,9,12.0 +Monday,15,1.8 +Saturday,13,10.6 +Wednesday,11,17.1 +Friday,3,9.1 +Monday,17,1.3 +Thursday,0,41.7 +Saturday,7,6.3 +Sunday,15,7.1 +Wednesday,12,2.4 +Wednesday,20,6.6 +Monday,14,8.0 +Sunday,8,11.9 +Friday,13,10.6 +Wednesday,20,10.9 +Sunday,3,7.4 +Saturday,18,8.1 +Thursday,15,4.3 +Monday,13,6.3 +Sunday,15,7.7 +Wednesday,22,12.4 +Monday,9,17.2 +Wednesday,15,4.4 +Monday,17,1.8 +Thursday,19,3.3 +Thursday,16,6.0 +Sunday,15,12.0 +Sunday,10,8.1 +Tuesday,7,13.8 +Tuesday,16,5.0 +Sunday,15,21.8 +Saturday,17,1.6 +Thursday,13,1.4 +Saturday,19,8.8 +Sunday,13,11.2 +Monday,9,20.4 +Wednesday,20,1.5 +Wednesday,18,4.8 +Tuesday,12,8.7 +Friday,15,2.8 +Sunday,10,9.1 +Saturday,6,8.0 +Monday,19,10.1 +Friday,11,8.5 +Sunday,16,7.1 +Friday,11,27.3 +Tuesday,0,15.7 +Monday,9,5.5 +Thursday,12,7.8 +Monday,9,11.2 +Monday,20,4.7 +Thursday,1,20.8 +Saturday,12,10.0 +Tuesday,16,23.1 +Monday,17,4.1 +Wednesday,20,8.0 +Friday,14,11.9 +Wednesday,16,7.6 +Monday,10,19.6 +Thursday,14,15.3 +Friday,19,6.6 +Wednesday,6,10.4 +Thursday,10,16.0 +Friday,11,17.4 +Sunday,20,4.6 +Wednesday,18,1.9 +Tuesday,6,3.4 +Friday,15,14.6 +Friday,16,8.2 +Friday,7,9.1 +Sunday,18,2.8 +Tuesday,13,27.1 +Monday,10,7.2 +Thursday,10,17.1 +Thursday,13,27.7 +Friday,11,25.0 +Wednesday,11,38.2 +Monday,11,33.6 +Saturday,14,5.1 +Monday,13,16.9 +Friday,11,18.1 +Saturday,16,10.7 +Friday,17,3.7 +Friday,8,4.0 +Saturday,18,8.9 +Friday,23,18.4 +Saturday,10,6.8 +Wednesday,17,8.0 +Friday,5,3.2 +Friday,4,5.4 +Monday,20,3.1 +Tuesday,7,1.1 +Wednesday,21,13.9 +Thursday,20,4.5 +Friday,22,25.8 +Tuesday,20,1.3 +Friday,16,3.3 +Saturday,10,11.6 +Thursday,22,7.5 +Tuesday,13,8.7 +Saturday,7,7.9 +Saturday,15,4.9 +Thursday,19,3.5 +Wednesday,20,14.7 +Friday,13,3.2 +Thursday,3,22.9 +Wednesday,7,3.8 +Thursday,12,14.1 +Saturday,17,5.5 +Tuesday,4,11.4 +Thursday,13,24.7 +Thursday,13,22.3 +Sunday,18,8.0 +Tuesday,7,5.8 +Saturday,19,5.8 +Wednesday,12,9.9 +Friday,14,8.2 +Sunday,14,8.7 +Tuesday,15,3.9 +Thursday,16,27.1 +Saturday,20,3.2 +Friday,16,15.1 +Monday,8,6.1 +Friday,8,11.8 +Monday,17,4.6 +Friday,19,4.9 +Sunday,19,3.2 +Monday,9,12.1 +Wednesday,14,32.4 +Tuesday,12,12.3 +Saturday,9,7.3 +Wednesday,19,4.7 +Saturday,13,9.9 +Friday,19,4.2 +Thursday,16,4.3 +Wednesday,6,18.5 +Monday,14,4.3 +Wednesday,13,10.7 +Sunday,19,2.2 +Monday,20,3.9 +Tuesday,22,19.7 +Monday,18,3.2 +Tuesday,16,31.6 +Sunday,8,2.9 +Friday,17,6.7 +Wednesday,16,14.3 +Thursday,18,14.7 +Friday,18,10.6 +Sunday,3,4.8 +Friday,0,10.0 +Thursday,18,7.8 +Sunday,10,24.2 +Wednesday,12,6.7 +Saturday,9,2.8 +Friday,12,20.0 +Tuesday,12,15.5 +Monday,9,4.9 +Tuesday,16,2.2 +Tuesday,18,2.9 +Thursday,15,8.9 +Tuesday,7,5.2 +Wednesday,7,3.6 +Sunday,19,12.6 +Tuesday,19,2.9 +Tuesday,20,8.5 +Sunday,12,2.4 +Wednesday,18,2.8 +Wednesday,14,49.1 +Wednesday,17,2.8 +Saturday,13,9.0 +Thursday,12,15.9 +Friday,9,3.6 +Monday,19,15.3 +Wednesday,2,10.5 +Thursday,13,20.7 +Monday,17,8.2 +Thursday,19,8.5 +Saturday,19,12.7 +Monday,7,12.1 +Friday,9,15.5 +Monday,9,33.2 +Monday,12,32.6 +Thursday,19,2.3 +Thursday,10,9.2 +Tuesday,14,5.1 +Saturday,10,10.7 +Wednesday,11,8.4 +Wednesday,7,10.7 +Monday,13,14.3 +Tuesday,13,5.4 +Wednesday,9,16.5 +Thursday,18,5.3 +Friday,11,4.1 +Sunday,14,10.6 +Friday,15,14.8 +Saturday,18,7.6 +Thursday,16,4.8 +Thursday,18,21.7 +Monday,11,11.0 +Tuesday,5,52.1 +Friday,10,12.6 +Sunday,9,12.1 +Saturday,4,17.5 +Monday,0,2.9 +Monday,12,15.8 +Wednesday,8,22.8 +Monday,9,9.3 +Thursday,14,11.9 +Wednesday,5,23.6 +Sunday,17,3.5 +Sunday,17,11.7 +Monday,19,10.3 +Monday,20,2.5 +Saturday,12,0.8 +Friday,7,7.8 +Thursday,11,7.0 +Tuesday,0,6.8 +Wednesday,17,10.8 +Saturday,7,6.7 +Tuesday,7,2.9 +Sunday,11,10.8 +Saturday,20,2.8 +Saturday,11,16.5 +Thursday,13,7.9 +Wednesday,18,6.3 +Monday,15,13.9 +Wednesday,14,10.0 +Saturday,17,0.9 +Sunday,16,0.7 +Tuesday,5,7.2 +Wednesday,20,4.9 +Wednesday,12,6.9 +Thursday,17,2.9 +Thursday,7,12.4 +Wednesday,9,3.0 +Friday,3,24.9 +Monday,10,19.3 +Saturday,15,6.0 +Thursday,12,8.6 +Tuesday,16,25.3 +Wednesday,16,5.0 +Thursday,22,5.7 +Thursday,23,15.1 +Sunday,20,14.4 +Wednesday,7,7.9 +Sunday,13,3.3 +Monday,8,5.4 +Saturday,13,7.3 +Friday,13,19.9 +Thursday,17,7.7 +Monday,20,2.2 +Tuesday,18,8.4 +Tuesday,5,9.9 +Wednesday,19,13.5 +Thursday,13,31.4 +Monday,10,12.2 +Tuesday,17,4.5 +Thursday,7,5.4 +Sunday,15,15.5 +Tuesday,0,14.4 +Thursday,20,3.1 +Friday,19,1.0 +Saturday,14,5.7 +Tuesday,14,2.9 +Monday,12,19.9 +Friday,20,7.0 +Monday,10,6.6 +Sunday,18,31.5 +Sunday,18,13.5 +Tuesday,14,7.7 +Thursday,8,4.4 +Thursday,9,3.5 +Sunday,13,9.7 +Friday,8,14.9 +Wednesday,17,2.2 +Friday,12,21.1 +Thursday,13,19.3 +Wednesday,13,4.0 +Thursday,15,3.3 +Friday,23,2.3 +Thursday,13,31.7 +Saturday,8,5.6 +Saturday,17,15.5 +Wednesday,15,4.6 +Tuesday,16,22.9 +Friday,7,5.5 +Friday,16,7.4 +Saturday,14,3.3 +Tuesday,12,12.1 +Saturday,18,8.8 +Sunday,12,14.0 +Thursday,10,12.8 +Wednesday,9,10.6 +Sunday,10,18.4 +Tuesday,22,26.4 +Tuesday,14,6.4 +Tuesday,7,7.2 +Saturday,17,5.7 +Tuesday,9,23.8 +Friday,13,21.6 +Sunday,18,2.1 +Friday,19,3.4 +Tuesday,19,10.4 +Saturday,20,22.2 +Wednesday,14,12.9 +Friday,10,30.7 +Wednesday,19,12.1 +Wednesday,4,11.0 +Thursday,11,8.3 +Saturday,9,6.4 +Sunday,19,2.5 +Tuesday,16,6.1 +Saturday,17,4.5 +Friday,4,4.4 +Sunday,17,10.8 +Monday,8,28.3 +Monday,13,4.1 +Thursday,14,6.3 +Monday,8,17.6 +Saturday,9,6.0 +Wednesday,14,8.4 +Wednesday,8,20.3 +Wednesday,11,6.3 +Sunday,13,21.2 +Friday,19,2.6 +Monday,14,3.3 +Thursday,5,14.2 +Friday,18,13.6 +Friday,8,10.1 +Sunday,22,19.3 +Tuesday,14,15.7 +Thursday,17,2.7 +Saturday,17,6.7 +Friday,10,8.0 +Monday,12,17.6 +Friday,8,27.0 +Wednesday,5,13.5 +Thursday,18,10.4 +Sunday,19,15.6 +Thursday,18,4.1 +Saturday,11,40.7 +Wednesday,6,12.5 +Sunday,10,10.8 +Friday,14,27.8 +Tuesday,10,40.3 +Saturday,15,22.0 +Monday,16,32.6 +Wednesday,15,12.7 +Thursday,10,7.4 +Friday,13,28.3 +Saturday,15,15.6 +Thursday,12,29.4 +Sunday,11,11.3 +Monday,19,5.1 +Wednesday,15,5.2 +Tuesday,19,5.8 +Monday,13,10.8 +Wednesday,15,9.0 +Wednesday,8,13.2 +Saturday,13,6.3 +Thursday,17,2.1 +Thursday,1,2.7 +Tuesday,15,34.1 +Wednesday,7,6.2 +Friday,1,24.8 +Friday,5,7.7 +Thursday,11,25.2 +Thursday,4,9.0 +Friday,15,17.0 +Saturday,11,8.9 +Monday,16,16.5 +Sunday,15,4.5 +Friday,23,46.6 +Wednesday,18,21.8 +Thursday,12,13.4 +Friday,15,5.2 +Tuesday,13,7.4 +Monday,8,7.9 +Wednesday,16,9.7 +Friday,12,26.4 +Thursday,7,8.7 +Tuesday,20,1.2 +Saturday,16,5.8 +Saturday,15,11.8 +Wednesday,14,12.5 +Tuesday,17,6.4 +Thursday,7,7.1 +Sunday,16,11.5 +Tuesday,13,14.5 +Thursday,17,9.8 +Wednesday,20,8.2 +Friday,14,15.1 +Friday,18,8.4 +Sunday,10,5.9 +Friday,11,3.4 +Thursday,19,5.8 +Saturday,16,2.6 +Saturday,8,7.5 +Tuesday,15,4.8 +Friday,14,24.5 +Sunday,0,11.9 +Saturday,9,8.1 +Tuesday,19,9.2 +Wednesday,10,16.8 +Monday,20,9.2 +Friday,7,5.3 +Saturday,15,3.4 +Monday,6,21.9 +Saturday,12,4.3 +Saturday,18,1.7 +Sunday,13,7.0 +Sunday,15,3.8 +Saturday,11,7.6 +Monday,21,18.8 +Saturday,20,4.0 +Wednesday,9,15.0 +Sunday,12,7.3 +Thursday,3,11.6 +Thursday,7,5.8 +Tuesday,1,9.5 +Wednesday,10,18.7 +Tuesday,11,19.2 +Saturday,12,1.3 +Friday,16,15.2 +Monday,2,15.3 +Saturday,15,5.1 +Wednesday,20,9.8 +Wednesday,21,7.4 +Monday,8,10.1 +Monday,14,1.7 +Saturday,20,8.0 +Sunday,9,7.1 +Friday,8,7.9 +Wednesday,10,17.3 +Thursday,14,7.8 +Thursday,1,3.4 +Wednesday,20,9.1 +Sunday,20,3.7 +Monday,19,8.7 +Sunday,10,1.2 +Wednesday,14,12.8 +Friday,15,21.2 +Thursday,15,8.1 +Sunday,9,17.5 +Sunday,10,37.2 +Tuesday,9,6.6 +Monday,6,14.4 +Sunday,18,2.9 +Wednesday,14,9.8 +Saturday,4,3.9 +Thursday,15,33.7 +Sunday,9,2.0 +Monday,9,9.4 +Saturday,9,2.8 +Friday,13,22.9 +Tuesday,18,5.7 +Saturday,17,3.3 +Wednesday,12,21.6 +Thursday,13,9.0 +Wednesday,17,16.9 +Wednesday,14,8.9 +Wednesday,18,8.2 +Saturday,1,23.9 +Wednesday,15,8.2 +Tuesday,16,13.4 +Wednesday,11,3.7 +Tuesday,19,12.8 +Monday,20,4.5 +Monday,19,9.9 +Tuesday,15,17.7 +Thursday,12,6.9 +Saturday,8,6.2 +Tuesday,22,25.1 +Wednesday,20,6.8 +Monday,17,7.6 +Wednesday,11,6.1 +Thursday,2,8.8 +Wednesday,22,2.5 +Saturday,13,26.1 +Wednesday,14,6.5 +Tuesday,11,39.9 +Sunday,11,7.2 +Friday,18,6.9 +Monday,10,2.6 +Thursday,13,7.9 +Tuesday,7,10.1 +Monday,15,2.7 +Sunday,7,3.4 +Thursday,11,29.7 +Thursday,18,3.0 +Saturday,10,16.3 +Saturday,18,5.5 +Friday,19,1.8 +Monday,12,1.3 +Tuesday,15,2.0 +Wednesday,16,16.0 +Sunday,11,18.4 +Friday,19,2.7 +Thursday,16,16.3 +Saturday,0,26.8 +Sunday,13,6.8 +Friday,8,2.1 +Friday,14,11.3 +Saturday,10,25.2 +Friday,19,3.3 +Sunday,20,1.4 +Tuesday,14,3.7 +Sunday,8,9.4 +Saturday,13,13.1 +Monday,12,6.9 +Saturday,9,17.7 +Thursday,9,8.6 +Sunday,17,10.5 +Sunday,13,13.7 +Monday,8,7.0 +Thursday,12,6.2 +Tuesday,18,8.6 +Saturday,18,1.8 +Thursday,8,7.1 +Friday,9,11.8 +Saturday,19,5.6 +Saturday,17,1.9 +Tuesday,17,12.5 +Wednesday,14,6.6 +Sunday,18,4.1 +Saturday,9,24.6 +Sunday,1,21.4 +Saturday,17,8.1 +Tuesday,13,11.2 +Friday,13,2.7 +Tuesday,18,13.7 +Tuesday,15,18.4 +Sunday,17,8.9 +Sunday,17,1.0 +Wednesday,23,7.9 +Saturday,19,4.5 +Sunday,20,1.8 +Wednesday,15,1.8 +Saturday,13,16.7 +Tuesday,16,10.4 +Saturday,13,6.8 +Tuesday,16,13.3 +Wednesday,9,19.5 +Thursday,13,9.0 +Friday,10,8.3 +Monday,19,0.7 +Tuesday,11,12.1 +Monday,15,5.0 +Thursday,18,9.6 +Friday,12,7.4 +Sunday,19,4.1 +Wednesday,14,13.4 +Monday,18,3.7 +Thursday,19,12.2 +Thursday,5,20.8 +Thursday,19,8.6 +Monday,20,4.6 +Wednesday,10,10.5 +Thursday,14,5.5 +Tuesday,10,4.8 +Monday,16,10.9 +Saturday,18,16.0 +Wednesday,13,1.2 +Wednesday,19,3.7 +Monday,8,7.5 +Friday,10,29.9 +Tuesday,17,18.7 +Saturday,13,21.9 +Thursday,18,7.4 +Thursday,11,41.8 +Thursday,7,5.4 +Saturday,18,2.3 +Saturday,16,21.0 +Saturday,14,8.7 +Saturday,17,6.0 +Sunday,9,18.3 +Thursday,12,15.1 +Wednesday,15,5.1 +Wednesday,9,11.0 +Tuesday,21,9.5 +Saturday,15,7.6 +Monday,8,5.2 +Sunday,21,9.7 +Tuesday,10,10.5 +Thursday,17,1.4 +Thursday,1,6.8 +Wednesday,13,14.3 +Friday,4,25.7 +Monday,19,10.6 +Sunday,17,15.1 +Wednesday,7,14.9 +Monday,15,17.0 +Sunday,16,6.7 +Friday,17,9.3 +Tuesday,17,3.7 +Thursday,8,2.4 +Sunday,20,3.6 +Thursday,0,10.7 +Wednesday,18,7.6 +Saturday,10,22.5 +Tuesday,11,8.0 +Sunday,12,4.4 +Wednesday,16,7.7 +Tuesday,18,4.7 +Monday,10,7.3 +Monday,19,6.3 +Sunday,13,8.1 +Tuesday,17,3.0 +Wednesday,10,19.2 +Wednesday,16,4.5 +Wednesday,22,46.9 +Saturday,7,4.4 +Sunday,20,2.3 +Wednesday,11,3.1 +Sunday,11,12.0 +Saturday,15,11.6 +Tuesday,11,37.7 +Monday,15,15.4 +Thursday,7,4.4 +Wednesday,12,20.9 +Sunday,10,12.0 +Wednesday,10,34.9 +Friday,19,2.8 +Thursday,14,15.9 +Tuesday,11,18.9 +Wednesday,8,9.8 +Sunday,9,2.5 +Tuesday,11,15.4 +Friday,18,1.9 +Monday,7,16.9 +Monday,9,10.5 +Tuesday,12,29.7 +Friday,13,42.3 +Friday,6,2.9 +Thursday,2,12.4 +Sunday,11,17.9 +Saturday,17,7.8 +Wednesday,8,9.9 +Friday,17,13.8 +Monday,16,22.9 +Sunday,11,8.6 +Sunday,15,13.8 +Thursday,20,2.6 +Monday,10,7.0 +Monday,9,13.4 +Tuesday,17,16.5 +Monday,7,1.5 +Friday,8,10.8 +Friday,15,35.2 +Monday,12,15.1 +Wednesday,10,27.6 +Saturday,14,8.1 +Monday,15,5.7 +Monday,10,28.0 +Sunday,13,33.5 +Saturday,9,2.5 +Thursday,14,1.0 +Saturday,19,8.2 +Tuesday,10,10.5 +Wednesday,13,12.8 +Saturday,19,1.7 +Monday,12,26.6 +Tuesday,20,19.0 +Friday,15,10.0 +Wednesday,18,4.5 +Saturday,10,2.1 +Saturday,16,7.8 +Wednesday,14,10.4 +Monday,19,14.8 +Wednesday,20,5.1 +Friday,14,11.6 +Wednesday,7,2.0 +Friday,11,7.5 +Friday,5,15.2 +Thursday,7,9.3 +Saturday,17,4.3 +Saturday,22,29.3 +Saturday,10,2.1 +Monday,17,26.6 +Saturday,8,9.8 +Sunday,20,5.0 +Monday,14,6.4 +Saturday,7,11.9 +Sunday,6,15.0 +Saturday,10,10.6 +Thursday,20,5.5 +Wednesday,23,28.2 +Thursday,14,6.4 +Thursday,13,9.9 +Sunday,9,4.5 +Sunday,5,11.8 +Thursday,17,19.1 +Monday,19,11.7 +Monday,15,12.8 +Saturday,20,3.7 +Wednesday,19,13.1 +Monday,17,1.7 +Thursday,13,29.7 +Wednesday,13,17.4 +Tuesday,18,2.8 +Monday,15,13.2 +Monday,9,16.4 +Monday,10,17.3 +Wednesday,8,3.2 +Sunday,17,2.1 +Tuesday,9,24.1 +Friday,17,3.9 +Thursday,7,11.4 +Tuesday,19,2.8 +Thursday,13,11.9 +Monday,19,10.6 +Wednesday,8,5.9 +Thursday,20,1.2 +Sunday,17,5.5 +Thursday,2,14.0 +Friday,8,11.5 +Friday,7,5.2 +Wednesday,5,10.4 +Saturday,3,6.5 +Saturday,3,12.7 +Thursday,8,9.2 +Thursday,15,3.0 +Tuesday,12,16.0 +Saturday,19,3.8 +Monday,12,38.3 +Thursday,12,23.9 +Wednesday,18,5.6 +Tuesday,14,6.1 +Friday,11,30.2 +Sunday,18,18.9 +Thursday,7,3.6 +Friday,9,2.4 +Wednesday,2,5.5 +Sunday,14,9.7 +Saturday,9,7.0 +Thursday,19,11.2 +Thursday,9,5.5 +Monday,19,5.2 +Wednesday,12,10.5 +Saturday,14,13.1 +Monday,12,10.8 +Sunday,9,15.0 +Thursday,10,8.9 +Saturday,9,16.3 +Saturday,0,31.0 +Friday,12,23.9 +Thursday,11,18.4 +Tuesday,14,7.0 +Saturday,0,17.0 +Monday,5,14.8 +Wednesday,18,11.2 +Sunday,19,19.9 +Wednesday,19,14.6 +Saturday,16,6.9 +Monday,7,3.3 +Sunday,9,14.1 +Monday,21,14.3 +Wednesday,15,21.1 +Tuesday,15,21.8 +Wednesday,14,30.1 +Saturday,11,2.0 +Friday,14,2.2 +Tuesday,18,9.2 +Saturday,9,13.3 +Sunday,20,1.8 +Monday,15,9.1 +Wednesday,8,3.7 +Saturday,7,5.8 +Sunday,10,4.7 +Friday,10,11.3 +Sunday,12,10.6 +Wednesday,14,15.8 +Monday,15,13.1 +Tuesday,11,4.0 +Tuesday,15,10.4 +Thursday,13,11.6 +Thursday,22,14.2 +Thursday,13,6.5 +Wednesday,11,11.2 +Sunday,17,9.4 +Saturday,14,0.8 +Thursday,19,1.8 +Friday,17,4.3 +Thursday,12,19.9 +Thursday,15,10.2 +Monday,10,13.6 +Friday,9,21.0 +Monday,16,19.9 +Friday,14,4.5 +Wednesday,15,29.4 +Monday,16,10.9 +Wednesday,17,7.2 +Saturday,9,17.5 +Thursday,21,9.7 +Sunday,10,10.8 +Thursday,20,5.1 +Sunday,10,19.6 +Tuesday,9,6.5 +Tuesday,16,19.3 +Wednesday,9,7.4 +Sunday,12,5.3 +Saturday,0,11.3 +Monday,1,1.1 +Friday,14,9.3 +Tuesday,8,19.4 +Saturday,10,10.7 +Friday,19,10.6 +Sunday,10,16.9 +Friday,11,17.1 +Friday,0,8.2 +Friday,13,7.3 +Wednesday,14,0.8 +Monday,10,4.2 +Sunday,16,6.2 +Saturday,7,2.5 +Friday,14,32.8 +Friday,8,5.1 +Friday,22,16.1 +Wednesday,18,7.8 +Thursday,20,8.6 +Thursday,17,13.9 +Thursday,11,1.6 +Monday,20,5.3 +Monday,17,4.3 +Wednesday,19,5.9 +Saturday,12,5.1 +Monday,11,23.4 +Monday,4,11.6 +Wednesday,10,6.9 +Tuesday,14,15.1 +Tuesday,17,5.3 +Saturday,8,7.9 +Tuesday,10,28.6 +Friday,8,0.9 +Thursday,7,21.0 +Monday,10,6.2 +Friday,9,8.4 +Monday,20,11.1 +Wednesday,18,7.5 +Tuesday,10,37.0 +Tuesday,17,29.4 +Saturday,14,7.8 +Monday,14,10.1 +Sunday,7,2.7 +Monday,20,1.5 +Thursday,13,9.4 +Friday,20,6.1 +Monday,20,5.8 +Monday,16,37.4 +Thursday,12,20.9 +Tuesday,19,6.3 +Thursday,14,11.3 +Thursday,7,21.5 +Friday,13,8.0 +Wednesday,9,4.5 +Tuesday,12,22.8 +Monday,14,17.4 +Sunday,10,9.9 +Tuesday,20,5.5 +Tuesday,5,6.2 +Wednesday,17,16.5 +Monday,8,8.0 +Tuesday,14,8.8 +Wednesday,7,3.2 +Friday,12,15.8 +Thursday,9,8.3 +Sunday,15,23.1 +Sunday,20,14.8 +Tuesday,9,4.8 +Monday,7,10.9 +Sunday,13,32.7 +Monday,12,13.2 +Monday,13,20.2 +Sunday,15,11.8 +Sunday,10,8.4 +Saturday,19,5.5 +Sunday,12,6.9 +Monday,16,19.3 +Friday,11,5.2 +Thursday,8,11.3 +Sunday,14,3.6 +Wednesday,20,5.3 +Saturday,13,11.3 +Wednesday,14,16.6 +Friday,12,14.4 +Tuesday,18,6.9 +Saturday,16,13.2 +Friday,16,10.9 +Wednesday,17,0.7 +Saturday,17,8.4 +Wednesday,17,5.5 +Tuesday,17,12.9 +Monday,14,19.1 +Tuesday,15,16.4 +Friday,12,30.0 +Saturday,20,8.0 +Friday,10,3.0 +Monday,13,10.4 +Saturday,17,5.4 +Friday,14,6.7 +Tuesday,13,31.7 +Wednesday,0,3.9 +Sunday,18,13.2 +Friday,10,11.8 +Wednesday,9,8.7 +Friday,11,15.4 +Friday,12,0.9 +Thursday,10,4.9 +Sunday,15,13.4 +Saturday,7,5.9 +Saturday,8,9.5 +Tuesday,20,1.9 +Wednesday,11,38.0 +Thursday,20,2.7 +Monday,11,6.2 +Saturday,19,3.3 +Wednesday,1,38.8 +Saturday,9,11.5 +Tuesday,3,14.5 +Saturday,11,4.7 +Thursday,16,16.2 +Monday,15,18.8 +Sunday,13,2.1 +Friday,2,5.0 +Monday,18,4.6 +Friday,22,17.4 +Tuesday,20,3.2 +Friday,0,29.5 +Saturday,15,15.5 +Wednesday,13,23.2 +Sunday,0,16.3 +Thursday,15,9.0 +Saturday,1,13.3 +Saturday,9,11.4 +Wednesday,10,23.8 +Wednesday,0,14.2 +Friday,14,3.9 +Wednesday,16,12.6 +Thursday,12,6.6 +Monday,7,6.3 +Friday,12,35.8 +Monday,14,16.0 +Wednesday,12,19.7 +Sunday,15,20.9 +Sunday,8,12.1 +Wednesday,3,12.1 +Monday,20,6.8 +Friday,12,14.4 +Monday,18,7.1 +Saturday,17,1.4 +Wednesday,19,1.7 +Friday,8,4.4 +Tuesday,20,3.9 +Tuesday,19,5.5 +Saturday,11,7.8 +Monday,18,4.8 +Friday,17,14.5 +Saturday,8,5.4 +Friday,1,10.6 +Saturday,9,9.9 +Saturday,15,16.8 +Friday,16,2.7 +Sunday,14,6.2 +Tuesday,20,5.1 +Sunday,9,32.1 +Thursday,14,8.3 +Saturday,17,4.8 +Saturday,13,6.5 +Saturday,21,1.0 +Friday,13,7.7 +Sunday,10,2.8 +Sunday,10,6.1 +Friday,22,10.4 +Tuesday,7,7.5 +Saturday,19,5.3 +Monday,7,14.6 +Tuesday,18,5.8 +Tuesday,14,3.7 +Wednesday,19,1.4 +Monday,9,40.7 +Thursday,16,16.4 +Sunday,18,2.4 +Wednesday,20,6.0 +Wednesday,19,1.2 +Friday,18,1.0 +Friday,15,14.3 +Friday,10,15.8 +Saturday,10,18.2 +Saturday,19,19.1 +Thursday,12,9.0 +Monday,22,14.1 +Tuesday,12,7.1 +Saturday,7,0.5 +Monday,2,22.3 +Wednesday,20,1.6 +Tuesday,22,9.2 +Monday,21,7.9 +Wednesday,17,10.9 +Wednesday,12,17.9 +Wednesday,12,12.3 +Monday,13,24.4 +Sunday,18,2.3 +Tuesday,6,0.7 +Sunday,20,12.2 +Wednesday,9,15.1 +Monday,1,7.8 +Friday,12,3.8 +Thursday,15,0.8 +Sunday,8,12.8 +Thursday,14,12.1 +Thursday,17,6.2 +Wednesday,12,14.8 +Monday,12,10.7 +Tuesday,13,18.3 +Friday,10,1.5 +Tuesday,22,8.7 +Sunday,20,2.6 +Tuesday,18,11.3 +Friday,19,1.2 +Sunday,9,9.2 +Tuesday,11,12.3 +Saturday,16,1.2 +Monday,15,11.4 +Thursday,11,31.7 +Saturday,14,1.3 +Saturday,18,2.4 +Thursday,13,21.6 +Monday,12,6.4 +Sunday,18,10.8 +Thursday,8,5.7 +Sunday,10,5.6 +Tuesday,20,6.1 +Thursday,15,9.6 +Friday,20,5.1 +Wednesday,19,9.6 +Saturday,19,2.8 +Friday,4,20.6 +Wednesday,7,11.2 +Saturday,19,12.6 +Sunday,20,5.7 +Thursday,10,5.3 +Wednesday,15,9.7 +Saturday,15,9.9 +Wednesday,19,6.0 +Thursday,20,1.7 +Saturday,8,1.0 +Monday,18,9.7 +Tuesday,5,4.0 +Tuesday,10,2.8 +Saturday,7,6.0 +Friday,11,14.7 +Tuesday,8,7.7 +Saturday,17,3.6 +Wednesday,12,16.4 +Friday,11,18.0 +Thursday,7,7.0 +Monday,6,18.7 +Monday,11,1.7 +Friday,9,4.4 +Saturday,19,8.3 +Sunday,17,17.1 +Wednesday,10,10.6 +Saturday,3,15.5 +Tuesday,17,9.7 +Wednesday,6,25.7 +Wednesday,7,5.0 +Tuesday,22,1.2 +Saturday,7,11.2 +Monday,20,1.0 +Wednesday,8,14.3 +Sunday,14,6.9 +Thursday,15,9.3 +Thursday,4,25.1 +Sunday,19,9.2 +Wednesday,14,16.3 +Sunday,15,16.7 +Saturday,12,7.4 +Wednesday,21,18.9 +Thursday,13,14.7 +Sunday,12,11.5 +Sunday,11,16.4 +Wednesday,13,22.0 +Thursday,17,11.0 +Saturday,14,24.5 +Tuesday,21,17.3 +Tuesday,6,12.3 +Tuesday,12,16.7 +Tuesday,7,7.3 +Wednesday,15,16.8 +Saturday,9,24.5 +Saturday,10,13.9 +Wednesday,20,3.2 +Saturday,4,23.2 +Sunday,19,6.2 +Wednesday,5,17.4 +Friday,20,5.6 +Monday,11,22.9 +Friday,15,8.5 +Wednesday,10,10.1 +Thursday,15,5.2 +Sunday,13,8.4 +Monday,19,10.2 +Monday,13,16.7 +Saturday,19,7.4 +Monday,17,5.6 +Tuesday,20,1.9 +Saturday,15,15.5 +Friday,14,57.3 +Saturday,2,4.8 +Thursday,1,11.7 +Monday,20,14.5 +Tuesday,1,7.5 +Wednesday,17,5.0 +Wednesday,8,3.7 +Saturday,15,21.9 +Tuesday,6,7.3 +Saturday,17,1.7 +Sunday,18,4.3 +Saturday,9,11.7 +Wednesday,20,8.0 +Monday,19,5.3 +Thursday,19,2.7 +Friday,17,8.3 +Saturday,18,2.6 +Thursday,16,9.8 +Thursday,14,22.4 +Sunday,9,2.7 +Sunday,6,5.8 +Thursday,2,9.0 +Wednesday,1,5.4 +Monday,14,16.3 +Wednesday,17,14.4 +Tuesday,8,15.1 +Monday,9,13.5 +Friday,1,5.3 +Sunday,11,14.7 +Thursday,17,5.9 +Sunday,10,7.8 +Monday,3,8.0 +Thursday,20,0.9 +Saturday,9,8.6 +Sunday,7,13.8 +Friday,3,6.1 +Friday,18,15.8 +Wednesday,14,39.5 +Tuesday,14,16.0 +Sunday,11,17.5 +Tuesday,10,9.5 +Sunday,10,16.6 +Thursday,10,5.6 +Tuesday,10,4.8 +Sunday,12,19.8 +Monday,20,5.7 +Thursday,5,3.6 +Friday,20,6.5 +Saturday,10,22.7 +Sunday,18,8.2 +Wednesday,13,31.6 +Wednesday,22,6.9 +Monday,9,10.3 +Tuesday,22,11.9 +Friday,9,9.9 +Wednesday,6,9.6 +Monday,7,2.1 +Sunday,9,2.7 +Sunday,12,3.7 +Thursday,13,43.7 +Sunday,11,6.4 +Sunday,14,5.9 +Saturday,13,21.8 +Monday,0,26.8 +Wednesday,14,16.7 +Monday,14,10.9 +Sunday,16,2.7 +Wednesday,11,27.1 +Monday,12,2.5 +Thursday,8,7.6 +Tuesday,15,4.9 +Sunday,14,30.5 +Tuesday,9,11.4 +Wednesday,18,4.8 +Monday,19,12.8 +Sunday,14,11.8 +Wednesday,20,4.9 +Friday,13,4.3 +Friday,7,8.4 +Tuesday,8,3.7 +Sunday,18,3.5 +Friday,8,15.9 +Wednesday,13,27.9 +Monday,10,2.5 +Saturday,20,2.5 +Thursday,20,2.3 +Sunday,4,25.8 +Saturday,0,13.8 +Thursday,17,5.5 +Friday,13,16.4 +Thursday,11,4.8 +Wednesday,19,7.2 +Monday,9,29.0 +Friday,8,10.9 +Wednesday,9,11.9 +Wednesday,18,6.2 +Monday,20,4.7 +Wednesday,16,10.5 +Saturday,21,2.2 +Saturday,10,5.2 +Wednesday,13,2.5 +Sunday,8,3.9 +Saturday,20,4.2 +Wednesday,15,2.6 +Saturday,14,31.1 +Sunday,18,0.9 +Sunday,14,5.9 +Wednesday,21,1.9 +Saturday,9,4.1 +Monday,11,49.4 +Monday,20,8.6 +Wednesday,9,19.7 +Wednesday,19,6.7 +Friday,17,10.1 +Monday,19,5.3 +Saturday,15,18.3 +Friday,20,12.2 +Wednesday,19,8.5 +Thursday,17,5.6 +Thursday,10,24.1 +Wednesday,22,10.8 +Monday,20,7.8 +Monday,10,7.4 +Friday,10,10.2 +Sunday,13,7.1 +Saturday,2,10.9 +Saturday,9,11.0 +Sunday,0,5.9 +Friday,19,4.5 +Tuesday,21,5.5 +Wednesday,12,12.0 +Thursday,18,8.7 +Wednesday,19,7.0 +Wednesday,22,16.9 +Monday,19,1.8 +Sunday,15,4.4 +Thursday,4,5.4 +Tuesday,17,7.9 +Tuesday,17,4.9 +Sunday,18,16.6 +Wednesday,7,6.2 +Tuesday,12,2.2 +Thursday,19,0.6 +Wednesday,8,7.2 +Wednesday,12,15.5 +Saturday,18,5.4 +Saturday,2,11.6 +Sunday,12,24.2 +Sunday,11,8.4 +Wednesday,20,1.7 +Tuesday,10,11.2 +Thursday,20,4.6 +Wednesday,19,20.2 +Monday,17,8.1 +Monday,7,11.2 +Tuesday,14,8.2 +Wednesday,11,8.7 +Tuesday,16,20.0 +Wednesday,12,10.5 +Saturday,2,15.2 +Friday,10,8.7 +Friday,20,1.8 +Monday,9,11.8 +Tuesday,12,8.2 +Tuesday,13,9.8 +Monday,11,11.9 +Thursday,15,12.0 +Tuesday,10,4.6 +Saturday,7,2.8 +Saturday,15,9.8 +Thursday,2,24.6 +Thursday,20,5.2 +Saturday,19,3.1 +Wednesday,3,5.1 +Saturday,19,1.4 +Sunday,2,9.4 +Thursday,3,12.6 +Friday,11,24.3 +Saturday,9,3.0 +Sunday,9,5.9 +Monday,7,0.3 +Sunday,10,12.9 +Wednesday,9,9.6 +Saturday,10,14.7 +Thursday,9,2.7 +Monday,13,58.2 +Monday,16,20.9 +Thursday,8,16.8 +Tuesday,14,15.3 +Saturday,15,11.7 +Monday,18,5.5 +Monday,23,20.4 +Monday,5,12.0 +Wednesday,4,24.2 +Wednesday,13,4.6 +Sunday,7,7.3 +Friday,11,48.7 +Sunday,17,4.8 +Thursday,13,12.7 +Saturday,9,8.9 +Monday,8,16.5 +Thursday,14,7.8 +Tuesday,13,6.4 +Thursday,15,10.1 +Sunday,14,5.6 +Wednesday,15,18.0 +Saturday,8,5.6 +Thursday,17,20.4 +Friday,9,4.6 +Saturday,23,5.6 +Wednesday,20,15.2 +Monday,13,6.6 +Monday,16,0.6 +Tuesday,16,14.7 +Friday,9,2.1 +Tuesday,15,13.8 +Sunday,18,16.5 +Thursday,3,3.9 +Tuesday,14,5.3 +Tuesday,19,6.3 +Sunday,20,12.1 +Monday,14,17.6 +Tuesday,7,12.9 +Monday,8,5.6 +Monday,20,8.2 +Tuesday,5,26.6 +Friday,9,12.8 +Monday,20,0.8 +Saturday,8,11.6 +Thursday,0,19.4 +Saturday,18,10.4 +Tuesday,8,3.4 +Saturday,19,2.6 +Monday,10,6.7 +Friday,11,5.1 +Monday,20,6.2 +Tuesday,14,23.8 +Wednesday,4,25.6 +Thursday,18,8.0 +Monday,20,15.0 +Tuesday,8,6.9 +Sunday,13,37.4 +Friday,6,24.9 +Monday,19,23.7 +Sunday,16,5.8 +Sunday,21,26.6 +Sunday,18,6.9 +Saturday,8,18.5 +Friday,7,7.2 +Sunday,7,11.1 +Saturday,8,12.1 +Monday,20,8.6 +Wednesday,10,11.9 +Friday,20,1.2 +Tuesday,19,4.8 +Friday,5,19.2 +Thursday,19,2.9 +Tuesday,1,17.4 +Friday,6,3.8 +Thursday,18,8.4 +Monday,7,14.0 +Saturday,9,9.6 +Tuesday,19,3.4 +Friday,15,5.5 +Monday,7,13.9 +Friday,10,29.1 +Wednesday,9,16.7 +Sunday,17,10.6 +Friday,13,7.3 +Sunday,11,31.3 +Tuesday,20,8.7 +Monday,7,7.0 +Sunday,8,11.7 +Thursday,22,2.5 +Monday,18,7.0 +Friday,16,24.3 +Monday,17,11.3 +Monday,20,8.0 +Thursday,0,14.2 +Thursday,19,7.2 +Friday,12,9.6 +Tuesday,3,3.8 +Friday,20,15.4 +Thursday,19,8.3 +Thursday,12,14.4 +Sunday,11,12.8 +Monday,16,7.5 +Friday,10,13.2 +Thursday,6,3.4 +Friday,5,23.3 +Sunday,20,3.1 +Friday,13,14.2 +Wednesday,10,32.8 +Thursday,14,7.9 +Friday,14,6.5 +Thursday,10,3.1 +Thursday,13,4.8 +Sunday,16,8.7 +Thursday,19,12.0 +Friday,7,6.5 +Friday,11,10.9 +Friday,12,1.7 +Sunday,8,4.4 +Thursday,12,11.4 +Friday,20,12.8 +Wednesday,22,29.2 +Sunday,7,7.5 +Friday,15,1.6 +Wednesday,12,9.4 +Sunday,8,9.8 +Thursday,21,8.7 +Saturday,8,13.4 +Thursday,0,8.7 +Saturday,10,10.8 +Thursday,11,34.4 +Monday,8,8.2 +Sunday,13,6.1 +Saturday,13,6.1 +Tuesday,17,0.8 +Monday,22,13.0 +Sunday,19,8.8 +Tuesday,14,14.0 +Tuesday,14,10.7 +Tuesday,18,2.7 +Sunday,0,9.5 +Friday,4,4.4 +Thursday,14,26.6 +Wednesday,14,6.1 +Wednesday,19,17.0 +Friday,11,32.1 +Thursday,11,17.7 +Wednesday,1,26.3 +Thursday,20,3.4 +Friday,9,4.0 +Thursday,15,12.0 +Tuesday,17,12.8 +Saturday,7,7.6 +Saturday,18,4.2 +Friday,14,12.3 +Thursday,6,4.6 +Sunday,11,19.7 +Wednesday,8,6.8 +Friday,17,8.5 +Wednesday,8,21.0 +Tuesday,13,20.6 +Saturday,7,8.2 +Friday,20,3.1 +Thursday,15,4.2 +Monday,18,5.7 +Wednesday,13,12.4 +Monday,15,4.1 +Saturday,7,2.9 +Thursday,8,10.2 +Tuesday,15,9.3 +Tuesday,11,14.6 +Monday,18,0.7 +Friday,18,10.7 +Monday,4,16.1 +Tuesday,11,11.2 +Friday,17,10.5 +Friday,11,25.0 +Sunday,11,11.4 +Sunday,14,19.6 +Friday,4,21.8 +Saturday,12,17.4 +Sunday,23,3.3 +Thursday,16,3.2 +Tuesday,12,34.5 +Friday,19,14.7 +Saturday,1,16.8 +Friday,20,7.0 +Thursday,20,3.9 +Saturday,9,31.5 +Sunday,20,4.7 +Monday,9,19.0 +Saturday,20,4.7 +Friday,23,12.0 +Wednesday,20,6.5 +Monday,8,24.0 +Saturday,17,9.0 +Wednesday,12,31.1 +Monday,8,15.1 +Wednesday,6,14.2 +Wednesday,12,29.6 +Tuesday,9,8.1 +Sunday,9,9.4 +Wednesday,15,2.1 +Tuesday,8,1.5 +Tuesday,14,31.3 +Friday,15,32.2 +Sunday,18,2.3 +Wednesday,10,40.3 +Friday,2,17.0 +Thursday,11,16.9 +Friday,9,29.5 +Wednesday,10,6.5 +Saturday,16,3.8 +Monday,18,5.8 +Tuesday,18,6.5 +Tuesday,19,7.5 +Friday,18,4.6 +Wednesday,20,1.2 +Saturday,9,8.5 +Sunday,17,1.7 +Thursday,20,2.4 +Wednesday,9,26.5 +Wednesday,15,21.9 +Tuesday,13,2.9 +Thursday,18,3.8 +Monday,19,0.9 +Monday,15,11.6 +Tuesday,7,11.0 +Saturday,10,12.6 +Tuesday,9,3.8 +Sunday,18,5.9 +Monday,8,6.5 +Sunday,8,8.5 +Monday,20,18.4 +Saturday,23,9.1 +Thursday,15,12.8 +Friday,9,12.4 +Wednesday,20,8.2 +Saturday,7,9.5 +Friday,15,1.8 +Monday,11,11.5 +Tuesday,14,15.4 +Tuesday,17,2.9 +Wednesday,18,10.4 +Monday,9,4.3 +Friday,12,1.2 +Wednesday,12,12.0 +Sunday,7,16.5 +Friday,14,8.2 +Tuesday,19,3.8 +Monday,4,19.0 +Wednesday,15,8.8 +Wednesday,23,1.7 +Saturday,4,9.0 +Monday,8,2.0 +Friday,23,1.7 +Sunday,4,11.1 +Wednesday,14,38.7 +Sunday,15,15.2 +Sunday,3,6.5 +Saturday,19,16.8 +Tuesday,4,22.6 +Tuesday,11,2.4 +Tuesday,18,6.5 +Friday,3,5.8 +Tuesday,18,6.7 +Saturday,18,13.4 +Friday,17,19.0 +Tuesday,12,8.9 +Monday,2,24.2 +Wednesday,9,6.8 +Friday,11,9.2 +Saturday,16,0.7 +Friday,10,39.9 +Thursday,15,2.0 +Monday,3,22.8 +Tuesday,10,2.7 +Tuesday,18,6.0 +Monday,17,1.5 +Thursday,8,4.6 +Thursday,9,6.4 +Wednesday,16,4.3 +Saturday,13,22.0 +Tuesday,19,9.6 +Wednesday,17,3.5 +Wednesday,7,1.3 +Wednesday,17,6.0 +Friday,8,4.8 +Monday,13,12.0 +Thursday,19,11.0 +Saturday,17,0.9 +Tuesday,8,10.9 +Tuesday,20,1.5 +Tuesday,20,5.8 +Monday,14,13.3 +Saturday,4,18.4 +Monday,17,6.3 +Saturday,8,6.0 +Thursday,15,10.8 +Wednesday,17,17.9 +Thursday,12,6.5 +Friday,10,28.7 +Saturday,13,9.5 +Monday,9,0.9 +Thursday,7,1.3 +Thursday,4,3.7 +Friday,8,4.6 +Monday,14,12.0 +Monday,15,5.0 +Monday,4,12.2 +Friday,17,30.5 +Monday,11,19.2 +Sunday,10,3.0 +Sunday,11,6.8 +Sunday,15,8.0 +Saturday,9,13.5 +Friday,0,16.3 +Friday,19,3.0 +Wednesday,10,20.9 +Tuesday,10,17.0 +Wednesday,8,19.8 +Monday,10,0.8 +Friday,17,8.2 +Friday,7,13.3 +Wednesday,17,16.0 +Friday,7,1.1 +Saturday,11,6.5 +Saturday,13,11.4 +Friday,18,1.6 +Tuesday,8,8.8 +Saturday,10,5.3 +Sunday,16,0.7 +Friday,19,13.7 +Friday,19,0.2 +Monday,7,10.1 +Saturday,18,0.9 +Saturday,17,9.8 +Thursday,14,12.5 +Sunday,11,24.6 +Saturday,18,8.5 +Friday,18,9.7 +Wednesday,15,8.0 +Tuesday,10,12.6 +Tuesday,0,10.6 +Wednesday,5,9.1 +Sunday,18,5.7 +Friday,10,8.8 +Sunday,8,10.2 +Friday,6,4.0 +Thursday,22,17.6 +Tuesday,12,6.4 +Thursday,14,5.1 +Friday,7,8.2 +Monday,12,14.8 +Sunday,10,3.1 +Saturday,10,30.2 +Sunday,15,14.3 +Thursday,14,10.2 +Wednesday,2,24.7 +Monday,18,13.5 +Monday,4,16.1 +Thursday,11,26.3 +Tuesday,16,9.1 +Thursday,16,4.4 +Wednesday,12,11.2 +Friday,12,0.5 +Wednesday,12,6.4 +Sunday,15,7.9 +Thursday,22,20.2 +Friday,17,3.4 +Thursday,11,14.4 +Sunday,17,6.5 +Thursday,14,12.9 +Wednesday,11,30.9 +Wednesday,12,23.1 +Saturday,14,9.1 +Wednesday,15,17.7 +Friday,22,11.4 +Friday,20,6.3 +Wednesday,3,2.5 +Friday,13,13.3 +Tuesday,9,15.4 +Monday,1,15.9 +Wednesday,8,5.3 +Tuesday,12,52.5 +Monday,8,4.1 +Thursday,19,3.4 +Tuesday,10,10.6 +Friday,9,7.1 +Saturday,7,4.6 +Wednesday,19,2.2 +Saturday,10,16.6 +Sunday,15,4.9 +Wednesday,7,10.8 +Friday,6,12.4 +Friday,15,18.4 +Monday,11,33.3 +Wednesday,19,4.9 +Sunday,14,30.1 +Thursday,16,9.7 +Saturday,14,34.1 +Sunday,18,11.9 +Wednesday,10,31.2 +Monday,14,16.2 +Friday,14,19.6 +Friday,14,6.7 +Friday,16,9.5 +Thursday,16,17.7 +Monday,18,8.0 +Thursday,10,26.2 +Saturday,23,2.1 +Wednesday,20,5.6 +Monday,12,5.8 +Wednesday,11,11.6 +Monday,16,8.4 +Tuesday,11,10.2 +Tuesday,9,26.0 +Wednesday,8,10.8 +Saturday,21,14.9 +Sunday,5,13.3 +Friday,8,8.5 +Monday,9,39.8 +Thursday,20,2.6 +Thursday,14,11.1 +Friday,1,34.5 +Tuesday,0,28.3 +Friday,20,17.2 +Monday,15,10.9 +Saturday,19,6.3 +Monday,9,8.5 +Saturday,8,4.4 +Saturday,20,8.1 +Thursday,20,4.5 +Monday,1,17.0 +Saturday,4,11.9 +Wednesday,7,12.9 +Tuesday,11,7.1 +Thursday,9,10.2 +Saturday,13,4.7 +Friday,16,7.9 +Friday,13,4.3 +Wednesday,20,7.2 +Saturday,4,13.0 +Friday,12,8.2 +Wednesday,13,11.2 +Thursday,15,15.0 +Wednesday,10,20.1 +Sunday,8,10.1 +Friday,9,8.1 +Friday,17,3.8 +Wednesday,12,20.0 +Sunday,10,6.3 +Thursday,9,3.9 +Saturday,12,10.9 +Monday,18,4.3 +Tuesday,7,9.3 +Saturday,16,9.7 +Thursday,16,1.7 +Sunday,15,8.8 +Friday,19,7.3 +Tuesday,11,5.1 +Monday,18,7.1 +Sunday,20,1.2 +Sunday,8,14.0 +Tuesday,9,31.0 +Saturday,14,25.8 +Sunday,20,15.8 +Tuesday,13,20.0 +Saturday,4,10.5 +Wednesday,16,2.5 +Friday,20,5.2 +Monday,19,7.6 +Monday,19,8.4 +Sunday,2,7.1 +Wednesday,7,1.4 +Monday,17,3.1 +Friday,11,19.2 +Tuesday,5,33.4 +Saturday,3,4.8 +Friday,18,6.8 +Monday,7,21.4 +Wednesday,13,5.7 +Thursday,15,18.1 +Sunday,16,4.8 +Friday,8,13.4 +Saturday,11,5.1 +Tuesday,8,7.8 +Wednesday,6,11.1 +Thursday,0,2.1 +Sunday,12,13.6 +Friday,23,2.0 +Tuesday,17,3.7 +Monday,18,4.8 +Wednesday,0,16.2 +Tuesday,10,4.8 +Tuesday,20,7.3 +Sunday,18,2.7 +Tuesday,23,5.7 +Saturday,14,0.7 +Thursday,8,13.6 +Sunday,19,12.0 +Saturday,12,6.5 +Wednesday,23,3.3 +Monday,20,0.3 +Monday,8,3.9 +Sunday,11,16.2 +Monday,19,2.6 +Thursday,17,8.3 +Wednesday,8,33.0 +Tuesday,15,8.6 +Wednesday,8,3.2 +Tuesday,11,3.4 +Tuesday,11,5.4 +Tuesday,13,6.9 +Sunday,8,2.2 +Sunday,17,4.0 +Monday,8,6.7 +Sunday,16,8.4 +Monday,11,30.7 +Friday,7,7.7 +Friday,11,4.8 +Sunday,17,2.1 +Tuesday,12,27.1 +Sunday,3,8.8 +Monday,23,15.1 +Tuesday,13,13.3 +Wednesday,1,5.5 +Tuesday,9,9.2 +Saturday,11,15.2 +Tuesday,7,4.5 +Wednesday,12,3.7 +Tuesday,12,13.4 +Monday,16,11.3 +Saturday,11,30.3 +Monday,20,17.8 +Monday,18,5.7 +Monday,7,5.9 +Saturday,12,15.1 +Thursday,9,10.2 diff --git a/agents/evals/fixtures/cases/heatmap-basic-seaborn-renamed/case.json b/agents/evals/fixtures/cases/heatmap-basic-seaborn-renamed/case.json new file mode 100644 index 0000000000..071399a4b2 --- /dev/null +++ b/agents/evals/fixtures/cases/heatmap-basic-seaborn-renamed/case.json @@ -0,0 +1,29 @@ +{ + "spec_id": "heatmap-basic", + "library": "seaborn", + "locale": "de", + "perturbation": "renamed", + "bindings": [ + { + "role": "y", + "column": "Wochentag" + }, + { + "role": "x", + "column": "Stunde" + }, + { + "role": "value", + "column": "Antwortzeit Ø (min)" + } + ], + "expected": "accepted", + "tags": [ + "heatmap", + "renamed", + "synthetic", + "renamed-headers", + "non-ascii-headers" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 606, renamed)" +} diff --git a/agents/evals/fixtures/cases/heatmap-basic-seaborn-renamed/data.csv b/agents/evals/fixtures/cases/heatmap-basic-seaborn-renamed/data.csv new file mode 100644 index 0000000000..9ecbdd0a6d --- /dev/null +++ b/agents/evals/fixtures/cases/heatmap-basic-seaborn-renamed/data.csv @@ -0,0 +1,169 @@ +Wochentag,Stunde,Antwortzeit Ø (min) +Monday,0,14.2 +Monday,1,15.3 +Monday,2,14.3 +Monday,3,14.8 +Monday,4,14.6 +Monday,5,14.8 +Monday,6,13.5 +Monday,7,8.7 +Monday,8,10.2 +Monday,9,11.4 +Monday,10,14.5 +Monday,11,16.2 +Monday,12,17.9 +Monday,13,16.8 +Monday,14,14.7 +Monday,15,13.2 +Monday,16,10.9 +Monday,17,8.6 +Monday,18,6.9 +Monday,19,6.0 +Monday,20,6.5 +Monday,21,13.8 +Monday,22,13.1 +Monday,23,14.4 +Tuesday,0,14.2 +Tuesday,1,13.3 +Tuesday,2,13.6 +Tuesday,3,14.8 +Tuesday,4,14.2 +Tuesday,5,14.2 +Tuesday,6,14.2 +Tuesday,7,6.7 +Tuesday,8,9.5 +Tuesday,9,13.2 +Tuesday,10,15.7 +Tuesday,11,17.4 +Tuesday,12,18.2 +Tuesday,13,16.1 +Tuesday,14,15.4 +Tuesday,15,13.5 +Tuesday,16,12.0 +Tuesday,17,9.8 +Tuesday,18,7.0 +Tuesday,19,7.1 +Tuesday,20,5.8 +Tuesday,21,14.1 +Tuesday,22,13.7 +Tuesday,23,14.3 +Wednesday,0,15.4 +Wednesday,1,14.5 +Wednesday,2,14.1 +Wednesday,3,12.6 +Wednesday,4,14.3 +Wednesday,5,13.4 +Wednesday,6,16.0 +Wednesday,7,7.4 +Wednesday,8,8.7 +Wednesday,9,11.8 +Wednesday,10,15.3 +Wednesday,11,14.9 +Wednesday,12,16.2 +Wednesday,13,15.9 +Wednesday,14,15.3 +Wednesday,15,13.4 +Wednesday,16,10.9 +Wednesday,17,10.1 +Wednesday,18,7.9 +Wednesday,19,6.0 +Wednesday,20,6.2 +Wednesday,21,13.9 +Wednesday,22,14.5 +Wednesday,23,13.2 +Thursday,0,13.0 +Thursday,1,14.3 +Thursday,2,14.4 +Thursday,3,13.6 +Thursday,4,13.9 +Thursday,5,12.9 +Thursday,6,13.6 +Thursday,7,7.7 +Thursday,8,9.5 +Thursday,9,12.8 +Thursday,10,14.7 +Thursday,11,17.0 +Thursday,12,15.3 +Thursday,13,15.7 +Thursday,14,14.7 +Thursday,15,13.1 +Thursday,16,12.0 +Thursday,17,9.4 +Thursday,18,6.7 +Thursday,19,7.3 +Thursday,20,7.8 +Thursday,21,13.4 +Thursday,22,13.8 +Thursday,23,14.0 +Friday,0,14.6 +Friday,1,14.6 +Friday,2,14.3 +Friday,3,14.8 +Friday,4,13.7 +Friday,5,13.9 +Friday,6,15.0 +Friday,7,7.6 +Friday,8,9.2 +Friday,9,12.3 +Friday,10,15.0 +Friday,11,14.7 +Friday,12,15.5 +Friday,13,15.7 +Friday,14,15.4 +Friday,15,14.0 +Friday,16,12.4 +Friday,17,9.2 +Friday,18,5.9 +Friday,19,6.6 +Friday,20,5.9 +Friday,21,14.4 +Friday,22,14.4 +Friday,23,13.5 +Saturday,0,14.3 +Saturday,1,14.4 +Saturday,2,13.4 +Saturday,3,14.3 +Saturday,4,13.3 +Saturday,5,14.2 +Saturday,6,14.0 +Saturday,7,5.2 +Saturday,8,8.2 +Saturday,9,9.4 +Saturday,10,10.2 +Saturday,11,12.1 +Saturday,12,11.9 +Saturday,13,12.1 +Saturday,14,11.1 +Saturday,15,9.6 +Saturday,16,8.6 +Saturday,17,8.3 +Saturday,18,6.6 +Saturday,19,5.6 +Saturday,20,4.0 +Saturday,21,12.9 +Saturday,22,14.1 +Saturday,23,14.2 +Sunday,0,14.9 +Sunday,1,13.9 +Sunday,2,11.5 +Sunday,3,13.8 +Sunday,4,14.2 +Sunday,5,14.9 +Sunday,6,13.6 +Sunday,7,6.7 +Sunday,8,8.8 +Sunday,9,8.8 +Sunday,10,11.1 +Sunday,11,12.1 +Sunday,12,11.0 +Sunday,13,10.3 +Sunday,14,10.7 +Sunday,15,9.7 +Sunday,16,9.2 +Sunday,17,8.9 +Sunday,18,6.4 +Sunday,19,6.9 +Sunday,20,6.0 +Sunday,21,12.8 +Sunday,22,12.7 +Sunday,23,12.4 diff --git a/agents/evals/fixtures/cases/heatmap-basic-seaborn-x10/case.json b/agents/evals/fixtures/cases/heatmap-basic-seaborn-x10/case.json new file mode 100644 index 0000000000..c08edefb71 --- /dev/null +++ b/agents/evals/fixtures/cases/heatmap-basic-seaborn-x10/case.json @@ -0,0 +1,28 @@ +{ + "spec_id": "heatmap-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "x10", + "bindings": [ + { + "role": "y", + "column": "Weekday" + }, + { + "role": "x", + "column": "Hour" + }, + { + "role": "value", + "column": "Response Time (min)" + } + ], + "expected": "accepted", + "tags": [ + "heatmap", + "x10", + "synthetic", + "scaled-values" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 606, x10)" +} diff --git a/agents/evals/fixtures/cases/heatmap-basic-seaborn-x10/data.csv b/agents/evals/fixtures/cases/heatmap-basic-seaborn-x10/data.csv new file mode 100644 index 0000000000..0acbde41bf --- /dev/null +++ b/agents/evals/fixtures/cases/heatmap-basic-seaborn-x10/data.csv @@ -0,0 +1,169 @@ +Weekday,Hour,Response Time (min) +Monday,0,142.1 +Monday,1,153.0 +Monday,2,142.9 +Monday,3,147.9 +Monday,4,146.3 +Monday,5,147.8 +Monday,6,134.9 +Monday,7,86.6 +Monday,8,101.7 +Monday,9,113.6 +Monday,10,145.0 +Monday,11,161.6 +Monday,12,178.7 +Monday,13,167.8 +Monday,14,147.1 +Monday,15,131.8 +Monday,16,109.1 +Monday,17,85.7 +Monday,18,69.1 +Monday,19,60.2 +Monday,20,65.4 +Monday,21,138.5 +Monday,22,131.0 +Monday,23,144.0 +Tuesday,0,141.8 +Tuesday,1,132.7 +Tuesday,2,136.2 +Tuesday,3,148.4 +Tuesday,4,142.0 +Tuesday,5,142.4 +Tuesday,6,142.2 +Tuesday,7,67.3 +Tuesday,8,94.6 +Tuesday,9,131.5 +Tuesday,10,157.5 +Tuesday,11,174.2 +Tuesday,12,181.8 +Tuesday,13,161.2 +Tuesday,14,154.4 +Tuesday,15,134.8 +Tuesday,16,120.1 +Tuesday,17,98.2 +Tuesday,18,70.2 +Tuesday,19,70.7 +Tuesday,20,57.5 +Tuesday,21,141.1 +Tuesday,22,136.7 +Tuesday,23,142.7 +Wednesday,0,153.6 +Wednesday,1,145.3 +Wednesday,2,141.1 +Wednesday,3,125.5 +Wednesday,4,142.9 +Wednesday,5,134.1 +Wednesday,6,160.3 +Wednesday,7,74.2 +Wednesday,8,87.0 +Wednesday,9,117.6 +Wednesday,10,153.1 +Wednesday,11,148.8 +Wednesday,12,162.2 +Wednesday,13,158.8 +Wednesday,14,152.9 +Wednesday,15,133.9 +Wednesday,16,109.1 +Wednesday,17,101.2 +Wednesday,18,78.6 +Wednesday,19,59.6 +Wednesday,20,62.4 +Wednesday,21,138.5 +Wednesday,22,145.5 +Wednesday,23,132.3 +Thursday,0,129.6 +Thursday,1,142.6 +Thursday,2,144.2 +Thursday,3,136.2 +Thursday,4,139.3 +Thursday,5,129.1 +Thursday,6,135.7 +Thursday,7,77.0 +Thursday,8,94.6 +Thursday,9,128.4 +Thursday,10,147.4 +Thursday,11,169.8 +Thursday,12,153.4 +Thursday,13,156.7 +Thursday,14,146.6 +Thursday,15,131.2 +Thursday,16,120.1 +Thursday,17,94.3 +Thursday,18,66.6 +Thursday,19,72.7 +Thursday,20,78.0 +Thursday,21,134.2 +Thursday,22,137.9 +Thursday,23,139.9 +Friday,0,145.6 +Friday,1,145.8 +Friday,2,143.1 +Friday,3,148.2 +Friday,4,136.9 +Friday,5,139.1 +Friday,6,150.2 +Friday,7,75.7 +Friday,8,91.6 +Friday,9,122.6 +Friday,10,150.2 +Friday,11,147.5 +Friday,12,154.8 +Friday,13,156.9 +Friday,14,154.4 +Friday,15,139.7 +Friday,16,123.6 +Friday,17,91.7 +Friday,18,59.3 +Friday,19,65.5 +Friday,20,58.6 +Friday,21,143.7 +Friday,22,143.7 +Friday,23,135.4 +Saturday,0,142.9 +Saturday,1,143.9 +Saturday,2,133.6 +Saturday,3,142.8 +Saturday,4,132.7 +Saturday,5,142.3 +Saturday,6,139.6 +Saturday,7,52.0 +Saturday,8,81.9 +Saturday,9,93.8 +Saturday,10,102.2 +Saturday,11,121.3 +Saturday,12,119.1 +Saturday,13,121.1 +Saturday,14,110.7 +Saturday,15,96.3 +Saturday,16,86.3 +Saturday,17,83.2 +Saturday,18,66.4 +Saturday,19,55.6 +Saturday,20,40.1 +Saturday,21,128.9 +Saturday,22,141.5 +Saturday,23,142.4 +Sunday,0,148.8 +Sunday,1,139.5 +Sunday,2,114.9 +Sunday,3,138.4 +Sunday,4,142.3 +Sunday,5,148.6 +Sunday,6,136.0 +Sunday,7,67.1 +Sunday,8,88.3 +Sunday,9,88.3 +Sunday,10,110.8 +Sunday,11,121.3 +Sunday,12,110.4 +Sunday,13,102.6 +Sunday,14,107.0 +Sunday,15,97.3 +Sunday,16,91.8 +Sunday,17,89.3 +Sunday,18,63.5 +Sunday,19,69.3 +Sunday,20,59.7 +Sunday,21,128.1 +Sunday,22,127.1 +Sunday,23,124.0 diff --git a/agents/evals/fixtures/cases/histogram-basic-matplotlib-date/case.json b/agents/evals/fixtures/cases/histogram-basic-matplotlib-date/case.json new file mode 100644 index 0000000000..fa2835233a --- /dev/null +++ b/agents/evals/fixtures/cases/histogram-basic-matplotlib-date/case.json @@ -0,0 +1,22 @@ +{ + "spec_id": "histogram-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "date", + "bindings": [ + { + "role": "values", + "column": "Delivery Time (min)" + } + ], + "expected": "accepted", + "tags": [ + "histogram", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 404, date)" +} diff --git a/agents/evals/fixtures/cases/histogram-basic-matplotlib-date/data.csv b/agents/evals/fixtures/cases/histogram-basic-matplotlib-date/data.csv new file mode 100644 index 0000000000..c4a83ef442 --- /dev/null +++ b/agents/evals/fixtures/cases/histogram-basic-matplotlib-date/data.csv @@ -0,0 +1,401 @@ +Order ID,Delivery Time (min),Order Date,Delivered On +O-10001,38.3,03.05.2026,2026-05-06 +O-10002,39.4,18.01.2026,2026-01-22 +O-10003,36.7,09.04.2026,2026-04-11 +O-10004,36.6,03.06.2026,2026-06-03 +O-10005,16.3,24.01.2026,2026-01-24 +O-10006,25.4,21.05.2026,2026-05-22 +O-10007,25.4,29.03.2026,2026-03-29 +O-10008,28.7,28.02.2026,2026-03-03 +O-10009,38.1,17.01.2026,2026-01-18 +O-10010,29.6,24.02.2026,2026-02-26 +O-10011,19.5,24.04.2026,2026-04-28 +O-10012,36.0,12.01.2026,2026-01-12 +O-10013,53.0,25.02.2026,2026-02-27 +O-10014,30.1,14.03.2026,2026-03-17 +O-10015,21.3,10.06.2026,2026-06-11 +O-10016,47.9,29.03.2026,2026-04-01 +O-10017,41.8,10.06.2026,2026-06-13 +O-10018,26.4,01.07.2026,2026-07-05 +O-10019,32.4,18.02.2026,2026-02-18 +O-10020,22.9,10.02.2026,2026-02-14 +O-10021,52.4,17.05.2026,2026-05-17 +O-10022,31.4,09.04.2026,2026-04-09 +O-10023,19.7,09.03.2026,2026-03-12 +O-10024,31.1,26.05.2026,2026-05-26 +O-10025,38.2,19.01.2026,2026-01-19 +O-10026,52.7,06.04.2026,2026-04-06 +O-10027,23.9,01.04.2026,2026-04-02 +O-10028,39.3,26.03.2026,2026-03-27 +O-10029,46.8,09.03.2026,2026-03-12 +O-10030,38.3,14.06.2026,2026-06-14 +O-10031,24.2,25.03.2026,2026-03-28 +O-10032,57.8,08.04.2026,2026-04-09 +O-10033,44.9,19.05.2026,2026-05-22 +O-10034,67.6,22.02.2026,2026-02-26 +O-10035,22.3,16.04.2026,2026-04-18 +O-10036,27.3,21.03.2026,2026-03-22 +O-10037,17.8,01.03.2026,2026-03-02 +O-10038,34.3,01.03.2026,2026-03-05 +O-10039,36.7,13.06.2026,2026-06-16 +O-10040,25.1,26.02.2026,2026-02-26 +O-10041,31.6,13.05.2026,2026-05-14 +O-10042,52.9,24.04.2026,2026-04-24 +O-10043,29.7,29.04.2026,2026-05-02 +O-10044,30.9,28.03.2026,2026-03-30 +O-10045,52.3,16.03.2026,2026-03-20 +O-10046,32.4,16.05.2026,2026-05-20 +O-10047,47.4,02.04.2026,2026-04-03 +O-10048,62.4,08.06.2026,2026-06-11 +O-10049,22.5,15.02.2026,2026-02-19 +O-10050,14.7,18.04.2026,2026-04-22 +O-10051,34.6,13.02.2026,2026-02-16 +O-10052,19.6,27.02.2026,2026-02-28 +O-10053,34.0,13.06.2026,2026-06-13 +O-10054,29.6,15.04.2026,2026-04-15 +O-10055,27.2,10.02.2026,2026-02-12 +O-10056,53.7,27.02.2026,2026-02-28 +O-10057,66.8,01.04.2026,2026-04-03 +O-10058,34.1,13.05.2026,2026-05-14 +O-10059,39.1,26.06.2026,2026-06-28 +O-10060,32.1,09.04.2026,2026-04-11 +O-10061,50.4,03.02.2026,2026-02-07 +O-10062,18.7,04.03.2026,2026-03-05 +O-10063,32.2,10.04.2026,2026-04-14 +O-10064,66.0,07.05.2026,2026-05-09 +O-10065,40.7,07.04.2026,2026-04-10 +O-10066,76.3,27.02.2026,2026-03-01 +O-10067,15.7,26.02.2026,2026-03-01 +O-10068,18.2,10.02.2026,2026-02-10 +O-10069,18.4,18.01.2026,2026-01-19 +O-10070,23.2,08.05.2026,2026-05-08 +O-10071,34.8,12.01.2026,2026-01-15 +O-10072,30.9,15.03.2026,2026-03-15 +O-10073,39.8,06.06.2026,2026-06-08 +O-10074,27.5,04.06.2026,2026-06-04 +O-10075,17.7,26.03.2026,2026-03-30 +O-10076,84.2,21.01.2026,2026-01-21 +O-10077,27.9,05.01.2026,2026-01-08 +O-10078,22.2,16.01.2026,2026-01-17 +O-10079,92.0,05.03.2026,2026-03-08 +O-10080,31.1,06.05.2026,2026-05-06 +O-10081,30.6,13.03.2026,2026-03-15 +O-10082,55.0,01.05.2026,2026-05-02 +O-10083,35.7,04.04.2026,2026-04-04 +O-10084,22.3,21.05.2026,2026-05-22 +O-10085,11.9,29.05.2026,2026-05-30 +O-10086,14.1,12.04.2026,2026-04-15 +O-10087,24.0,06.01.2026,2026-01-10 +O-10088,29.3,13.03.2026,2026-03-17 +O-10089,46.9,20.02.2026,2026-02-23 +O-10090,26.2,29.05.2026,2026-06-01 +O-10091,20.2,18.01.2026,2026-01-18 +O-10092,18.5,07.06.2026,2026-06-09 +O-10093,16.2,28.03.2026,2026-04-01 +O-10094,26.1,12.02.2026,2026-02-15 +O-10095,31.2,22.05.2026,2026-05-22 +O-10096,57.1,11.01.2026,2026-01-11 +O-10097,15.0,17.02.2026,2026-02-20 +O-10098,33.6,21.01.2026,2026-01-21 +O-10099,24.4,24.02.2026,2026-02-27 +O-10100,44.1,24.03.2026,2026-03-26 +O-10101,51.7,18.06.2026,2026-06-18 +O-10102,35.6,26.03.2026,2026-03-29 +O-10103,18.6,08.03.2026,2026-03-08 +O-10104,41.6,22.03.2026,2026-03-22 +O-10105,47.3,05.04.2026,2026-04-08 +O-10106,27.6,10.01.2026,2026-01-12 +O-10107,45.3,28.01.2026,2026-01-28 +O-10108,43.6,26.04.2026,2026-04-26 +O-10109,19.1,20.05.2026,2026-05-24 +O-10110,26.2,12.06.2026,2026-06-16 +O-10111,20.6,22.05.2026,2026-05-26 +O-10112,29.6,29.05.2026,2026-05-31 +O-10113,61.9,22.02.2026,2026-02-22 +O-10114,58.8,11.04.2026,2026-04-12 +O-10115,20.6,11.04.2026,2026-04-14 +O-10116,13.7,25.06.2026,2026-06-25 +O-10117,14.8,24.03.2026,2026-03-27 +O-10118,36.3,18.06.2026,2026-06-22 +O-10119,116.4,14.02.2026,2026-02-18 +O-10120,51.6,12.04.2026,2026-04-12 +O-10121,19.3,21.02.2026,2026-02-23 +O-10122,48.0,15.04.2026,2026-04-17 +O-10123,106.1,12.04.2026,2026-04-12 +O-10124,42.9,26.03.2026,2026-03-28 +O-10125,17.9,09.06.2026,2026-06-13 +O-10126,27.9,28.06.2026,2026-06-30 +O-10127,18.3,19.02.2026,2026-02-23 +O-10128,88.9,21.05.2026,2026-05-25 +O-10129,51.3,09.01.2026,2026-01-09 +O-10130,22.7,24.06.2026,2026-06-28 +O-10131,39.0,11.03.2026,2026-03-11 +O-10132,31.8,30.01.2026,2026-02-03 +O-10133,43.4,01.05.2026,2026-05-04 +O-10134,27.5,14.02.2026,2026-02-15 +O-10135,21.1,10.04.2026,2026-04-10 +O-10136,26.0,02.03.2026,2026-03-05 +O-10137,32.5,12.02.2026,2026-02-13 +O-10138,23.8,13.06.2026,2026-06-14 +O-10139,28.4,21.02.2026,2026-02-21 +O-10140,16.3,10.02.2026,2026-02-10 +O-10141,18.4,25.02.2026,2026-03-01 +O-10142,29.0,24.01.2026,2026-01-28 +O-10143,40.9,07.02.2026,2026-02-10 +O-10144,30.8,05.01.2026,2026-01-08 +O-10145,39.6,14.05.2026,2026-05-17 +O-10146,32.4,27.02.2026,2026-03-03 +O-10147,25.0,23.06.2026,2026-06-25 +O-10148,35.2,20.06.2026,2026-06-21 +O-10149,18.7,01.06.2026,2026-06-03 +O-10150,30.7,19.04.2026,2026-04-23 +O-10151,31.5,01.02.2026,2026-02-01 +O-10152,22.7,06.01.2026,2026-01-06 +O-10153,20.7,17.06.2026,2026-06-17 +O-10154,27.3,18.02.2026,2026-02-18 +O-10155,43.8,25.02.2026,2026-02-25 +O-10156,33.0,26.04.2026,2026-04-28 +O-10157,42.1,03.04.2026,2026-04-07 +O-10158,20.7,15.04.2026,2026-04-15 +O-10159,14.8,19.04.2026,2026-04-20 +O-10160,16.0,16.05.2026,2026-05-18 +O-10161,25.2,06.01.2026,2026-01-06 +O-10162,38.5,04.02.2026,2026-02-05 +O-10163,39.5,03.04.2026,2026-04-06 +O-10164,43.0,01.07.2026,2026-07-02 +O-10165,37.5,28.05.2026,2026-05-30 +O-10166,23.2,01.04.2026,2026-04-05 +O-10167,62.0,18.06.2026,2026-06-19 +O-10168,9.8,08.06.2026,2026-06-08 +O-10169,41.2,08.01.2026,2026-01-08 +O-10170,33.8,18.02.2026,2026-02-22 +O-10171,21.5,19.03.2026,2026-03-23 +O-10172,57.7,20.02.2026,2026-02-22 +O-10173,34.0,01.07.2026,2026-07-01 +O-10174,16.2,11.03.2026,2026-03-15 +O-10175,27.2,19.05.2026,2026-05-21 +O-10176,16.4,15.02.2026,2026-02-17 +O-10177,29.6,18.04.2026,2026-04-20 +O-10178,22.8,09.06.2026,2026-06-13 +O-10179,23.1,25.01.2026,2026-01-29 +O-10180,36.4,03.04.2026,2026-04-03 +O-10181,61.6,12.06.2026,2026-06-16 +O-10182,23.9,25.06.2026,2026-06-26 +O-10183,25.1,24.02.2026,2026-02-26 +O-10184,23.6,30.03.2026,2026-04-02 +O-10185,23.1,01.05.2026,2026-05-01 +O-10186,32.4,08.01.2026,2026-01-12 +O-10187,86.5,08.04.2026,2026-04-12 +O-10188,26.8,24.05.2026,2026-05-26 +O-10189,40.1,28.06.2026,2026-07-01 +O-10190,22.4,22.06.2026,2026-06-23 +O-10191,32.4,25.03.2026,2026-03-28 +O-10192,25.6,26.02.2026,2026-02-27 +O-10193,30.6,22.06.2026,2026-06-23 +O-10194,68.7,13.05.2026,2026-05-16 +O-10195,37.1,06.02.2026,2026-02-06 +O-10196,29.5,16.03.2026,2026-03-19 +O-10197,61.1,05.06.2026,2026-06-06 +O-10198,50.7,02.07.2026,2026-07-02 +O-10199,35.4,03.06.2026,2026-06-07 +O-10200,36.6,19.06.2026,2026-06-21 +O-10201,37.5,03.04.2026,2026-04-07 +O-10202,37.9,14.01.2026,2026-01-16 +O-10203,18.0,22.05.2026,2026-05-26 +O-10204,41.9,08.02.2026,2026-02-08 +O-10205,53.1,09.06.2026,2026-06-13 +O-10206,19.9,19.02.2026,2026-02-19 +O-10207,16.4,10.02.2026,2026-02-13 +O-10208,39.5,27.06.2026,2026-06-30 +O-10209,32.8,20.04.2026,2026-04-20 +O-10210,37.9,07.01.2026,2026-01-10 +O-10211,39.5,19.06.2026,2026-06-22 +O-10212,39.4,11.03.2026,2026-03-13 +O-10213,24.6,05.04.2026,2026-04-06 +O-10214,40.7,28.03.2026,2026-04-01 +O-10215,27.6,29.04.2026,2026-05-01 +O-10216,21.4,04.06.2026,2026-06-06 +O-10217,44.1,20.02.2026,2026-02-20 +O-10218,22.6,19.05.2026,2026-05-22 +O-10219,30.9,22.01.2026,2026-01-22 +O-10220,26.5,12.06.2026,2026-06-12 +O-10221,20.7,04.02.2026,2026-02-06 +O-10222,21.7,03.02.2026,2026-02-03 +O-10223,31.1,16.01.2026,2026-01-19 +O-10224,31.1,17.05.2026,2026-05-20 +O-10225,39.7,12.05.2026,2026-05-16 +O-10226,30.2,16.03.2026,2026-03-17 +O-10227,22.8,18.06.2026,2026-06-22 +O-10228,36.3,15.01.2026,2026-01-15 +O-10229,32.5,30.05.2026,2026-06-03 +O-10230,49.4,21.02.2026,2026-02-23 +O-10231,39.2,10.01.2026,2026-01-12 +O-10232,21.6,01.06.2026,2026-06-01 +O-10233,13.8,22.01.2026,2026-01-24 +O-10234,31.1,16.02.2026,2026-02-19 +O-10235,21.9,30.05.2026,2026-05-30 +O-10236,49.0,07.04.2026,2026-04-10 +O-10237,20.4,29.03.2026,2026-04-01 +O-10238,21.4,04.02.2026,2026-02-04 +O-10239,48.5,19.06.2026,2026-06-23 +O-10240,17.1,10.06.2026,2026-06-11 +O-10241,29.3,02.02.2026,2026-02-03 +O-10242,69.6,14.02.2026,2026-02-14 +O-10243,31.2,05.05.2026,2026-05-09 +O-10244,43.1,04.04.2026,2026-04-04 +O-10245,46.7,08.05.2026,2026-05-09 +O-10246,28.7,08.04.2026,2026-04-10 +O-10247,31.7,07.02.2026,2026-02-11 +O-10248,30.0,02.02.2026,2026-02-04 +O-10249,38.1,15.04.2026,2026-04-19 +O-10250,14.8,25.01.2026,2026-01-26 +O-10251,27.2,13.04.2026,2026-04-14 +O-10252,55.8,28.02.2026,2026-03-01 +O-10253,38.9,15.03.2026,2026-03-17 +O-10254,23.8,03.06.2026,2026-06-07 +O-10255,31.8,04.05.2026,2026-05-05 +O-10256,13.2,24.02.2026,2026-02-26 +O-10257,72.2,04.05.2026,2026-05-04 +O-10258,36.3,20.04.2026,2026-04-23 +O-10259,15.7,30.03.2026,2026-03-30 +O-10260,26.3,16.04.2026,2026-04-18 +O-10261,24.5,30.05.2026,2026-06-01 +O-10262,67.5,30.04.2026,2026-05-02 +O-10263,20.5,25.06.2026,2026-06-28 +O-10264,23.4,23.01.2026,2026-01-24 +O-10265,62.8,06.05.2026,2026-05-10 +O-10266,34.5,22.02.2026,2026-02-23 +O-10267,25.2,05.03.2026,2026-03-08 +O-10268,21.3,22.01.2026,2026-01-24 +O-10269,49.0,10.02.2026,2026-02-13 +O-10270,48.8,10.03.2026,2026-03-13 +O-10271,50.0,23.01.2026,2026-01-25 +O-10272,23.1,15.03.2026,2026-03-18 +O-10273,62.7,24.04.2026,2026-04-24 +O-10274,85.7,02.02.2026,2026-02-02 +O-10275,29.5,20.04.2026,2026-04-22 +O-10276,14.9,02.05.2026,2026-05-05 +O-10277,39.7,22.05.2026,2026-05-25 +O-10278,48.3,01.07.2026,2026-07-05 +O-10279,26.7,22.02.2026,2026-02-26 +O-10280,26.6,23.05.2026,2026-05-23 +O-10281,52.4,06.02.2026,2026-02-07 +O-10282,40.5,12.06.2026,2026-06-15 +O-10283,14.9,05.06.2026,2026-06-09 +O-10284,42.9,14.01.2026,2026-01-18 +O-10285,26.4,09.04.2026,2026-04-12 +O-10286,10.6,04.05.2026,2026-05-08 +O-10287,21.9,26.06.2026,2026-06-28 +O-10288,40.1,21.02.2026,2026-02-22 +O-10289,57.9,18.01.2026,2026-01-20 +O-10290,42.6,17.04.2026,2026-04-21 +O-10291,43.6,31.01.2026,2026-02-03 +O-10292,41.3,28.02.2026,2026-03-04 +O-10293,66.9,21.03.2026,2026-03-24 +O-10294,18.6,23.04.2026,2026-04-24 +O-10295,40.7,01.05.2026,2026-05-05 +O-10296,88.6,04.05.2026,2026-05-04 +O-10297,39.5,22.02.2026,2026-02-26 +O-10298,15.6,30.01.2026,2026-01-30 +O-10299,17.3,18.02.2026,2026-02-19 +O-10300,27.3,14.06.2026,2026-06-17 +O-10301,56.9,02.04.2026,2026-04-05 +O-10302,38.8,16.03.2026,2026-03-19 +O-10303,19.9,22.06.2026,2026-06-23 +O-10304,26.8,26.06.2026,2026-06-30 +O-10305,25.9,10.04.2026,2026-04-12 +O-10306,32.8,07.03.2026,2026-03-08 +O-10307,46.9,08.06.2026,2026-06-08 +O-10308,16.6,10.02.2026,2026-02-10 +O-10309,26.9,01.06.2026,2026-06-04 +O-10310,40.7,10.01.2026,2026-01-12 +O-10311,40.1,22.05.2026,2026-05-25 +O-10312,42.5,19.06.2026,2026-06-21 +O-10313,67.6,02.05.2026,2026-05-05 +O-10314,15.9,09.04.2026,2026-04-13 +O-10315,26.1,12.03.2026,2026-03-13 +O-10316,24.4,12.03.2026,2026-03-15 +O-10317,16.6,18.06.2026,2026-06-22 +O-10318,23.2,09.04.2026,2026-04-11 +O-10319,15.1,28.06.2026,2026-06-28 +O-10320,15.3,29.06.2026,2026-06-30 +O-10321,29.7,13.03.2026,2026-03-14 +O-10322,38.9,22.05.2026,2026-05-23 +O-10323,26.6,04.02.2026,2026-02-06 +O-10324,36.1,08.06.2026,2026-06-12 +O-10325,21.0,09.06.2026,2026-06-11 +O-10326,25.5,15.05.2026,2026-05-15 +O-10327,42.8,17.01.2026,2026-01-20 +O-10328,37.0,04.03.2026,2026-03-07 +O-10329,40.5,30.01.2026,2026-01-31 +O-10330,17.7,09.05.2026,2026-05-13 +O-10331,31.3,18.05.2026,2026-05-22 +O-10332,56.8,15.06.2026,2026-06-16 +O-10333,73.4,18.01.2026,2026-01-21 +O-10334,19.2,23.01.2026,2026-01-23 +O-10335,17.4,23.01.2026,2026-01-25 +O-10336,24.3,21.01.2026,2026-01-23 +O-10337,30.6,17.04.2026,2026-04-21 +O-10338,37.8,07.03.2026,2026-03-11 +O-10339,16.0,24.04.2026,2026-04-27 +O-10340,44.5,23.04.2026,2026-04-23 +O-10341,12.7,26.04.2026,2026-04-29 +O-10342,10.7,07.02.2026,2026-02-11 +O-10343,52.5,26.04.2026,2026-04-27 +O-10344,14.2,06.03.2026,2026-03-09 +O-10345,21.0,07.02.2026,2026-02-10 +O-10346,28.3,19.04.2026,2026-04-22 +O-10347,21.6,16.01.2026,2026-01-16 +O-10348,23.8,03.03.2026,2026-03-03 +O-10349,44.5,10.01.2026,2026-01-13 +O-10350,40.3,05.04.2026,2026-04-06 +O-10351,40.1,22.05.2026,2026-05-22 +O-10352,39.4,22.02.2026,2026-02-25 +O-10353,29.2,27.01.2026,2026-01-31 +O-10354,30.6,18.06.2026,2026-06-18 +O-10355,38.7,31.01.2026,2026-02-01 +O-10356,23.7,17.03.2026,2026-03-19 +O-10357,75.8,20.01.2026,2026-01-20 +O-10358,43.2,29.01.2026,2026-02-01 +O-10359,44.5,11.06.2026,2026-06-13 +O-10360,44.3,08.06.2026,2026-06-10 +O-10361,37.8,09.05.2026,2026-05-13 +O-10362,38.7,17.04.2026,2026-04-17 +O-10363,44.0,15.02.2026,2026-02-17 +O-10364,18.1,02.03.2026,2026-03-06 +O-10365,55.9,12.04.2026,2026-04-14 +O-10366,22.3,27.02.2026,2026-03-01 +O-10367,16.8,24.03.2026,2026-03-27 +O-10368,33.6,23.01.2026,2026-01-23 +O-10369,39.3,15.04.2026,2026-04-15 +O-10370,31.9,05.04.2026,2026-04-07 +O-10371,53.9,27.03.2026,2026-03-28 +O-10372,26.0,03.03.2026,2026-03-04 +O-10373,49.6,23.02.2026,2026-02-25 +O-10374,23.6,03.05.2026,2026-05-06 +O-10375,52.4,21.04.2026,2026-04-25 +O-10376,20.0,04.02.2026,2026-02-07 +O-10377,40.3,22.01.2026,2026-01-24 +O-10378,21.0,30.04.2026,2026-05-03 +O-10379,15.1,26.06.2026,2026-06-27 +O-10380,17.3,18.04.2026,2026-04-22 +O-10381,45.4,21.06.2026,2026-06-21 +O-10382,62.7,12.05.2026,2026-05-15 +O-10383,60.9,03.04.2026,2026-04-05 +O-10384,27.5,03.03.2026,2026-03-04 +O-10385,29.3,28.06.2026,2026-06-29 +O-10386,29.9,13.06.2026,2026-06-13 +O-10387,24.6,25.05.2026,2026-05-27 +O-10388,13.3,06.01.2026,2026-01-07 +O-10389,34.8,20.06.2026,2026-06-20 +O-10390,23.5,24.05.2026,2026-05-28 +O-10391,18.0,11.02.2026,2026-02-12 +O-10392,22.6,25.01.2026,2026-01-26 +O-10393,45.3,24.05.2026,2026-05-28 +O-10394,99.4,22.03.2026,2026-03-22 +O-10395,44.2,18.06.2026,2026-06-19 +O-10396,43.3,25.05.2026,2026-05-28 +O-10397,38.5,21.05.2026,2026-05-22 +O-10398,18.6,08.06.2026,2026-06-08 +O-10399,45.8,20.02.2026,2026-02-22 +O-10400,36.7,22.04.2026,2026-04-22 diff --git a/agents/evals/fixtures/cases/histogram-basic-matplotlib-decimal-comma/case.json b/agents/evals/fixtures/cases/histogram-basic-matplotlib-decimal-comma/case.json new file mode 100644 index 0000000000..f91593c893 --- /dev/null +++ b/agents/evals/fixtures/cases/histogram-basic-matplotlib-decimal-comma/case.json @@ -0,0 +1,20 @@ +{ + "spec_id": "histogram-basic", + "library": "matplotlib", + "locale": "de", + "perturbation": "decimal-comma", + "bindings": [ + { + "role": "values", + "column": "Delivery Time (min)" + } + ], + "expected": "accepted", + "tags": [ + "histogram", + "decimal-comma", + "synthetic", + "semicolon" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 404, decimal-comma)" +} diff --git a/agents/evals/fixtures/cases/histogram-basic-matplotlib-decimal-comma/data.csv b/agents/evals/fixtures/cases/histogram-basic-matplotlib-decimal-comma/data.csv new file mode 100644 index 0000000000..c0b5c27d0c --- /dev/null +++ b/agents/evals/fixtures/cases/histogram-basic-matplotlib-decimal-comma/data.csv @@ -0,0 +1,401 @@ +Order ID;Delivery Time (min) +O-10001;38,3 +O-10002;39,4 +O-10003;36,7 +O-10004;36,6 +O-10005;16,3 +O-10006;25,4 +O-10007;25,4 +O-10008;28,7 +O-10009;38,1 +O-10010;29,6 +O-10011;19,5 +O-10012;36,0 +O-10013;53,0 +O-10014;30,1 +O-10015;21,3 +O-10016;47,9 +O-10017;41,8 +O-10018;26,4 +O-10019;32,4 +O-10020;22,9 +O-10021;52,4 +O-10022;31,4 +O-10023;19,7 +O-10024;31,1 +O-10025;38,2 +O-10026;52,7 +O-10027;23,9 +O-10028;39,3 +O-10029;46,8 +O-10030;38,3 +O-10031;24,2 +O-10032;57,8 +O-10033;44,9 +O-10034;67,6 +O-10035;22,3 +O-10036;27,3 +O-10037;17,8 +O-10038;34,3 +O-10039;36,7 +O-10040;25,1 +O-10041;31,6 +O-10042;52,9 +O-10043;29,7 +O-10044;30,9 +O-10045;52,3 +O-10046;32,4 +O-10047;47,4 +O-10048;62,4 +O-10049;22,5 +O-10050;14,7 +O-10051;34,6 +O-10052;19,6 +O-10053;34,0 +O-10054;29,6 +O-10055;27,2 +O-10056;53,7 +O-10057;66,8 +O-10058;34,1 +O-10059;39,1 +O-10060;32,1 +O-10061;50,4 +O-10062;18,7 +O-10063;32,2 +O-10064;66,0 +O-10065;40,7 +O-10066;76,3 +O-10067;15,7 +O-10068;18,2 +O-10069;18,4 +O-10070;23,2 +O-10071;34,8 +O-10072;30,9 +O-10073;39,8 +O-10074;27,5 +O-10075;17,7 +O-10076;84,2 +O-10077;27,9 +O-10078;22,2 +O-10079;92,0 +O-10080;31,1 +O-10081;30,6 +O-10082;55,0 +O-10083;35,7 +O-10084;22,3 +O-10085;11,9 +O-10086;14,1 +O-10087;24,0 +O-10088;29,3 +O-10089;46,9 +O-10090;26,2 +O-10091;20,2 +O-10092;18,5 +O-10093;16,2 +O-10094;26,1 +O-10095;31,2 +O-10096;57,1 +O-10097;15,0 +O-10098;33,6 +O-10099;24,4 +O-10100;44,1 +O-10101;51,7 +O-10102;35,6 +O-10103;18,6 +O-10104;41,6 +O-10105;47,3 +O-10106;27,6 +O-10107;45,3 +O-10108;43,6 +O-10109;19,1 +O-10110;26,2 +O-10111;20,6 +O-10112;29,6 +O-10113;61,9 +O-10114;58,8 +O-10115;20,6 +O-10116;13,7 +O-10117;14,8 +O-10118;36,3 +O-10119;116,4 +O-10120;51,6 +O-10121;19,3 +O-10122;48,0 +O-10123;106,1 +O-10124;42,9 +O-10125;17,9 +O-10126;27,9 +O-10127;18,3 +O-10128;88,9 +O-10129;51,3 +O-10130;22,7 +O-10131;39,0 +O-10132;31,8 +O-10133;43,4 +O-10134;27,5 +O-10135;21,1 +O-10136;26,0 +O-10137;32,5 +O-10138;23,8 +O-10139;28,4 +O-10140;16,3 +O-10141;18,4 +O-10142;29,0 +O-10143;40,9 +O-10144;30,8 +O-10145;39,6 +O-10146;32,4 +O-10147;25,0 +O-10148;35,2 +O-10149;18,7 +O-10150;30,7 +O-10151;31,5 +O-10152;22,7 +O-10153;20,7 +O-10154;27,3 +O-10155;43,8 +O-10156;33,0 +O-10157;42,1 +O-10158;20,7 +O-10159;14,8 +O-10160;16,0 +O-10161;25,2 +O-10162;38,5 +O-10163;39,5 +O-10164;43,0 +O-10165;37,5 +O-10166;23,2 +O-10167;62,0 +O-10168;9,8 +O-10169;41,2 +O-10170;33,8 +O-10171;21,5 +O-10172;57,7 +O-10173;34,0 +O-10174;16,2 +O-10175;27,2 +O-10176;16,4 +O-10177;29,6 +O-10178;22,8 +O-10179;23,1 +O-10180;36,4 +O-10181;61,6 +O-10182;23,9 +O-10183;25,1 +O-10184;23,6 +O-10185;23,1 +O-10186;32,4 +O-10187;86,5 +O-10188;26,8 +O-10189;40,1 +O-10190;22,4 +O-10191;32,4 +O-10192;25,6 +O-10193;30,6 +O-10194;68,7 +O-10195;37,1 +O-10196;29,5 +O-10197;61,1 +O-10198;50,7 +O-10199;35,4 +O-10200;36,6 +O-10201;37,5 +O-10202;37,9 +O-10203;18,0 +O-10204;41,9 +O-10205;53,1 +O-10206;19,9 +O-10207;16,4 +O-10208;39,5 +O-10209;32,8 +O-10210;37,9 +O-10211;39,5 +O-10212;39,4 +O-10213;24,6 +O-10214;40,7 +O-10215;27,6 +O-10216;21,4 +O-10217;44,1 +O-10218;22,6 +O-10219;30,9 +O-10220;26,5 +O-10221;20,7 +O-10222;21,7 +O-10223;31,1 +O-10224;31,1 +O-10225;39,7 +O-10226;30,2 +O-10227;22,8 +O-10228;36,3 +O-10229;32,5 +O-10230;49,4 +O-10231;39,2 +O-10232;21,6 +O-10233;13,8 +O-10234;31,1 +O-10235;21,9 +O-10236;49,0 +O-10237;20,4 +O-10238;21,4 +O-10239;48,5 +O-10240;17,1 +O-10241;29,3 +O-10242;69,6 +O-10243;31,2 +O-10244;43,1 +O-10245;46,7 +O-10246;28,7 +O-10247;31,7 +O-10248;30,0 +O-10249;38,1 +O-10250;14,8 +O-10251;27,2 +O-10252;55,8 +O-10253;38,9 +O-10254;23,8 +O-10255;31,8 +O-10256;13,2 +O-10257;72,2 +O-10258;36,3 +O-10259;15,7 +O-10260;26,3 +O-10261;24,5 +O-10262;67,5 +O-10263;20,5 +O-10264;23,4 +O-10265;62,8 +O-10266;34,5 +O-10267;25,2 +O-10268;21,3 +O-10269;49,0 +O-10270;48,8 +O-10271;50,0 +O-10272;23,1 +O-10273;62,7 +O-10274;85,7 +O-10275;29,5 +O-10276;14,9 +O-10277;39,7 +O-10278;48,3 +O-10279;26,7 +O-10280;26,6 +O-10281;52,4 +O-10282;40,5 +O-10283;14,9 +O-10284;42,9 +O-10285;26,4 +O-10286;10,6 +O-10287;21,9 +O-10288;40,1 +O-10289;57,9 +O-10290;42,6 +O-10291;43,6 +O-10292;41,3 +O-10293;66,9 +O-10294;18,6 +O-10295;40,7 +O-10296;88,6 +O-10297;39,5 +O-10298;15,6 +O-10299;17,3 +O-10300;27,3 +O-10301;56,9 +O-10302;38,8 +O-10303;19,9 +O-10304;26,8 +O-10305;25,9 +O-10306;32,8 +O-10307;46,9 +O-10308;16,6 +O-10309;26,9 +O-10310;40,7 +O-10311;40,1 +O-10312;42,5 +O-10313;67,6 +O-10314;15,9 +O-10315;26,1 +O-10316;24,4 +O-10317;16,6 +O-10318;23,2 +O-10319;15,1 +O-10320;15,3 +O-10321;29,7 +O-10322;38,9 +O-10323;26,6 +O-10324;36,1 +O-10325;21,0 +O-10326;25,5 +O-10327;42,8 +O-10328;37,0 +O-10329;40,5 +O-10330;17,7 +O-10331;31,3 +O-10332;56,8 +O-10333;73,4 +O-10334;19,2 +O-10335;17,4 +O-10336;24,3 +O-10337;30,6 +O-10338;37,8 +O-10339;16,0 +O-10340;44,5 +O-10341;12,7 +O-10342;10,7 +O-10343;52,5 +O-10344;14,2 +O-10345;21,0 +O-10346;28,3 +O-10347;21,6 +O-10348;23,8 +O-10349;44,5 +O-10350;40,3 +O-10351;40,1 +O-10352;39,4 +O-10353;29,2 +O-10354;30,6 +O-10355;38,7 +O-10356;23,7 +O-10357;75,8 +O-10358;43,2 +O-10359;44,5 +O-10360;44,3 +O-10361;37,8 +O-10362;38,7 +O-10363;44,0 +O-10364;18,1 +O-10365;55,9 +O-10366;22,3 +O-10367;16,8 +O-10368;33,6 +O-10369;39,3 +O-10370;31,9 +O-10371;53,9 +O-10372;26,0 +O-10373;49,6 +O-10374;23,6 +O-10375;52,4 +O-10376;20,0 +O-10377;40,3 +O-10378;21,0 +O-10379;15,1 +O-10380;17,3 +O-10381;45,4 +O-10382;62,7 +O-10383;60,9 +O-10384;27,5 +O-10385;29,3 +O-10386;29,9 +O-10387;24,6 +O-10388;13,3 +O-10389;34,8 +O-10390;23,5 +O-10391;18,0 +O-10392;22,6 +O-10393;45,3 +O-10394;99,4 +O-10395;44,2 +O-10396;43,3 +O-10397;38,5 +O-10398;18,6 +O-10399;45,8 +O-10400;36,7 diff --git a/agents/evals/fixtures/cases/histogram-basic-matplotlib-n12/case.json b/agents/evals/fixtures/cases/histogram-basic-matplotlib-n12/case.json new file mode 100644 index 0000000000..b00a908b40 --- /dev/null +++ b/agents/evals/fixtures/cases/histogram-basic-matplotlib-n12/case.json @@ -0,0 +1,20 @@ +{ + "spec_id": "histogram-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "n12", + "bindings": [ + { + "role": "values", + "column": "Delivery Time (min)" + } + ], + "expected": "accepted", + "tags": [ + "histogram", + "n12", + "synthetic", + "small" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 404, n12)" +} diff --git a/agents/evals/fixtures/cases/histogram-basic-matplotlib-n12/data.csv b/agents/evals/fixtures/cases/histogram-basic-matplotlib-n12/data.csv new file mode 100644 index 0000000000..3e32daaa5e --- /dev/null +++ b/agents/evals/fixtures/cases/histogram-basic-matplotlib-n12/data.csv @@ -0,0 +1,13 @@ +Order ID,Delivery Time (min) +O-10001,27.8 +O-10002,106.1 +O-10003,29.2 +O-10004,27.9 +O-10005,61.7 +O-10006,15.9 +O-10007,12.2 +O-10008,26.6 +O-10009,46.5 +O-10010,37.3 +O-10011,30.4 +O-10012,24.3 diff --git a/agents/evals/fixtures/cases/histogram-basic-matplotlib-n5000/case.json b/agents/evals/fixtures/cases/histogram-basic-matplotlib-n5000/case.json new file mode 100644 index 0000000000..60a5d8cbc8 --- /dev/null +++ b/agents/evals/fixtures/cases/histogram-basic-matplotlib-n5000/case.json @@ -0,0 +1,20 @@ +{ + "spec_id": "histogram-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "n5000", + "bindings": [ + { + "role": "values", + "column": "Delivery Time (min)" + } + ], + "expected": "accepted", + "tags": [ + "histogram", + "n5000", + "synthetic", + "large" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 404, n5000)" +} diff --git a/agents/evals/fixtures/cases/histogram-basic-matplotlib-n5000/data.csv b/agents/evals/fixtures/cases/histogram-basic-matplotlib-n5000/data.csv new file mode 100644 index 0000000000..00869fbb7c --- /dev/null +++ b/agents/evals/fixtures/cases/histogram-basic-matplotlib-n5000/data.csv @@ -0,0 +1,5001 @@ +Order ID,Delivery Time (min) +O-10001,25.6 +O-10002,82.2 +O-10003,38.7 +O-10004,32.3 +O-10005,17.4 +O-10006,42.3 +O-10007,43.8 +O-10008,20.3 +O-10009,18.6 +O-10010,47.7 +O-10011,25.5 +O-10012,64.4 +O-10013,42.7 +O-10014,29.0 +O-10015,30.8 +O-10016,12.7 +O-10017,15.3 +O-10018,24.0 +O-10019,40.3 +O-10020,44.6 +O-10021,58.3 +O-10022,43.5 +O-10023,66.2 +O-10024,39.3 +O-10025,55.7 +O-10026,30.3 +O-10027,40.7 +O-10028,21.3 +O-10029,63.1 +O-10030,11.6 +O-10031,19.6 +O-10032,45.5 +O-10033,40.3 +O-10034,50.2 +O-10035,40.7 +O-10036,47.7 +O-10037,30.1 +O-10038,20.3 +O-10039,35.2 +O-10040,14.4 +O-10041,24.8 +O-10042,32.9 +O-10043,27.9 +O-10044,29.0 +O-10045,55.3 +O-10046,24.3 +O-10047,14.4 +O-10048,36.2 +O-10049,38.5 +O-10050,17.4 +O-10051,24.5 +O-10052,34.7 +O-10053,35.8 +O-10054,32.8 +O-10055,82.6 +O-10056,26.4 +O-10057,17.1 +O-10058,18.0 +O-10059,19.5 +O-10060,44.5 +O-10061,24.3 +O-10062,30.8 +O-10063,75.1 +O-10064,19.1 +O-10065,41.1 +O-10066,12.4 +O-10067,55.0 +O-10068,28.2 +O-10069,21.1 +O-10070,19.9 +O-10071,42.4 +O-10072,23.2 +O-10073,28.2 +O-10074,24.7 +O-10075,33.7 +O-10076,67.3 +O-10077,28.4 +O-10078,23.1 +O-10079,29.3 +O-10080,17.0 +O-10081,41.6 +O-10082,74.9 +O-10083,34.6 +O-10084,18.8 +O-10085,19.5 +O-10086,19.7 +O-10087,28.5 +O-10088,59.4 +O-10089,30.6 +O-10090,66.7 +O-10091,28.4 +O-10092,32.9 +O-10093,23.9 +O-10094,35.5 +O-10095,44.8 +O-10096,52.9 +O-10097,75.5 +O-10098,69.4 +O-10099,18.0 +O-10100,18.7 +O-10101,16.4 +O-10102,29.7 +O-10103,22.2 +O-10104,20.8 +O-10105,42.3 +O-10106,69.5 +O-10107,37.3 +O-10108,38.8 +O-10109,71.0 +O-10110,37.7 +O-10111,36.9 +O-10112,41.7 +O-10113,33.8 +O-10114,25.9 +O-10115,40.7 +O-10116,13.0 +O-10117,15.4 +O-10118,35.5 +O-10119,28.3 +O-10120,66.5 +O-10121,36.2 +O-10122,14.5 +O-10123,51.8 +O-10124,52.6 +O-10125,69.5 +O-10126,24.0 +O-10127,25.7 +O-10128,35.5 +O-10129,25.4 +O-10130,38.6 +O-10131,25.6 +O-10132,24.3 +O-10133,19.5 +O-10134,27.6 +O-10135,21.1 +O-10136,45.3 +O-10137,69.9 +O-10138,29.1 +O-10139,13.2 +O-10140,17.9 +O-10141,22.0 +O-10142,22.9 +O-10143,32.5 +O-10144,52.7 +O-10145,35.0 +O-10146,42.6 +O-10147,34.9 +O-10148,15.2 +O-10149,25.9 +O-10150,32.1 +O-10151,32.1 +O-10152,32.5 +O-10153,66.0 +O-10154,52.3 +O-10155,64.0 +O-10156,13.0 +O-10157,63.0 +O-10158,18.9 +O-10159,15.0 +O-10160,30.5 +O-10161,49.3 +O-10162,27.7 +O-10163,30.2 +O-10164,47.1 +O-10165,26.7 +O-10166,37.5 +O-10167,45.3 +O-10168,37.8 +O-10169,23.9 +O-10170,64.6 +O-10171,45.6 +O-10172,42.9 +O-10173,57.1 +O-10174,18.8 +O-10175,13.0 +O-10176,15.7 +O-10177,27.9 +O-10178,35.7 +O-10179,19.0 +O-10180,19.2 +O-10181,37.7 +O-10182,72.0 +O-10183,52.1 +O-10184,15.5 +O-10185,22.3 +O-10186,26.1 +O-10187,20.8 +O-10188,20.9 +O-10189,55.4 +O-10190,47.6 +O-10191,21.0 +O-10192,15.4 +O-10193,31.9 +O-10194,35.3 +O-10195,31.7 +O-10196,18.7 +O-10197,68.8 +O-10198,59.2 +O-10199,42.4 +O-10200,21.9 +O-10201,14.7 +O-10202,43.8 +O-10203,34.5 +O-10204,23.1 +O-10205,30.2 +O-10206,37.4 +O-10207,42.8 +O-10208,42.1 +O-10209,29.4 +O-10210,16.2 +O-10211,32.2 +O-10212,56.1 +O-10213,41.9 +O-10214,41.5 +O-10215,29.8 +O-10216,41.8 +O-10217,17.2 +O-10218,55.7 +O-10219,27.4 +O-10220,59.2 +O-10221,31.5 +O-10222,25.6 +O-10223,26.1 +O-10224,47.6 +O-10225,19.3 +O-10226,13.3 +O-10227,27.5 +O-10228,28.7 +O-10229,26.0 +O-10230,24.4 +O-10231,33.4 +O-10232,30.4 +O-10233,21.2 +O-10234,27.6 +O-10235,31.2 +O-10236,72.6 +O-10237,32.2 +O-10238,56.3 +O-10239,15.8 +O-10240,18.9 +O-10241,27.4 +O-10242,83.2 +O-10243,24.6 +O-10244,29.9 +O-10245,27.9 +O-10246,37.5 +O-10247,19.7 +O-10248,12.9 +O-10249,42.3 +O-10250,30.3 +O-10251,15.1 +O-10252,23.8 +O-10253,22.2 +O-10254,36.6 +O-10255,31.0 +O-10256,21.9 +O-10257,28.7 +O-10258,31.4 +O-10259,47.0 +O-10260,28.9 +O-10261,25.1 +O-10262,49.6 +O-10263,61.1 +O-10264,34.4 +O-10265,55.0 +O-10266,42.9 +O-10267,39.7 +O-10268,30.5 +O-10269,29.9 +O-10270,27.2 +O-10271,28.2 +O-10272,62.8 +O-10273,31.9 +O-10274,28.6 +O-10275,49.5 +O-10276,36.7 +O-10277,48.8 +O-10278,49.0 +O-10279,37.1 +O-10280,12.9 +O-10281,22.4 +O-10282,53.7 +O-10283,33.7 +O-10284,88.9 +O-10285,73.2 +O-10286,28.1 +O-10287,24.7 +O-10288,33.3 +O-10289,28.5 +O-10290,18.1 +O-10291,45.4 +O-10292,20.5 +O-10293,27.0 +O-10294,35.5 +O-10295,29.0 +O-10296,24.1 +O-10297,53.0 +O-10298,21.9 +O-10299,60.7 +O-10300,40.1 +O-10301,30.4 +O-10302,13.3 +O-10303,11.7 +O-10304,17.6 +O-10305,30.4 +O-10306,25.5 +O-10307,53.4 +O-10308,53.9 +O-10309,32.0 +O-10310,44.1 +O-10311,36.8 +O-10312,27.2 +O-10313,26.5 +O-10314,35.7 +O-10315,27.8 +O-10316,52.4 +O-10317,21.8 +O-10318,56.6 +O-10319,32.3 +O-10320,21.9 +O-10321,23.3 +O-10322,55.0 +O-10323,33.9 +O-10324,45.2 +O-10325,49.5 +O-10326,56.0 +O-10327,28.0 +O-10328,19.8 +O-10329,26.9 +O-10330,70.3 +O-10331,37.6 +O-10332,40.4 +O-10333,28.6 +O-10334,37.5 +O-10335,36.4 +O-10336,61.3 +O-10337,67.6 +O-10338,26.6 +O-10339,33.3 +O-10340,31.6 +O-10341,24.8 +O-10342,44.0 +O-10343,20.4 +O-10344,19.2 +O-10345,33.8 +O-10346,38.1 +O-10347,47.9 +O-10348,25.9 +O-10349,52.5 +O-10350,32.5 +O-10351,21.1 +O-10352,28.1 +O-10353,33.4 +O-10354,50.6 +O-10355,62.1 +O-10356,32.7 +O-10357,30.2 +O-10358,42.7 +O-10359,19.8 +O-10360,30.0 +O-10361,44.5 +O-10362,65.6 +O-10363,12.6 +O-10364,36.4 +O-10365,40.8 +O-10366,31.0 +O-10367,26.1 +O-10368,28.8 +O-10369,49.7 +O-10370,44.7 +O-10371,44.3 +O-10372,14.8 +O-10373,36.4 +O-10374,26.4 +O-10375,37.9 +O-10376,43.6 +O-10377,24.6 +O-10378,15.5 +O-10379,23.8 +O-10380,57.3 +O-10381,42.6 +O-10382,12.8 +O-10383,56.0 +O-10384,70.0 +O-10385,38.9 +O-10386,75.4 +O-10387,21.5 +O-10388,17.7 +O-10389,46.7 +O-10390,25.9 +O-10391,39.1 +O-10392,42.2 +O-10393,17.6 +O-10394,65.6 +O-10395,41.7 +O-10396,30.7 +O-10397,18.7 +O-10398,20.1 +O-10399,20.2 +O-10400,12.9 +O-10401,25.9 +O-10402,50.2 +O-10403,45.6 +O-10404,65.1 +O-10405,12.5 +O-10406,52.2 +O-10407,76.6 +O-10408,37.1 +O-10409,40.3 +O-10410,35.2 +O-10411,52.9 +O-10412,12.2 +O-10413,18.6 +O-10414,32.1 +O-10415,42.7 +O-10416,37.8 +O-10417,16.8 +O-10418,38.2 +O-10419,31.0 +O-10420,19.7 +O-10421,27.2 +O-10422,41.1 +O-10423,32.7 +O-10424,21.0 +O-10425,38.6 +O-10426,15.0 +O-10427,14.9 +O-10428,29.0 +O-10429,84.2 +O-10430,32.9 +O-10431,11.7 +O-10432,27.3 +O-10433,34.4 +O-10434,51.7 +O-10435,46.0 +O-10436,35.1 +O-10437,29.7 +O-10438,30.8 +O-10439,33.5 +O-10440,30.0 +O-10441,58.2 +O-10442,47.7 +O-10443,22.4 +O-10444,27.8 +O-10445,39.6 +O-10446,18.4 +O-10447,50.5 +O-10448,18.6 +O-10449,23.2 +O-10450,22.1 +O-10451,42.4 +O-10452,22.1 +O-10453,22.4 +O-10454,11.1 +O-10455,56.4 +O-10456,83.1 +O-10457,55.1 +O-10458,61.8 +O-10459,46.0 +O-10460,40.5 +O-10461,28.0 +O-10462,45.9 +O-10463,30.2 +O-10464,35.6 +O-10465,32.4 +O-10466,22.5 +O-10467,44.4 +O-10468,14.1 +O-10469,50.7 +O-10470,16.3 +O-10471,72.8 +O-10472,28.0 +O-10473,20.9 +O-10474,34.8 +O-10475,56.6 +O-10476,24.3 +O-10477,41.8 +O-10478,39.4 +O-10479,40.4 +O-10480,61.5 +O-10481,46.7 +O-10482,43.4 +O-10483,63.3 +O-10484,26.9 +O-10485,22.5 +O-10486,21.1 +O-10487,17.2 +O-10488,36.6 +O-10489,49.0 +O-10490,43.5 +O-10491,37.8 +O-10492,34.4 +O-10493,20.5 +O-10494,17.3 +O-10495,38.1 +O-10496,52.4 +O-10497,48.2 +O-10498,53.5 +O-10499,13.5 +O-10500,21.6 +O-10501,38.0 +O-10502,28.5 +O-10503,14.4 +O-10504,61.6 +O-10505,29.1 +O-10506,32.0 +O-10507,40.2 +O-10508,43.2 +O-10509,23.4 +O-10510,77.5 +O-10511,20.6 +O-10512,30.6 +O-10513,28.8 +O-10514,33.6 +O-10515,23.2 +O-10516,39.8 +O-10517,24.0 +O-10518,27.3 +O-10519,38.8 +O-10520,33.3 +O-10521,46.8 +O-10522,31.9 +O-10523,38.1 +O-10524,35.3 +O-10525,19.0 +O-10526,25.9 +O-10527,18.8 +O-10528,62.2 +O-10529,35.2 +O-10530,30.6 +O-10531,26.5 +O-10532,31.4 +O-10533,25.7 +O-10534,35.5 +O-10535,42.9 +O-10536,38.8 +O-10537,85.3 +O-10538,30.9 +O-10539,16.4 +O-10540,25.0 +O-10541,15.7 +O-10542,18.4 +O-10543,15.2 +O-10544,31.9 +O-10545,52.5 +O-10546,40.0 +O-10547,19.2 +O-10548,31.2 +O-10549,42.4 +O-10550,17.8 +O-10551,22.1 +O-10552,18.3 +O-10553,42.6 +O-10554,42.3 +O-10555,58.3 +O-10556,28.6 +O-10557,33.6 +O-10558,29.7 +O-10559,35.3 +O-10560,29.7 +O-10561,25.3 +O-10562,36.7 +O-10563,37.2 +O-10564,20.8 +O-10565,59.8 +O-10566,33.8 +O-10567,18.7 +O-10568,51.2 +O-10569,52.9 +O-10570,27.5 +O-10571,26.8 +O-10572,35.7 +O-10573,34.0 +O-10574,36.9 +O-10575,62.8 +O-10576,25.1 +O-10577,18.0 +O-10578,46.9 +O-10579,21.2 +O-10580,30.2 +O-10581,22.4 +O-10582,52.9 +O-10583,31.6 +O-10584,26.8 +O-10585,14.2 +O-10586,14.3 +O-10587,17.6 +O-10588,37.2 +O-10589,39.4 +O-10590,43.7 +O-10591,34.5 +O-10592,23.6 +O-10593,50.6 +O-10594,23.8 +O-10595,44.2 +O-10596,23.3 +O-10597,21.9 +O-10598,36.7 +O-10599,50.0 +O-10600,41.8 +O-10601,89.6 +O-10602,36.9 +O-10603,31.6 +O-10604,63.6 +O-10605,24.2 +O-10606,25.9 +O-10607,23.8 +O-10608,37.2 +O-10609,37.8 +O-10610,18.6 +O-10611,34.6 +O-10612,20.9 +O-10613,50.2 +O-10614,31.4 +O-10615,56.9 +O-10616,46.7 +O-10617,35.9 +O-10618,17.0 +O-10619,47.8 +O-10620,37.4 +O-10621,30.8 +O-10622,18.5 +O-10623,40.8 +O-10624,34.2 +O-10625,49.1 +O-10626,20.0 +O-10627,51.6 +O-10628,69.9 +O-10629,25.7 +O-10630,32.2 +O-10631,38.3 +O-10632,42.3 +O-10633,23.9 +O-10634,32.7 +O-10635,74.7 +O-10636,64.2 +O-10637,83.2 +O-10638,23.2 +O-10639,31.8 +O-10640,29.0 +O-10641,42.9 +O-10642,23.2 +O-10643,50.5 +O-10644,41.5 +O-10645,21.6 +O-10646,30.7 +O-10647,15.1 +O-10648,44.2 +O-10649,39.8 +O-10650,51.6 +O-10651,29.8 +O-10652,30.1 +O-10653,29.5 +O-10654,56.0 +O-10655,31.0 +O-10656,19.9 +O-10657,44.3 +O-10658,26.6 +O-10659,30.4 +O-10660,23.2 +O-10661,33.2 +O-10662,27.6 +O-10663,28.9 +O-10664,50.0 +O-10665,16.6 +O-10666,39.0 +O-10667,35.3 +O-10668,21.0 +O-10669,25.4 +O-10670,49.9 +O-10671,24.3 +O-10672,38.1 +O-10673,26.9 +O-10674,46.4 +O-10675,28.1 +O-10676,48.2 +O-10677,18.4 +O-10678,44.3 +O-10679,34.2 +O-10680,71.3 +O-10681,12.7 +O-10682,46.6 +O-10683,83.3 +O-10684,64.9 +O-10685,23.5 +O-10686,78.4 +O-10687,55.9 +O-10688,24.6 +O-10689,18.5 +O-10690,19.1 +O-10691,38.5 +O-10692,13.7 +O-10693,47.7 +O-10694,28.5 +O-10695,48.9 +O-10696,26.2 +O-10697,28.4 +O-10698,36.5 +O-10699,32.2 +O-10700,37.6 +O-10701,40.7 +O-10702,28.9 +O-10703,33.1 +O-10704,38.6 +O-10705,35.5 +O-10706,34.0 +O-10707,23.2 +O-10708,62.9 +O-10709,39.0 +O-10710,22.9 +O-10711,54.9 +O-10712,36.1 +O-10713,69.2 +O-10714,50.3 +O-10715,24.2 +O-10716,70.0 +O-10717,25.4 +O-10718,19.0 +O-10719,53.3 +O-10720,33.6 +O-10721,58.2 +O-10722,14.6 +O-10723,44.0 +O-10724,28.4 +O-10725,17.5 +O-10726,15.4 +O-10727,20.5 +O-10728,17.3 +O-10729,25.6 +O-10730,40.4 +O-10731,25.6 +O-10732,23.7 +O-10733,31.0 +O-10734,24.1 +O-10735,21.2 +O-10736,31.9 +O-10737,25.6 +O-10738,31.3 +O-10739,38.1 +O-10740,40.7 +O-10741,44.3 +O-10742,28.1 +O-10743,13.3 +O-10744,23.3 +O-10745,26.0 +O-10746,38.2 +O-10747,28.0 +O-10748,29.6 +O-10749,22.8 +O-10750,92.8 +O-10751,29.9 +O-10752,31.2 +O-10753,54.2 +O-10754,38.2 +O-10755,43.6 +O-10756,27.1 +O-10757,25.9 +O-10758,44.9 +O-10759,34.4 +O-10760,45.4 +O-10761,51.9 +O-10762,25.8 +O-10763,30.1 +O-10764,28.1 +O-10765,24.9 +O-10766,42.7 +O-10767,80.7 +O-10768,35.1 +O-10769,45.8 +O-10770,30.1 +O-10771,19.8 +O-10772,29.9 +O-10773,27.2 +O-10774,30.6 +O-10775,46.2 +O-10776,36.7 +O-10777,15.2 +O-10778,31.4 +O-10779,39.0 +O-10780,46.3 +O-10781,30.4 +O-10782,57.5 +O-10783,15.6 +O-10784,51.0 +O-10785,29.9 +O-10786,58.8 +O-10787,55.3 +O-10788,20.5 +O-10789,24.0 +O-10790,21.4 +O-10791,30.1 +O-10792,37.0 +O-10793,40.2 +O-10794,24.3 +O-10795,44.5 +O-10796,17.9 +O-10797,41.5 +O-10798,21.8 +O-10799,37.6 +O-10800,53.1 +O-10801,17.3 +O-10802,25.2 +O-10803,24.0 +O-10804,25.3 +O-10805,51.2 +O-10806,39.4 +O-10807,25.1 +O-10808,27.2 +O-10809,37.4 +O-10810,28.8 +O-10811,71.8 +O-10812,37.7 +O-10813,33.6 +O-10814,29.1 +O-10815,61.0 +O-10816,20.7 +O-10817,22.3 +O-10818,16.0 +O-10819,41.9 +O-10820,25.2 +O-10821,43.9 +O-10822,23.4 +O-10823,13.0 +O-10824,59.3 +O-10825,29.8 +O-10826,79.3 +O-10827,39.3 +O-10828,16.1 +O-10829,59.8 +O-10830,21.9 +O-10831,24.5 +O-10832,17.0 +O-10833,13.5 +O-10834,14.6 +O-10835,27.6 +O-10836,22.2 +O-10837,36.8 +O-10838,45.8 +O-10839,26.1 +O-10840,24.1 +O-10841,27.1 +O-10842,45.8 +O-10843,14.1 +O-10844,23.3 +O-10845,77.8 +O-10846,73.6 +O-10847,84.1 +O-10848,20.3 +O-10849,52.2 +O-10850,31.9 +O-10851,39.9 +O-10852,62.6 +O-10853,14.7 +O-10854,12.7 +O-10855,23.2 +O-10856,44.0 +O-10857,28.4 +O-10858,68.0 +O-10859,35.7 +O-10860,22.7 +O-10861,32.7 +O-10862,23.6 +O-10863,18.4 +O-10864,39.3 +O-10865,24.9 +O-10866,36.8 +O-10867,45.0 +O-10868,39.4 +O-10869,34.3 +O-10870,17.2 +O-10871,20.7 +O-10872,38.1 +O-10873,12.4 +O-10874,41.3 +O-10875,25.4 +O-10876,30.3 +O-10877,28.4 +O-10878,30.5 +O-10879,28.4 +O-10880,32.2 +O-10881,53.0 +O-10882,27.8 +O-10883,21.3 +O-10884,64.1 +O-10885,20.4 +O-10886,49.1 +O-10887,51.5 +O-10888,44.7 +O-10889,34.0 +O-10890,30.6 +O-10891,23.4 +O-10892,16.8 +O-10893,22.4 +O-10894,11.6 +O-10895,30.9 +O-10896,23.8 +O-10897,50.9 +O-10898,40.1 +O-10899,32.9 +O-10900,50.1 +O-10901,15.1 +O-10902,23.1 +O-10903,26.6 +O-10904,73.5 +O-10905,53.8 +O-10906,12.2 +O-10907,22.1 +O-10908,53.9 +O-10909,54.1 +O-10910,34.6 +O-10911,13.9 +O-10912,19.2 +O-10913,24.0 +O-10914,49.7 +O-10915,30.9 +O-10916,42.4 +O-10917,37.3 +O-10918,18.0 +O-10919,34.3 +O-10920,20.8 +O-10921,60.0 +O-10922,36.8 +O-10923,40.5 +O-10924,66.7 +O-10925,64.5 +O-10926,17.1 +O-10927,56.0 +O-10928,14.3 +O-10929,29.1 +O-10930,40.6 +O-10931,39.6 +O-10932,50.6 +O-10933,44.8 +O-10934,49.4 +O-10935,40.6 +O-10936,23.2 +O-10937,61.7 +O-10938,36.0 +O-10939,15.5 +O-10940,25.8 +O-10941,18.5 +O-10942,27.5 +O-10943,62.9 +O-10944,19.5 +O-10945,40.3 +O-10946,40.0 +O-10947,26.0 +O-10948,16.6 +O-10949,32.9 +O-10950,29.7 +O-10951,14.6 +O-10952,47.5 +O-10953,31.7 +O-10954,48.7 +O-10955,20.1 +O-10956,15.2 +O-10957,22.8 +O-10958,14.2 +O-10959,28.8 +O-10960,27.4 +O-10961,64.3 +O-10962,29.1 +O-10963,22.0 +O-10964,18.0 +O-10965,119.3 +O-10966,30.6 +O-10967,17.2 +O-10968,35.2 +O-10969,31.7 +O-10970,49.6 +O-10971,59.6 +O-10972,32.3 +O-10973,43.3 +O-10974,30.2 +O-10975,44.1 +O-10976,57.5 +O-10977,31.5 +O-10978,25.9 +O-10979,41.4 +O-10980,25.3 +O-10981,26.9 +O-10982,26.2 +O-10983,21.5 +O-10984,26.4 +O-10985,25.9 +O-10986,36.2 +O-10987,29.1 +O-10988,23.6 +O-10989,14.2 +O-10990,57.3 +O-10991,30.1 +O-10992,23.4 +O-10993,28.0 +O-10994,44.1 +O-10995,23.5 +O-10996,46.3 +O-10997,15.9 +O-10998,43.9 +O-10999,36.6 +O-11000,42.4 +O-11001,69.7 +O-11002,15.5 +O-11003,24.2 +O-11004,58.4 +O-11005,27.3 +O-11006,22.8 +O-11007,35.9 +O-11008,32.7 +O-11009,37.3 +O-11010,50.8 +O-11011,23.5 +O-11012,19.8 +O-11013,28.0 +O-11014,28.1 +O-11015,22.6 +O-11016,17.6 +O-11017,33.3 +O-11018,25.4 +O-11019,20.7 +O-11020,26.4 +O-11021,20.1 +O-11022,19.8 +O-11023,44.7 +O-11024,69.0 +O-11025,27.1 +O-11026,39.0 +O-11027,42.6 +O-11028,56.9 +O-11029,13.1 +O-11030,18.2 +O-11031,68.0 +O-11032,29.5 +O-11033,23.0 +O-11034,36.7 +O-11035,38.8 +O-11036,29.6 +O-11037,42.3 +O-11038,38.3 +O-11039,39.5 +O-11040,37.7 +O-11041,13.4 +O-11042,26.2 +O-11043,55.5 +O-11044,40.9 +O-11045,27.7 +O-11046,64.2 +O-11047,21.9 +O-11048,47.1 +O-11049,23.7 +O-11050,33.8 +O-11051,28.3 +O-11052,49.5 +O-11053,33.0 +O-11054,21.5 +O-11055,21.1 +O-11056,31.8 +O-11057,21.7 +O-11058,47.5 +O-11059,33.7 +O-11060,27.6 +O-11061,71.2 +O-11062,18.3 +O-11063,48.4 +O-11064,14.5 +O-11065,22.0 +O-11066,31.3 +O-11067,17.2 +O-11068,19.8 +O-11069,48.5 +O-11070,31.9 +O-11071,32.6 +O-11072,23.0 +O-11073,31.3 +O-11074,44.4 +O-11075,30.8 +O-11076,47.1 +O-11077,55.0 +O-11078,36.2 +O-11079,16.0 +O-11080,17.6 +O-11081,39.6 +O-11082,22.8 +O-11083,31.8 +O-11084,42.4 +O-11085,38.3 +O-11086,24.7 +O-11087,19.3 +O-11088,38.1 +O-11089,26.9 +O-11090,62.7 +O-11091,22.5 +O-11092,17.2 +O-11093,21.7 +O-11094,54.5 +O-11095,66.2 +O-11096,35.8 +O-11097,78.1 +O-11098,26.2 +O-11099,39.1 +O-11100,63.2 +O-11101,22.5 +O-11102,37.8 +O-11103,35.5 +O-11104,19.5 +O-11105,29.0 +O-11106,30.4 +O-11107,31.8 +O-11108,33.9 +O-11109,35.2 +O-11110,25.7 +O-11111,29.1 +O-11112,23.6 +O-11113,28.7 +O-11114,33.7 +O-11115,17.4 +O-11116,29.2 +O-11117,33.7 +O-11118,39.2 +O-11119,25.1 +O-11120,71.6 +O-11121,15.7 +O-11122,33.6 +O-11123,31.3 +O-11124,73.2 +O-11125,42.5 +O-11126,24.4 +O-11127,35.4 +O-11128,40.2 +O-11129,56.7 +O-11130,29.5 +O-11131,40.7 +O-11132,36.7 +O-11133,43.5 +O-11134,26.3 +O-11135,51.5 +O-11136,23.8 +O-11137,40.1 +O-11138,17.5 +O-11139,62.1 +O-11140,19.8 +O-11141,24.2 +O-11142,18.5 +O-11143,37.2 +O-11144,15.2 +O-11145,30.6 +O-11146,29.2 +O-11147,30.2 +O-11148,55.8 +O-11149,29.9 +O-11150,80.1 +O-11151,45.5 +O-11152,49.1 +O-11153,55.6 +O-11154,24.0 +O-11155,22.0 +O-11156,33.0 +O-11157,11.7 +O-11158,22.3 +O-11159,23.4 +O-11160,51.4 +O-11161,34.2 +O-11162,14.9 +O-11163,25.0 +O-11164,15.2 +O-11165,9.9 +O-11166,19.1 +O-11167,37.0 +O-11168,48.5 +O-11169,34.2 +O-11170,23.0 +O-11171,25.9 +O-11172,86.4 +O-11173,35.0 +O-11174,25.5 +O-11175,18.8 +O-11176,61.4 +O-11177,39.1 +O-11178,28.3 +O-11179,37.2 +O-11180,48.0 +O-11181,27.8 +O-11182,23.2 +O-11183,76.2 +O-11184,8.7 +O-11185,39.3 +O-11186,18.1 +O-11187,80.4 +O-11188,14.8 +O-11189,27.0 +O-11190,13.7 +O-11191,38.2 +O-11192,33.9 +O-11193,38.9 +O-11194,39.8 +O-11195,46.1 +O-11196,27.1 +O-11197,34.3 +O-11198,42.0 +O-11199,32.3 +O-11200,51.9 +O-11201,32.8 +O-11202,39.9 +O-11203,22.1 +O-11204,42.4 +O-11205,28.3 +O-11206,65.2 +O-11207,48.5 +O-11208,50.1 +O-11209,28.9 +O-11210,22.1 +O-11211,38.3 +O-11212,31.5 +O-11213,61.8 +O-11214,37.9 +O-11215,35.5 +O-11216,146.2 +O-11217,48.6 +O-11218,30.8 +O-11219,39.8 +O-11220,26.7 +O-11221,42.3 +O-11222,32.3 +O-11223,13.2 +O-11224,9.7 +O-11225,42.1 +O-11226,36.9 +O-11227,31.6 +O-11228,70.6 +O-11229,24.4 +O-11230,23.1 +O-11231,35.4 +O-11232,17.0 +O-11233,57.5 +O-11234,48.7 +O-11235,52.7 +O-11236,34.6 +O-11237,15.4 +O-11238,39.0 +O-11239,39.0 +O-11240,56.0 +O-11241,24.8 +O-11242,49.9 +O-11243,15.6 +O-11244,40.1 +O-11245,24.4 +O-11246,39.8 +O-11247,24.8 +O-11248,45.3 +O-11249,80.4 +O-11250,59.1 +O-11251,59.6 +O-11252,59.0 +O-11253,43.9 +O-11254,76.5 +O-11255,11.0 +O-11256,13.3 +O-11257,18.0 +O-11258,17.4 +O-11259,14.0 +O-11260,30.1 +O-11261,17.0 +O-11262,51.8 +O-11263,29.7 +O-11264,33.0 +O-11265,14.5 +O-11266,33.7 +O-11267,65.4 +O-11268,43.4 +O-11269,18.6 +O-11270,37.7 +O-11271,45.2 +O-11272,39.9 +O-11273,36.7 +O-11274,36.4 +O-11275,27.1 +O-11276,42.1 +O-11277,28.0 +O-11278,41.7 +O-11279,21.5 +O-11280,28.4 +O-11281,27.7 +O-11282,17.6 +O-11283,59.3 +O-11284,36.3 +O-11285,44.3 +O-11286,29.1 +O-11287,23.1 +O-11288,29.4 +O-11289,33.0 +O-11290,49.1 +O-11291,48.1 +O-11292,15.9 +O-11293,12.0 +O-11294,35.8 +O-11295,39.7 +O-11296,41.9 +O-11297,18.7 +O-11298,46.6 +O-11299,32.7 +O-11300,34.0 +O-11301,36.5 +O-11302,12.8 +O-11303,42.4 +O-11304,56.2 +O-11305,84.8 +O-11306,34.2 +O-11307,28.6 +O-11308,41.4 +O-11309,55.5 +O-11310,45.7 +O-11311,18.5 +O-11312,36.1 +O-11313,30.5 +O-11314,47.0 +O-11315,39.4 +O-11316,55.3 +O-11317,45.3 +O-11318,45.7 +O-11319,48.5 +O-11320,30.0 +O-11321,43.5 +O-11322,13.9 +O-11323,32.2 +O-11324,37.7 +O-11325,23.4 +O-11326,14.3 +O-11327,40.5 +O-11328,26.4 +O-11329,30.1 +O-11330,23.4 +O-11331,69.7 +O-11332,39.3 +O-11333,31.2 +O-11334,41.0 +O-11335,41.7 +O-11336,25.2 +O-11337,17.2 +O-11338,32.1 +O-11339,29.0 +O-11340,41.9 +O-11341,52.2 +O-11342,14.6 +O-11343,52.0 +O-11344,16.2 +O-11345,28.6 +O-11346,47.7 +O-11347,21.9 +O-11348,36.6 +O-11349,44.7 +O-11350,62.4 +O-11351,10.2 +O-11352,34.5 +O-11353,67.5 +O-11354,19.2 +O-11355,34.3 +O-11356,35.8 +O-11357,55.2 +O-11358,27.9 +O-11359,49.0 +O-11360,31.5 +O-11361,42.6 +O-11362,25.0 +O-11363,51.2 +O-11364,13.8 +O-11365,45.8 +O-11366,44.5 +O-11367,64.6 +O-11368,16.2 +O-11369,77.0 +O-11370,16.4 +O-11371,16.8 +O-11372,35.7 +O-11373,36.4 +O-11374,100.1 +O-11375,15.9 +O-11376,30.3 +O-11377,21.8 +O-11378,44.2 +O-11379,22.5 +O-11380,22.0 +O-11381,22.7 +O-11382,36.3 +O-11383,30.1 +O-11384,15.9 +O-11385,45.4 +O-11386,15.5 +O-11387,31.6 +O-11388,22.0 +O-11389,40.5 +O-11390,69.5 +O-11391,15.4 +O-11392,17.4 +O-11393,41.2 +O-11394,27.6 +O-11395,28.1 +O-11396,57.0 +O-11397,24.1 +O-11398,79.3 +O-11399,58.0 +O-11400,22.9 +O-11401,28.3 +O-11402,32.4 +O-11403,37.0 +O-11404,35.2 +O-11405,26.5 +O-11406,21.4 +O-11407,24.4 +O-11408,28.3 +O-11409,21.2 +O-11410,26.5 +O-11411,16.5 +O-11412,31.4 +O-11413,32.5 +O-11414,49.6 +O-11415,26.5 +O-11416,55.9 +O-11417,40.2 +O-11418,25.4 +O-11419,52.1 +O-11420,34.7 +O-11421,62.9 +O-11422,42.3 +O-11423,55.3 +O-11424,50.4 +O-11425,47.7 +O-11426,12.4 +O-11427,22.1 +O-11428,22.6 +O-11429,21.1 +O-11430,19.9 +O-11431,50.0 +O-11432,20.3 +O-11433,33.7 +O-11434,32.7 +O-11435,45.5 +O-11436,23.8 +O-11437,28.0 +O-11438,15.4 +O-11439,20.0 +O-11440,23.8 +O-11441,51.1 +O-11442,34.7 +O-11443,25.1 +O-11444,54.6 +O-11445,30.9 +O-11446,17.0 +O-11447,25.5 +O-11448,20.0 +O-11449,37.3 +O-11450,66.2 +O-11451,19.4 +O-11452,24.5 +O-11453,31.1 +O-11454,61.1 +O-11455,18.1 +O-11456,56.2 +O-11457,25.3 +O-11458,31.9 +O-11459,20.3 +O-11460,49.3 +O-11461,45.0 +O-11462,62.0 +O-11463,32.1 +O-11464,77.8 +O-11465,52.9 +O-11466,28.7 +O-11467,62.2 +O-11468,18.4 +O-11469,32.6 +O-11470,26.4 +O-11471,22.5 +O-11472,21.1 +O-11473,49.5 +O-11474,61.2 +O-11475,28.7 +O-11476,18.1 +O-11477,15.4 +O-11478,22.7 +O-11479,69.5 +O-11480,16.4 +O-11481,22.8 +O-11482,15.8 +O-11483,13.5 +O-11484,53.7 +O-11485,55.2 +O-11486,18.4 +O-11487,19.5 +O-11488,26.7 +O-11489,33.2 +O-11490,33.0 +O-11491,50.8 +O-11492,31.2 +O-11493,28.4 +O-11494,58.1 +O-11495,18.3 +O-11496,33.2 +O-11497,85.3 +O-11498,23.9 +O-11499,33.8 +O-11500,27.0 +O-11501,46.2 +O-11502,32.8 +O-11503,25.4 +O-11504,19.8 +O-11505,27.3 +O-11506,40.5 +O-11507,48.6 +O-11508,49.5 +O-11509,16.5 +O-11510,38.6 +O-11511,28.1 +O-11512,12.3 +O-11513,52.6 +O-11514,52.1 +O-11515,18.0 +O-11516,24.0 +O-11517,14.5 +O-11518,23.8 +O-11519,37.2 +O-11520,37.1 +O-11521,25.9 +O-11522,21.7 +O-11523,29.9 +O-11524,25.2 +O-11525,24.2 +O-11526,34.3 +O-11527,33.9 +O-11528,31.7 +O-11529,37.7 +O-11530,37.2 +O-11531,25.6 +O-11532,33.5 +O-11533,22.6 +O-11534,25.3 +O-11535,43.8 +O-11536,40.3 +O-11537,24.6 +O-11538,36.0 +O-11539,44.1 +O-11540,17.7 +O-11541,28.7 +O-11542,23.2 +O-11543,19.7 +O-11544,34.9 +O-11545,22.6 +O-11546,38.2 +O-11547,30.3 +O-11548,82.2 +O-11549,18.8 +O-11550,46.9 +O-11551,53.9 +O-11552,49.0 +O-11553,24.6 +O-11554,29.4 +O-11555,17.6 +O-11556,27.5 +O-11557,15.3 +O-11558,22.5 +O-11559,40.4 +O-11560,61.1 +O-11561,28.4 +O-11562,31.1 +O-11563,21.0 +O-11564,13.9 +O-11565,16.0 +O-11566,61.7 +O-11567,23.8 +O-11568,23.3 +O-11569,39.9 +O-11570,31.7 +O-11571,43.1 +O-11572,11.7 +O-11573,21.0 +O-11574,21.5 +O-11575,18.9 +O-11576,29.7 +O-11577,18.2 +O-11578,22.7 +O-11579,38.7 +O-11580,39.6 +O-11581,21.4 +O-11582,13.1 +O-11583,19.3 +O-11584,28.6 +O-11585,39.4 +O-11586,40.7 +O-11587,37.4 +O-11588,17.0 +O-11589,42.1 +O-11590,25.8 +O-11591,24.7 +O-11592,31.7 +O-11593,36.7 +O-11594,37.3 +O-11595,32.0 +O-11596,45.8 +O-11597,22.2 +O-11598,66.5 +O-11599,18.4 +O-11600,14.1 +O-11601,35.9 +O-11602,28.9 +O-11603,24.1 +O-11604,37.6 +O-11605,33.2 +O-11606,23.1 +O-11607,37.3 +O-11608,23.9 +O-11609,18.8 +O-11610,31.6 +O-11611,13.9 +O-11612,16.2 +O-11613,28.6 +O-11614,29.6 +O-11615,36.0 +O-11616,28.5 +O-11617,15.0 +O-11618,20.8 +O-11619,14.9 +O-11620,31.6 +O-11621,43.1 +O-11622,18.3 +O-11623,19.4 +O-11624,61.9 +O-11625,24.0 +O-11626,21.8 +O-11627,20.1 +O-11628,15.7 +O-11629,15.7 +O-11630,27.1 +O-11631,44.1 +O-11632,12.8 +O-11633,32.4 +O-11634,22.6 +O-11635,24.8 +O-11636,48.5 +O-11637,67.4 +O-11638,22.2 +O-11639,27.9 +O-11640,12.1 +O-11641,26.4 +O-11642,15.6 +O-11643,50.3 +O-11644,18.4 +O-11645,41.0 +O-11646,14.8 +O-11647,44.0 +O-11648,33.1 +O-11649,39.7 +O-11650,40.3 +O-11651,28.2 +O-11652,17.7 +O-11653,26.3 +O-11654,41.7 +O-11655,23.3 +O-11656,28.6 +O-11657,70.8 +O-11658,28.5 +O-11659,35.9 +O-11660,20.9 +O-11661,41.0 +O-11662,42.0 +O-11663,41.1 +O-11664,40.8 +O-11665,45.2 +O-11666,32.1 +O-11667,21.6 +O-11668,21.2 +O-11669,36.0 +O-11670,38.0 +O-11671,47.0 +O-11672,34.6 +O-11673,65.9 +O-11674,51.2 +O-11675,19.5 +O-11676,29.6 +O-11677,50.4 +O-11678,64.2 +O-11679,43.8 +O-11680,20.5 +O-11681,31.3 +O-11682,15.0 +O-11683,37.4 +O-11684,25.4 +O-11685,30.0 +O-11686,69.4 +O-11687,14.0 +O-11688,61.5 +O-11689,27.2 +O-11690,28.8 +O-11691,45.9 +O-11692,16.0 +O-11693,38.5 +O-11694,26.4 +O-11695,14.4 +O-11696,23.7 +O-11697,31.1 +O-11698,35.6 +O-11699,20.8 +O-11700,50.5 +O-11701,66.2 +O-11702,28.1 +O-11703,61.5 +O-11704,21.3 +O-11705,53.6 +O-11706,17.9 +O-11707,56.6 +O-11708,54.0 +O-11709,21.2 +O-11710,35.1 +O-11711,56.3 +O-11712,42.9 +O-11713,15.6 +O-11714,29.2 +O-11715,37.0 +O-11716,22.3 +O-11717,70.1 +O-11718,75.7 +O-11719,35.6 +O-11720,21.1 +O-11721,27.0 +O-11722,34.1 +O-11723,17.6 +O-11724,31.7 +O-11725,29.7 +O-11726,36.5 +O-11727,15.0 +O-11728,28.1 +O-11729,16.9 +O-11730,40.3 +O-11731,67.7 +O-11732,32.0 +O-11733,20.5 +O-11734,44.0 +O-11735,33.5 +O-11736,25.7 +O-11737,17.1 +O-11738,39.0 +O-11739,42.7 +O-11740,52.5 +O-11741,35.8 +O-11742,15.7 +O-11743,24.6 +O-11744,40.2 +O-11745,16.7 +O-11746,18.3 +O-11747,24.2 +O-11748,44.4 +O-11749,10.8 +O-11750,35.1 +O-11751,30.3 +O-11752,20.7 +O-11753,60.0 +O-11754,29.4 +O-11755,18.9 +O-11756,30.4 +O-11757,78.3 +O-11758,42.6 +O-11759,27.9 +O-11760,42.1 +O-11761,18.8 +O-11762,34.5 +O-11763,20.5 +O-11764,44.6 +O-11765,29.3 +O-11766,74.2 +O-11767,51.2 +O-11768,34.7 +O-11769,52.7 +O-11770,52.0 +O-11771,58.0 +O-11772,60.7 +O-11773,19.9 +O-11774,52.9 +O-11775,30.8 +O-11776,30.1 +O-11777,31.0 +O-11778,23.0 +O-11779,28.7 +O-11780,17.1 +O-11781,38.0 +O-11782,34.4 +O-11783,30.9 +O-11784,18.7 +O-11785,68.9 +O-11786,41.6 +O-11787,24.0 +O-11788,24.7 +O-11789,53.2 +O-11790,25.0 +O-11791,60.5 +O-11792,44.1 +O-11793,31.0 +O-11794,29.4 +O-11795,46.1 +O-11796,55.4 +O-11797,18.7 +O-11798,41.3 +O-11799,34.1 +O-11800,31.8 +O-11801,14.8 +O-11802,37.6 +O-11803,23.5 +O-11804,15.2 +O-11805,25.3 +O-11806,36.9 +O-11807,36.7 +O-11808,34.1 +O-11809,17.6 +O-11810,37.6 +O-11811,73.9 +O-11812,28.5 +O-11813,34.2 +O-11814,53.0 +O-11815,23.4 +O-11816,25.0 +O-11817,21.2 +O-11818,53.8 +O-11819,46.3 +O-11820,22.9 +O-11821,44.7 +O-11822,43.4 +O-11823,15.1 +O-11824,39.6 +O-11825,46.6 +O-11826,82.3 +O-11827,50.4 +O-11828,13.2 +O-11829,27.7 +O-11830,31.2 +O-11831,19.7 +O-11832,48.3 +O-11833,28.6 +O-11834,34.2 +O-11835,31.7 +O-11836,55.5 +O-11837,30.1 +O-11838,25.6 +O-11839,35.8 +O-11840,23.0 +O-11841,47.2 +O-11842,30.8 +O-11843,10.1 +O-11844,22.6 +O-11845,35.6 +O-11846,40.5 +O-11847,17.6 +O-11848,20.8 +O-11849,29.1 +O-11850,11.0 +O-11851,30.2 +O-11852,25.9 +O-11853,38.1 +O-11854,35.7 +O-11855,20.0 +O-11856,28.9 +O-11857,49.7 +O-11858,57.5 +O-11859,41.5 +O-11860,44.3 +O-11861,51.2 +O-11862,31.9 +O-11863,20.1 +O-11864,31.5 +O-11865,45.4 +O-11866,16.7 +O-11867,36.6 +O-11868,46.4 +O-11869,16.1 +O-11870,21.3 +O-11871,31.8 +O-11872,44.3 +O-11873,42.6 +O-11874,31.1 +O-11875,34.6 +O-11876,16.3 +O-11877,34.2 +O-11878,27.0 +O-11879,26.2 +O-11880,18.6 +O-11881,43.2 +O-11882,30.3 +O-11883,32.1 +O-11884,41.0 +O-11885,44.6 +O-11886,24.0 +O-11887,49.6 +O-11888,33.0 +O-11889,47.3 +O-11890,21.9 +O-11891,22.3 +O-11892,13.7 +O-11893,61.8 +O-11894,27.2 +O-11895,26.9 +O-11896,29.7 +O-11897,51.6 +O-11898,32.9 +O-11899,26.5 +O-11900,40.6 +O-11901,18.2 +O-11902,25.8 +O-11903,28.2 +O-11904,24.3 +O-11905,32.8 +O-11906,57.8 +O-11907,19.8 +O-11908,28.7 +O-11909,26.5 +O-11910,40.4 +O-11911,47.1 +O-11912,57.9 +O-11913,30.0 +O-11914,13.3 +O-11915,26.7 +O-11916,57.4 +O-11917,38.1 +O-11918,15.8 +O-11919,28.3 +O-11920,27.2 +O-11921,25.3 +O-11922,22.8 +O-11923,36.5 +O-11924,26.1 +O-11925,27.8 +O-11926,24.8 +O-11927,70.0 +O-11928,37.3 +O-11929,26.4 +O-11930,38.3 +O-11931,38.4 +O-11932,58.0 +O-11933,19.1 +O-11934,21.6 +O-11935,26.3 +O-11936,27.9 +O-11937,15.7 +O-11938,46.1 +O-11939,43.0 +O-11940,42.2 +O-11941,59.7 +O-11942,23.2 +O-11943,18.1 +O-11944,26.0 +O-11945,46.9 +O-11946,33.4 +O-11947,20.2 +O-11948,45.6 +O-11949,32.7 +O-11950,16.3 +O-11951,50.0 +O-11952,20.4 +O-11953,31.0 +O-11954,17.3 +O-11955,40.9 +O-11956,36.2 +O-11957,46.6 +O-11958,55.7 +O-11959,35.5 +O-11960,17.2 +O-11961,19.8 +O-11962,26.1 +O-11963,43.9 +O-11964,62.4 +O-11965,16.8 +O-11966,68.1 +O-11967,45.9 +O-11968,35.5 +O-11969,13.3 +O-11970,53.5 +O-11971,63.1 +O-11972,36.0 +O-11973,24.9 +O-11974,52.6 +O-11975,41.4 +O-11976,16.1 +O-11977,42.1 +O-11978,31.7 +O-11979,21.1 +O-11980,36.3 +O-11981,39.5 +O-11982,16.0 +O-11983,29.8 +O-11984,32.6 +O-11985,82.7 +O-11986,33.5 +O-11987,36.1 +O-11988,41.0 +O-11989,32.1 +O-11990,43.3 +O-11991,18.0 +O-11992,11.9 +O-11993,39.3 +O-11994,96.0 +O-11995,46.3 +O-11996,55.2 +O-11997,22.2 +O-11998,15.1 +O-11999,60.7 +O-12000,17.7 +O-12001,29.4 +O-12002,31.7 +O-12003,27.0 +O-12004,25.1 +O-12005,26.3 +O-12006,21.6 +O-12007,61.1 +O-12008,48.4 +O-12009,21.4 +O-12010,40.0 +O-12011,33.3 +O-12012,44.9 +O-12013,26.6 +O-12014,71.7 +O-12015,31.5 +O-12016,36.4 +O-12017,18.4 +O-12018,33.0 +O-12019,36.5 +O-12020,27.1 +O-12021,29.8 +O-12022,50.1 +O-12023,30.6 +O-12024,34.4 +O-12025,33.2 +O-12026,22.8 +O-12027,22.3 +O-12028,42.0 +O-12029,52.4 +O-12030,55.9 +O-12031,25.9 +O-12032,42.1 +O-12033,42.7 +O-12034,18.9 +O-12035,40.3 +O-12036,37.0 +O-12037,58.1 +O-12038,95.9 +O-12039,32.2 +O-12040,16.4 +O-12041,22.4 +O-12042,26.8 +O-12043,53.6 +O-12044,32.2 +O-12045,65.4 +O-12046,28.2 +O-12047,56.6 +O-12048,36.5 +O-12049,15.6 +O-12050,19.1 +O-12051,26.9 +O-12052,51.0 +O-12053,54.3 +O-12054,39.2 +O-12055,59.2 +O-12056,49.1 +O-12057,54.3 +O-12058,42.2 +O-12059,23.9 +O-12060,22.4 +O-12061,37.7 +O-12062,31.9 +O-12063,15.9 +O-12064,26.4 +O-12065,38.2 +O-12066,43.9 +O-12067,17.1 +O-12068,29.7 +O-12069,27.3 +O-12070,31.3 +O-12071,20.9 +O-12072,31.0 +O-12073,19.2 +O-12074,37.3 +O-12075,23.3 +O-12076,53.5 +O-12077,34.5 +O-12078,37.4 +O-12079,47.5 +O-12080,28.0 +O-12081,17.8 +O-12082,19.4 +O-12083,41.1 +O-12084,53.0 +O-12085,31.8 +O-12086,30.9 +O-12087,18.5 +O-12088,28.6 +O-12089,61.2 +O-12090,27.4 +O-12091,22.9 +O-12092,38.0 +O-12093,18.4 +O-12094,61.2 +O-12095,29.9 +O-12096,33.9 +O-12097,44.6 +O-12098,32.4 +O-12099,53.0 +O-12100,29.2 +O-12101,33.0 +O-12102,49.3 +O-12103,21.7 +O-12104,43.9 +O-12105,77.0 +O-12106,31.9 +O-12107,31.7 +O-12108,14.4 +O-12109,20.2 +O-12110,24.4 +O-12111,19.6 +O-12112,12.3 +O-12113,42.5 +O-12114,25.7 +O-12115,25.2 +O-12116,23.0 +O-12117,42.5 +O-12118,50.6 +O-12119,51.5 +O-12120,10.0 +O-12121,24.6 +O-12122,34.8 +O-12123,26.7 +O-12124,49.0 +O-12125,27.2 +O-12126,36.5 +O-12127,25.0 +O-12128,85.8 +O-12129,84.4 +O-12130,37.2 +O-12131,23.7 +O-12132,34.7 +O-12133,34.0 +O-12134,24.4 +O-12135,42.9 +O-12136,12.6 +O-12137,49.9 +O-12138,34.1 +O-12139,34.1 +O-12140,31.7 +O-12141,33.1 +O-12142,33.1 +O-12143,18.4 +O-12144,48.5 +O-12145,26.4 +O-12146,20.9 +O-12147,42.3 +O-12148,54.7 +O-12149,25.6 +O-12150,21.6 +O-12151,49.9 +O-12152,35.0 +O-12153,22.0 +O-12154,29.6 +O-12155,23.6 +O-12156,17.1 +O-12157,33.9 +O-12158,35.1 +O-12159,31.8 +O-12160,73.8 +O-12161,24.0 +O-12162,23.2 +O-12163,29.9 +O-12164,26.4 +O-12165,24.6 +O-12166,40.1 +O-12167,27.3 +O-12168,22.3 +O-12169,58.3 +O-12170,37.9 +O-12171,27.8 +O-12172,15.9 +O-12173,73.6 +O-12174,41.9 +O-12175,43.4 +O-12176,30.9 +O-12177,18.6 +O-12178,27.5 +O-12179,10.3 +O-12180,20.4 +O-12181,34.8 +O-12182,17.7 +O-12183,27.2 +O-12184,78.4 +O-12185,14.1 +O-12186,32.0 +O-12187,28.1 +O-12188,30.6 +O-12189,30.4 +O-12190,35.8 +O-12191,10.1 +O-12192,57.0 +O-12193,22.0 +O-12194,26.9 +O-12195,24.5 +O-12196,38.5 +O-12197,32.6 +O-12198,34.6 +O-12199,26.9 +O-12200,72.0 +O-12201,15.0 +O-12202,28.6 +O-12203,38.3 +O-12204,34.0 +O-12205,19.1 +O-12206,32.5 +O-12207,25.5 +O-12208,23.4 +O-12209,76.5 +O-12210,19.2 +O-12211,44.4 +O-12212,17.9 +O-12213,112.7 +O-12214,34.4 +O-12215,35.9 +O-12216,21.3 +O-12217,25.9 +O-12218,26.6 +O-12219,13.8 +O-12220,20.7 +O-12221,42.8 +O-12222,81.2 +O-12223,18.9 +O-12224,55.4 +O-12225,36.2 +O-12226,19.9 +O-12227,11.2 +O-12228,15.8 +O-12229,38.4 +O-12230,38.1 +O-12231,33.7 +O-12232,30.7 +O-12233,31.3 +O-12234,41.1 +O-12235,21.3 +O-12236,40.3 +O-12237,103.9 +O-12238,55.8 +O-12239,63.1 +O-12240,24.2 +O-12241,26.6 +O-12242,20.2 +O-12243,21.9 +O-12244,29.9 +O-12245,58.6 +O-12246,52.8 +O-12247,14.6 +O-12248,56.1 +O-12249,34.1 +O-12250,56.7 +O-12251,38.0 +O-12252,38.7 +O-12253,16.5 +O-12254,21.9 +O-12255,36.4 +O-12256,69.6 +O-12257,20.2 +O-12258,38.1 +O-12259,14.8 +O-12260,36.9 +O-12261,15.7 +O-12262,23.8 +O-12263,37.2 +O-12264,27.1 +O-12265,17.9 +O-12266,35.6 +O-12267,22.9 +O-12268,44.0 +O-12269,29.8 +O-12270,43.0 +O-12271,14.9 +O-12272,21.7 +O-12273,16.6 +O-12274,35.4 +O-12275,26.9 +O-12276,28.8 +O-12277,65.6 +O-12278,19.1 +O-12279,63.9 +O-12280,31.0 +O-12281,47.5 +O-12282,32.2 +O-12283,43.3 +O-12284,41.3 +O-12285,44.5 +O-12286,21.8 +O-12287,28.1 +O-12288,19.7 +O-12289,28.7 +O-12290,35.5 +O-12291,23.7 +O-12292,32.4 +O-12293,27.6 +O-12294,47.9 +O-12295,35.1 +O-12296,41.6 +O-12297,27.4 +O-12298,42.9 +O-12299,21.9 +O-12300,17.7 +O-12301,18.2 +O-12302,38.1 +O-12303,38.9 +O-12304,41.3 +O-12305,31.2 +O-12306,23.8 +O-12307,19.1 +O-12308,30.9 +O-12309,38.6 +O-12310,22.0 +O-12311,20.8 +O-12312,22.3 +O-12313,15.1 +O-12314,20.8 +O-12315,20.8 +O-12316,39.1 +O-12317,23.4 +O-12318,12.7 +O-12319,77.6 +O-12320,35.4 +O-12321,14.4 +O-12322,33.8 +O-12323,34.4 +O-12324,17.3 +O-12325,62.0 +O-12326,26.3 +O-12327,30.3 +O-12328,75.1 +O-12329,20.9 +O-12330,46.1 +O-12331,32.5 +O-12332,69.9 +O-12333,54.1 +O-12334,45.2 +O-12335,13.3 +O-12336,25.7 +O-12337,44.5 +O-12338,35.7 +O-12339,30.3 +O-12340,32.5 +O-12341,34.0 +O-12342,14.1 +O-12343,72.3 +O-12344,27.3 +O-12345,40.2 +O-12346,41.7 +O-12347,30.2 +O-12348,33.9 +O-12349,60.6 +O-12350,51.7 +O-12351,30.1 +O-12352,17.5 +O-12353,33.6 +O-12354,41.2 +O-12355,32.5 +O-12356,20.4 +O-12357,41.4 +O-12358,21.9 +O-12359,18.1 +O-12360,40.3 +O-12361,16.5 +O-12362,21.8 +O-12363,33.5 +O-12364,42.5 +O-12365,38.6 +O-12366,21.3 +O-12367,24.6 +O-12368,48.6 +O-12369,29.7 +O-12370,26.3 +O-12371,53.9 +O-12372,24.9 +O-12373,27.4 +O-12374,56.2 +O-12375,61.2 +O-12376,11.9 +O-12377,20.0 +O-12378,67.3 +O-12379,24.9 +O-12380,50.1 +O-12381,19.6 +O-12382,36.9 +O-12383,23.2 +O-12384,25.0 +O-12385,70.2 +O-12386,20.3 +O-12387,47.1 +O-12388,42.1 +O-12389,31.4 +O-12390,46.8 +O-12391,51.4 +O-12392,25.1 +O-12393,46.8 +O-12394,34.0 +O-12395,38.4 +O-12396,22.0 +O-12397,49.7 +O-12398,27.5 +O-12399,46.0 +O-12400,26.5 +O-12401,35.4 +O-12402,61.2 +O-12403,13.2 +O-12404,52.6 +O-12405,29.1 +O-12406,71.3 +O-12407,19.7 +O-12408,17.8 +O-12409,37.5 +O-12410,52.8 +O-12411,29.6 +O-12412,45.1 +O-12413,34.2 +O-12414,35.0 +O-12415,41.0 +O-12416,50.6 +O-12417,18.4 +O-12418,31.1 +O-12419,47.4 +O-12420,25.9 +O-12421,63.3 +O-12422,26.6 +O-12423,14.3 +O-12424,18.0 +O-12425,18.5 +O-12426,27.9 +O-12427,15.5 +O-12428,47.5 +O-12429,47.1 +O-12430,52.4 +O-12431,57.2 +O-12432,41.8 +O-12433,24.5 +O-12434,19.6 +O-12435,48.8 +O-12436,33.4 +O-12437,58.8 +O-12438,18.2 +O-12439,22.6 +O-12440,34.0 +O-12441,62.1 +O-12442,25.2 +O-12443,43.2 +O-12444,18.8 +O-12445,18.8 +O-12446,23.2 +O-12447,34.7 +O-12448,27.5 +O-12449,32.4 +O-12450,75.5 +O-12451,39.1 +O-12452,30.8 +O-12453,30.4 +O-12454,66.5 +O-12455,55.1 +O-12456,20.4 +O-12457,31.1 +O-12458,16.0 +O-12459,33.7 +O-12460,25.9 +O-12461,24.4 +O-12462,37.1 +O-12463,46.6 +O-12464,46.5 +O-12465,27.2 +O-12466,34.9 +O-12467,36.9 +O-12468,19.3 +O-12469,27.3 +O-12470,99.6 +O-12471,15.4 +O-12472,18.4 +O-12473,33.6 +O-12474,32.8 +O-12475,24.0 +O-12476,69.6 +O-12477,36.8 +O-12478,27.4 +O-12479,41.4 +O-12480,52.0 +O-12481,44.7 +O-12482,44.5 +O-12483,25.4 +O-12484,45.2 +O-12485,28.9 +O-12486,24.7 +O-12487,54.8 +O-12488,19.8 +O-12489,34.6 +O-12490,54.2 +O-12491,39.3 +O-12492,23.9 +O-12493,59.6 +O-12494,44.2 +O-12495,54.1 +O-12496,24.6 +O-12497,37.5 +O-12498,36.2 +O-12499,66.4 +O-12500,28.2 +O-12501,61.6 +O-12502,21.2 +O-12503,11.7 +O-12504,36.8 +O-12505,36.8 +O-12506,67.1 +O-12507,37.4 +O-12508,17.5 +O-12509,74.6 +O-12510,13.2 +O-12511,36.9 +O-12512,42.2 +O-12513,22.1 +O-12514,24.4 +O-12515,15.2 +O-12516,19.1 +O-12517,19.0 +O-12518,34.9 +O-12519,20.7 +O-12520,28.0 +O-12521,20.5 +O-12522,43.4 +O-12523,22.2 +O-12524,38.8 +O-12525,15.5 +O-12526,38.4 +O-12527,94.9 +O-12528,25.3 +O-12529,35.3 +O-12530,71.2 +O-12531,15.4 +O-12532,25.0 +O-12533,47.4 +O-12534,40.6 +O-12535,21.3 +O-12536,19.5 +O-12537,59.7 +O-12538,28.0 +O-12539,17.9 +O-12540,41.7 +O-12541,53.7 +O-12542,34.1 +O-12543,30.0 +O-12544,27.4 +O-12545,59.6 +O-12546,38.2 +O-12547,24.9 +O-12548,49.0 +O-12549,43.9 +O-12550,71.9 +O-12551,14.1 +O-12552,14.9 +O-12553,22.3 +O-12554,31.1 +O-12555,35.0 +O-12556,23.1 +O-12557,55.9 +O-12558,44.8 +O-12559,36.5 +O-12560,19.9 +O-12561,14.2 +O-12562,28.1 +O-12563,27.7 +O-12564,19.8 +O-12565,25.5 +O-12566,35.0 +O-12567,41.4 +O-12568,44.0 +O-12569,17.6 +O-12570,51.4 +O-12571,43.8 +O-12572,33.3 +O-12573,80.1 +O-12574,22.9 +O-12575,16.7 +O-12576,45.6 +O-12577,25.5 +O-12578,64.7 +O-12579,51.0 +O-12580,52.1 +O-12581,36.2 +O-12582,30.7 +O-12583,55.5 +O-12584,19.6 +O-12585,31.9 +O-12586,38.3 +O-12587,47.4 +O-12588,33.4 +O-12589,30.7 +O-12590,69.0 +O-12591,31.1 +O-12592,28.3 +O-12593,71.7 +O-12594,25.3 +O-12595,74.1 +O-12596,83.4 +O-12597,21.2 +O-12598,36.0 +O-12599,36.5 +O-12600,21.7 +O-12601,56.4 +O-12602,19.7 +O-12603,49.4 +O-12604,22.0 +O-12605,33.7 +O-12606,48.6 +O-12607,39.8 +O-12608,41.1 +O-12609,26.9 +O-12610,16.7 +O-12611,55.4 +O-12612,33.5 +O-12613,36.4 +O-12614,54.9 +O-12615,49.3 +O-12616,24.0 +O-12617,20.9 +O-12618,33.7 +O-12619,43.5 +O-12620,29.6 +O-12621,20.3 +O-12622,71.7 +O-12623,39.0 +O-12624,27.0 +O-12625,45.1 +O-12626,30.5 +O-12627,27.0 +O-12628,19.2 +O-12629,51.9 +O-12630,50.0 +O-12631,14.6 +O-12632,45.7 +O-12633,30.7 +O-12634,36.7 +O-12635,19.3 +O-12636,27.8 +O-12637,24.9 +O-12638,20.0 +O-12639,41.9 +O-12640,24.3 +O-12641,49.4 +O-12642,33.2 +O-12643,37.0 +O-12644,37.0 +O-12645,27.6 +O-12646,87.5 +O-12647,50.0 +O-12648,17.7 +O-12649,27.4 +O-12650,15.2 +O-12651,54.5 +O-12652,31.2 +O-12653,64.3 +O-12654,24.3 +O-12655,20.5 +O-12656,32.5 +O-12657,30.4 +O-12658,35.4 +O-12659,39.0 +O-12660,52.7 +O-12661,40.4 +O-12662,20.1 +O-12663,35.2 +O-12664,36.8 +O-12665,35.2 +O-12666,38.8 +O-12667,47.7 +O-12668,44.6 +O-12669,40.0 +O-12670,19.4 +O-12671,56.9 +O-12672,48.4 +O-12673,30.1 +O-12674,55.3 +O-12675,31.9 +O-12676,32.0 +O-12677,45.6 +O-12678,31.3 +O-12679,46.5 +O-12680,55.3 +O-12681,23.4 +O-12682,69.6 +O-12683,44.2 +O-12684,39.4 +O-12685,33.9 +O-12686,29.3 +O-12687,22.8 +O-12688,42.2 +O-12689,28.1 +O-12690,31.5 +O-12691,45.0 +O-12692,35.5 +O-12693,28.6 +O-12694,21.8 +O-12695,19.8 +O-12696,24.5 +O-12697,15.8 +O-12698,54.1 +O-12699,60.8 +O-12700,14.1 +O-12701,27.4 +O-12702,27.4 +O-12703,20.4 +O-12704,26.8 +O-12705,24.4 +O-12706,51.0 +O-12707,30.5 +O-12708,35.5 +O-12709,39.1 +O-12710,40.6 +O-12711,20.4 +O-12712,41.1 +O-12713,19.5 +O-12714,47.0 +O-12715,20.4 +O-12716,22.2 +O-12717,58.4 +O-12718,42.9 +O-12719,21.3 +O-12720,19.0 +O-12721,32.1 +O-12722,40.4 +O-12723,21.7 +O-12724,22.9 +O-12725,33.3 +O-12726,34.3 +O-12727,31.2 +O-12728,43.0 +O-12729,41.3 +O-12730,41.7 +O-12731,56.5 +O-12732,30.4 +O-12733,57.2 +O-12734,49.0 +O-12735,32.0 +O-12736,35.1 +O-12737,21.7 +O-12738,23.6 +O-12739,34.8 +O-12740,30.4 +O-12741,43.9 +O-12742,51.3 +O-12743,23.5 +O-12744,18.8 +O-12745,11.1 +O-12746,19.7 +O-12747,24.6 +O-12748,45.2 +O-12749,38.3 +O-12750,39.0 +O-12751,14.8 +O-12752,32.8 +O-12753,32.8 +O-12754,18.2 +O-12755,32.5 +O-12756,16.2 +O-12757,19.0 +O-12758,18.3 +O-12759,27.3 +O-12760,58.3 +O-12761,39.2 +O-12762,29.0 +O-12763,35.1 +O-12764,21.6 +O-12765,37.4 +O-12766,35.5 +O-12767,31.7 +O-12768,12.8 +O-12769,49.2 +O-12770,25.3 +O-12771,25.1 +O-12772,69.9 +O-12773,28.1 +O-12774,52.0 +O-12775,19.0 +O-12776,32.4 +O-12777,44.5 +O-12778,23.4 +O-12779,51.0 +O-12780,32.2 +O-12781,20.7 +O-12782,22.3 +O-12783,38.5 +O-12784,20.2 +O-12785,63.0 +O-12786,52.5 +O-12787,33.8 +O-12788,42.3 +O-12789,56.6 +O-12790,32.7 +O-12791,16.2 +O-12792,41.3 +O-12793,46.2 +O-12794,20.9 +O-12795,36.8 +O-12796,18.8 +O-12797,41.1 +O-12798,17.7 +O-12799,17.3 +O-12800,38.5 +O-12801,21.3 +O-12802,36.4 +O-12803,57.2 +O-12804,25.1 +O-12805,70.1 +O-12806,28.2 +O-12807,38.9 +O-12808,30.6 +O-12809,19.4 +O-12810,32.6 +O-12811,16.3 +O-12812,25.6 +O-12813,41.6 +O-12814,23.3 +O-12815,11.1 +O-12816,28.6 +O-12817,14.4 +O-12818,23.0 +O-12819,55.9 +O-12820,52.7 +O-12821,26.3 +O-12822,41.8 +O-12823,38.2 +O-12824,35.9 +O-12825,30.9 +O-12826,31.3 +O-12827,21.5 +O-12828,76.5 +O-12829,71.7 +O-12830,24.5 +O-12831,29.6 +O-12832,19.4 +O-12833,97.1 +O-12834,30.7 +O-12835,23.2 +O-12836,34.9 +O-12837,102.3 +O-12838,52.7 +O-12839,16.8 +O-12840,65.1 +O-12841,52.0 +O-12842,74.0 +O-12843,18.5 +O-12844,16.3 +O-12845,46.7 +O-12846,21.4 +O-12847,77.8 +O-12848,22.3 +O-12849,22.7 +O-12850,29.6 +O-12851,22.3 +O-12852,51.8 +O-12853,51.0 +O-12854,41.0 +O-12855,12.5 +O-12856,44.8 +O-12857,37.2 +O-12858,20.6 +O-12859,67.3 +O-12860,48.3 +O-12861,23.7 +O-12862,16.3 +O-12863,29.9 +O-12864,23.0 +O-12865,45.1 +O-12866,28.0 +O-12867,49.0 +O-12868,42.0 +O-12869,28.7 +O-12870,22.8 +O-12871,28.2 +O-12872,74.8 +O-12873,38.5 +O-12874,50.7 +O-12875,22.8 +O-12876,26.8 +O-12877,32.3 +O-12878,19.1 +O-12879,49.2 +O-12880,59.2 +O-12881,26.0 +O-12882,23.9 +O-12883,67.9 +O-12884,80.7 +O-12885,17.2 +O-12886,15.3 +O-12887,14.4 +O-12888,52.5 +O-12889,28.0 +O-12890,26.4 +O-12891,31.4 +O-12892,19.0 +O-12893,45.5 +O-12894,36.6 +O-12895,39.9 +O-12896,33.0 +O-12897,18.4 +O-12898,53.1 +O-12899,26.2 +O-12900,28.9 +O-12901,61.1 +O-12902,25.7 +O-12903,24.4 +O-12904,59.1 +O-12905,16.2 +O-12906,51.9 +O-12907,42.6 +O-12908,22.3 +O-12909,41.2 +O-12910,17.6 +O-12911,26.2 +O-12912,50.0 +O-12913,24.7 +O-12914,14.5 +O-12915,18.3 +O-12916,41.8 +O-12917,42.9 +O-12918,38.2 +O-12919,26.4 +O-12920,30.5 +O-12921,33.0 +O-12922,35.5 +O-12923,15.2 +O-12924,37.2 +O-12925,27.4 +O-12926,44.3 +O-12927,29.9 +O-12928,26.5 +O-12929,51.5 +O-12930,53.4 +O-12931,29.3 +O-12932,13.4 +O-12933,20.1 +O-12934,95.0 +O-12935,33.9 +O-12936,43.4 +O-12937,55.2 +O-12938,32.5 +O-12939,34.2 +O-12940,25.4 +O-12941,21.5 +O-12942,94.2 +O-12943,15.4 +O-12944,46.5 +O-12945,31.8 +O-12946,18.0 +O-12947,20.9 +O-12948,79.5 +O-12949,35.9 +O-12950,74.2 +O-12951,78.0 +O-12952,18.5 +O-12953,31.0 +O-12954,13.2 +O-12955,54.8 +O-12956,35.0 +O-12957,29.7 +O-12958,25.8 +O-12959,63.8 +O-12960,18.0 +O-12961,34.2 +O-12962,29.9 +O-12963,30.8 +O-12964,28.5 +O-12965,57.4 +O-12966,28.5 +O-12967,19.5 +O-12968,38.7 +O-12969,18.1 +O-12970,51.1 +O-12971,24.9 +O-12972,34.6 +O-12973,20.3 +O-12974,37.5 +O-12975,42.1 +O-12976,35.8 +O-12977,35.8 +O-12978,27.8 +O-12979,22.4 +O-12980,51.8 +O-12981,21.7 +O-12982,26.4 +O-12983,22.0 +O-12984,48.8 +O-12985,23.8 +O-12986,29.2 +O-12987,25.7 +O-12988,28.0 +O-12989,37.8 +O-12990,30.1 +O-12991,37.7 +O-12992,81.6 +O-12993,20.3 +O-12994,37.2 +O-12995,29.7 +O-12996,22.7 +O-12997,44.9 +O-12998,28.1 +O-12999,40.5 +O-13000,50.8 +O-13001,30.7 +O-13002,21.0 +O-13003,48.3 +O-13004,42.3 +O-13005,24.7 +O-13006,31.0 +O-13007,59.3 +O-13008,19.8 +O-13009,43.2 +O-13010,35.6 +O-13011,25.3 +O-13012,42.4 +O-13013,34.2 +O-13014,30.5 +O-13015,19.5 +O-13016,30.0 +O-13017,56.5 +O-13018,17.0 +O-13019,30.3 +O-13020,40.5 +O-13021,26.3 +O-13022,51.5 +O-13023,21.6 +O-13024,71.6 +O-13025,20.4 +O-13026,49.4 +O-13027,25.4 +O-13028,45.7 +O-13029,16.6 +O-13030,21.5 +O-13031,36.0 +O-13032,33.7 +O-13033,39.0 +O-13034,37.3 +O-13035,40.6 +O-13036,54.4 +O-13037,79.1 +O-13038,21.9 +O-13039,65.5 +O-13040,44.3 +O-13041,42.0 +O-13042,29.9 +O-13043,47.4 +O-13044,14.6 +O-13045,23.8 +O-13046,42.9 +O-13047,21.7 +O-13048,19.6 +O-13049,43.4 +O-13050,48.1 +O-13051,49.4 +O-13052,22.7 +O-13053,27.3 +O-13054,52.7 +O-13055,55.9 +O-13056,33.8 +O-13057,15.3 +O-13058,50.1 +O-13059,19.7 +O-13060,48.5 +O-13061,30.0 +O-13062,27.3 +O-13063,73.6 +O-13064,57.3 +O-13065,49.0 +O-13066,49.7 +O-13067,48.2 +O-13068,22.0 +O-13069,16.9 +O-13070,68.9 +O-13071,27.7 +O-13072,15.3 +O-13073,59.9 +O-13074,16.1 +O-13075,14.8 +O-13076,46.6 +O-13077,30.1 +O-13078,51.9 +O-13079,39.0 +O-13080,26.6 +O-13081,21.6 +O-13082,47.5 +O-13083,31.5 +O-13084,14.7 +O-13085,35.6 +O-13086,49.5 +O-13087,15.4 +O-13088,17.2 +O-13089,57.0 +O-13090,28.1 +O-13091,28.0 +O-13092,69.9 +O-13093,57.4 +O-13094,40.6 +O-13095,29.5 +O-13096,14.4 +O-13097,45.8 +O-13098,51.2 +O-13099,33.5 +O-13100,27.7 +O-13101,15.8 +O-13102,40.7 +O-13103,45.9 +O-13104,76.6 +O-13105,47.3 +O-13106,52.7 +O-13107,37.3 +O-13108,39.5 +O-13109,62.6 +O-13110,71.8 +O-13111,40.0 +O-13112,26.8 +O-13113,31.5 +O-13114,65.5 +O-13115,49.9 +O-13116,55.8 +O-13117,37.2 +O-13118,36.5 +O-13119,20.9 +O-13120,20.8 +O-13121,27.4 +O-13122,19.7 +O-13123,41.7 +O-13124,56.9 +O-13125,35.0 +O-13126,20.5 +O-13127,31.1 +O-13128,32.6 +O-13129,81.7 +O-13130,38.4 +O-13131,30.4 +O-13132,39.2 +O-13133,36.7 +O-13134,21.9 +O-13135,27.2 +O-13136,38.6 +O-13137,44.5 +O-13138,14.9 +O-13139,65.1 +O-13140,23.0 +O-13141,58.8 +O-13142,46.7 +O-13143,72.3 +O-13144,31.4 +O-13145,55.2 +O-13146,69.5 +O-13147,20.5 +O-13148,18.9 +O-13149,46.8 +O-13150,26.7 +O-13151,21.0 +O-13152,34.8 +O-13153,32.6 +O-13154,23.1 +O-13155,43.5 +O-13156,49.1 +O-13157,35.1 +O-13158,39.7 +O-13159,23.3 +O-13160,32.3 +O-13161,46.0 +O-13162,33.7 +O-13163,27.2 +O-13164,48.6 +O-13165,17.4 +O-13166,34.7 +O-13167,44.6 +O-13168,23.6 +O-13169,36.3 +O-13170,12.7 +O-13171,37.3 +O-13172,24.4 +O-13173,26.1 +O-13174,75.2 +O-13175,16.2 +O-13176,48.5 +O-13177,59.4 +O-13178,51.5 +O-13179,37.5 +O-13180,22.8 +O-13181,26.3 +O-13182,31.9 +O-13183,41.8 +O-13184,41.7 +O-13185,34.7 +O-13186,59.9 +O-13187,21.2 +O-13188,24.2 +O-13189,30.1 +O-13190,26.4 +O-13191,30.7 +O-13192,22.7 +O-13193,19.8 +O-13194,21.3 +O-13195,18.8 +O-13196,43.4 +O-13197,26.7 +O-13198,24.6 +O-13199,43.1 +O-13200,15.9 +O-13201,55.8 +O-13202,94.3 +O-13203,12.9 +O-13204,17.4 +O-13205,25.9 +O-13206,22.9 +O-13207,24.7 +O-13208,34.2 +O-13209,10.4 +O-13210,18.4 +O-13211,32.1 +O-13212,16.0 +O-13213,30.4 +O-13214,24.0 +O-13215,30.0 +O-13216,51.2 +O-13217,35.0 +O-13218,16.8 +O-13219,53.2 +O-13220,36.5 +O-13221,20.4 +O-13222,28.5 +O-13223,20.4 +O-13224,17.8 +O-13225,40.5 +O-13226,10.0 +O-13227,60.9 +O-13228,23.5 +O-13229,35.8 +O-13230,60.9 +O-13231,39.4 +O-13232,15.5 +O-13233,23.7 +O-13234,24.7 +O-13235,32.5 +O-13236,41.0 +O-13237,31.4 +O-13238,26.8 +O-13239,45.4 +O-13240,26.1 +O-13241,37.0 +O-13242,31.6 +O-13243,30.5 +O-13244,34.1 +O-13245,33.0 +O-13246,54.1 +O-13247,57.0 +O-13248,27.2 +O-13249,32.9 +O-13250,23.4 +O-13251,28.6 +O-13252,26.1 +O-13253,34.9 +O-13254,20.5 +O-13255,30.0 +O-13256,28.0 +O-13257,21.3 +O-13258,33.0 +O-13259,10.7 +O-13260,24.2 +O-13261,41.5 +O-13262,53.4 +O-13263,30.3 +O-13264,25.0 +O-13265,23.3 +O-13266,37.3 +O-13267,50.6 +O-13268,33.7 +O-13269,31.4 +O-13270,46.8 +O-13271,12.3 +O-13272,23.2 +O-13273,38.4 +O-13274,57.1 +O-13275,18.9 +O-13276,28.3 +O-13277,50.4 +O-13278,32.8 +O-13279,37.5 +O-13280,16.2 +O-13281,15.5 +O-13282,78.2 +O-13283,41.0 +O-13284,52.1 +O-13285,20.2 +O-13286,45.6 +O-13287,35.5 +O-13288,23.4 +O-13289,30.1 +O-13290,29.9 +O-13291,40.7 +O-13292,23.1 +O-13293,50.2 +O-13294,24.6 +O-13295,31.6 +O-13296,21.7 +O-13297,40.2 +O-13298,18.5 +O-13299,19.3 +O-13300,67.9 +O-13301,42.8 +O-13302,62.0 +O-13303,62.4 +O-13304,62.5 +O-13305,39.8 +O-13306,37.0 +O-13307,14.4 +O-13308,54.7 +O-13309,38.1 +O-13310,73.1 +O-13311,18.9 +O-13312,29.6 +O-13313,36.1 +O-13314,37.9 +O-13315,35.4 +O-13316,52.7 +O-13317,42.3 +O-13318,65.5 +O-13319,42.4 +O-13320,29.9 +O-13321,58.8 +O-13322,31.6 +O-13323,12.4 +O-13324,54.5 +O-13325,29.6 +O-13326,29.3 +O-13327,24.0 +O-13328,17.9 +O-13329,41.6 +O-13330,23.8 +O-13331,17.3 +O-13332,35.7 +O-13333,62.7 +O-13334,73.4 +O-13335,21.1 +O-13336,44.7 +O-13337,21.6 +O-13338,59.0 +O-13339,23.7 +O-13340,85.0 +O-13341,42.5 +O-13342,22.3 +O-13343,68.2 +O-13344,31.8 +O-13345,31.8 +O-13346,28.4 +O-13347,24.2 +O-13348,26.8 +O-13349,37.3 +O-13350,30.9 +O-13351,39.7 +O-13352,25.1 +O-13353,30.5 +O-13354,61.8 +O-13355,28.4 +O-13356,48.3 +O-13357,22.5 +O-13358,24.6 +O-13359,38.1 +O-13360,35.9 +O-13361,50.0 +O-13362,50.0 +O-13363,25.5 +O-13364,38.5 +O-13365,27.8 +O-13366,31.1 +O-13367,59.1 +O-13368,21.4 +O-13369,37.7 +O-13370,23.7 +O-13371,30.1 +O-13372,33.3 +O-13373,41.7 +O-13374,37.8 +O-13375,32.6 +O-13376,30.6 +O-13377,40.8 +O-13378,27.9 +O-13379,38.7 +O-13380,28.9 +O-13381,39.0 +O-13382,25.7 +O-13383,21.3 +O-13384,33.1 +O-13385,46.0 +O-13386,56.9 +O-13387,53.7 +O-13388,28.6 +O-13389,20.8 +O-13390,15.9 +O-13391,38.3 +O-13392,28.3 +O-13393,17.3 +O-13394,27.7 +O-13395,21.9 +O-13396,33.3 +O-13397,34.9 +O-13398,36.1 +O-13399,42.3 +O-13400,25.6 +O-13401,48.0 +O-13402,23.5 +O-13403,56.6 +O-13404,25.3 +O-13405,27.9 +O-13406,37.4 +O-13407,30.8 +O-13408,12.9 +O-13409,75.2 +O-13410,57.8 +O-13411,83.6 +O-13412,26.9 +O-13413,23.3 +O-13414,31.0 +O-13415,18.8 +O-13416,28.5 +O-13417,14.3 +O-13418,57.1 +O-13419,52.1 +O-13420,41.9 +O-13421,16.8 +O-13422,17.2 +O-13423,52.5 +O-13424,50.0 +O-13425,35.7 +O-13426,42.8 +O-13427,21.4 +O-13428,34.2 +O-13429,18.0 +O-13430,13.7 +O-13431,40.1 +O-13432,37.9 +O-13433,75.7 +O-13434,36.5 +O-13435,24.8 +O-13436,41.1 +O-13437,56.7 +O-13438,20.3 +O-13439,49.1 +O-13440,22.9 +O-13441,13.9 +O-13442,61.6 +O-13443,17.6 +O-13444,34.0 +O-13445,44.7 +O-13446,35.7 +O-13447,26.0 +O-13448,57.8 +O-13449,88.4 +O-13450,47.2 +O-13451,69.5 +O-13452,30.7 +O-13453,26.1 +O-13454,28.8 +O-13455,23.1 +O-13456,25.9 +O-13457,26.1 +O-13458,25.7 +O-13459,60.5 +O-13460,29.1 +O-13461,20.0 +O-13462,35.2 +O-13463,13.9 +O-13464,44.6 +O-13465,30.1 +O-13466,20.2 +O-13467,38.4 +O-13468,21.8 +O-13469,62.7 +O-13470,39.5 +O-13471,20.7 +O-13472,33.1 +O-13473,28.7 +O-13474,37.1 +O-13475,55.5 +O-13476,71.5 +O-13477,33.1 +O-13478,28.6 +O-13479,20.5 +O-13480,30.2 +O-13481,60.3 +O-13482,30.8 +O-13483,85.9 +O-13484,34.4 +O-13485,43.0 +O-13486,22.0 +O-13487,29.1 +O-13488,35.2 +O-13489,72.1 +O-13490,58.9 +O-13491,21.3 +O-13492,26.3 +O-13493,36.0 +O-13494,18.0 +O-13495,17.6 +O-13496,17.9 +O-13497,45.6 +O-13498,37.2 +O-13499,12.5 +O-13500,27.4 +O-13501,25.4 +O-13502,40.8 +O-13503,30.3 +O-13504,20.4 +O-13505,15.6 +O-13506,56.4 +O-13507,39.3 +O-13508,36.8 +O-13509,12.5 +O-13510,21.5 +O-13511,18.4 +O-13512,33.3 +O-13513,25.2 +O-13514,15.3 +O-13515,38.4 +O-13516,27.8 +O-13517,49.3 +O-13518,19.3 +O-13519,27.8 +O-13520,18.2 +O-13521,18.4 +O-13522,38.1 +O-13523,42.4 +O-13524,61.1 +O-13525,50.4 +O-13526,33.5 +O-13527,59.6 +O-13528,33.1 +O-13529,35.4 +O-13530,19.4 +O-13531,19.1 +O-13532,42.7 +O-13533,37.7 +O-13534,27.6 +O-13535,66.2 +O-13536,24.7 +O-13537,48.5 +O-13538,35.1 +O-13539,44.4 +O-13540,24.3 +O-13541,43.0 +O-13542,66.8 +O-13543,22.0 +O-13544,44.9 +O-13545,26.2 +O-13546,18.0 +O-13547,19.1 +O-13548,11.5 +O-13549,17.8 +O-13550,61.5 +O-13551,34.7 +O-13552,30.6 +O-13553,13.6 +O-13554,39.0 +O-13555,38.6 +O-13556,56.4 +O-13557,42.1 +O-13558,38.9 +O-13559,23.0 +O-13560,57.5 +O-13561,55.9 +O-13562,34.3 +O-13563,81.8 +O-13564,23.0 +O-13565,46.3 +O-13566,32.7 +O-13567,22.8 +O-13568,25.3 +O-13569,13.9 +O-13570,29.9 +O-13571,26.9 +O-13572,29.8 +O-13573,23.2 +O-13574,22.9 +O-13575,9.9 +O-13576,33.8 +O-13577,53.1 +O-13578,26.3 +O-13579,45.7 +O-13580,47.0 +O-13581,42.4 +O-13582,34.6 +O-13583,39.1 +O-13584,43.7 +O-13585,17.2 +O-13586,9.2 +O-13587,42.2 +O-13588,32.9 +O-13589,19.1 +O-13590,30.7 +O-13591,12.5 +O-13592,31.3 +O-13593,42.1 +O-13594,37.9 +O-13595,15.0 +O-13596,27.2 +O-13597,20.1 +O-13598,31.0 +O-13599,34.8 +O-13600,53.8 +O-13601,21.5 +O-13602,31.3 +O-13603,29.0 +O-13604,25.5 +O-13605,33.5 +O-13606,34.4 +O-13607,25.5 +O-13608,21.1 +O-13609,68.6 +O-13610,16.0 +O-13611,30.3 +O-13612,10.8 +O-13613,12.3 +O-13614,27.1 +O-13615,22.5 +O-13616,20.0 +O-13617,48.8 +O-13618,23.4 +O-13619,38.0 +O-13620,25.2 +O-13621,32.6 +O-13622,37.5 +O-13623,23.4 +O-13624,21.7 +O-13625,19.1 +O-13626,53.5 +O-13627,23.9 +O-13628,69.4 +O-13629,38.5 +O-13630,51.1 +O-13631,18.1 +O-13632,50.6 +O-13633,24.4 +O-13634,42.0 +O-13635,32.7 +O-13636,40.5 +O-13637,47.0 +O-13638,23.8 +O-13639,39.1 +O-13640,17.9 +O-13641,35.5 +O-13642,15.5 +O-13643,63.1 +O-13644,60.6 +O-13645,72.4 +O-13646,53.0 +O-13647,62.2 +O-13648,32.4 +O-13649,48.0 +O-13650,28.5 +O-13651,33.0 +O-13652,18.1 +O-13653,25.3 +O-13654,57.3 +O-13655,51.4 +O-13656,32.3 +O-13657,51.0 +O-13658,42.2 +O-13659,52.2 +O-13660,11.5 +O-13661,22.6 +O-13662,33.2 +O-13663,40.2 +O-13664,30.5 +O-13665,23.0 +O-13666,26.9 +O-13667,53.2 +O-13668,65.5 +O-13669,14.5 +O-13670,30.5 +O-13671,21.4 +O-13672,32.3 +O-13673,38.8 +O-13674,67.9 +O-13675,28.5 +O-13676,41.5 +O-13677,52.4 +O-13678,13.5 +O-13679,23.8 +O-13680,62.0 +O-13681,20.8 +O-13682,11.7 +O-13683,23.8 +O-13684,19.0 +O-13685,17.7 +O-13686,47.3 +O-13687,38.2 +O-13688,35.0 +O-13689,18.5 +O-13690,44.4 +O-13691,35.0 +O-13692,44.1 +O-13693,33.6 +O-13694,20.1 +O-13695,28.2 +O-13696,33.4 +O-13697,46.6 +O-13698,12.9 +O-13699,33.0 +O-13700,19.7 +O-13701,16.2 +O-13702,51.8 +O-13703,32.5 +O-13704,25.1 +O-13705,46.4 +O-13706,26.5 +O-13707,35.8 +O-13708,14.1 +O-13709,44.4 +O-13710,53.5 +O-13711,29.1 +O-13712,20.7 +O-13713,45.7 +O-13714,23.2 +O-13715,23.4 +O-13716,64.6 +O-13717,40.0 +O-13718,71.8 +O-13719,16.7 +O-13720,19.3 +O-13721,16.1 +O-13722,22.6 +O-13723,28.2 +O-13724,30.0 +O-13725,27.6 +O-13726,29.8 +O-13727,31.0 +O-13728,40.7 +O-13729,45.2 +O-13730,41.3 +O-13731,23.9 +O-13732,35.0 +O-13733,21.3 +O-13734,17.6 +O-13735,14.8 +O-13736,18.6 +O-13737,27.4 +O-13738,11.9 +O-13739,40.8 +O-13740,14.0 +O-13741,49.3 +O-13742,37.6 +O-13743,29.7 +O-13744,27.8 +O-13745,16.9 +O-13746,30.7 +O-13747,47.2 +O-13748,15.2 +O-13749,48.1 +O-13750,31.4 +O-13751,30.7 +O-13752,41.4 +O-13753,22.4 +O-13754,25.2 +O-13755,45.2 +O-13756,29.4 +O-13757,40.1 +O-13758,38.9 +O-13759,27.4 +O-13760,42.7 +O-13761,26.8 +O-13762,35.1 +O-13763,29.1 +O-13764,62.0 +O-13765,19.1 +O-13766,40.9 +O-13767,21.9 +O-13768,57.1 +O-13769,21.2 +O-13770,22.2 +O-13771,28.5 +O-13772,40.9 +O-13773,17.2 +O-13774,58.4 +O-13775,39.4 +O-13776,31.8 +O-13777,47.5 +O-13778,75.3 +O-13779,30.2 +O-13780,46.6 +O-13781,35.6 +O-13782,24.7 +O-13783,22.3 +O-13784,50.3 +O-13785,25.0 +O-13786,39.6 +O-13787,34.1 +O-13788,49.7 +O-13789,27.4 +O-13790,27.9 +O-13791,19.5 +O-13792,23.7 +O-13793,13.5 +O-13794,29.6 +O-13795,81.0 +O-13796,14.6 +O-13797,36.1 +O-13798,35.8 +O-13799,43.6 +O-13800,55.1 +O-13801,36.8 +O-13802,31.0 +O-13803,22.4 +O-13804,33.8 +O-13805,21.1 +O-13806,33.5 +O-13807,23.9 +O-13808,44.4 +O-13809,29.9 +O-13810,33.5 +O-13811,41.8 +O-13812,11.8 +O-13813,39.3 +O-13814,19.1 +O-13815,19.2 +O-13816,17.0 +O-13817,40.0 +O-13818,27.3 +O-13819,40.6 +O-13820,78.4 +O-13821,48.8 +O-13822,27.2 +O-13823,17.8 +O-13824,18.0 +O-13825,51.6 +O-13826,38.6 +O-13827,34.5 +O-13828,33.4 +O-13829,23.3 +O-13830,86.5 +O-13831,71.6 +O-13832,27.1 +O-13833,25.6 +O-13834,24.4 +O-13835,42.2 +O-13836,21.5 +O-13837,20.5 +O-13838,23.4 +O-13839,29.7 +O-13840,41.5 +O-13841,43.2 +O-13842,73.7 +O-13843,16.6 +O-13844,27.5 +O-13845,35.0 +O-13846,18.7 +O-13847,31.2 +O-13848,13.7 +O-13849,25.2 +O-13850,19.4 +O-13851,25.4 +O-13852,28.8 +O-13853,25.1 +O-13854,13.5 +O-13855,33.1 +O-13856,56.4 +O-13857,14.2 +O-13858,41.8 +O-13859,24.1 +O-13860,20.1 +O-13861,27.0 +O-13862,24.4 +O-13863,38.4 +O-13864,38.7 +O-13865,55.9 +O-13866,24.7 +O-13867,31.8 +O-13868,60.0 +O-13869,38.1 +O-13870,22.8 +O-13871,20.2 +O-13872,57.1 +O-13873,42.1 +O-13874,36.2 +O-13875,35.0 +O-13876,19.8 +O-13877,40.3 +O-13878,31.6 +O-13879,56.0 +O-13880,11.2 +O-13881,25.8 +O-13882,11.9 +O-13883,27.0 +O-13884,38.3 +O-13885,27.6 +O-13886,17.4 +O-13887,23.5 +O-13888,58.1 +O-13889,32.2 +O-13890,34.3 +O-13891,46.1 +O-13892,50.6 +O-13893,33.0 +O-13894,31.8 +O-13895,50.5 +O-13896,33.7 +O-13897,35.3 +O-13898,42.6 +O-13899,14.4 +O-13900,24.2 +O-13901,29.3 +O-13902,27.3 +O-13903,45.6 +O-13904,30.5 +O-13905,30.8 +O-13906,28.8 +O-13907,47.1 +O-13908,21.3 +O-13909,39.3 +O-13910,18.9 +O-13911,40.4 +O-13912,40.1 +O-13913,25.0 +O-13914,41.6 +O-13915,30.5 +O-13916,43.7 +O-13917,26.7 +O-13918,15.4 +O-13919,25.1 +O-13920,19.2 +O-13921,21.5 +O-13922,57.3 +O-13923,26.1 +O-13924,20.3 +O-13925,45.1 +O-13926,31.2 +O-13927,21.8 +O-13928,29.2 +O-13929,53.7 +O-13930,43.7 +O-13931,35.9 +O-13932,35.0 +O-13933,30.8 +O-13934,42.0 +O-13935,16.3 +O-13936,32.6 +O-13937,51.5 +O-13938,32.9 +O-13939,38.1 +O-13940,57.6 +O-13941,48.4 +O-13942,25.3 +O-13943,48.5 +O-13944,19.1 +O-13945,72.3 +O-13946,15.1 +O-13947,58.6 +O-13948,27.9 +O-13949,35.4 +O-13950,28.2 +O-13951,124.0 +O-13952,59.0 +O-13953,21.9 +O-13954,57.4 +O-13955,23.5 +O-13956,29.7 +O-13957,32.5 +O-13958,27.8 +O-13959,50.0 +O-13960,48.3 +O-13961,44.4 +O-13962,52.1 +O-13963,13.4 +O-13964,23.4 +O-13965,37.5 +O-13966,19.6 +O-13967,45.5 +O-13968,38.0 +O-13969,12.8 +O-13970,41.2 +O-13971,27.9 +O-13972,31.9 +O-13973,32.4 +O-13974,58.0 +O-13975,13.7 +O-13976,12.9 +O-13977,52.6 +O-13978,16.3 +O-13979,16.3 +O-13980,21.0 +O-13981,34.2 +O-13982,19.8 +O-13983,45.1 +O-13984,36.0 +O-13985,31.6 +O-13986,15.9 +O-13987,47.1 +O-13988,105.9 +O-13989,16.5 +O-13990,26.0 +O-13991,26.4 +O-13992,35.6 +O-13993,40.1 +O-13994,31.0 +O-13995,42.6 +O-13996,25.2 +O-13997,45.6 +O-13998,36.8 +O-13999,14.9 +O-14000,51.2 +O-14001,29.1 +O-14002,47.6 +O-14003,25.9 +O-14004,48.1 +O-14005,51.7 +O-14006,25.9 +O-14007,22.8 +O-14008,35.5 +O-14009,59.9 +O-14010,13.8 +O-14011,38.7 +O-14012,14.7 +O-14013,23.9 +O-14014,37.7 +O-14015,45.0 +O-14016,38.8 +O-14017,50.0 +O-14018,13.3 +O-14019,55.4 +O-14020,10.2 +O-14021,33.6 +O-14022,63.3 +O-14023,22.1 +O-14024,24.0 +O-14025,26.1 +O-14026,68.1 +O-14027,63.0 +O-14028,25.6 +O-14029,40.1 +O-14030,24.0 +O-14031,26.2 +O-14032,47.2 +O-14033,27.7 +O-14034,51.9 +O-14035,28.0 +O-14036,23.7 +O-14037,30.1 +O-14038,57.7 +O-14039,15.5 +O-14040,46.6 +O-14041,64.9 +O-14042,32.8 +O-14043,47.3 +O-14044,27.8 +O-14045,18.5 +O-14046,40.6 +O-14047,49.3 +O-14048,21.0 +O-14049,46.9 +O-14050,23.7 +O-14051,15.4 +O-14052,29.0 +O-14053,18.8 +O-14054,21.1 +O-14055,12.6 +O-14056,47.8 +O-14057,38.0 +O-14058,53.4 +O-14059,34.3 +O-14060,36.1 +O-14061,31.8 +O-14062,23.3 +O-14063,18.8 +O-14064,9.8 +O-14065,42.7 +O-14066,23.6 +O-14067,15.7 +O-14068,25.4 +O-14069,53.9 +O-14070,28.5 +O-14071,27.4 +O-14072,40.4 +O-14073,33.7 +O-14074,49.2 +O-14075,49.7 +O-14076,58.1 +O-14077,61.1 +O-14078,24.2 +O-14079,42.8 +O-14080,62.9 +O-14081,49.7 +O-14082,22.8 +O-14083,22.5 +O-14084,35.5 +O-14085,26.8 +O-14086,37.3 +O-14087,16.9 +O-14088,27.8 +O-14089,16.2 +O-14090,62.6 +O-14091,24.2 +O-14092,37.6 +O-14093,24.0 +O-14094,48.9 +O-14095,52.8 +O-14096,19.0 +O-14097,50.0 +O-14098,21.7 +O-14099,58.9 +O-14100,45.0 +O-14101,19.9 +O-14102,17.2 +O-14103,43.1 +O-14104,18.6 +O-14105,49.5 +O-14106,42.7 +O-14107,66.3 +O-14108,50.4 +O-14109,23.1 +O-14110,13.9 +O-14111,28.2 +O-14112,32.4 +O-14113,18.0 +O-14114,63.9 +O-14115,35.2 +O-14116,27.2 +O-14117,41.3 +O-14118,48.8 +O-14119,31.1 +O-14120,31.6 +O-14121,65.8 +O-14122,35.3 +O-14123,15.1 +O-14124,18.9 +O-14125,34.7 +O-14126,67.7 +O-14127,35.5 +O-14128,22.6 +O-14129,58.5 +O-14130,43.2 +O-14131,42.0 +O-14132,53.1 +O-14133,19.4 +O-14134,29.8 +O-14135,34.0 +O-14136,21.2 +O-14137,46.6 +O-14138,18.3 +O-14139,62.8 +O-14140,40.0 +O-14141,34.3 +O-14142,58.2 +O-14143,19.7 +O-14144,24.0 +O-14145,37.8 +O-14146,15.1 +O-14147,48.4 +O-14148,54.2 +O-14149,16.4 +O-14150,36.9 +O-14151,37.2 +O-14152,23.3 +O-14153,25.9 +O-14154,28.7 +O-14155,42.2 +O-14156,23.9 +O-14157,54.1 +O-14158,35.7 +O-14159,62.2 +O-14160,37.3 +O-14161,18.4 +O-14162,51.9 +O-14163,18.8 +O-14164,33.3 +O-14165,31.5 +O-14166,19.8 +O-14167,37.5 +O-14168,24.4 +O-14169,37.9 +O-14170,33.2 +O-14171,23.3 +O-14172,19.0 +O-14173,32.4 +O-14174,25.9 +O-14175,26.7 +O-14176,37.9 +O-14177,26.5 +O-14178,24.0 +O-14179,18.7 +O-14180,40.1 +O-14181,20.4 +O-14182,15.6 +O-14183,37.0 +O-14184,19.9 +O-14185,18.2 +O-14186,20.0 +O-14187,55.7 +O-14188,31.5 +O-14189,37.7 +O-14190,23.5 +O-14191,16.2 +O-14192,37.0 +O-14193,39.0 +O-14194,15.1 +O-14195,23.0 +O-14196,50.9 +O-14197,50.1 +O-14198,37.8 +O-14199,55.6 +O-14200,17.3 +O-14201,31.1 +O-14202,22.9 +O-14203,39.6 +O-14204,30.7 +O-14205,39.6 +O-14206,33.7 +O-14207,26.2 +O-14208,25.1 +O-14209,34.1 +O-14210,55.3 +O-14211,32.7 +O-14212,24.8 +O-14213,55.0 +O-14214,39.9 +O-14215,28.8 +O-14216,59.0 +O-14217,34.5 +O-14218,35.8 +O-14219,32.8 +O-14220,16.0 +O-14221,29.1 +O-14222,28.7 +O-14223,18.5 +O-14224,19.0 +O-14225,52.6 +O-14226,36.3 +O-14227,44.5 +O-14228,31.2 +O-14229,24.4 +O-14230,38.5 +O-14231,45.2 +O-14232,17.0 +O-14233,34.9 +O-14234,18.9 +O-14235,40.0 +O-14236,50.5 +O-14237,50.3 +O-14238,46.7 +O-14239,36.8 +O-14240,16.2 +O-14241,66.6 +O-14242,34.0 +O-14243,23.2 +O-14244,20.4 +O-14245,53.8 +O-14246,76.0 +O-14247,30.6 +O-14248,44.6 +O-14249,16.7 +O-14250,23.3 +O-14251,32.1 +O-14252,32.7 +O-14253,14.4 +O-14254,77.5 +O-14255,41.9 +O-14256,15.7 +O-14257,41.5 +O-14258,40.6 +O-14259,46.7 +O-14260,34.0 +O-14261,54.3 +O-14262,34.9 +O-14263,29.9 +O-14264,65.5 +O-14265,34.1 +O-14266,33.8 +O-14267,36.1 +O-14268,45.5 +O-14269,25.1 +O-14270,13.8 +O-14271,39.2 +O-14272,45.4 +O-14273,16.4 +O-14274,36.2 +O-14275,22.1 +O-14276,82.3 +O-14277,52.1 +O-14278,25.8 +O-14279,41.8 +O-14280,64.4 +O-14281,15.1 +O-14282,51.3 +O-14283,20.7 +O-14284,56.7 +O-14285,49.3 +O-14286,75.6 +O-14287,22.4 +O-14288,24.2 +O-14289,53.4 +O-14290,30.8 +O-14291,51.6 +O-14292,31.5 +O-14293,20.8 +O-14294,61.1 +O-14295,64.9 +O-14296,55.0 +O-14297,31.6 +O-14298,21.4 +O-14299,46.8 +O-14300,21.1 +O-14301,22.6 +O-14302,16.5 +O-14303,17.7 +O-14304,54.6 +O-14305,40.9 +O-14306,22.8 +O-14307,43.7 +O-14308,22.7 +O-14309,38.2 +O-14310,43.6 +O-14311,38.4 +O-14312,29.3 +O-14313,51.6 +O-14314,33.6 +O-14315,49.1 +O-14316,16.3 +O-14317,46.8 +O-14318,24.1 +O-14319,44.8 +O-14320,41.9 +O-14321,38.0 +O-14322,33.4 +O-14323,30.3 +O-14324,60.9 +O-14325,37.4 +O-14326,24.1 +O-14327,24.7 +O-14328,20.0 +O-14329,14.7 +O-14330,33.8 +O-14331,30.6 +O-14332,26.4 +O-14333,13.2 +O-14334,40.0 +O-14335,88.8 +O-14336,44.5 +O-14337,33.1 +O-14338,25.8 +O-14339,18.7 +O-14340,31.4 +O-14341,25.2 +O-14342,17.0 +O-14343,42.6 +O-14344,36.5 +O-14345,23.3 +O-14346,55.5 +O-14347,29.8 +O-14348,34.2 +O-14349,11.2 +O-14350,52.7 +O-14351,23.2 +O-14352,23.8 +O-14353,29.3 +O-14354,25.3 +O-14355,24.2 +O-14356,66.0 +O-14357,41.7 +O-14358,37.9 +O-14359,34.6 +O-14360,21.6 +O-14361,31.7 +O-14362,45.6 +O-14363,58.2 +O-14364,24.0 +O-14365,31.5 +O-14366,30.2 +O-14367,41.7 +O-14368,20.3 +O-14369,26.2 +O-14370,21.6 +O-14371,22.2 +O-14372,25.4 +O-14373,49.9 +O-14374,43.0 +O-14375,34.6 +O-14376,56.0 +O-14377,56.5 +O-14378,27.9 +O-14379,13.0 +O-14380,27.4 +O-14381,67.1 +O-14382,38.3 +O-14383,35.5 +O-14384,34.1 +O-14385,29.5 +O-14386,35.8 +O-14387,17.3 +O-14388,39.4 +O-14389,46.2 +O-14390,23.8 +O-14391,52.6 +O-14392,64.9 +O-14393,29.1 +O-14394,72.9 +O-14395,39.9 +O-14396,20.7 +O-14397,38.7 +O-14398,72.5 +O-14399,40.2 +O-14400,16.0 +O-14401,41.8 +O-14402,30.1 +O-14403,54.6 +O-14404,54.9 +O-14405,25.4 +O-14406,33.7 +O-14407,38.6 +O-14408,39.8 +O-14409,9.8 +O-14410,43.0 +O-14411,18.6 +O-14412,15.4 +O-14413,19.1 +O-14414,25.6 +O-14415,22.5 +O-14416,61.0 +O-14417,23.3 +O-14418,35.2 +O-14419,57.3 +O-14420,42.4 +O-14421,46.9 +O-14422,24.0 +O-14423,34.2 +O-14424,32.7 +O-14425,27.9 +O-14426,13.9 +O-14427,53.9 +O-14428,20.8 +O-14429,16.0 +O-14430,17.7 +O-14431,17.6 +O-14432,10.5 +O-14433,24.0 +O-14434,29.4 +O-14435,54.6 +O-14436,21.8 +O-14437,64.8 +O-14438,35.5 +O-14439,31.2 +O-14440,34.8 +O-14441,21.4 +O-14442,9.9 +O-14443,11.8 +O-14444,27.7 +O-14445,42.0 +O-14446,86.7 +O-14447,49.5 +O-14448,36.0 +O-14449,18.8 +O-14450,26.4 +O-14451,16.5 +O-14452,13.8 +O-14453,11.5 +O-14454,36.1 +O-14455,28.0 +O-14456,18.3 +O-14457,26.0 +O-14458,24.4 +O-14459,15.2 +O-14460,21.0 +O-14461,38.8 +O-14462,70.2 +O-14463,32.2 +O-14464,29.8 +O-14465,51.5 +O-14466,93.7 +O-14467,41.0 +O-14468,41.6 +O-14469,41.5 +O-14470,46.0 +O-14471,25.2 +O-14472,38.9 +O-14473,34.9 +O-14474,34.9 +O-14475,15.0 +O-14476,49.9 +O-14477,30.5 +O-14478,32.4 +O-14479,54.0 +O-14480,33.4 +O-14481,58.5 +O-14482,19.7 +O-14483,58.8 +O-14484,47.4 +O-14485,32.7 +O-14486,60.2 +O-14487,36.5 +O-14488,47.4 +O-14489,22.1 +O-14490,25.3 +O-14491,28.7 +O-14492,27.0 +O-14493,36.7 +O-14494,51.4 +O-14495,30.3 +O-14496,38.4 +O-14497,66.1 +O-14498,15.7 +O-14499,24.1 +O-14500,30.0 +O-14501,34.4 +O-14502,18.0 +O-14503,51.1 +O-14504,25.5 +O-14505,36.3 +O-14506,33.9 +O-14507,26.3 +O-14508,23.2 +O-14509,58.3 +O-14510,22.1 +O-14511,66.5 +O-14512,26.7 +O-14513,54.0 +O-14514,16.7 +O-14515,32.0 +O-14516,32.7 +O-14517,41.5 +O-14518,17.2 +O-14519,28.7 +O-14520,30.4 +O-14521,23.2 +O-14522,31.1 +O-14523,24.3 +O-14524,20.1 +O-14525,23.2 +O-14526,44.3 +O-14527,36.8 +O-14528,24.5 +O-14529,17.3 +O-14530,32.5 +O-14531,34.1 +O-14532,22.5 +O-14533,53.2 +O-14534,38.3 +O-14535,39.9 +O-14536,20.7 +O-14537,32.8 +O-14538,60.3 +O-14539,31.3 +O-14540,31.6 +O-14541,41.5 +O-14542,22.9 +O-14543,71.6 +O-14544,39.0 +O-14545,35.1 +O-14546,42.6 +O-14547,31.2 +O-14548,33.0 +O-14549,30.0 +O-14550,25.3 +O-14551,72.3 +O-14552,26.8 +O-14553,35.8 +O-14554,54.5 +O-14555,26.9 +O-14556,85.4 +O-14557,32.5 +O-14558,46.4 +O-14559,32.1 +O-14560,14.2 +O-14561,45.4 +O-14562,63.1 +O-14563,22.3 +O-14564,36.2 +O-14565,29.1 +O-14566,54.6 +O-14567,21.1 +O-14568,58.5 +O-14569,41.3 +O-14570,19.4 +O-14571,22.6 +O-14572,18.3 +O-14573,43.5 +O-14574,33.0 +O-14575,35.6 +O-14576,37.6 +O-14577,47.2 +O-14578,19.4 +O-14579,41.1 +O-14580,46.7 +O-14581,73.3 +O-14582,26.8 +O-14583,20.6 +O-14584,35.3 +O-14585,35.6 +O-14586,54.6 +O-14587,59.1 +O-14588,36.4 +O-14589,57.6 +O-14590,30.1 +O-14591,31.6 +O-14592,37.6 +O-14593,19.4 +O-14594,18.7 +O-14595,46.3 +O-14596,19.4 +O-14597,30.7 +O-14598,25.9 +O-14599,24.9 +O-14600,19.9 +O-14601,42.0 +O-14602,21.2 +O-14603,33.5 +O-14604,33.3 +O-14605,76.6 +O-14606,40.6 +O-14607,28.6 +O-14608,19.2 +O-14609,46.1 +O-14610,92.2 +O-14611,48.2 +O-14612,36.1 +O-14613,35.7 +O-14614,28.4 +O-14615,35.5 +O-14616,47.5 +O-14617,36.8 +O-14618,23.9 +O-14619,22.4 +O-14620,19.5 +O-14621,21.4 +O-14622,43.1 +O-14623,45.1 +O-14624,22.0 +O-14625,41.5 +O-14626,27.5 +O-14627,33.6 +O-14628,55.8 +O-14629,39.4 +O-14630,26.0 +O-14631,83.8 +O-14632,35.0 +O-14633,34.4 +O-14634,38.6 +O-14635,26.1 +O-14636,24.1 +O-14637,32.9 +O-14638,17.6 +O-14639,38.6 +O-14640,40.9 +O-14641,38.6 +O-14642,22.9 +O-14643,23.2 +O-14644,21.4 +O-14645,30.0 +O-14646,62.0 +O-14647,21.5 +O-14648,75.8 +O-14649,22.0 +O-14650,51.0 +O-14651,19.4 +O-14652,29.9 +O-14653,64.6 +O-14654,41.9 +O-14655,34.9 +O-14656,36.6 +O-14657,15.5 +O-14658,32.6 +O-14659,25.9 +O-14660,68.7 +O-14661,15.3 +O-14662,38.1 +O-14663,27.7 +O-14664,28.2 +O-14665,31.2 +O-14666,32.5 +O-14667,32.6 +O-14668,24.3 +O-14669,50.3 +O-14670,24.9 +O-14671,27.8 +O-14672,39.3 +O-14673,19.3 +O-14674,57.3 +O-14675,48.1 +O-14676,42.2 +O-14677,41.9 +O-14678,18.9 +O-14679,45.1 +O-14680,23.8 +O-14681,56.6 +O-14682,46.3 +O-14683,13.8 +O-14684,30.8 +O-14685,38.7 +O-14686,48.5 +O-14687,30.3 +O-14688,17.0 +O-14689,29.8 +O-14690,15.1 +O-14691,28.7 +O-14692,22.8 +O-14693,32.9 +O-14694,29.1 +O-14695,25.3 +O-14696,30.7 +O-14697,18.4 +O-14698,17.2 +O-14699,26.5 +O-14700,28.2 +O-14701,9.9 +O-14702,59.9 +O-14703,21.1 +O-14704,20.5 +O-14705,28.0 +O-14706,28.5 +O-14707,16.0 +O-14708,23.7 +O-14709,25.5 +O-14710,42.6 +O-14711,62.6 +O-14712,45.9 +O-14713,24.1 +O-14714,55.2 +O-14715,14.9 +O-14716,17.5 +O-14717,27.0 +O-14718,33.4 +O-14719,35.6 +O-14720,23.3 +O-14721,66.9 +O-14722,20.4 +O-14723,35.9 +O-14724,24.5 +O-14725,13.5 +O-14726,35.2 +O-14727,45.3 +O-14728,42.7 +O-14729,50.6 +O-14730,35.3 +O-14731,23.1 +O-14732,30.5 +O-14733,20.9 +O-14734,29.7 +O-14735,27.9 +O-14736,42.6 +O-14737,26.2 +O-14738,20.4 +O-14739,48.4 +O-14740,26.3 +O-14741,41.6 +O-14742,26.0 +O-14743,14.7 +O-14744,42.4 +O-14745,72.6 +O-14746,59.3 +O-14747,40.1 +O-14748,27.0 +O-14749,13.7 +O-14750,26.1 +O-14751,19.3 +O-14752,46.4 +O-14753,26.0 +O-14754,42.5 +O-14755,43.3 +O-14756,69.1 +O-14757,56.9 +O-14758,17.3 +O-14759,43.9 +O-14760,37.5 +O-14761,24.6 +O-14762,34.0 +O-14763,35.4 +O-14764,77.9 +O-14765,21.3 +O-14766,27.6 +O-14767,29.3 +O-14768,57.9 +O-14769,42.8 +O-14770,61.9 +O-14771,47.2 +O-14772,22.6 +O-14773,41.5 +O-14774,17.3 +O-14775,19.1 +O-14776,38.8 +O-14777,20.1 +O-14778,38.9 +O-14779,36.3 +O-14780,30.4 +O-14781,17.0 +O-14782,28.9 +O-14783,33.4 +O-14784,66.2 +O-14785,25.8 +O-14786,18.1 +O-14787,38.5 +O-14788,37.0 +O-14789,66.4 +O-14790,37.6 +O-14791,25.9 +O-14792,31.6 +O-14793,45.9 +O-14794,12.3 +O-14795,85.6 +O-14796,59.0 +O-14797,22.2 +O-14798,22.3 +O-14799,38.5 +O-14800,28.2 +O-14801,61.7 +O-14802,28.0 +O-14803,50.3 +O-14804,38.8 +O-14805,21.3 +O-14806,29.6 +O-14807,23.5 +O-14808,30.8 +O-14809,24.6 +O-14810,87.6 +O-14811,17.8 +O-14812,57.3 +O-14813,47.2 +O-14814,24.8 +O-14815,66.4 +O-14816,49.4 +O-14817,63.8 +O-14818,16.5 +O-14819,31.2 +O-14820,27.6 +O-14821,18.3 +O-14822,19.7 +O-14823,43.5 +O-14824,22.4 +O-14825,20.7 +O-14826,24.1 +O-14827,19.3 +O-14828,29.8 +O-14829,35.4 +O-14830,38.9 +O-14831,32.7 +O-14832,22.7 +O-14833,35.9 +O-14834,43.2 +O-14835,23.9 +O-14836,43.0 +O-14837,35.5 +O-14838,45.1 +O-14839,29.3 +O-14840,62.0 +O-14841,38.6 +O-14842,77.5 +O-14843,57.4 +O-14844,30.0 +O-14845,35.0 +O-14846,40.9 +O-14847,58.9 +O-14848,17.1 +O-14849,37.2 +O-14850,56.6 +O-14851,38.9 +O-14852,82.2 +O-14853,37.4 +O-14854,29.0 +O-14855,40.3 +O-14856,88.4 +O-14857,45.1 +O-14858,22.2 +O-14859,20.5 +O-14860,23.8 +O-14861,94.9 +O-14862,25.0 +O-14863,25.9 +O-14864,37.5 +O-14865,36.5 +O-14866,21.3 +O-14867,40.5 +O-14868,40.9 +O-14869,55.5 +O-14870,44.0 +O-14871,50.3 +O-14872,15.5 +O-14873,32.2 +O-14874,76.2 +O-14875,33.3 +O-14876,24.7 +O-14877,41.6 +O-14878,18.1 +O-14879,45.6 +O-14880,55.5 +O-14881,31.5 +O-14882,72.5 +O-14883,29.3 +O-14884,52.8 +O-14885,15.9 +O-14886,14.5 +O-14887,46.2 +O-14888,19.1 +O-14889,63.9 +O-14890,24.1 +O-14891,34.7 +O-14892,37.2 +O-14893,26.0 +O-14894,26.9 +O-14895,25.4 +O-14896,36.2 +O-14897,35.2 +O-14898,30.6 +O-14899,11.1 +O-14900,29.5 +O-14901,42.2 +O-14902,70.2 +O-14903,10.3 +O-14904,49.1 +O-14905,27.3 +O-14906,23.8 +O-14907,29.8 +O-14908,33.2 +O-14909,39.1 +O-14910,15.1 +O-14911,61.6 +O-14912,41.4 +O-14913,17.6 +O-14914,44.0 +O-14915,60.7 +O-14916,16.7 +O-14917,18.0 +O-14918,38.2 +O-14919,53.1 +O-14920,53.8 +O-14921,15.7 +O-14922,33.0 +O-14923,70.2 +O-14924,23.5 +O-14925,39.0 +O-14926,27.5 +O-14927,17.4 +O-14928,45.8 +O-14929,18.3 +O-14930,34.3 +O-14931,23.1 +O-14932,35.6 +O-14933,47.0 +O-14934,33.3 +O-14935,32.4 +O-14936,51.9 +O-14937,52.6 +O-14938,38.6 +O-14939,12.6 +O-14940,21.2 +O-14941,27.2 +O-14942,28.8 +O-14943,62.8 +O-14944,18.4 +O-14945,28.5 +O-14946,41.4 +O-14947,57.0 +O-14948,16.9 +O-14949,35.8 +O-14950,37.4 +O-14951,33.8 +O-14952,55.3 +O-14953,41.5 +O-14954,29.5 +O-14955,49.1 +O-14956,46.7 +O-14957,43.9 +O-14958,23.8 +O-14959,32.8 +O-14960,31.5 +O-14961,26.6 +O-14962,16.6 +O-14963,38.0 +O-14964,36.9 +O-14965,37.4 +O-14966,36.9 +O-14967,32.8 +O-14968,30.6 +O-14969,37.8 +O-14970,17.3 +O-14971,17.7 +O-14972,25.4 +O-14973,37.3 +O-14974,44.8 +O-14975,45.0 +O-14976,34.9 +O-14977,29.8 +O-14978,11.7 +O-14979,37.2 +O-14980,59.0 +O-14981,12.8 +O-14982,25.8 +O-14983,25.9 +O-14984,20.2 +O-14985,35.8 +O-14986,30.1 +O-14987,40.7 +O-14988,29.3 +O-14989,55.0 +O-14990,55.0 +O-14991,24.4 +O-14992,37.6 +O-14993,60.7 +O-14994,31.2 +O-14995,56.7 +O-14996,26.5 +O-14997,23.6 +O-14998,38.9 +O-14999,45.5 +O-15000,17.1 diff --git a/agents/evals/fixtures/cases/histogram-basic-matplotlib-renamed/case.json b/agents/evals/fixtures/cases/histogram-basic-matplotlib-renamed/case.json new file mode 100644 index 0000000000..b1172bf3d8 --- /dev/null +++ b/agents/evals/fixtures/cases/histogram-basic-matplotlib-renamed/case.json @@ -0,0 +1,20 @@ +{ + "spec_id": "histogram-basic", + "library": "matplotlib", + "locale": "de", + "perturbation": "renamed", + "bindings": [ + { + "role": "values", + "column": "Lieferzeit / Minuten" + } + ], + "expected": "accepted", + "tags": [ + "histogram", + "renamed", + "synthetic", + "renamed-headers" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 404, renamed)" +} diff --git a/agents/evals/fixtures/cases/histogram-basic-matplotlib-renamed/data.csv b/agents/evals/fixtures/cases/histogram-basic-matplotlib-renamed/data.csv new file mode 100644 index 0000000000..0a8a710459 --- /dev/null +++ b/agents/evals/fixtures/cases/histogram-basic-matplotlib-renamed/data.csv @@ -0,0 +1,401 @@ +Bestellnummer,Lieferzeit / Minuten +O-10001,38.3 +O-10002,39.4 +O-10003,36.7 +O-10004,36.6 +O-10005,16.3 +O-10006,25.4 +O-10007,25.4 +O-10008,28.7 +O-10009,38.1 +O-10010,29.6 +O-10011,19.5 +O-10012,36.0 +O-10013,53.0 +O-10014,30.1 +O-10015,21.3 +O-10016,47.9 +O-10017,41.8 +O-10018,26.4 +O-10019,32.4 +O-10020,22.9 +O-10021,52.4 +O-10022,31.4 +O-10023,19.7 +O-10024,31.1 +O-10025,38.2 +O-10026,52.7 +O-10027,23.9 +O-10028,39.3 +O-10029,46.8 +O-10030,38.3 +O-10031,24.2 +O-10032,57.8 +O-10033,44.9 +O-10034,67.6 +O-10035,22.3 +O-10036,27.3 +O-10037,17.8 +O-10038,34.3 +O-10039,36.7 +O-10040,25.1 +O-10041,31.6 +O-10042,52.9 +O-10043,29.7 +O-10044,30.9 +O-10045,52.3 +O-10046,32.4 +O-10047,47.4 +O-10048,62.4 +O-10049,22.5 +O-10050,14.7 +O-10051,34.6 +O-10052,19.6 +O-10053,34.0 +O-10054,29.6 +O-10055,27.2 +O-10056,53.7 +O-10057,66.8 +O-10058,34.1 +O-10059,39.1 +O-10060,32.1 +O-10061,50.4 +O-10062,18.7 +O-10063,32.2 +O-10064,66.0 +O-10065,40.7 +O-10066,76.3 +O-10067,15.7 +O-10068,18.2 +O-10069,18.4 +O-10070,23.2 +O-10071,34.8 +O-10072,30.9 +O-10073,39.8 +O-10074,27.5 +O-10075,17.7 +O-10076,84.2 +O-10077,27.9 +O-10078,22.2 +O-10079,92.0 +O-10080,31.1 +O-10081,30.6 +O-10082,55.0 +O-10083,35.7 +O-10084,22.3 +O-10085,11.9 +O-10086,14.1 +O-10087,24.0 +O-10088,29.3 +O-10089,46.9 +O-10090,26.2 +O-10091,20.2 +O-10092,18.5 +O-10093,16.2 +O-10094,26.1 +O-10095,31.2 +O-10096,57.1 +O-10097,15.0 +O-10098,33.6 +O-10099,24.4 +O-10100,44.1 +O-10101,51.7 +O-10102,35.6 +O-10103,18.6 +O-10104,41.6 +O-10105,47.3 +O-10106,27.6 +O-10107,45.3 +O-10108,43.6 +O-10109,19.1 +O-10110,26.2 +O-10111,20.6 +O-10112,29.6 +O-10113,61.9 +O-10114,58.8 +O-10115,20.6 +O-10116,13.7 +O-10117,14.8 +O-10118,36.3 +O-10119,116.4 +O-10120,51.6 +O-10121,19.3 +O-10122,48.0 +O-10123,106.1 +O-10124,42.9 +O-10125,17.9 +O-10126,27.9 +O-10127,18.3 +O-10128,88.9 +O-10129,51.3 +O-10130,22.7 +O-10131,39.0 +O-10132,31.8 +O-10133,43.4 +O-10134,27.5 +O-10135,21.1 +O-10136,26.0 +O-10137,32.5 +O-10138,23.8 +O-10139,28.4 +O-10140,16.3 +O-10141,18.4 +O-10142,29.0 +O-10143,40.9 +O-10144,30.8 +O-10145,39.6 +O-10146,32.4 +O-10147,25.0 +O-10148,35.2 +O-10149,18.7 +O-10150,30.7 +O-10151,31.5 +O-10152,22.7 +O-10153,20.7 +O-10154,27.3 +O-10155,43.8 +O-10156,33.0 +O-10157,42.1 +O-10158,20.7 +O-10159,14.8 +O-10160,16.0 +O-10161,25.2 +O-10162,38.5 +O-10163,39.5 +O-10164,43.0 +O-10165,37.5 +O-10166,23.2 +O-10167,62.0 +O-10168,9.8 +O-10169,41.2 +O-10170,33.8 +O-10171,21.5 +O-10172,57.7 +O-10173,34.0 +O-10174,16.2 +O-10175,27.2 +O-10176,16.4 +O-10177,29.6 +O-10178,22.8 +O-10179,23.1 +O-10180,36.4 +O-10181,61.6 +O-10182,23.9 +O-10183,25.1 +O-10184,23.6 +O-10185,23.1 +O-10186,32.4 +O-10187,86.5 +O-10188,26.8 +O-10189,40.1 +O-10190,22.4 +O-10191,32.4 +O-10192,25.6 +O-10193,30.6 +O-10194,68.7 +O-10195,37.1 +O-10196,29.5 +O-10197,61.1 +O-10198,50.7 +O-10199,35.4 +O-10200,36.6 +O-10201,37.5 +O-10202,37.9 +O-10203,18.0 +O-10204,41.9 +O-10205,53.1 +O-10206,19.9 +O-10207,16.4 +O-10208,39.5 +O-10209,32.8 +O-10210,37.9 +O-10211,39.5 +O-10212,39.4 +O-10213,24.6 +O-10214,40.7 +O-10215,27.6 +O-10216,21.4 +O-10217,44.1 +O-10218,22.6 +O-10219,30.9 +O-10220,26.5 +O-10221,20.7 +O-10222,21.7 +O-10223,31.1 +O-10224,31.1 +O-10225,39.7 +O-10226,30.2 +O-10227,22.8 +O-10228,36.3 +O-10229,32.5 +O-10230,49.4 +O-10231,39.2 +O-10232,21.6 +O-10233,13.8 +O-10234,31.1 +O-10235,21.9 +O-10236,49.0 +O-10237,20.4 +O-10238,21.4 +O-10239,48.5 +O-10240,17.1 +O-10241,29.3 +O-10242,69.6 +O-10243,31.2 +O-10244,43.1 +O-10245,46.7 +O-10246,28.7 +O-10247,31.7 +O-10248,30.0 +O-10249,38.1 +O-10250,14.8 +O-10251,27.2 +O-10252,55.8 +O-10253,38.9 +O-10254,23.8 +O-10255,31.8 +O-10256,13.2 +O-10257,72.2 +O-10258,36.3 +O-10259,15.7 +O-10260,26.3 +O-10261,24.5 +O-10262,67.5 +O-10263,20.5 +O-10264,23.4 +O-10265,62.8 +O-10266,34.5 +O-10267,25.2 +O-10268,21.3 +O-10269,49.0 +O-10270,48.8 +O-10271,50.0 +O-10272,23.1 +O-10273,62.7 +O-10274,85.7 +O-10275,29.5 +O-10276,14.9 +O-10277,39.7 +O-10278,48.3 +O-10279,26.7 +O-10280,26.6 +O-10281,52.4 +O-10282,40.5 +O-10283,14.9 +O-10284,42.9 +O-10285,26.4 +O-10286,10.6 +O-10287,21.9 +O-10288,40.1 +O-10289,57.9 +O-10290,42.6 +O-10291,43.6 +O-10292,41.3 +O-10293,66.9 +O-10294,18.6 +O-10295,40.7 +O-10296,88.6 +O-10297,39.5 +O-10298,15.6 +O-10299,17.3 +O-10300,27.3 +O-10301,56.9 +O-10302,38.8 +O-10303,19.9 +O-10304,26.8 +O-10305,25.9 +O-10306,32.8 +O-10307,46.9 +O-10308,16.6 +O-10309,26.9 +O-10310,40.7 +O-10311,40.1 +O-10312,42.5 +O-10313,67.6 +O-10314,15.9 +O-10315,26.1 +O-10316,24.4 +O-10317,16.6 +O-10318,23.2 +O-10319,15.1 +O-10320,15.3 +O-10321,29.7 +O-10322,38.9 +O-10323,26.6 +O-10324,36.1 +O-10325,21.0 +O-10326,25.5 +O-10327,42.8 +O-10328,37.0 +O-10329,40.5 +O-10330,17.7 +O-10331,31.3 +O-10332,56.8 +O-10333,73.4 +O-10334,19.2 +O-10335,17.4 +O-10336,24.3 +O-10337,30.6 +O-10338,37.8 +O-10339,16.0 +O-10340,44.5 +O-10341,12.7 +O-10342,10.7 +O-10343,52.5 +O-10344,14.2 +O-10345,21.0 +O-10346,28.3 +O-10347,21.6 +O-10348,23.8 +O-10349,44.5 +O-10350,40.3 +O-10351,40.1 +O-10352,39.4 +O-10353,29.2 +O-10354,30.6 +O-10355,38.7 +O-10356,23.7 +O-10357,75.8 +O-10358,43.2 +O-10359,44.5 +O-10360,44.3 +O-10361,37.8 +O-10362,38.7 +O-10363,44.0 +O-10364,18.1 +O-10365,55.9 +O-10366,22.3 +O-10367,16.8 +O-10368,33.6 +O-10369,39.3 +O-10370,31.9 +O-10371,53.9 +O-10372,26.0 +O-10373,49.6 +O-10374,23.6 +O-10375,52.4 +O-10376,20.0 +O-10377,40.3 +O-10378,21.0 +O-10379,15.1 +O-10380,17.3 +O-10381,45.4 +O-10382,62.7 +O-10383,60.9 +O-10384,27.5 +O-10385,29.3 +O-10386,29.9 +O-10387,24.6 +O-10388,13.3 +O-10389,34.8 +O-10390,23.5 +O-10391,18.0 +O-10392,22.6 +O-10393,45.3 +O-10394,99.4 +O-10395,44.2 +O-10396,43.3 +O-10397,38.5 +O-10398,18.6 +O-10399,45.8 +O-10400,36.7 diff --git a/agents/evals/fixtures/cases/histogram-basic-matplotlib-x10/case.json b/agents/evals/fixtures/cases/histogram-basic-matplotlib-x10/case.json new file mode 100644 index 0000000000..e60c0fb2d1 --- /dev/null +++ b/agents/evals/fixtures/cases/histogram-basic-matplotlib-x10/case.json @@ -0,0 +1,20 @@ +{ + "spec_id": "histogram-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "x10", + "bindings": [ + { + "role": "values", + "column": "Delivery Time (min)" + } + ], + "expected": "accepted", + "tags": [ + "histogram", + "x10", + "synthetic", + "scaled-values" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 404, x10)" +} diff --git a/agents/evals/fixtures/cases/histogram-basic-matplotlib-x10/data.csv b/agents/evals/fixtures/cases/histogram-basic-matplotlib-x10/data.csv new file mode 100644 index 0000000000..733d61def1 --- /dev/null +++ b/agents/evals/fixtures/cases/histogram-basic-matplotlib-x10/data.csv @@ -0,0 +1,401 @@ +Order ID,Delivery Time (min) +O-10001,383.1 +O-10002,393.6 +O-10003,366.8 +O-10004,366.3 +O-10005,163.0 +O-10006,253.5 +O-10007,253.9 +O-10008,286.6 +O-10009,381.0 +O-10010,296.2 +O-10011,195.2 +O-10012,360.2 +O-10013,530.2 +O-10014,300.6 +O-10015,212.6 +O-10016,479.4 +O-10017,418.4 +O-10018,264.2 +O-10019,324.4 +O-10020,228.7 +O-10021,524.3 +O-10022,314.3 +O-10023,197.5 +O-10024,310.6 +O-10025,381.5 +O-10026,526.9 +O-10027,239.1 +O-10028,392.9 +O-10029,468.4 +O-10030,383.1 +O-10031,242.2 +O-10032,577.5 +O-10033,449.1 +O-10034,676.5 +O-10035,223.0 +O-10036,273.5 +O-10037,177.9 +O-10038,342.6 +O-10039,366.8 +O-10040,251.2 +O-10041,316.5 +O-10042,529.3 +O-10043,296.5 +O-10044,309.4 +O-10045,523.2 +O-10046,324.4 +O-10047,474.3 +O-10048,624.4 +O-10049,225.0 +O-10050,146.7 +O-10051,346.2 +O-10052,196.3 +O-10053,339.6 +O-10054,296.1 +O-10055,272.2 +O-10056,537.0 +O-10057,668.0 +O-10058,341.3 +O-10059,391.4 +O-10060,321.0 +O-10061,503.9 +O-10062,186.8 +O-10063,322.0 +O-10064,659.6 +O-10065,406.9 +O-10066,762.6 +O-10067,157.1 +O-10068,182.2 +O-10069,183.7 +O-10070,232.3 +O-10071,348.1 +O-10072,309.1 +O-10073,397.6 +O-10074,275.3 +O-10075,176.5 +O-10076,842.4 +O-10077,279.0 +O-10078,222.2 +O-10079,920.2 +O-10080,310.8 +O-10081,305.7 +O-10082,550.3 +O-10083,356.7 +O-10084,222.8 +O-10085,119.4 +O-10086,140.6 +O-10087,240.3 +O-10088,293.0 +O-10089,468.6 +O-10090,262.3 +O-10091,202.4 +O-10092,184.9 +O-10093,162.5 +O-10094,261.1 +O-10095,311.7 +O-10096,570.6 +O-10097,150.1 +O-10098,336.4 +O-10099,243.5 +O-10100,441.0 +O-10101,516.9 +O-10102,355.9 +O-10103,186.0 +O-10104,416.2 +O-10105,473.4 +O-10106,276.3 +O-10107,452.6 +O-10108,435.9 +O-10109,190.6 +O-10110,262.2 +O-10111,206.4 +O-10112,296.5 +O-10113,618.8 +O-10114,588.3 +O-10115,206.1 +O-10116,137.1 +O-10117,148.4 +O-10118,362.9 +O-10119,1164.0 +O-10120,516.3 +O-10121,192.8 +O-10122,480.3 +O-10123,1060.6 +O-10124,429.0 +O-10125,179.1 +O-10126,279.2 +O-10127,183.2 +O-10128,889.5 +O-10129,512.6 +O-10130,227.0 +O-10131,390.2 +O-10132,317.8 +O-10133,434.1 +O-10134,274.6 +O-10135,211.2 +O-10136,260.2 +O-10137,325.4 +O-10138,238.2 +O-10139,283.6 +O-10140,162.5 +O-10141,183.8 +O-10142,290.4 +O-10143,409.1 +O-10144,308.0 +O-10145,395.7 +O-10146,324.1 +O-10147,249.6 +O-10148,352.2 +O-10149,187.4 +O-10150,306.5 +O-10151,314.9 +O-10152,227.1 +O-10153,206.5 +O-10154,273.4 +O-10155,437.9 +O-10156,329.5 +O-10157,421.2 +O-10158,207.1 +O-10159,147.5 +O-10160,160.0 +O-10161,251.9 +O-10162,384.8 +O-10163,394.8 +O-10164,430.4 +O-10165,374.6 +O-10166,231.7 +O-10167,620.5 +O-10168,98.4 +O-10169,412.2 +O-10170,337.6 +O-10171,215.4 +O-10172,576.6 +O-10173,340.3 +O-10174,162.2 +O-10175,272.2 +O-10176,163.5 +O-10177,296.3 +O-10178,227.8 +O-10179,230.9 +O-10180,364.1 +O-10181,615.6 +O-10182,238.6 +O-10183,250.7 +O-10184,236.4 +O-10185,230.9 +O-10186,324.4 +O-10187,865.4 +O-10188,267.5 +O-10189,400.8 +O-10190,223.9 +O-10191,323.9 +O-10192,255.7 +O-10193,305.5 +O-10194,687.4 +O-10195,370.7 +O-10196,295.3 +O-10197,610.7 +O-10198,507.2 +O-10199,353.8 +O-10200,365.6 +O-10201,375.0 +O-10202,378.7 +O-10203,180.4 +O-10204,419.2 +O-10205,531.1 +O-10206,198.6 +O-10207,164.4 +O-10208,395.4 +O-10209,327.8 +O-10210,379.5 +O-10211,394.6 +O-10212,393.9 +O-10213,245.6 +O-10214,407.4 +O-10215,275.9 +O-10216,214.2 +O-10217,440.5 +O-10218,225.9 +O-10219,308.9 +O-10220,265.1 +O-10221,206.8 +O-10222,217.0 +O-10223,311.4 +O-10224,311.2 +O-10225,397.0 +O-10226,301.7 +O-10227,227.6 +O-10228,362.7 +O-10229,324.5 +O-10230,493.8 +O-10231,391.5 +O-10232,215.6 +O-10233,138.4 +O-10234,311.2 +O-10235,219.3 +O-10236,490.1 +O-10237,204.4 +O-10238,214.4 +O-10239,484.9 +O-10240,170.9 +O-10241,292.7 +O-10242,695.8 +O-10243,312.5 +O-10244,430.6 +O-10245,467.1 +O-10246,286.8 +O-10247,317.3 +O-10248,299.8 +O-10249,380.7 +O-10250,147.6 +O-10251,272.3 +O-10252,558.1 +O-10253,389.1 +O-10254,238.0 +O-10255,318.4 +O-10256,131.7 +O-10257,721.7 +O-10258,363.0 +O-10259,157.0 +O-10260,262.8 +O-10261,244.9 +O-10262,675.3 +O-10263,204.8 +O-10264,233.6 +O-10265,628.2 +O-10266,345.1 +O-10267,252.3 +O-10268,213.3 +O-10269,490.2 +O-10270,488.2 +O-10271,499.9 +O-10272,230.8 +O-10273,627.0 +O-10274,856.6 +O-10275,295.3 +O-10276,149.1 +O-10277,397.5 +O-10278,482.9 +O-10279,267.1 +O-10280,266.3 +O-10281,523.8 +O-10282,405.4 +O-10283,149.2 +O-10284,429.4 +O-10285,263.9 +O-10286,106.3 +O-10287,219.1 +O-10288,401.3 +O-10289,578.6 +O-10290,425.8 +O-10291,436.4 +O-10292,413.3 +O-10293,669.3 +O-10294,185.5 +O-10295,407.2 +O-10296,886.2 +O-10297,394.8 +O-10298,155.9 +O-10299,172.7 +O-10300,273.1 +O-10301,569.0 +O-10302,388.2 +O-10303,198.9 +O-10304,268.0 +O-10305,259.1 +O-10306,327.9 +O-10307,469.4 +O-10308,166.0 +O-10309,268.9 +O-10310,407.2 +O-10311,400.9 +O-10312,425.5 +O-10313,675.5 +O-10314,159.2 +O-10315,261.2 +O-10316,244.2 +O-10317,165.5 +O-10318,232.5 +O-10319,150.9 +O-10320,153.5 +O-10321,296.8 +O-10322,389.3 +O-10323,266.5 +O-10324,361.5 +O-10325,210.2 +O-10326,254.7 +O-10327,427.7 +O-10328,370.0 +O-10329,405.3 +O-10330,176.7 +O-10331,312.5 +O-10332,568.2 +O-10333,734.2 +O-10334,191.7 +O-10335,174.1 +O-10336,243.2 +O-10337,306.4 +O-10338,378.2 +O-10339,160.4 +O-10340,444.9 +O-10341,127.2 +O-10342,107.4 +O-10343,524.9 +O-10344,141.7 +O-10345,210.4 +O-10346,282.5 +O-10347,216.0 +O-10348,237.6 +O-10349,445.4 +O-10350,402.9 +O-10351,400.9 +O-10352,394.1 +O-10353,292.5 +O-10354,306.5 +O-10355,387.3 +O-10356,236.9 +O-10357,757.9 +O-10358,431.8 +O-10359,445.1 +O-10360,443.2 +O-10361,378.3 +O-10362,387.3 +O-10363,439.7 +O-10364,181.3 +O-10365,559.1 +O-10366,222.9 +O-10367,167.6 +O-10368,336.2 +O-10369,392.9 +O-10370,318.6 +O-10371,538.6 +O-10372,260.2 +O-10373,495.9 +O-10374,236.0 +O-10375,524.1 +O-10376,200.3 +O-10377,403.0 +O-10378,210.2 +O-10379,151.2 +O-10380,172.6 +O-10381,454.4 +O-10382,627.4 +O-10383,608.8 +O-10384,275.3 +O-10385,293.3 +O-10386,299.0 +O-10387,246.3 +O-10388,133.2 +O-10389,347.9 +O-10390,235.3 +O-10391,179.7 +O-10392,225.9 +O-10393,452.7 +O-10394,994.0 +O-10395,442.2 +O-10396,432.7 +O-10397,384.7 +O-10398,186.2 +O-10399,457.6 +O-10400,367.4 diff --git a/agents/evals/fixtures/cases/histogram-basic-seaborn-date/case.json b/agents/evals/fixtures/cases/histogram-basic-seaborn-date/case.json new file mode 100644 index 0000000000..a44c7fbf1b --- /dev/null +++ b/agents/evals/fixtures/cases/histogram-basic-seaborn-date/case.json @@ -0,0 +1,22 @@ +{ + "spec_id": "histogram-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "date", + "bindings": [ + { + "role": "values", + "column": "Delivery Time (min)" + } + ], + "expected": "accepted", + "tags": [ + "histogram", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 404, date)" +} diff --git a/agents/evals/fixtures/cases/histogram-basic-seaborn-date/data.csv b/agents/evals/fixtures/cases/histogram-basic-seaborn-date/data.csv new file mode 100644 index 0000000000..c4a83ef442 --- /dev/null +++ b/agents/evals/fixtures/cases/histogram-basic-seaborn-date/data.csv @@ -0,0 +1,401 @@ +Order ID,Delivery Time (min),Order Date,Delivered On +O-10001,38.3,03.05.2026,2026-05-06 +O-10002,39.4,18.01.2026,2026-01-22 +O-10003,36.7,09.04.2026,2026-04-11 +O-10004,36.6,03.06.2026,2026-06-03 +O-10005,16.3,24.01.2026,2026-01-24 +O-10006,25.4,21.05.2026,2026-05-22 +O-10007,25.4,29.03.2026,2026-03-29 +O-10008,28.7,28.02.2026,2026-03-03 +O-10009,38.1,17.01.2026,2026-01-18 +O-10010,29.6,24.02.2026,2026-02-26 +O-10011,19.5,24.04.2026,2026-04-28 +O-10012,36.0,12.01.2026,2026-01-12 +O-10013,53.0,25.02.2026,2026-02-27 +O-10014,30.1,14.03.2026,2026-03-17 +O-10015,21.3,10.06.2026,2026-06-11 +O-10016,47.9,29.03.2026,2026-04-01 +O-10017,41.8,10.06.2026,2026-06-13 +O-10018,26.4,01.07.2026,2026-07-05 +O-10019,32.4,18.02.2026,2026-02-18 +O-10020,22.9,10.02.2026,2026-02-14 +O-10021,52.4,17.05.2026,2026-05-17 +O-10022,31.4,09.04.2026,2026-04-09 +O-10023,19.7,09.03.2026,2026-03-12 +O-10024,31.1,26.05.2026,2026-05-26 +O-10025,38.2,19.01.2026,2026-01-19 +O-10026,52.7,06.04.2026,2026-04-06 +O-10027,23.9,01.04.2026,2026-04-02 +O-10028,39.3,26.03.2026,2026-03-27 +O-10029,46.8,09.03.2026,2026-03-12 +O-10030,38.3,14.06.2026,2026-06-14 +O-10031,24.2,25.03.2026,2026-03-28 +O-10032,57.8,08.04.2026,2026-04-09 +O-10033,44.9,19.05.2026,2026-05-22 +O-10034,67.6,22.02.2026,2026-02-26 +O-10035,22.3,16.04.2026,2026-04-18 +O-10036,27.3,21.03.2026,2026-03-22 +O-10037,17.8,01.03.2026,2026-03-02 +O-10038,34.3,01.03.2026,2026-03-05 +O-10039,36.7,13.06.2026,2026-06-16 +O-10040,25.1,26.02.2026,2026-02-26 +O-10041,31.6,13.05.2026,2026-05-14 +O-10042,52.9,24.04.2026,2026-04-24 +O-10043,29.7,29.04.2026,2026-05-02 +O-10044,30.9,28.03.2026,2026-03-30 +O-10045,52.3,16.03.2026,2026-03-20 +O-10046,32.4,16.05.2026,2026-05-20 +O-10047,47.4,02.04.2026,2026-04-03 +O-10048,62.4,08.06.2026,2026-06-11 +O-10049,22.5,15.02.2026,2026-02-19 +O-10050,14.7,18.04.2026,2026-04-22 +O-10051,34.6,13.02.2026,2026-02-16 +O-10052,19.6,27.02.2026,2026-02-28 +O-10053,34.0,13.06.2026,2026-06-13 +O-10054,29.6,15.04.2026,2026-04-15 +O-10055,27.2,10.02.2026,2026-02-12 +O-10056,53.7,27.02.2026,2026-02-28 +O-10057,66.8,01.04.2026,2026-04-03 +O-10058,34.1,13.05.2026,2026-05-14 +O-10059,39.1,26.06.2026,2026-06-28 +O-10060,32.1,09.04.2026,2026-04-11 +O-10061,50.4,03.02.2026,2026-02-07 +O-10062,18.7,04.03.2026,2026-03-05 +O-10063,32.2,10.04.2026,2026-04-14 +O-10064,66.0,07.05.2026,2026-05-09 +O-10065,40.7,07.04.2026,2026-04-10 +O-10066,76.3,27.02.2026,2026-03-01 +O-10067,15.7,26.02.2026,2026-03-01 +O-10068,18.2,10.02.2026,2026-02-10 +O-10069,18.4,18.01.2026,2026-01-19 +O-10070,23.2,08.05.2026,2026-05-08 +O-10071,34.8,12.01.2026,2026-01-15 +O-10072,30.9,15.03.2026,2026-03-15 +O-10073,39.8,06.06.2026,2026-06-08 +O-10074,27.5,04.06.2026,2026-06-04 +O-10075,17.7,26.03.2026,2026-03-30 +O-10076,84.2,21.01.2026,2026-01-21 +O-10077,27.9,05.01.2026,2026-01-08 +O-10078,22.2,16.01.2026,2026-01-17 +O-10079,92.0,05.03.2026,2026-03-08 +O-10080,31.1,06.05.2026,2026-05-06 +O-10081,30.6,13.03.2026,2026-03-15 +O-10082,55.0,01.05.2026,2026-05-02 +O-10083,35.7,04.04.2026,2026-04-04 +O-10084,22.3,21.05.2026,2026-05-22 +O-10085,11.9,29.05.2026,2026-05-30 +O-10086,14.1,12.04.2026,2026-04-15 +O-10087,24.0,06.01.2026,2026-01-10 +O-10088,29.3,13.03.2026,2026-03-17 +O-10089,46.9,20.02.2026,2026-02-23 +O-10090,26.2,29.05.2026,2026-06-01 +O-10091,20.2,18.01.2026,2026-01-18 +O-10092,18.5,07.06.2026,2026-06-09 +O-10093,16.2,28.03.2026,2026-04-01 +O-10094,26.1,12.02.2026,2026-02-15 +O-10095,31.2,22.05.2026,2026-05-22 +O-10096,57.1,11.01.2026,2026-01-11 +O-10097,15.0,17.02.2026,2026-02-20 +O-10098,33.6,21.01.2026,2026-01-21 +O-10099,24.4,24.02.2026,2026-02-27 +O-10100,44.1,24.03.2026,2026-03-26 +O-10101,51.7,18.06.2026,2026-06-18 +O-10102,35.6,26.03.2026,2026-03-29 +O-10103,18.6,08.03.2026,2026-03-08 +O-10104,41.6,22.03.2026,2026-03-22 +O-10105,47.3,05.04.2026,2026-04-08 +O-10106,27.6,10.01.2026,2026-01-12 +O-10107,45.3,28.01.2026,2026-01-28 +O-10108,43.6,26.04.2026,2026-04-26 +O-10109,19.1,20.05.2026,2026-05-24 +O-10110,26.2,12.06.2026,2026-06-16 +O-10111,20.6,22.05.2026,2026-05-26 +O-10112,29.6,29.05.2026,2026-05-31 +O-10113,61.9,22.02.2026,2026-02-22 +O-10114,58.8,11.04.2026,2026-04-12 +O-10115,20.6,11.04.2026,2026-04-14 +O-10116,13.7,25.06.2026,2026-06-25 +O-10117,14.8,24.03.2026,2026-03-27 +O-10118,36.3,18.06.2026,2026-06-22 +O-10119,116.4,14.02.2026,2026-02-18 +O-10120,51.6,12.04.2026,2026-04-12 +O-10121,19.3,21.02.2026,2026-02-23 +O-10122,48.0,15.04.2026,2026-04-17 +O-10123,106.1,12.04.2026,2026-04-12 +O-10124,42.9,26.03.2026,2026-03-28 +O-10125,17.9,09.06.2026,2026-06-13 +O-10126,27.9,28.06.2026,2026-06-30 +O-10127,18.3,19.02.2026,2026-02-23 +O-10128,88.9,21.05.2026,2026-05-25 +O-10129,51.3,09.01.2026,2026-01-09 +O-10130,22.7,24.06.2026,2026-06-28 +O-10131,39.0,11.03.2026,2026-03-11 +O-10132,31.8,30.01.2026,2026-02-03 +O-10133,43.4,01.05.2026,2026-05-04 +O-10134,27.5,14.02.2026,2026-02-15 +O-10135,21.1,10.04.2026,2026-04-10 +O-10136,26.0,02.03.2026,2026-03-05 +O-10137,32.5,12.02.2026,2026-02-13 +O-10138,23.8,13.06.2026,2026-06-14 +O-10139,28.4,21.02.2026,2026-02-21 +O-10140,16.3,10.02.2026,2026-02-10 +O-10141,18.4,25.02.2026,2026-03-01 +O-10142,29.0,24.01.2026,2026-01-28 +O-10143,40.9,07.02.2026,2026-02-10 +O-10144,30.8,05.01.2026,2026-01-08 +O-10145,39.6,14.05.2026,2026-05-17 +O-10146,32.4,27.02.2026,2026-03-03 +O-10147,25.0,23.06.2026,2026-06-25 +O-10148,35.2,20.06.2026,2026-06-21 +O-10149,18.7,01.06.2026,2026-06-03 +O-10150,30.7,19.04.2026,2026-04-23 +O-10151,31.5,01.02.2026,2026-02-01 +O-10152,22.7,06.01.2026,2026-01-06 +O-10153,20.7,17.06.2026,2026-06-17 +O-10154,27.3,18.02.2026,2026-02-18 +O-10155,43.8,25.02.2026,2026-02-25 +O-10156,33.0,26.04.2026,2026-04-28 +O-10157,42.1,03.04.2026,2026-04-07 +O-10158,20.7,15.04.2026,2026-04-15 +O-10159,14.8,19.04.2026,2026-04-20 +O-10160,16.0,16.05.2026,2026-05-18 +O-10161,25.2,06.01.2026,2026-01-06 +O-10162,38.5,04.02.2026,2026-02-05 +O-10163,39.5,03.04.2026,2026-04-06 +O-10164,43.0,01.07.2026,2026-07-02 +O-10165,37.5,28.05.2026,2026-05-30 +O-10166,23.2,01.04.2026,2026-04-05 +O-10167,62.0,18.06.2026,2026-06-19 +O-10168,9.8,08.06.2026,2026-06-08 +O-10169,41.2,08.01.2026,2026-01-08 +O-10170,33.8,18.02.2026,2026-02-22 +O-10171,21.5,19.03.2026,2026-03-23 +O-10172,57.7,20.02.2026,2026-02-22 +O-10173,34.0,01.07.2026,2026-07-01 +O-10174,16.2,11.03.2026,2026-03-15 +O-10175,27.2,19.05.2026,2026-05-21 +O-10176,16.4,15.02.2026,2026-02-17 +O-10177,29.6,18.04.2026,2026-04-20 +O-10178,22.8,09.06.2026,2026-06-13 +O-10179,23.1,25.01.2026,2026-01-29 +O-10180,36.4,03.04.2026,2026-04-03 +O-10181,61.6,12.06.2026,2026-06-16 +O-10182,23.9,25.06.2026,2026-06-26 +O-10183,25.1,24.02.2026,2026-02-26 +O-10184,23.6,30.03.2026,2026-04-02 +O-10185,23.1,01.05.2026,2026-05-01 +O-10186,32.4,08.01.2026,2026-01-12 +O-10187,86.5,08.04.2026,2026-04-12 +O-10188,26.8,24.05.2026,2026-05-26 +O-10189,40.1,28.06.2026,2026-07-01 +O-10190,22.4,22.06.2026,2026-06-23 +O-10191,32.4,25.03.2026,2026-03-28 +O-10192,25.6,26.02.2026,2026-02-27 +O-10193,30.6,22.06.2026,2026-06-23 +O-10194,68.7,13.05.2026,2026-05-16 +O-10195,37.1,06.02.2026,2026-02-06 +O-10196,29.5,16.03.2026,2026-03-19 +O-10197,61.1,05.06.2026,2026-06-06 +O-10198,50.7,02.07.2026,2026-07-02 +O-10199,35.4,03.06.2026,2026-06-07 +O-10200,36.6,19.06.2026,2026-06-21 +O-10201,37.5,03.04.2026,2026-04-07 +O-10202,37.9,14.01.2026,2026-01-16 +O-10203,18.0,22.05.2026,2026-05-26 +O-10204,41.9,08.02.2026,2026-02-08 +O-10205,53.1,09.06.2026,2026-06-13 +O-10206,19.9,19.02.2026,2026-02-19 +O-10207,16.4,10.02.2026,2026-02-13 +O-10208,39.5,27.06.2026,2026-06-30 +O-10209,32.8,20.04.2026,2026-04-20 +O-10210,37.9,07.01.2026,2026-01-10 +O-10211,39.5,19.06.2026,2026-06-22 +O-10212,39.4,11.03.2026,2026-03-13 +O-10213,24.6,05.04.2026,2026-04-06 +O-10214,40.7,28.03.2026,2026-04-01 +O-10215,27.6,29.04.2026,2026-05-01 +O-10216,21.4,04.06.2026,2026-06-06 +O-10217,44.1,20.02.2026,2026-02-20 +O-10218,22.6,19.05.2026,2026-05-22 +O-10219,30.9,22.01.2026,2026-01-22 +O-10220,26.5,12.06.2026,2026-06-12 +O-10221,20.7,04.02.2026,2026-02-06 +O-10222,21.7,03.02.2026,2026-02-03 +O-10223,31.1,16.01.2026,2026-01-19 +O-10224,31.1,17.05.2026,2026-05-20 +O-10225,39.7,12.05.2026,2026-05-16 +O-10226,30.2,16.03.2026,2026-03-17 +O-10227,22.8,18.06.2026,2026-06-22 +O-10228,36.3,15.01.2026,2026-01-15 +O-10229,32.5,30.05.2026,2026-06-03 +O-10230,49.4,21.02.2026,2026-02-23 +O-10231,39.2,10.01.2026,2026-01-12 +O-10232,21.6,01.06.2026,2026-06-01 +O-10233,13.8,22.01.2026,2026-01-24 +O-10234,31.1,16.02.2026,2026-02-19 +O-10235,21.9,30.05.2026,2026-05-30 +O-10236,49.0,07.04.2026,2026-04-10 +O-10237,20.4,29.03.2026,2026-04-01 +O-10238,21.4,04.02.2026,2026-02-04 +O-10239,48.5,19.06.2026,2026-06-23 +O-10240,17.1,10.06.2026,2026-06-11 +O-10241,29.3,02.02.2026,2026-02-03 +O-10242,69.6,14.02.2026,2026-02-14 +O-10243,31.2,05.05.2026,2026-05-09 +O-10244,43.1,04.04.2026,2026-04-04 +O-10245,46.7,08.05.2026,2026-05-09 +O-10246,28.7,08.04.2026,2026-04-10 +O-10247,31.7,07.02.2026,2026-02-11 +O-10248,30.0,02.02.2026,2026-02-04 +O-10249,38.1,15.04.2026,2026-04-19 +O-10250,14.8,25.01.2026,2026-01-26 +O-10251,27.2,13.04.2026,2026-04-14 +O-10252,55.8,28.02.2026,2026-03-01 +O-10253,38.9,15.03.2026,2026-03-17 +O-10254,23.8,03.06.2026,2026-06-07 +O-10255,31.8,04.05.2026,2026-05-05 +O-10256,13.2,24.02.2026,2026-02-26 +O-10257,72.2,04.05.2026,2026-05-04 +O-10258,36.3,20.04.2026,2026-04-23 +O-10259,15.7,30.03.2026,2026-03-30 +O-10260,26.3,16.04.2026,2026-04-18 +O-10261,24.5,30.05.2026,2026-06-01 +O-10262,67.5,30.04.2026,2026-05-02 +O-10263,20.5,25.06.2026,2026-06-28 +O-10264,23.4,23.01.2026,2026-01-24 +O-10265,62.8,06.05.2026,2026-05-10 +O-10266,34.5,22.02.2026,2026-02-23 +O-10267,25.2,05.03.2026,2026-03-08 +O-10268,21.3,22.01.2026,2026-01-24 +O-10269,49.0,10.02.2026,2026-02-13 +O-10270,48.8,10.03.2026,2026-03-13 +O-10271,50.0,23.01.2026,2026-01-25 +O-10272,23.1,15.03.2026,2026-03-18 +O-10273,62.7,24.04.2026,2026-04-24 +O-10274,85.7,02.02.2026,2026-02-02 +O-10275,29.5,20.04.2026,2026-04-22 +O-10276,14.9,02.05.2026,2026-05-05 +O-10277,39.7,22.05.2026,2026-05-25 +O-10278,48.3,01.07.2026,2026-07-05 +O-10279,26.7,22.02.2026,2026-02-26 +O-10280,26.6,23.05.2026,2026-05-23 +O-10281,52.4,06.02.2026,2026-02-07 +O-10282,40.5,12.06.2026,2026-06-15 +O-10283,14.9,05.06.2026,2026-06-09 +O-10284,42.9,14.01.2026,2026-01-18 +O-10285,26.4,09.04.2026,2026-04-12 +O-10286,10.6,04.05.2026,2026-05-08 +O-10287,21.9,26.06.2026,2026-06-28 +O-10288,40.1,21.02.2026,2026-02-22 +O-10289,57.9,18.01.2026,2026-01-20 +O-10290,42.6,17.04.2026,2026-04-21 +O-10291,43.6,31.01.2026,2026-02-03 +O-10292,41.3,28.02.2026,2026-03-04 +O-10293,66.9,21.03.2026,2026-03-24 +O-10294,18.6,23.04.2026,2026-04-24 +O-10295,40.7,01.05.2026,2026-05-05 +O-10296,88.6,04.05.2026,2026-05-04 +O-10297,39.5,22.02.2026,2026-02-26 +O-10298,15.6,30.01.2026,2026-01-30 +O-10299,17.3,18.02.2026,2026-02-19 +O-10300,27.3,14.06.2026,2026-06-17 +O-10301,56.9,02.04.2026,2026-04-05 +O-10302,38.8,16.03.2026,2026-03-19 +O-10303,19.9,22.06.2026,2026-06-23 +O-10304,26.8,26.06.2026,2026-06-30 +O-10305,25.9,10.04.2026,2026-04-12 +O-10306,32.8,07.03.2026,2026-03-08 +O-10307,46.9,08.06.2026,2026-06-08 +O-10308,16.6,10.02.2026,2026-02-10 +O-10309,26.9,01.06.2026,2026-06-04 +O-10310,40.7,10.01.2026,2026-01-12 +O-10311,40.1,22.05.2026,2026-05-25 +O-10312,42.5,19.06.2026,2026-06-21 +O-10313,67.6,02.05.2026,2026-05-05 +O-10314,15.9,09.04.2026,2026-04-13 +O-10315,26.1,12.03.2026,2026-03-13 +O-10316,24.4,12.03.2026,2026-03-15 +O-10317,16.6,18.06.2026,2026-06-22 +O-10318,23.2,09.04.2026,2026-04-11 +O-10319,15.1,28.06.2026,2026-06-28 +O-10320,15.3,29.06.2026,2026-06-30 +O-10321,29.7,13.03.2026,2026-03-14 +O-10322,38.9,22.05.2026,2026-05-23 +O-10323,26.6,04.02.2026,2026-02-06 +O-10324,36.1,08.06.2026,2026-06-12 +O-10325,21.0,09.06.2026,2026-06-11 +O-10326,25.5,15.05.2026,2026-05-15 +O-10327,42.8,17.01.2026,2026-01-20 +O-10328,37.0,04.03.2026,2026-03-07 +O-10329,40.5,30.01.2026,2026-01-31 +O-10330,17.7,09.05.2026,2026-05-13 +O-10331,31.3,18.05.2026,2026-05-22 +O-10332,56.8,15.06.2026,2026-06-16 +O-10333,73.4,18.01.2026,2026-01-21 +O-10334,19.2,23.01.2026,2026-01-23 +O-10335,17.4,23.01.2026,2026-01-25 +O-10336,24.3,21.01.2026,2026-01-23 +O-10337,30.6,17.04.2026,2026-04-21 +O-10338,37.8,07.03.2026,2026-03-11 +O-10339,16.0,24.04.2026,2026-04-27 +O-10340,44.5,23.04.2026,2026-04-23 +O-10341,12.7,26.04.2026,2026-04-29 +O-10342,10.7,07.02.2026,2026-02-11 +O-10343,52.5,26.04.2026,2026-04-27 +O-10344,14.2,06.03.2026,2026-03-09 +O-10345,21.0,07.02.2026,2026-02-10 +O-10346,28.3,19.04.2026,2026-04-22 +O-10347,21.6,16.01.2026,2026-01-16 +O-10348,23.8,03.03.2026,2026-03-03 +O-10349,44.5,10.01.2026,2026-01-13 +O-10350,40.3,05.04.2026,2026-04-06 +O-10351,40.1,22.05.2026,2026-05-22 +O-10352,39.4,22.02.2026,2026-02-25 +O-10353,29.2,27.01.2026,2026-01-31 +O-10354,30.6,18.06.2026,2026-06-18 +O-10355,38.7,31.01.2026,2026-02-01 +O-10356,23.7,17.03.2026,2026-03-19 +O-10357,75.8,20.01.2026,2026-01-20 +O-10358,43.2,29.01.2026,2026-02-01 +O-10359,44.5,11.06.2026,2026-06-13 +O-10360,44.3,08.06.2026,2026-06-10 +O-10361,37.8,09.05.2026,2026-05-13 +O-10362,38.7,17.04.2026,2026-04-17 +O-10363,44.0,15.02.2026,2026-02-17 +O-10364,18.1,02.03.2026,2026-03-06 +O-10365,55.9,12.04.2026,2026-04-14 +O-10366,22.3,27.02.2026,2026-03-01 +O-10367,16.8,24.03.2026,2026-03-27 +O-10368,33.6,23.01.2026,2026-01-23 +O-10369,39.3,15.04.2026,2026-04-15 +O-10370,31.9,05.04.2026,2026-04-07 +O-10371,53.9,27.03.2026,2026-03-28 +O-10372,26.0,03.03.2026,2026-03-04 +O-10373,49.6,23.02.2026,2026-02-25 +O-10374,23.6,03.05.2026,2026-05-06 +O-10375,52.4,21.04.2026,2026-04-25 +O-10376,20.0,04.02.2026,2026-02-07 +O-10377,40.3,22.01.2026,2026-01-24 +O-10378,21.0,30.04.2026,2026-05-03 +O-10379,15.1,26.06.2026,2026-06-27 +O-10380,17.3,18.04.2026,2026-04-22 +O-10381,45.4,21.06.2026,2026-06-21 +O-10382,62.7,12.05.2026,2026-05-15 +O-10383,60.9,03.04.2026,2026-04-05 +O-10384,27.5,03.03.2026,2026-03-04 +O-10385,29.3,28.06.2026,2026-06-29 +O-10386,29.9,13.06.2026,2026-06-13 +O-10387,24.6,25.05.2026,2026-05-27 +O-10388,13.3,06.01.2026,2026-01-07 +O-10389,34.8,20.06.2026,2026-06-20 +O-10390,23.5,24.05.2026,2026-05-28 +O-10391,18.0,11.02.2026,2026-02-12 +O-10392,22.6,25.01.2026,2026-01-26 +O-10393,45.3,24.05.2026,2026-05-28 +O-10394,99.4,22.03.2026,2026-03-22 +O-10395,44.2,18.06.2026,2026-06-19 +O-10396,43.3,25.05.2026,2026-05-28 +O-10397,38.5,21.05.2026,2026-05-22 +O-10398,18.6,08.06.2026,2026-06-08 +O-10399,45.8,20.02.2026,2026-02-22 +O-10400,36.7,22.04.2026,2026-04-22 diff --git a/agents/evals/fixtures/cases/histogram-basic-seaborn-decimal-comma/case.json b/agents/evals/fixtures/cases/histogram-basic-seaborn-decimal-comma/case.json new file mode 100644 index 0000000000..c0e28b8c6e --- /dev/null +++ b/agents/evals/fixtures/cases/histogram-basic-seaborn-decimal-comma/case.json @@ -0,0 +1,20 @@ +{ + "spec_id": "histogram-basic", + "library": "seaborn", + "locale": "de", + "perturbation": "decimal-comma", + "bindings": [ + { + "role": "values", + "column": "Delivery Time (min)" + } + ], + "expected": "accepted", + "tags": [ + "histogram", + "decimal-comma", + "synthetic", + "semicolon" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 404, decimal-comma)" +} diff --git a/agents/evals/fixtures/cases/histogram-basic-seaborn-decimal-comma/data.csv b/agents/evals/fixtures/cases/histogram-basic-seaborn-decimal-comma/data.csv new file mode 100644 index 0000000000..c0b5c27d0c --- /dev/null +++ b/agents/evals/fixtures/cases/histogram-basic-seaborn-decimal-comma/data.csv @@ -0,0 +1,401 @@ +Order ID;Delivery Time (min) +O-10001;38,3 +O-10002;39,4 +O-10003;36,7 +O-10004;36,6 +O-10005;16,3 +O-10006;25,4 +O-10007;25,4 +O-10008;28,7 +O-10009;38,1 +O-10010;29,6 +O-10011;19,5 +O-10012;36,0 +O-10013;53,0 +O-10014;30,1 +O-10015;21,3 +O-10016;47,9 +O-10017;41,8 +O-10018;26,4 +O-10019;32,4 +O-10020;22,9 +O-10021;52,4 +O-10022;31,4 +O-10023;19,7 +O-10024;31,1 +O-10025;38,2 +O-10026;52,7 +O-10027;23,9 +O-10028;39,3 +O-10029;46,8 +O-10030;38,3 +O-10031;24,2 +O-10032;57,8 +O-10033;44,9 +O-10034;67,6 +O-10035;22,3 +O-10036;27,3 +O-10037;17,8 +O-10038;34,3 +O-10039;36,7 +O-10040;25,1 +O-10041;31,6 +O-10042;52,9 +O-10043;29,7 +O-10044;30,9 +O-10045;52,3 +O-10046;32,4 +O-10047;47,4 +O-10048;62,4 +O-10049;22,5 +O-10050;14,7 +O-10051;34,6 +O-10052;19,6 +O-10053;34,0 +O-10054;29,6 +O-10055;27,2 +O-10056;53,7 +O-10057;66,8 +O-10058;34,1 +O-10059;39,1 +O-10060;32,1 +O-10061;50,4 +O-10062;18,7 +O-10063;32,2 +O-10064;66,0 +O-10065;40,7 +O-10066;76,3 +O-10067;15,7 +O-10068;18,2 +O-10069;18,4 +O-10070;23,2 +O-10071;34,8 +O-10072;30,9 +O-10073;39,8 +O-10074;27,5 +O-10075;17,7 +O-10076;84,2 +O-10077;27,9 +O-10078;22,2 +O-10079;92,0 +O-10080;31,1 +O-10081;30,6 +O-10082;55,0 +O-10083;35,7 +O-10084;22,3 +O-10085;11,9 +O-10086;14,1 +O-10087;24,0 +O-10088;29,3 +O-10089;46,9 +O-10090;26,2 +O-10091;20,2 +O-10092;18,5 +O-10093;16,2 +O-10094;26,1 +O-10095;31,2 +O-10096;57,1 +O-10097;15,0 +O-10098;33,6 +O-10099;24,4 +O-10100;44,1 +O-10101;51,7 +O-10102;35,6 +O-10103;18,6 +O-10104;41,6 +O-10105;47,3 +O-10106;27,6 +O-10107;45,3 +O-10108;43,6 +O-10109;19,1 +O-10110;26,2 +O-10111;20,6 +O-10112;29,6 +O-10113;61,9 +O-10114;58,8 +O-10115;20,6 +O-10116;13,7 +O-10117;14,8 +O-10118;36,3 +O-10119;116,4 +O-10120;51,6 +O-10121;19,3 +O-10122;48,0 +O-10123;106,1 +O-10124;42,9 +O-10125;17,9 +O-10126;27,9 +O-10127;18,3 +O-10128;88,9 +O-10129;51,3 +O-10130;22,7 +O-10131;39,0 +O-10132;31,8 +O-10133;43,4 +O-10134;27,5 +O-10135;21,1 +O-10136;26,0 +O-10137;32,5 +O-10138;23,8 +O-10139;28,4 +O-10140;16,3 +O-10141;18,4 +O-10142;29,0 +O-10143;40,9 +O-10144;30,8 +O-10145;39,6 +O-10146;32,4 +O-10147;25,0 +O-10148;35,2 +O-10149;18,7 +O-10150;30,7 +O-10151;31,5 +O-10152;22,7 +O-10153;20,7 +O-10154;27,3 +O-10155;43,8 +O-10156;33,0 +O-10157;42,1 +O-10158;20,7 +O-10159;14,8 +O-10160;16,0 +O-10161;25,2 +O-10162;38,5 +O-10163;39,5 +O-10164;43,0 +O-10165;37,5 +O-10166;23,2 +O-10167;62,0 +O-10168;9,8 +O-10169;41,2 +O-10170;33,8 +O-10171;21,5 +O-10172;57,7 +O-10173;34,0 +O-10174;16,2 +O-10175;27,2 +O-10176;16,4 +O-10177;29,6 +O-10178;22,8 +O-10179;23,1 +O-10180;36,4 +O-10181;61,6 +O-10182;23,9 +O-10183;25,1 +O-10184;23,6 +O-10185;23,1 +O-10186;32,4 +O-10187;86,5 +O-10188;26,8 +O-10189;40,1 +O-10190;22,4 +O-10191;32,4 +O-10192;25,6 +O-10193;30,6 +O-10194;68,7 +O-10195;37,1 +O-10196;29,5 +O-10197;61,1 +O-10198;50,7 +O-10199;35,4 +O-10200;36,6 +O-10201;37,5 +O-10202;37,9 +O-10203;18,0 +O-10204;41,9 +O-10205;53,1 +O-10206;19,9 +O-10207;16,4 +O-10208;39,5 +O-10209;32,8 +O-10210;37,9 +O-10211;39,5 +O-10212;39,4 +O-10213;24,6 +O-10214;40,7 +O-10215;27,6 +O-10216;21,4 +O-10217;44,1 +O-10218;22,6 +O-10219;30,9 +O-10220;26,5 +O-10221;20,7 +O-10222;21,7 +O-10223;31,1 +O-10224;31,1 +O-10225;39,7 +O-10226;30,2 +O-10227;22,8 +O-10228;36,3 +O-10229;32,5 +O-10230;49,4 +O-10231;39,2 +O-10232;21,6 +O-10233;13,8 +O-10234;31,1 +O-10235;21,9 +O-10236;49,0 +O-10237;20,4 +O-10238;21,4 +O-10239;48,5 +O-10240;17,1 +O-10241;29,3 +O-10242;69,6 +O-10243;31,2 +O-10244;43,1 +O-10245;46,7 +O-10246;28,7 +O-10247;31,7 +O-10248;30,0 +O-10249;38,1 +O-10250;14,8 +O-10251;27,2 +O-10252;55,8 +O-10253;38,9 +O-10254;23,8 +O-10255;31,8 +O-10256;13,2 +O-10257;72,2 +O-10258;36,3 +O-10259;15,7 +O-10260;26,3 +O-10261;24,5 +O-10262;67,5 +O-10263;20,5 +O-10264;23,4 +O-10265;62,8 +O-10266;34,5 +O-10267;25,2 +O-10268;21,3 +O-10269;49,0 +O-10270;48,8 +O-10271;50,0 +O-10272;23,1 +O-10273;62,7 +O-10274;85,7 +O-10275;29,5 +O-10276;14,9 +O-10277;39,7 +O-10278;48,3 +O-10279;26,7 +O-10280;26,6 +O-10281;52,4 +O-10282;40,5 +O-10283;14,9 +O-10284;42,9 +O-10285;26,4 +O-10286;10,6 +O-10287;21,9 +O-10288;40,1 +O-10289;57,9 +O-10290;42,6 +O-10291;43,6 +O-10292;41,3 +O-10293;66,9 +O-10294;18,6 +O-10295;40,7 +O-10296;88,6 +O-10297;39,5 +O-10298;15,6 +O-10299;17,3 +O-10300;27,3 +O-10301;56,9 +O-10302;38,8 +O-10303;19,9 +O-10304;26,8 +O-10305;25,9 +O-10306;32,8 +O-10307;46,9 +O-10308;16,6 +O-10309;26,9 +O-10310;40,7 +O-10311;40,1 +O-10312;42,5 +O-10313;67,6 +O-10314;15,9 +O-10315;26,1 +O-10316;24,4 +O-10317;16,6 +O-10318;23,2 +O-10319;15,1 +O-10320;15,3 +O-10321;29,7 +O-10322;38,9 +O-10323;26,6 +O-10324;36,1 +O-10325;21,0 +O-10326;25,5 +O-10327;42,8 +O-10328;37,0 +O-10329;40,5 +O-10330;17,7 +O-10331;31,3 +O-10332;56,8 +O-10333;73,4 +O-10334;19,2 +O-10335;17,4 +O-10336;24,3 +O-10337;30,6 +O-10338;37,8 +O-10339;16,0 +O-10340;44,5 +O-10341;12,7 +O-10342;10,7 +O-10343;52,5 +O-10344;14,2 +O-10345;21,0 +O-10346;28,3 +O-10347;21,6 +O-10348;23,8 +O-10349;44,5 +O-10350;40,3 +O-10351;40,1 +O-10352;39,4 +O-10353;29,2 +O-10354;30,6 +O-10355;38,7 +O-10356;23,7 +O-10357;75,8 +O-10358;43,2 +O-10359;44,5 +O-10360;44,3 +O-10361;37,8 +O-10362;38,7 +O-10363;44,0 +O-10364;18,1 +O-10365;55,9 +O-10366;22,3 +O-10367;16,8 +O-10368;33,6 +O-10369;39,3 +O-10370;31,9 +O-10371;53,9 +O-10372;26,0 +O-10373;49,6 +O-10374;23,6 +O-10375;52,4 +O-10376;20,0 +O-10377;40,3 +O-10378;21,0 +O-10379;15,1 +O-10380;17,3 +O-10381;45,4 +O-10382;62,7 +O-10383;60,9 +O-10384;27,5 +O-10385;29,3 +O-10386;29,9 +O-10387;24,6 +O-10388;13,3 +O-10389;34,8 +O-10390;23,5 +O-10391;18,0 +O-10392;22,6 +O-10393;45,3 +O-10394;99,4 +O-10395;44,2 +O-10396;43,3 +O-10397;38,5 +O-10398;18,6 +O-10399;45,8 +O-10400;36,7 diff --git a/agents/evals/fixtures/cases/histogram-basic-seaborn-n12/case.json b/agents/evals/fixtures/cases/histogram-basic-seaborn-n12/case.json new file mode 100644 index 0000000000..4c08c8fbb3 --- /dev/null +++ b/agents/evals/fixtures/cases/histogram-basic-seaborn-n12/case.json @@ -0,0 +1,20 @@ +{ + "spec_id": "histogram-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "n12", + "bindings": [ + { + "role": "values", + "column": "Delivery Time (min)" + } + ], + "expected": "accepted", + "tags": [ + "histogram", + "n12", + "synthetic", + "small" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 404, n12)" +} diff --git a/agents/evals/fixtures/cases/histogram-basic-seaborn-n12/data.csv b/agents/evals/fixtures/cases/histogram-basic-seaborn-n12/data.csv new file mode 100644 index 0000000000..3e32daaa5e --- /dev/null +++ b/agents/evals/fixtures/cases/histogram-basic-seaborn-n12/data.csv @@ -0,0 +1,13 @@ +Order ID,Delivery Time (min) +O-10001,27.8 +O-10002,106.1 +O-10003,29.2 +O-10004,27.9 +O-10005,61.7 +O-10006,15.9 +O-10007,12.2 +O-10008,26.6 +O-10009,46.5 +O-10010,37.3 +O-10011,30.4 +O-10012,24.3 diff --git a/agents/evals/fixtures/cases/histogram-basic-seaborn-n5000/case.json b/agents/evals/fixtures/cases/histogram-basic-seaborn-n5000/case.json new file mode 100644 index 0000000000..70aa607a75 --- /dev/null +++ b/agents/evals/fixtures/cases/histogram-basic-seaborn-n5000/case.json @@ -0,0 +1,21 @@ +{ + "spec_id": "histogram-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "n5000", + "bindings": [ + { + "role": "values", + "column": "Delivery Time (min)" + } + ], + "expected": "accepted", + "tags": [ + "histogram", + "n5000", + "synthetic", + "large", + "smoke" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 404, n5000)" +} diff --git a/agents/evals/fixtures/cases/histogram-basic-seaborn-n5000/data.csv b/agents/evals/fixtures/cases/histogram-basic-seaborn-n5000/data.csv new file mode 100644 index 0000000000..00869fbb7c --- /dev/null +++ b/agents/evals/fixtures/cases/histogram-basic-seaborn-n5000/data.csv @@ -0,0 +1,5001 @@ +Order ID,Delivery Time (min) +O-10001,25.6 +O-10002,82.2 +O-10003,38.7 +O-10004,32.3 +O-10005,17.4 +O-10006,42.3 +O-10007,43.8 +O-10008,20.3 +O-10009,18.6 +O-10010,47.7 +O-10011,25.5 +O-10012,64.4 +O-10013,42.7 +O-10014,29.0 +O-10015,30.8 +O-10016,12.7 +O-10017,15.3 +O-10018,24.0 +O-10019,40.3 +O-10020,44.6 +O-10021,58.3 +O-10022,43.5 +O-10023,66.2 +O-10024,39.3 +O-10025,55.7 +O-10026,30.3 +O-10027,40.7 +O-10028,21.3 +O-10029,63.1 +O-10030,11.6 +O-10031,19.6 +O-10032,45.5 +O-10033,40.3 +O-10034,50.2 +O-10035,40.7 +O-10036,47.7 +O-10037,30.1 +O-10038,20.3 +O-10039,35.2 +O-10040,14.4 +O-10041,24.8 +O-10042,32.9 +O-10043,27.9 +O-10044,29.0 +O-10045,55.3 +O-10046,24.3 +O-10047,14.4 +O-10048,36.2 +O-10049,38.5 +O-10050,17.4 +O-10051,24.5 +O-10052,34.7 +O-10053,35.8 +O-10054,32.8 +O-10055,82.6 +O-10056,26.4 +O-10057,17.1 +O-10058,18.0 +O-10059,19.5 +O-10060,44.5 +O-10061,24.3 +O-10062,30.8 +O-10063,75.1 +O-10064,19.1 +O-10065,41.1 +O-10066,12.4 +O-10067,55.0 +O-10068,28.2 +O-10069,21.1 +O-10070,19.9 +O-10071,42.4 +O-10072,23.2 +O-10073,28.2 +O-10074,24.7 +O-10075,33.7 +O-10076,67.3 +O-10077,28.4 +O-10078,23.1 +O-10079,29.3 +O-10080,17.0 +O-10081,41.6 +O-10082,74.9 +O-10083,34.6 +O-10084,18.8 +O-10085,19.5 +O-10086,19.7 +O-10087,28.5 +O-10088,59.4 +O-10089,30.6 +O-10090,66.7 +O-10091,28.4 +O-10092,32.9 +O-10093,23.9 +O-10094,35.5 +O-10095,44.8 +O-10096,52.9 +O-10097,75.5 +O-10098,69.4 +O-10099,18.0 +O-10100,18.7 +O-10101,16.4 +O-10102,29.7 +O-10103,22.2 +O-10104,20.8 +O-10105,42.3 +O-10106,69.5 +O-10107,37.3 +O-10108,38.8 +O-10109,71.0 +O-10110,37.7 +O-10111,36.9 +O-10112,41.7 +O-10113,33.8 +O-10114,25.9 +O-10115,40.7 +O-10116,13.0 +O-10117,15.4 +O-10118,35.5 +O-10119,28.3 +O-10120,66.5 +O-10121,36.2 +O-10122,14.5 +O-10123,51.8 +O-10124,52.6 +O-10125,69.5 +O-10126,24.0 +O-10127,25.7 +O-10128,35.5 +O-10129,25.4 +O-10130,38.6 +O-10131,25.6 +O-10132,24.3 +O-10133,19.5 +O-10134,27.6 +O-10135,21.1 +O-10136,45.3 +O-10137,69.9 +O-10138,29.1 +O-10139,13.2 +O-10140,17.9 +O-10141,22.0 +O-10142,22.9 +O-10143,32.5 +O-10144,52.7 +O-10145,35.0 +O-10146,42.6 +O-10147,34.9 +O-10148,15.2 +O-10149,25.9 +O-10150,32.1 +O-10151,32.1 +O-10152,32.5 +O-10153,66.0 +O-10154,52.3 +O-10155,64.0 +O-10156,13.0 +O-10157,63.0 +O-10158,18.9 +O-10159,15.0 +O-10160,30.5 +O-10161,49.3 +O-10162,27.7 +O-10163,30.2 +O-10164,47.1 +O-10165,26.7 +O-10166,37.5 +O-10167,45.3 +O-10168,37.8 +O-10169,23.9 +O-10170,64.6 +O-10171,45.6 +O-10172,42.9 +O-10173,57.1 +O-10174,18.8 +O-10175,13.0 +O-10176,15.7 +O-10177,27.9 +O-10178,35.7 +O-10179,19.0 +O-10180,19.2 +O-10181,37.7 +O-10182,72.0 +O-10183,52.1 +O-10184,15.5 +O-10185,22.3 +O-10186,26.1 +O-10187,20.8 +O-10188,20.9 +O-10189,55.4 +O-10190,47.6 +O-10191,21.0 +O-10192,15.4 +O-10193,31.9 +O-10194,35.3 +O-10195,31.7 +O-10196,18.7 +O-10197,68.8 +O-10198,59.2 +O-10199,42.4 +O-10200,21.9 +O-10201,14.7 +O-10202,43.8 +O-10203,34.5 +O-10204,23.1 +O-10205,30.2 +O-10206,37.4 +O-10207,42.8 +O-10208,42.1 +O-10209,29.4 +O-10210,16.2 +O-10211,32.2 +O-10212,56.1 +O-10213,41.9 +O-10214,41.5 +O-10215,29.8 +O-10216,41.8 +O-10217,17.2 +O-10218,55.7 +O-10219,27.4 +O-10220,59.2 +O-10221,31.5 +O-10222,25.6 +O-10223,26.1 +O-10224,47.6 +O-10225,19.3 +O-10226,13.3 +O-10227,27.5 +O-10228,28.7 +O-10229,26.0 +O-10230,24.4 +O-10231,33.4 +O-10232,30.4 +O-10233,21.2 +O-10234,27.6 +O-10235,31.2 +O-10236,72.6 +O-10237,32.2 +O-10238,56.3 +O-10239,15.8 +O-10240,18.9 +O-10241,27.4 +O-10242,83.2 +O-10243,24.6 +O-10244,29.9 +O-10245,27.9 +O-10246,37.5 +O-10247,19.7 +O-10248,12.9 +O-10249,42.3 +O-10250,30.3 +O-10251,15.1 +O-10252,23.8 +O-10253,22.2 +O-10254,36.6 +O-10255,31.0 +O-10256,21.9 +O-10257,28.7 +O-10258,31.4 +O-10259,47.0 +O-10260,28.9 +O-10261,25.1 +O-10262,49.6 +O-10263,61.1 +O-10264,34.4 +O-10265,55.0 +O-10266,42.9 +O-10267,39.7 +O-10268,30.5 +O-10269,29.9 +O-10270,27.2 +O-10271,28.2 +O-10272,62.8 +O-10273,31.9 +O-10274,28.6 +O-10275,49.5 +O-10276,36.7 +O-10277,48.8 +O-10278,49.0 +O-10279,37.1 +O-10280,12.9 +O-10281,22.4 +O-10282,53.7 +O-10283,33.7 +O-10284,88.9 +O-10285,73.2 +O-10286,28.1 +O-10287,24.7 +O-10288,33.3 +O-10289,28.5 +O-10290,18.1 +O-10291,45.4 +O-10292,20.5 +O-10293,27.0 +O-10294,35.5 +O-10295,29.0 +O-10296,24.1 +O-10297,53.0 +O-10298,21.9 +O-10299,60.7 +O-10300,40.1 +O-10301,30.4 +O-10302,13.3 +O-10303,11.7 +O-10304,17.6 +O-10305,30.4 +O-10306,25.5 +O-10307,53.4 +O-10308,53.9 +O-10309,32.0 +O-10310,44.1 +O-10311,36.8 +O-10312,27.2 +O-10313,26.5 +O-10314,35.7 +O-10315,27.8 +O-10316,52.4 +O-10317,21.8 +O-10318,56.6 +O-10319,32.3 +O-10320,21.9 +O-10321,23.3 +O-10322,55.0 +O-10323,33.9 +O-10324,45.2 +O-10325,49.5 +O-10326,56.0 +O-10327,28.0 +O-10328,19.8 +O-10329,26.9 +O-10330,70.3 +O-10331,37.6 +O-10332,40.4 +O-10333,28.6 +O-10334,37.5 +O-10335,36.4 +O-10336,61.3 +O-10337,67.6 +O-10338,26.6 +O-10339,33.3 +O-10340,31.6 +O-10341,24.8 +O-10342,44.0 +O-10343,20.4 +O-10344,19.2 +O-10345,33.8 +O-10346,38.1 +O-10347,47.9 +O-10348,25.9 +O-10349,52.5 +O-10350,32.5 +O-10351,21.1 +O-10352,28.1 +O-10353,33.4 +O-10354,50.6 +O-10355,62.1 +O-10356,32.7 +O-10357,30.2 +O-10358,42.7 +O-10359,19.8 +O-10360,30.0 +O-10361,44.5 +O-10362,65.6 +O-10363,12.6 +O-10364,36.4 +O-10365,40.8 +O-10366,31.0 +O-10367,26.1 +O-10368,28.8 +O-10369,49.7 +O-10370,44.7 +O-10371,44.3 +O-10372,14.8 +O-10373,36.4 +O-10374,26.4 +O-10375,37.9 +O-10376,43.6 +O-10377,24.6 +O-10378,15.5 +O-10379,23.8 +O-10380,57.3 +O-10381,42.6 +O-10382,12.8 +O-10383,56.0 +O-10384,70.0 +O-10385,38.9 +O-10386,75.4 +O-10387,21.5 +O-10388,17.7 +O-10389,46.7 +O-10390,25.9 +O-10391,39.1 +O-10392,42.2 +O-10393,17.6 +O-10394,65.6 +O-10395,41.7 +O-10396,30.7 +O-10397,18.7 +O-10398,20.1 +O-10399,20.2 +O-10400,12.9 +O-10401,25.9 +O-10402,50.2 +O-10403,45.6 +O-10404,65.1 +O-10405,12.5 +O-10406,52.2 +O-10407,76.6 +O-10408,37.1 +O-10409,40.3 +O-10410,35.2 +O-10411,52.9 +O-10412,12.2 +O-10413,18.6 +O-10414,32.1 +O-10415,42.7 +O-10416,37.8 +O-10417,16.8 +O-10418,38.2 +O-10419,31.0 +O-10420,19.7 +O-10421,27.2 +O-10422,41.1 +O-10423,32.7 +O-10424,21.0 +O-10425,38.6 +O-10426,15.0 +O-10427,14.9 +O-10428,29.0 +O-10429,84.2 +O-10430,32.9 +O-10431,11.7 +O-10432,27.3 +O-10433,34.4 +O-10434,51.7 +O-10435,46.0 +O-10436,35.1 +O-10437,29.7 +O-10438,30.8 +O-10439,33.5 +O-10440,30.0 +O-10441,58.2 +O-10442,47.7 +O-10443,22.4 +O-10444,27.8 +O-10445,39.6 +O-10446,18.4 +O-10447,50.5 +O-10448,18.6 +O-10449,23.2 +O-10450,22.1 +O-10451,42.4 +O-10452,22.1 +O-10453,22.4 +O-10454,11.1 +O-10455,56.4 +O-10456,83.1 +O-10457,55.1 +O-10458,61.8 +O-10459,46.0 +O-10460,40.5 +O-10461,28.0 +O-10462,45.9 +O-10463,30.2 +O-10464,35.6 +O-10465,32.4 +O-10466,22.5 +O-10467,44.4 +O-10468,14.1 +O-10469,50.7 +O-10470,16.3 +O-10471,72.8 +O-10472,28.0 +O-10473,20.9 +O-10474,34.8 +O-10475,56.6 +O-10476,24.3 +O-10477,41.8 +O-10478,39.4 +O-10479,40.4 +O-10480,61.5 +O-10481,46.7 +O-10482,43.4 +O-10483,63.3 +O-10484,26.9 +O-10485,22.5 +O-10486,21.1 +O-10487,17.2 +O-10488,36.6 +O-10489,49.0 +O-10490,43.5 +O-10491,37.8 +O-10492,34.4 +O-10493,20.5 +O-10494,17.3 +O-10495,38.1 +O-10496,52.4 +O-10497,48.2 +O-10498,53.5 +O-10499,13.5 +O-10500,21.6 +O-10501,38.0 +O-10502,28.5 +O-10503,14.4 +O-10504,61.6 +O-10505,29.1 +O-10506,32.0 +O-10507,40.2 +O-10508,43.2 +O-10509,23.4 +O-10510,77.5 +O-10511,20.6 +O-10512,30.6 +O-10513,28.8 +O-10514,33.6 +O-10515,23.2 +O-10516,39.8 +O-10517,24.0 +O-10518,27.3 +O-10519,38.8 +O-10520,33.3 +O-10521,46.8 +O-10522,31.9 +O-10523,38.1 +O-10524,35.3 +O-10525,19.0 +O-10526,25.9 +O-10527,18.8 +O-10528,62.2 +O-10529,35.2 +O-10530,30.6 +O-10531,26.5 +O-10532,31.4 +O-10533,25.7 +O-10534,35.5 +O-10535,42.9 +O-10536,38.8 +O-10537,85.3 +O-10538,30.9 +O-10539,16.4 +O-10540,25.0 +O-10541,15.7 +O-10542,18.4 +O-10543,15.2 +O-10544,31.9 +O-10545,52.5 +O-10546,40.0 +O-10547,19.2 +O-10548,31.2 +O-10549,42.4 +O-10550,17.8 +O-10551,22.1 +O-10552,18.3 +O-10553,42.6 +O-10554,42.3 +O-10555,58.3 +O-10556,28.6 +O-10557,33.6 +O-10558,29.7 +O-10559,35.3 +O-10560,29.7 +O-10561,25.3 +O-10562,36.7 +O-10563,37.2 +O-10564,20.8 +O-10565,59.8 +O-10566,33.8 +O-10567,18.7 +O-10568,51.2 +O-10569,52.9 +O-10570,27.5 +O-10571,26.8 +O-10572,35.7 +O-10573,34.0 +O-10574,36.9 +O-10575,62.8 +O-10576,25.1 +O-10577,18.0 +O-10578,46.9 +O-10579,21.2 +O-10580,30.2 +O-10581,22.4 +O-10582,52.9 +O-10583,31.6 +O-10584,26.8 +O-10585,14.2 +O-10586,14.3 +O-10587,17.6 +O-10588,37.2 +O-10589,39.4 +O-10590,43.7 +O-10591,34.5 +O-10592,23.6 +O-10593,50.6 +O-10594,23.8 +O-10595,44.2 +O-10596,23.3 +O-10597,21.9 +O-10598,36.7 +O-10599,50.0 +O-10600,41.8 +O-10601,89.6 +O-10602,36.9 +O-10603,31.6 +O-10604,63.6 +O-10605,24.2 +O-10606,25.9 +O-10607,23.8 +O-10608,37.2 +O-10609,37.8 +O-10610,18.6 +O-10611,34.6 +O-10612,20.9 +O-10613,50.2 +O-10614,31.4 +O-10615,56.9 +O-10616,46.7 +O-10617,35.9 +O-10618,17.0 +O-10619,47.8 +O-10620,37.4 +O-10621,30.8 +O-10622,18.5 +O-10623,40.8 +O-10624,34.2 +O-10625,49.1 +O-10626,20.0 +O-10627,51.6 +O-10628,69.9 +O-10629,25.7 +O-10630,32.2 +O-10631,38.3 +O-10632,42.3 +O-10633,23.9 +O-10634,32.7 +O-10635,74.7 +O-10636,64.2 +O-10637,83.2 +O-10638,23.2 +O-10639,31.8 +O-10640,29.0 +O-10641,42.9 +O-10642,23.2 +O-10643,50.5 +O-10644,41.5 +O-10645,21.6 +O-10646,30.7 +O-10647,15.1 +O-10648,44.2 +O-10649,39.8 +O-10650,51.6 +O-10651,29.8 +O-10652,30.1 +O-10653,29.5 +O-10654,56.0 +O-10655,31.0 +O-10656,19.9 +O-10657,44.3 +O-10658,26.6 +O-10659,30.4 +O-10660,23.2 +O-10661,33.2 +O-10662,27.6 +O-10663,28.9 +O-10664,50.0 +O-10665,16.6 +O-10666,39.0 +O-10667,35.3 +O-10668,21.0 +O-10669,25.4 +O-10670,49.9 +O-10671,24.3 +O-10672,38.1 +O-10673,26.9 +O-10674,46.4 +O-10675,28.1 +O-10676,48.2 +O-10677,18.4 +O-10678,44.3 +O-10679,34.2 +O-10680,71.3 +O-10681,12.7 +O-10682,46.6 +O-10683,83.3 +O-10684,64.9 +O-10685,23.5 +O-10686,78.4 +O-10687,55.9 +O-10688,24.6 +O-10689,18.5 +O-10690,19.1 +O-10691,38.5 +O-10692,13.7 +O-10693,47.7 +O-10694,28.5 +O-10695,48.9 +O-10696,26.2 +O-10697,28.4 +O-10698,36.5 +O-10699,32.2 +O-10700,37.6 +O-10701,40.7 +O-10702,28.9 +O-10703,33.1 +O-10704,38.6 +O-10705,35.5 +O-10706,34.0 +O-10707,23.2 +O-10708,62.9 +O-10709,39.0 +O-10710,22.9 +O-10711,54.9 +O-10712,36.1 +O-10713,69.2 +O-10714,50.3 +O-10715,24.2 +O-10716,70.0 +O-10717,25.4 +O-10718,19.0 +O-10719,53.3 +O-10720,33.6 +O-10721,58.2 +O-10722,14.6 +O-10723,44.0 +O-10724,28.4 +O-10725,17.5 +O-10726,15.4 +O-10727,20.5 +O-10728,17.3 +O-10729,25.6 +O-10730,40.4 +O-10731,25.6 +O-10732,23.7 +O-10733,31.0 +O-10734,24.1 +O-10735,21.2 +O-10736,31.9 +O-10737,25.6 +O-10738,31.3 +O-10739,38.1 +O-10740,40.7 +O-10741,44.3 +O-10742,28.1 +O-10743,13.3 +O-10744,23.3 +O-10745,26.0 +O-10746,38.2 +O-10747,28.0 +O-10748,29.6 +O-10749,22.8 +O-10750,92.8 +O-10751,29.9 +O-10752,31.2 +O-10753,54.2 +O-10754,38.2 +O-10755,43.6 +O-10756,27.1 +O-10757,25.9 +O-10758,44.9 +O-10759,34.4 +O-10760,45.4 +O-10761,51.9 +O-10762,25.8 +O-10763,30.1 +O-10764,28.1 +O-10765,24.9 +O-10766,42.7 +O-10767,80.7 +O-10768,35.1 +O-10769,45.8 +O-10770,30.1 +O-10771,19.8 +O-10772,29.9 +O-10773,27.2 +O-10774,30.6 +O-10775,46.2 +O-10776,36.7 +O-10777,15.2 +O-10778,31.4 +O-10779,39.0 +O-10780,46.3 +O-10781,30.4 +O-10782,57.5 +O-10783,15.6 +O-10784,51.0 +O-10785,29.9 +O-10786,58.8 +O-10787,55.3 +O-10788,20.5 +O-10789,24.0 +O-10790,21.4 +O-10791,30.1 +O-10792,37.0 +O-10793,40.2 +O-10794,24.3 +O-10795,44.5 +O-10796,17.9 +O-10797,41.5 +O-10798,21.8 +O-10799,37.6 +O-10800,53.1 +O-10801,17.3 +O-10802,25.2 +O-10803,24.0 +O-10804,25.3 +O-10805,51.2 +O-10806,39.4 +O-10807,25.1 +O-10808,27.2 +O-10809,37.4 +O-10810,28.8 +O-10811,71.8 +O-10812,37.7 +O-10813,33.6 +O-10814,29.1 +O-10815,61.0 +O-10816,20.7 +O-10817,22.3 +O-10818,16.0 +O-10819,41.9 +O-10820,25.2 +O-10821,43.9 +O-10822,23.4 +O-10823,13.0 +O-10824,59.3 +O-10825,29.8 +O-10826,79.3 +O-10827,39.3 +O-10828,16.1 +O-10829,59.8 +O-10830,21.9 +O-10831,24.5 +O-10832,17.0 +O-10833,13.5 +O-10834,14.6 +O-10835,27.6 +O-10836,22.2 +O-10837,36.8 +O-10838,45.8 +O-10839,26.1 +O-10840,24.1 +O-10841,27.1 +O-10842,45.8 +O-10843,14.1 +O-10844,23.3 +O-10845,77.8 +O-10846,73.6 +O-10847,84.1 +O-10848,20.3 +O-10849,52.2 +O-10850,31.9 +O-10851,39.9 +O-10852,62.6 +O-10853,14.7 +O-10854,12.7 +O-10855,23.2 +O-10856,44.0 +O-10857,28.4 +O-10858,68.0 +O-10859,35.7 +O-10860,22.7 +O-10861,32.7 +O-10862,23.6 +O-10863,18.4 +O-10864,39.3 +O-10865,24.9 +O-10866,36.8 +O-10867,45.0 +O-10868,39.4 +O-10869,34.3 +O-10870,17.2 +O-10871,20.7 +O-10872,38.1 +O-10873,12.4 +O-10874,41.3 +O-10875,25.4 +O-10876,30.3 +O-10877,28.4 +O-10878,30.5 +O-10879,28.4 +O-10880,32.2 +O-10881,53.0 +O-10882,27.8 +O-10883,21.3 +O-10884,64.1 +O-10885,20.4 +O-10886,49.1 +O-10887,51.5 +O-10888,44.7 +O-10889,34.0 +O-10890,30.6 +O-10891,23.4 +O-10892,16.8 +O-10893,22.4 +O-10894,11.6 +O-10895,30.9 +O-10896,23.8 +O-10897,50.9 +O-10898,40.1 +O-10899,32.9 +O-10900,50.1 +O-10901,15.1 +O-10902,23.1 +O-10903,26.6 +O-10904,73.5 +O-10905,53.8 +O-10906,12.2 +O-10907,22.1 +O-10908,53.9 +O-10909,54.1 +O-10910,34.6 +O-10911,13.9 +O-10912,19.2 +O-10913,24.0 +O-10914,49.7 +O-10915,30.9 +O-10916,42.4 +O-10917,37.3 +O-10918,18.0 +O-10919,34.3 +O-10920,20.8 +O-10921,60.0 +O-10922,36.8 +O-10923,40.5 +O-10924,66.7 +O-10925,64.5 +O-10926,17.1 +O-10927,56.0 +O-10928,14.3 +O-10929,29.1 +O-10930,40.6 +O-10931,39.6 +O-10932,50.6 +O-10933,44.8 +O-10934,49.4 +O-10935,40.6 +O-10936,23.2 +O-10937,61.7 +O-10938,36.0 +O-10939,15.5 +O-10940,25.8 +O-10941,18.5 +O-10942,27.5 +O-10943,62.9 +O-10944,19.5 +O-10945,40.3 +O-10946,40.0 +O-10947,26.0 +O-10948,16.6 +O-10949,32.9 +O-10950,29.7 +O-10951,14.6 +O-10952,47.5 +O-10953,31.7 +O-10954,48.7 +O-10955,20.1 +O-10956,15.2 +O-10957,22.8 +O-10958,14.2 +O-10959,28.8 +O-10960,27.4 +O-10961,64.3 +O-10962,29.1 +O-10963,22.0 +O-10964,18.0 +O-10965,119.3 +O-10966,30.6 +O-10967,17.2 +O-10968,35.2 +O-10969,31.7 +O-10970,49.6 +O-10971,59.6 +O-10972,32.3 +O-10973,43.3 +O-10974,30.2 +O-10975,44.1 +O-10976,57.5 +O-10977,31.5 +O-10978,25.9 +O-10979,41.4 +O-10980,25.3 +O-10981,26.9 +O-10982,26.2 +O-10983,21.5 +O-10984,26.4 +O-10985,25.9 +O-10986,36.2 +O-10987,29.1 +O-10988,23.6 +O-10989,14.2 +O-10990,57.3 +O-10991,30.1 +O-10992,23.4 +O-10993,28.0 +O-10994,44.1 +O-10995,23.5 +O-10996,46.3 +O-10997,15.9 +O-10998,43.9 +O-10999,36.6 +O-11000,42.4 +O-11001,69.7 +O-11002,15.5 +O-11003,24.2 +O-11004,58.4 +O-11005,27.3 +O-11006,22.8 +O-11007,35.9 +O-11008,32.7 +O-11009,37.3 +O-11010,50.8 +O-11011,23.5 +O-11012,19.8 +O-11013,28.0 +O-11014,28.1 +O-11015,22.6 +O-11016,17.6 +O-11017,33.3 +O-11018,25.4 +O-11019,20.7 +O-11020,26.4 +O-11021,20.1 +O-11022,19.8 +O-11023,44.7 +O-11024,69.0 +O-11025,27.1 +O-11026,39.0 +O-11027,42.6 +O-11028,56.9 +O-11029,13.1 +O-11030,18.2 +O-11031,68.0 +O-11032,29.5 +O-11033,23.0 +O-11034,36.7 +O-11035,38.8 +O-11036,29.6 +O-11037,42.3 +O-11038,38.3 +O-11039,39.5 +O-11040,37.7 +O-11041,13.4 +O-11042,26.2 +O-11043,55.5 +O-11044,40.9 +O-11045,27.7 +O-11046,64.2 +O-11047,21.9 +O-11048,47.1 +O-11049,23.7 +O-11050,33.8 +O-11051,28.3 +O-11052,49.5 +O-11053,33.0 +O-11054,21.5 +O-11055,21.1 +O-11056,31.8 +O-11057,21.7 +O-11058,47.5 +O-11059,33.7 +O-11060,27.6 +O-11061,71.2 +O-11062,18.3 +O-11063,48.4 +O-11064,14.5 +O-11065,22.0 +O-11066,31.3 +O-11067,17.2 +O-11068,19.8 +O-11069,48.5 +O-11070,31.9 +O-11071,32.6 +O-11072,23.0 +O-11073,31.3 +O-11074,44.4 +O-11075,30.8 +O-11076,47.1 +O-11077,55.0 +O-11078,36.2 +O-11079,16.0 +O-11080,17.6 +O-11081,39.6 +O-11082,22.8 +O-11083,31.8 +O-11084,42.4 +O-11085,38.3 +O-11086,24.7 +O-11087,19.3 +O-11088,38.1 +O-11089,26.9 +O-11090,62.7 +O-11091,22.5 +O-11092,17.2 +O-11093,21.7 +O-11094,54.5 +O-11095,66.2 +O-11096,35.8 +O-11097,78.1 +O-11098,26.2 +O-11099,39.1 +O-11100,63.2 +O-11101,22.5 +O-11102,37.8 +O-11103,35.5 +O-11104,19.5 +O-11105,29.0 +O-11106,30.4 +O-11107,31.8 +O-11108,33.9 +O-11109,35.2 +O-11110,25.7 +O-11111,29.1 +O-11112,23.6 +O-11113,28.7 +O-11114,33.7 +O-11115,17.4 +O-11116,29.2 +O-11117,33.7 +O-11118,39.2 +O-11119,25.1 +O-11120,71.6 +O-11121,15.7 +O-11122,33.6 +O-11123,31.3 +O-11124,73.2 +O-11125,42.5 +O-11126,24.4 +O-11127,35.4 +O-11128,40.2 +O-11129,56.7 +O-11130,29.5 +O-11131,40.7 +O-11132,36.7 +O-11133,43.5 +O-11134,26.3 +O-11135,51.5 +O-11136,23.8 +O-11137,40.1 +O-11138,17.5 +O-11139,62.1 +O-11140,19.8 +O-11141,24.2 +O-11142,18.5 +O-11143,37.2 +O-11144,15.2 +O-11145,30.6 +O-11146,29.2 +O-11147,30.2 +O-11148,55.8 +O-11149,29.9 +O-11150,80.1 +O-11151,45.5 +O-11152,49.1 +O-11153,55.6 +O-11154,24.0 +O-11155,22.0 +O-11156,33.0 +O-11157,11.7 +O-11158,22.3 +O-11159,23.4 +O-11160,51.4 +O-11161,34.2 +O-11162,14.9 +O-11163,25.0 +O-11164,15.2 +O-11165,9.9 +O-11166,19.1 +O-11167,37.0 +O-11168,48.5 +O-11169,34.2 +O-11170,23.0 +O-11171,25.9 +O-11172,86.4 +O-11173,35.0 +O-11174,25.5 +O-11175,18.8 +O-11176,61.4 +O-11177,39.1 +O-11178,28.3 +O-11179,37.2 +O-11180,48.0 +O-11181,27.8 +O-11182,23.2 +O-11183,76.2 +O-11184,8.7 +O-11185,39.3 +O-11186,18.1 +O-11187,80.4 +O-11188,14.8 +O-11189,27.0 +O-11190,13.7 +O-11191,38.2 +O-11192,33.9 +O-11193,38.9 +O-11194,39.8 +O-11195,46.1 +O-11196,27.1 +O-11197,34.3 +O-11198,42.0 +O-11199,32.3 +O-11200,51.9 +O-11201,32.8 +O-11202,39.9 +O-11203,22.1 +O-11204,42.4 +O-11205,28.3 +O-11206,65.2 +O-11207,48.5 +O-11208,50.1 +O-11209,28.9 +O-11210,22.1 +O-11211,38.3 +O-11212,31.5 +O-11213,61.8 +O-11214,37.9 +O-11215,35.5 +O-11216,146.2 +O-11217,48.6 +O-11218,30.8 +O-11219,39.8 +O-11220,26.7 +O-11221,42.3 +O-11222,32.3 +O-11223,13.2 +O-11224,9.7 +O-11225,42.1 +O-11226,36.9 +O-11227,31.6 +O-11228,70.6 +O-11229,24.4 +O-11230,23.1 +O-11231,35.4 +O-11232,17.0 +O-11233,57.5 +O-11234,48.7 +O-11235,52.7 +O-11236,34.6 +O-11237,15.4 +O-11238,39.0 +O-11239,39.0 +O-11240,56.0 +O-11241,24.8 +O-11242,49.9 +O-11243,15.6 +O-11244,40.1 +O-11245,24.4 +O-11246,39.8 +O-11247,24.8 +O-11248,45.3 +O-11249,80.4 +O-11250,59.1 +O-11251,59.6 +O-11252,59.0 +O-11253,43.9 +O-11254,76.5 +O-11255,11.0 +O-11256,13.3 +O-11257,18.0 +O-11258,17.4 +O-11259,14.0 +O-11260,30.1 +O-11261,17.0 +O-11262,51.8 +O-11263,29.7 +O-11264,33.0 +O-11265,14.5 +O-11266,33.7 +O-11267,65.4 +O-11268,43.4 +O-11269,18.6 +O-11270,37.7 +O-11271,45.2 +O-11272,39.9 +O-11273,36.7 +O-11274,36.4 +O-11275,27.1 +O-11276,42.1 +O-11277,28.0 +O-11278,41.7 +O-11279,21.5 +O-11280,28.4 +O-11281,27.7 +O-11282,17.6 +O-11283,59.3 +O-11284,36.3 +O-11285,44.3 +O-11286,29.1 +O-11287,23.1 +O-11288,29.4 +O-11289,33.0 +O-11290,49.1 +O-11291,48.1 +O-11292,15.9 +O-11293,12.0 +O-11294,35.8 +O-11295,39.7 +O-11296,41.9 +O-11297,18.7 +O-11298,46.6 +O-11299,32.7 +O-11300,34.0 +O-11301,36.5 +O-11302,12.8 +O-11303,42.4 +O-11304,56.2 +O-11305,84.8 +O-11306,34.2 +O-11307,28.6 +O-11308,41.4 +O-11309,55.5 +O-11310,45.7 +O-11311,18.5 +O-11312,36.1 +O-11313,30.5 +O-11314,47.0 +O-11315,39.4 +O-11316,55.3 +O-11317,45.3 +O-11318,45.7 +O-11319,48.5 +O-11320,30.0 +O-11321,43.5 +O-11322,13.9 +O-11323,32.2 +O-11324,37.7 +O-11325,23.4 +O-11326,14.3 +O-11327,40.5 +O-11328,26.4 +O-11329,30.1 +O-11330,23.4 +O-11331,69.7 +O-11332,39.3 +O-11333,31.2 +O-11334,41.0 +O-11335,41.7 +O-11336,25.2 +O-11337,17.2 +O-11338,32.1 +O-11339,29.0 +O-11340,41.9 +O-11341,52.2 +O-11342,14.6 +O-11343,52.0 +O-11344,16.2 +O-11345,28.6 +O-11346,47.7 +O-11347,21.9 +O-11348,36.6 +O-11349,44.7 +O-11350,62.4 +O-11351,10.2 +O-11352,34.5 +O-11353,67.5 +O-11354,19.2 +O-11355,34.3 +O-11356,35.8 +O-11357,55.2 +O-11358,27.9 +O-11359,49.0 +O-11360,31.5 +O-11361,42.6 +O-11362,25.0 +O-11363,51.2 +O-11364,13.8 +O-11365,45.8 +O-11366,44.5 +O-11367,64.6 +O-11368,16.2 +O-11369,77.0 +O-11370,16.4 +O-11371,16.8 +O-11372,35.7 +O-11373,36.4 +O-11374,100.1 +O-11375,15.9 +O-11376,30.3 +O-11377,21.8 +O-11378,44.2 +O-11379,22.5 +O-11380,22.0 +O-11381,22.7 +O-11382,36.3 +O-11383,30.1 +O-11384,15.9 +O-11385,45.4 +O-11386,15.5 +O-11387,31.6 +O-11388,22.0 +O-11389,40.5 +O-11390,69.5 +O-11391,15.4 +O-11392,17.4 +O-11393,41.2 +O-11394,27.6 +O-11395,28.1 +O-11396,57.0 +O-11397,24.1 +O-11398,79.3 +O-11399,58.0 +O-11400,22.9 +O-11401,28.3 +O-11402,32.4 +O-11403,37.0 +O-11404,35.2 +O-11405,26.5 +O-11406,21.4 +O-11407,24.4 +O-11408,28.3 +O-11409,21.2 +O-11410,26.5 +O-11411,16.5 +O-11412,31.4 +O-11413,32.5 +O-11414,49.6 +O-11415,26.5 +O-11416,55.9 +O-11417,40.2 +O-11418,25.4 +O-11419,52.1 +O-11420,34.7 +O-11421,62.9 +O-11422,42.3 +O-11423,55.3 +O-11424,50.4 +O-11425,47.7 +O-11426,12.4 +O-11427,22.1 +O-11428,22.6 +O-11429,21.1 +O-11430,19.9 +O-11431,50.0 +O-11432,20.3 +O-11433,33.7 +O-11434,32.7 +O-11435,45.5 +O-11436,23.8 +O-11437,28.0 +O-11438,15.4 +O-11439,20.0 +O-11440,23.8 +O-11441,51.1 +O-11442,34.7 +O-11443,25.1 +O-11444,54.6 +O-11445,30.9 +O-11446,17.0 +O-11447,25.5 +O-11448,20.0 +O-11449,37.3 +O-11450,66.2 +O-11451,19.4 +O-11452,24.5 +O-11453,31.1 +O-11454,61.1 +O-11455,18.1 +O-11456,56.2 +O-11457,25.3 +O-11458,31.9 +O-11459,20.3 +O-11460,49.3 +O-11461,45.0 +O-11462,62.0 +O-11463,32.1 +O-11464,77.8 +O-11465,52.9 +O-11466,28.7 +O-11467,62.2 +O-11468,18.4 +O-11469,32.6 +O-11470,26.4 +O-11471,22.5 +O-11472,21.1 +O-11473,49.5 +O-11474,61.2 +O-11475,28.7 +O-11476,18.1 +O-11477,15.4 +O-11478,22.7 +O-11479,69.5 +O-11480,16.4 +O-11481,22.8 +O-11482,15.8 +O-11483,13.5 +O-11484,53.7 +O-11485,55.2 +O-11486,18.4 +O-11487,19.5 +O-11488,26.7 +O-11489,33.2 +O-11490,33.0 +O-11491,50.8 +O-11492,31.2 +O-11493,28.4 +O-11494,58.1 +O-11495,18.3 +O-11496,33.2 +O-11497,85.3 +O-11498,23.9 +O-11499,33.8 +O-11500,27.0 +O-11501,46.2 +O-11502,32.8 +O-11503,25.4 +O-11504,19.8 +O-11505,27.3 +O-11506,40.5 +O-11507,48.6 +O-11508,49.5 +O-11509,16.5 +O-11510,38.6 +O-11511,28.1 +O-11512,12.3 +O-11513,52.6 +O-11514,52.1 +O-11515,18.0 +O-11516,24.0 +O-11517,14.5 +O-11518,23.8 +O-11519,37.2 +O-11520,37.1 +O-11521,25.9 +O-11522,21.7 +O-11523,29.9 +O-11524,25.2 +O-11525,24.2 +O-11526,34.3 +O-11527,33.9 +O-11528,31.7 +O-11529,37.7 +O-11530,37.2 +O-11531,25.6 +O-11532,33.5 +O-11533,22.6 +O-11534,25.3 +O-11535,43.8 +O-11536,40.3 +O-11537,24.6 +O-11538,36.0 +O-11539,44.1 +O-11540,17.7 +O-11541,28.7 +O-11542,23.2 +O-11543,19.7 +O-11544,34.9 +O-11545,22.6 +O-11546,38.2 +O-11547,30.3 +O-11548,82.2 +O-11549,18.8 +O-11550,46.9 +O-11551,53.9 +O-11552,49.0 +O-11553,24.6 +O-11554,29.4 +O-11555,17.6 +O-11556,27.5 +O-11557,15.3 +O-11558,22.5 +O-11559,40.4 +O-11560,61.1 +O-11561,28.4 +O-11562,31.1 +O-11563,21.0 +O-11564,13.9 +O-11565,16.0 +O-11566,61.7 +O-11567,23.8 +O-11568,23.3 +O-11569,39.9 +O-11570,31.7 +O-11571,43.1 +O-11572,11.7 +O-11573,21.0 +O-11574,21.5 +O-11575,18.9 +O-11576,29.7 +O-11577,18.2 +O-11578,22.7 +O-11579,38.7 +O-11580,39.6 +O-11581,21.4 +O-11582,13.1 +O-11583,19.3 +O-11584,28.6 +O-11585,39.4 +O-11586,40.7 +O-11587,37.4 +O-11588,17.0 +O-11589,42.1 +O-11590,25.8 +O-11591,24.7 +O-11592,31.7 +O-11593,36.7 +O-11594,37.3 +O-11595,32.0 +O-11596,45.8 +O-11597,22.2 +O-11598,66.5 +O-11599,18.4 +O-11600,14.1 +O-11601,35.9 +O-11602,28.9 +O-11603,24.1 +O-11604,37.6 +O-11605,33.2 +O-11606,23.1 +O-11607,37.3 +O-11608,23.9 +O-11609,18.8 +O-11610,31.6 +O-11611,13.9 +O-11612,16.2 +O-11613,28.6 +O-11614,29.6 +O-11615,36.0 +O-11616,28.5 +O-11617,15.0 +O-11618,20.8 +O-11619,14.9 +O-11620,31.6 +O-11621,43.1 +O-11622,18.3 +O-11623,19.4 +O-11624,61.9 +O-11625,24.0 +O-11626,21.8 +O-11627,20.1 +O-11628,15.7 +O-11629,15.7 +O-11630,27.1 +O-11631,44.1 +O-11632,12.8 +O-11633,32.4 +O-11634,22.6 +O-11635,24.8 +O-11636,48.5 +O-11637,67.4 +O-11638,22.2 +O-11639,27.9 +O-11640,12.1 +O-11641,26.4 +O-11642,15.6 +O-11643,50.3 +O-11644,18.4 +O-11645,41.0 +O-11646,14.8 +O-11647,44.0 +O-11648,33.1 +O-11649,39.7 +O-11650,40.3 +O-11651,28.2 +O-11652,17.7 +O-11653,26.3 +O-11654,41.7 +O-11655,23.3 +O-11656,28.6 +O-11657,70.8 +O-11658,28.5 +O-11659,35.9 +O-11660,20.9 +O-11661,41.0 +O-11662,42.0 +O-11663,41.1 +O-11664,40.8 +O-11665,45.2 +O-11666,32.1 +O-11667,21.6 +O-11668,21.2 +O-11669,36.0 +O-11670,38.0 +O-11671,47.0 +O-11672,34.6 +O-11673,65.9 +O-11674,51.2 +O-11675,19.5 +O-11676,29.6 +O-11677,50.4 +O-11678,64.2 +O-11679,43.8 +O-11680,20.5 +O-11681,31.3 +O-11682,15.0 +O-11683,37.4 +O-11684,25.4 +O-11685,30.0 +O-11686,69.4 +O-11687,14.0 +O-11688,61.5 +O-11689,27.2 +O-11690,28.8 +O-11691,45.9 +O-11692,16.0 +O-11693,38.5 +O-11694,26.4 +O-11695,14.4 +O-11696,23.7 +O-11697,31.1 +O-11698,35.6 +O-11699,20.8 +O-11700,50.5 +O-11701,66.2 +O-11702,28.1 +O-11703,61.5 +O-11704,21.3 +O-11705,53.6 +O-11706,17.9 +O-11707,56.6 +O-11708,54.0 +O-11709,21.2 +O-11710,35.1 +O-11711,56.3 +O-11712,42.9 +O-11713,15.6 +O-11714,29.2 +O-11715,37.0 +O-11716,22.3 +O-11717,70.1 +O-11718,75.7 +O-11719,35.6 +O-11720,21.1 +O-11721,27.0 +O-11722,34.1 +O-11723,17.6 +O-11724,31.7 +O-11725,29.7 +O-11726,36.5 +O-11727,15.0 +O-11728,28.1 +O-11729,16.9 +O-11730,40.3 +O-11731,67.7 +O-11732,32.0 +O-11733,20.5 +O-11734,44.0 +O-11735,33.5 +O-11736,25.7 +O-11737,17.1 +O-11738,39.0 +O-11739,42.7 +O-11740,52.5 +O-11741,35.8 +O-11742,15.7 +O-11743,24.6 +O-11744,40.2 +O-11745,16.7 +O-11746,18.3 +O-11747,24.2 +O-11748,44.4 +O-11749,10.8 +O-11750,35.1 +O-11751,30.3 +O-11752,20.7 +O-11753,60.0 +O-11754,29.4 +O-11755,18.9 +O-11756,30.4 +O-11757,78.3 +O-11758,42.6 +O-11759,27.9 +O-11760,42.1 +O-11761,18.8 +O-11762,34.5 +O-11763,20.5 +O-11764,44.6 +O-11765,29.3 +O-11766,74.2 +O-11767,51.2 +O-11768,34.7 +O-11769,52.7 +O-11770,52.0 +O-11771,58.0 +O-11772,60.7 +O-11773,19.9 +O-11774,52.9 +O-11775,30.8 +O-11776,30.1 +O-11777,31.0 +O-11778,23.0 +O-11779,28.7 +O-11780,17.1 +O-11781,38.0 +O-11782,34.4 +O-11783,30.9 +O-11784,18.7 +O-11785,68.9 +O-11786,41.6 +O-11787,24.0 +O-11788,24.7 +O-11789,53.2 +O-11790,25.0 +O-11791,60.5 +O-11792,44.1 +O-11793,31.0 +O-11794,29.4 +O-11795,46.1 +O-11796,55.4 +O-11797,18.7 +O-11798,41.3 +O-11799,34.1 +O-11800,31.8 +O-11801,14.8 +O-11802,37.6 +O-11803,23.5 +O-11804,15.2 +O-11805,25.3 +O-11806,36.9 +O-11807,36.7 +O-11808,34.1 +O-11809,17.6 +O-11810,37.6 +O-11811,73.9 +O-11812,28.5 +O-11813,34.2 +O-11814,53.0 +O-11815,23.4 +O-11816,25.0 +O-11817,21.2 +O-11818,53.8 +O-11819,46.3 +O-11820,22.9 +O-11821,44.7 +O-11822,43.4 +O-11823,15.1 +O-11824,39.6 +O-11825,46.6 +O-11826,82.3 +O-11827,50.4 +O-11828,13.2 +O-11829,27.7 +O-11830,31.2 +O-11831,19.7 +O-11832,48.3 +O-11833,28.6 +O-11834,34.2 +O-11835,31.7 +O-11836,55.5 +O-11837,30.1 +O-11838,25.6 +O-11839,35.8 +O-11840,23.0 +O-11841,47.2 +O-11842,30.8 +O-11843,10.1 +O-11844,22.6 +O-11845,35.6 +O-11846,40.5 +O-11847,17.6 +O-11848,20.8 +O-11849,29.1 +O-11850,11.0 +O-11851,30.2 +O-11852,25.9 +O-11853,38.1 +O-11854,35.7 +O-11855,20.0 +O-11856,28.9 +O-11857,49.7 +O-11858,57.5 +O-11859,41.5 +O-11860,44.3 +O-11861,51.2 +O-11862,31.9 +O-11863,20.1 +O-11864,31.5 +O-11865,45.4 +O-11866,16.7 +O-11867,36.6 +O-11868,46.4 +O-11869,16.1 +O-11870,21.3 +O-11871,31.8 +O-11872,44.3 +O-11873,42.6 +O-11874,31.1 +O-11875,34.6 +O-11876,16.3 +O-11877,34.2 +O-11878,27.0 +O-11879,26.2 +O-11880,18.6 +O-11881,43.2 +O-11882,30.3 +O-11883,32.1 +O-11884,41.0 +O-11885,44.6 +O-11886,24.0 +O-11887,49.6 +O-11888,33.0 +O-11889,47.3 +O-11890,21.9 +O-11891,22.3 +O-11892,13.7 +O-11893,61.8 +O-11894,27.2 +O-11895,26.9 +O-11896,29.7 +O-11897,51.6 +O-11898,32.9 +O-11899,26.5 +O-11900,40.6 +O-11901,18.2 +O-11902,25.8 +O-11903,28.2 +O-11904,24.3 +O-11905,32.8 +O-11906,57.8 +O-11907,19.8 +O-11908,28.7 +O-11909,26.5 +O-11910,40.4 +O-11911,47.1 +O-11912,57.9 +O-11913,30.0 +O-11914,13.3 +O-11915,26.7 +O-11916,57.4 +O-11917,38.1 +O-11918,15.8 +O-11919,28.3 +O-11920,27.2 +O-11921,25.3 +O-11922,22.8 +O-11923,36.5 +O-11924,26.1 +O-11925,27.8 +O-11926,24.8 +O-11927,70.0 +O-11928,37.3 +O-11929,26.4 +O-11930,38.3 +O-11931,38.4 +O-11932,58.0 +O-11933,19.1 +O-11934,21.6 +O-11935,26.3 +O-11936,27.9 +O-11937,15.7 +O-11938,46.1 +O-11939,43.0 +O-11940,42.2 +O-11941,59.7 +O-11942,23.2 +O-11943,18.1 +O-11944,26.0 +O-11945,46.9 +O-11946,33.4 +O-11947,20.2 +O-11948,45.6 +O-11949,32.7 +O-11950,16.3 +O-11951,50.0 +O-11952,20.4 +O-11953,31.0 +O-11954,17.3 +O-11955,40.9 +O-11956,36.2 +O-11957,46.6 +O-11958,55.7 +O-11959,35.5 +O-11960,17.2 +O-11961,19.8 +O-11962,26.1 +O-11963,43.9 +O-11964,62.4 +O-11965,16.8 +O-11966,68.1 +O-11967,45.9 +O-11968,35.5 +O-11969,13.3 +O-11970,53.5 +O-11971,63.1 +O-11972,36.0 +O-11973,24.9 +O-11974,52.6 +O-11975,41.4 +O-11976,16.1 +O-11977,42.1 +O-11978,31.7 +O-11979,21.1 +O-11980,36.3 +O-11981,39.5 +O-11982,16.0 +O-11983,29.8 +O-11984,32.6 +O-11985,82.7 +O-11986,33.5 +O-11987,36.1 +O-11988,41.0 +O-11989,32.1 +O-11990,43.3 +O-11991,18.0 +O-11992,11.9 +O-11993,39.3 +O-11994,96.0 +O-11995,46.3 +O-11996,55.2 +O-11997,22.2 +O-11998,15.1 +O-11999,60.7 +O-12000,17.7 +O-12001,29.4 +O-12002,31.7 +O-12003,27.0 +O-12004,25.1 +O-12005,26.3 +O-12006,21.6 +O-12007,61.1 +O-12008,48.4 +O-12009,21.4 +O-12010,40.0 +O-12011,33.3 +O-12012,44.9 +O-12013,26.6 +O-12014,71.7 +O-12015,31.5 +O-12016,36.4 +O-12017,18.4 +O-12018,33.0 +O-12019,36.5 +O-12020,27.1 +O-12021,29.8 +O-12022,50.1 +O-12023,30.6 +O-12024,34.4 +O-12025,33.2 +O-12026,22.8 +O-12027,22.3 +O-12028,42.0 +O-12029,52.4 +O-12030,55.9 +O-12031,25.9 +O-12032,42.1 +O-12033,42.7 +O-12034,18.9 +O-12035,40.3 +O-12036,37.0 +O-12037,58.1 +O-12038,95.9 +O-12039,32.2 +O-12040,16.4 +O-12041,22.4 +O-12042,26.8 +O-12043,53.6 +O-12044,32.2 +O-12045,65.4 +O-12046,28.2 +O-12047,56.6 +O-12048,36.5 +O-12049,15.6 +O-12050,19.1 +O-12051,26.9 +O-12052,51.0 +O-12053,54.3 +O-12054,39.2 +O-12055,59.2 +O-12056,49.1 +O-12057,54.3 +O-12058,42.2 +O-12059,23.9 +O-12060,22.4 +O-12061,37.7 +O-12062,31.9 +O-12063,15.9 +O-12064,26.4 +O-12065,38.2 +O-12066,43.9 +O-12067,17.1 +O-12068,29.7 +O-12069,27.3 +O-12070,31.3 +O-12071,20.9 +O-12072,31.0 +O-12073,19.2 +O-12074,37.3 +O-12075,23.3 +O-12076,53.5 +O-12077,34.5 +O-12078,37.4 +O-12079,47.5 +O-12080,28.0 +O-12081,17.8 +O-12082,19.4 +O-12083,41.1 +O-12084,53.0 +O-12085,31.8 +O-12086,30.9 +O-12087,18.5 +O-12088,28.6 +O-12089,61.2 +O-12090,27.4 +O-12091,22.9 +O-12092,38.0 +O-12093,18.4 +O-12094,61.2 +O-12095,29.9 +O-12096,33.9 +O-12097,44.6 +O-12098,32.4 +O-12099,53.0 +O-12100,29.2 +O-12101,33.0 +O-12102,49.3 +O-12103,21.7 +O-12104,43.9 +O-12105,77.0 +O-12106,31.9 +O-12107,31.7 +O-12108,14.4 +O-12109,20.2 +O-12110,24.4 +O-12111,19.6 +O-12112,12.3 +O-12113,42.5 +O-12114,25.7 +O-12115,25.2 +O-12116,23.0 +O-12117,42.5 +O-12118,50.6 +O-12119,51.5 +O-12120,10.0 +O-12121,24.6 +O-12122,34.8 +O-12123,26.7 +O-12124,49.0 +O-12125,27.2 +O-12126,36.5 +O-12127,25.0 +O-12128,85.8 +O-12129,84.4 +O-12130,37.2 +O-12131,23.7 +O-12132,34.7 +O-12133,34.0 +O-12134,24.4 +O-12135,42.9 +O-12136,12.6 +O-12137,49.9 +O-12138,34.1 +O-12139,34.1 +O-12140,31.7 +O-12141,33.1 +O-12142,33.1 +O-12143,18.4 +O-12144,48.5 +O-12145,26.4 +O-12146,20.9 +O-12147,42.3 +O-12148,54.7 +O-12149,25.6 +O-12150,21.6 +O-12151,49.9 +O-12152,35.0 +O-12153,22.0 +O-12154,29.6 +O-12155,23.6 +O-12156,17.1 +O-12157,33.9 +O-12158,35.1 +O-12159,31.8 +O-12160,73.8 +O-12161,24.0 +O-12162,23.2 +O-12163,29.9 +O-12164,26.4 +O-12165,24.6 +O-12166,40.1 +O-12167,27.3 +O-12168,22.3 +O-12169,58.3 +O-12170,37.9 +O-12171,27.8 +O-12172,15.9 +O-12173,73.6 +O-12174,41.9 +O-12175,43.4 +O-12176,30.9 +O-12177,18.6 +O-12178,27.5 +O-12179,10.3 +O-12180,20.4 +O-12181,34.8 +O-12182,17.7 +O-12183,27.2 +O-12184,78.4 +O-12185,14.1 +O-12186,32.0 +O-12187,28.1 +O-12188,30.6 +O-12189,30.4 +O-12190,35.8 +O-12191,10.1 +O-12192,57.0 +O-12193,22.0 +O-12194,26.9 +O-12195,24.5 +O-12196,38.5 +O-12197,32.6 +O-12198,34.6 +O-12199,26.9 +O-12200,72.0 +O-12201,15.0 +O-12202,28.6 +O-12203,38.3 +O-12204,34.0 +O-12205,19.1 +O-12206,32.5 +O-12207,25.5 +O-12208,23.4 +O-12209,76.5 +O-12210,19.2 +O-12211,44.4 +O-12212,17.9 +O-12213,112.7 +O-12214,34.4 +O-12215,35.9 +O-12216,21.3 +O-12217,25.9 +O-12218,26.6 +O-12219,13.8 +O-12220,20.7 +O-12221,42.8 +O-12222,81.2 +O-12223,18.9 +O-12224,55.4 +O-12225,36.2 +O-12226,19.9 +O-12227,11.2 +O-12228,15.8 +O-12229,38.4 +O-12230,38.1 +O-12231,33.7 +O-12232,30.7 +O-12233,31.3 +O-12234,41.1 +O-12235,21.3 +O-12236,40.3 +O-12237,103.9 +O-12238,55.8 +O-12239,63.1 +O-12240,24.2 +O-12241,26.6 +O-12242,20.2 +O-12243,21.9 +O-12244,29.9 +O-12245,58.6 +O-12246,52.8 +O-12247,14.6 +O-12248,56.1 +O-12249,34.1 +O-12250,56.7 +O-12251,38.0 +O-12252,38.7 +O-12253,16.5 +O-12254,21.9 +O-12255,36.4 +O-12256,69.6 +O-12257,20.2 +O-12258,38.1 +O-12259,14.8 +O-12260,36.9 +O-12261,15.7 +O-12262,23.8 +O-12263,37.2 +O-12264,27.1 +O-12265,17.9 +O-12266,35.6 +O-12267,22.9 +O-12268,44.0 +O-12269,29.8 +O-12270,43.0 +O-12271,14.9 +O-12272,21.7 +O-12273,16.6 +O-12274,35.4 +O-12275,26.9 +O-12276,28.8 +O-12277,65.6 +O-12278,19.1 +O-12279,63.9 +O-12280,31.0 +O-12281,47.5 +O-12282,32.2 +O-12283,43.3 +O-12284,41.3 +O-12285,44.5 +O-12286,21.8 +O-12287,28.1 +O-12288,19.7 +O-12289,28.7 +O-12290,35.5 +O-12291,23.7 +O-12292,32.4 +O-12293,27.6 +O-12294,47.9 +O-12295,35.1 +O-12296,41.6 +O-12297,27.4 +O-12298,42.9 +O-12299,21.9 +O-12300,17.7 +O-12301,18.2 +O-12302,38.1 +O-12303,38.9 +O-12304,41.3 +O-12305,31.2 +O-12306,23.8 +O-12307,19.1 +O-12308,30.9 +O-12309,38.6 +O-12310,22.0 +O-12311,20.8 +O-12312,22.3 +O-12313,15.1 +O-12314,20.8 +O-12315,20.8 +O-12316,39.1 +O-12317,23.4 +O-12318,12.7 +O-12319,77.6 +O-12320,35.4 +O-12321,14.4 +O-12322,33.8 +O-12323,34.4 +O-12324,17.3 +O-12325,62.0 +O-12326,26.3 +O-12327,30.3 +O-12328,75.1 +O-12329,20.9 +O-12330,46.1 +O-12331,32.5 +O-12332,69.9 +O-12333,54.1 +O-12334,45.2 +O-12335,13.3 +O-12336,25.7 +O-12337,44.5 +O-12338,35.7 +O-12339,30.3 +O-12340,32.5 +O-12341,34.0 +O-12342,14.1 +O-12343,72.3 +O-12344,27.3 +O-12345,40.2 +O-12346,41.7 +O-12347,30.2 +O-12348,33.9 +O-12349,60.6 +O-12350,51.7 +O-12351,30.1 +O-12352,17.5 +O-12353,33.6 +O-12354,41.2 +O-12355,32.5 +O-12356,20.4 +O-12357,41.4 +O-12358,21.9 +O-12359,18.1 +O-12360,40.3 +O-12361,16.5 +O-12362,21.8 +O-12363,33.5 +O-12364,42.5 +O-12365,38.6 +O-12366,21.3 +O-12367,24.6 +O-12368,48.6 +O-12369,29.7 +O-12370,26.3 +O-12371,53.9 +O-12372,24.9 +O-12373,27.4 +O-12374,56.2 +O-12375,61.2 +O-12376,11.9 +O-12377,20.0 +O-12378,67.3 +O-12379,24.9 +O-12380,50.1 +O-12381,19.6 +O-12382,36.9 +O-12383,23.2 +O-12384,25.0 +O-12385,70.2 +O-12386,20.3 +O-12387,47.1 +O-12388,42.1 +O-12389,31.4 +O-12390,46.8 +O-12391,51.4 +O-12392,25.1 +O-12393,46.8 +O-12394,34.0 +O-12395,38.4 +O-12396,22.0 +O-12397,49.7 +O-12398,27.5 +O-12399,46.0 +O-12400,26.5 +O-12401,35.4 +O-12402,61.2 +O-12403,13.2 +O-12404,52.6 +O-12405,29.1 +O-12406,71.3 +O-12407,19.7 +O-12408,17.8 +O-12409,37.5 +O-12410,52.8 +O-12411,29.6 +O-12412,45.1 +O-12413,34.2 +O-12414,35.0 +O-12415,41.0 +O-12416,50.6 +O-12417,18.4 +O-12418,31.1 +O-12419,47.4 +O-12420,25.9 +O-12421,63.3 +O-12422,26.6 +O-12423,14.3 +O-12424,18.0 +O-12425,18.5 +O-12426,27.9 +O-12427,15.5 +O-12428,47.5 +O-12429,47.1 +O-12430,52.4 +O-12431,57.2 +O-12432,41.8 +O-12433,24.5 +O-12434,19.6 +O-12435,48.8 +O-12436,33.4 +O-12437,58.8 +O-12438,18.2 +O-12439,22.6 +O-12440,34.0 +O-12441,62.1 +O-12442,25.2 +O-12443,43.2 +O-12444,18.8 +O-12445,18.8 +O-12446,23.2 +O-12447,34.7 +O-12448,27.5 +O-12449,32.4 +O-12450,75.5 +O-12451,39.1 +O-12452,30.8 +O-12453,30.4 +O-12454,66.5 +O-12455,55.1 +O-12456,20.4 +O-12457,31.1 +O-12458,16.0 +O-12459,33.7 +O-12460,25.9 +O-12461,24.4 +O-12462,37.1 +O-12463,46.6 +O-12464,46.5 +O-12465,27.2 +O-12466,34.9 +O-12467,36.9 +O-12468,19.3 +O-12469,27.3 +O-12470,99.6 +O-12471,15.4 +O-12472,18.4 +O-12473,33.6 +O-12474,32.8 +O-12475,24.0 +O-12476,69.6 +O-12477,36.8 +O-12478,27.4 +O-12479,41.4 +O-12480,52.0 +O-12481,44.7 +O-12482,44.5 +O-12483,25.4 +O-12484,45.2 +O-12485,28.9 +O-12486,24.7 +O-12487,54.8 +O-12488,19.8 +O-12489,34.6 +O-12490,54.2 +O-12491,39.3 +O-12492,23.9 +O-12493,59.6 +O-12494,44.2 +O-12495,54.1 +O-12496,24.6 +O-12497,37.5 +O-12498,36.2 +O-12499,66.4 +O-12500,28.2 +O-12501,61.6 +O-12502,21.2 +O-12503,11.7 +O-12504,36.8 +O-12505,36.8 +O-12506,67.1 +O-12507,37.4 +O-12508,17.5 +O-12509,74.6 +O-12510,13.2 +O-12511,36.9 +O-12512,42.2 +O-12513,22.1 +O-12514,24.4 +O-12515,15.2 +O-12516,19.1 +O-12517,19.0 +O-12518,34.9 +O-12519,20.7 +O-12520,28.0 +O-12521,20.5 +O-12522,43.4 +O-12523,22.2 +O-12524,38.8 +O-12525,15.5 +O-12526,38.4 +O-12527,94.9 +O-12528,25.3 +O-12529,35.3 +O-12530,71.2 +O-12531,15.4 +O-12532,25.0 +O-12533,47.4 +O-12534,40.6 +O-12535,21.3 +O-12536,19.5 +O-12537,59.7 +O-12538,28.0 +O-12539,17.9 +O-12540,41.7 +O-12541,53.7 +O-12542,34.1 +O-12543,30.0 +O-12544,27.4 +O-12545,59.6 +O-12546,38.2 +O-12547,24.9 +O-12548,49.0 +O-12549,43.9 +O-12550,71.9 +O-12551,14.1 +O-12552,14.9 +O-12553,22.3 +O-12554,31.1 +O-12555,35.0 +O-12556,23.1 +O-12557,55.9 +O-12558,44.8 +O-12559,36.5 +O-12560,19.9 +O-12561,14.2 +O-12562,28.1 +O-12563,27.7 +O-12564,19.8 +O-12565,25.5 +O-12566,35.0 +O-12567,41.4 +O-12568,44.0 +O-12569,17.6 +O-12570,51.4 +O-12571,43.8 +O-12572,33.3 +O-12573,80.1 +O-12574,22.9 +O-12575,16.7 +O-12576,45.6 +O-12577,25.5 +O-12578,64.7 +O-12579,51.0 +O-12580,52.1 +O-12581,36.2 +O-12582,30.7 +O-12583,55.5 +O-12584,19.6 +O-12585,31.9 +O-12586,38.3 +O-12587,47.4 +O-12588,33.4 +O-12589,30.7 +O-12590,69.0 +O-12591,31.1 +O-12592,28.3 +O-12593,71.7 +O-12594,25.3 +O-12595,74.1 +O-12596,83.4 +O-12597,21.2 +O-12598,36.0 +O-12599,36.5 +O-12600,21.7 +O-12601,56.4 +O-12602,19.7 +O-12603,49.4 +O-12604,22.0 +O-12605,33.7 +O-12606,48.6 +O-12607,39.8 +O-12608,41.1 +O-12609,26.9 +O-12610,16.7 +O-12611,55.4 +O-12612,33.5 +O-12613,36.4 +O-12614,54.9 +O-12615,49.3 +O-12616,24.0 +O-12617,20.9 +O-12618,33.7 +O-12619,43.5 +O-12620,29.6 +O-12621,20.3 +O-12622,71.7 +O-12623,39.0 +O-12624,27.0 +O-12625,45.1 +O-12626,30.5 +O-12627,27.0 +O-12628,19.2 +O-12629,51.9 +O-12630,50.0 +O-12631,14.6 +O-12632,45.7 +O-12633,30.7 +O-12634,36.7 +O-12635,19.3 +O-12636,27.8 +O-12637,24.9 +O-12638,20.0 +O-12639,41.9 +O-12640,24.3 +O-12641,49.4 +O-12642,33.2 +O-12643,37.0 +O-12644,37.0 +O-12645,27.6 +O-12646,87.5 +O-12647,50.0 +O-12648,17.7 +O-12649,27.4 +O-12650,15.2 +O-12651,54.5 +O-12652,31.2 +O-12653,64.3 +O-12654,24.3 +O-12655,20.5 +O-12656,32.5 +O-12657,30.4 +O-12658,35.4 +O-12659,39.0 +O-12660,52.7 +O-12661,40.4 +O-12662,20.1 +O-12663,35.2 +O-12664,36.8 +O-12665,35.2 +O-12666,38.8 +O-12667,47.7 +O-12668,44.6 +O-12669,40.0 +O-12670,19.4 +O-12671,56.9 +O-12672,48.4 +O-12673,30.1 +O-12674,55.3 +O-12675,31.9 +O-12676,32.0 +O-12677,45.6 +O-12678,31.3 +O-12679,46.5 +O-12680,55.3 +O-12681,23.4 +O-12682,69.6 +O-12683,44.2 +O-12684,39.4 +O-12685,33.9 +O-12686,29.3 +O-12687,22.8 +O-12688,42.2 +O-12689,28.1 +O-12690,31.5 +O-12691,45.0 +O-12692,35.5 +O-12693,28.6 +O-12694,21.8 +O-12695,19.8 +O-12696,24.5 +O-12697,15.8 +O-12698,54.1 +O-12699,60.8 +O-12700,14.1 +O-12701,27.4 +O-12702,27.4 +O-12703,20.4 +O-12704,26.8 +O-12705,24.4 +O-12706,51.0 +O-12707,30.5 +O-12708,35.5 +O-12709,39.1 +O-12710,40.6 +O-12711,20.4 +O-12712,41.1 +O-12713,19.5 +O-12714,47.0 +O-12715,20.4 +O-12716,22.2 +O-12717,58.4 +O-12718,42.9 +O-12719,21.3 +O-12720,19.0 +O-12721,32.1 +O-12722,40.4 +O-12723,21.7 +O-12724,22.9 +O-12725,33.3 +O-12726,34.3 +O-12727,31.2 +O-12728,43.0 +O-12729,41.3 +O-12730,41.7 +O-12731,56.5 +O-12732,30.4 +O-12733,57.2 +O-12734,49.0 +O-12735,32.0 +O-12736,35.1 +O-12737,21.7 +O-12738,23.6 +O-12739,34.8 +O-12740,30.4 +O-12741,43.9 +O-12742,51.3 +O-12743,23.5 +O-12744,18.8 +O-12745,11.1 +O-12746,19.7 +O-12747,24.6 +O-12748,45.2 +O-12749,38.3 +O-12750,39.0 +O-12751,14.8 +O-12752,32.8 +O-12753,32.8 +O-12754,18.2 +O-12755,32.5 +O-12756,16.2 +O-12757,19.0 +O-12758,18.3 +O-12759,27.3 +O-12760,58.3 +O-12761,39.2 +O-12762,29.0 +O-12763,35.1 +O-12764,21.6 +O-12765,37.4 +O-12766,35.5 +O-12767,31.7 +O-12768,12.8 +O-12769,49.2 +O-12770,25.3 +O-12771,25.1 +O-12772,69.9 +O-12773,28.1 +O-12774,52.0 +O-12775,19.0 +O-12776,32.4 +O-12777,44.5 +O-12778,23.4 +O-12779,51.0 +O-12780,32.2 +O-12781,20.7 +O-12782,22.3 +O-12783,38.5 +O-12784,20.2 +O-12785,63.0 +O-12786,52.5 +O-12787,33.8 +O-12788,42.3 +O-12789,56.6 +O-12790,32.7 +O-12791,16.2 +O-12792,41.3 +O-12793,46.2 +O-12794,20.9 +O-12795,36.8 +O-12796,18.8 +O-12797,41.1 +O-12798,17.7 +O-12799,17.3 +O-12800,38.5 +O-12801,21.3 +O-12802,36.4 +O-12803,57.2 +O-12804,25.1 +O-12805,70.1 +O-12806,28.2 +O-12807,38.9 +O-12808,30.6 +O-12809,19.4 +O-12810,32.6 +O-12811,16.3 +O-12812,25.6 +O-12813,41.6 +O-12814,23.3 +O-12815,11.1 +O-12816,28.6 +O-12817,14.4 +O-12818,23.0 +O-12819,55.9 +O-12820,52.7 +O-12821,26.3 +O-12822,41.8 +O-12823,38.2 +O-12824,35.9 +O-12825,30.9 +O-12826,31.3 +O-12827,21.5 +O-12828,76.5 +O-12829,71.7 +O-12830,24.5 +O-12831,29.6 +O-12832,19.4 +O-12833,97.1 +O-12834,30.7 +O-12835,23.2 +O-12836,34.9 +O-12837,102.3 +O-12838,52.7 +O-12839,16.8 +O-12840,65.1 +O-12841,52.0 +O-12842,74.0 +O-12843,18.5 +O-12844,16.3 +O-12845,46.7 +O-12846,21.4 +O-12847,77.8 +O-12848,22.3 +O-12849,22.7 +O-12850,29.6 +O-12851,22.3 +O-12852,51.8 +O-12853,51.0 +O-12854,41.0 +O-12855,12.5 +O-12856,44.8 +O-12857,37.2 +O-12858,20.6 +O-12859,67.3 +O-12860,48.3 +O-12861,23.7 +O-12862,16.3 +O-12863,29.9 +O-12864,23.0 +O-12865,45.1 +O-12866,28.0 +O-12867,49.0 +O-12868,42.0 +O-12869,28.7 +O-12870,22.8 +O-12871,28.2 +O-12872,74.8 +O-12873,38.5 +O-12874,50.7 +O-12875,22.8 +O-12876,26.8 +O-12877,32.3 +O-12878,19.1 +O-12879,49.2 +O-12880,59.2 +O-12881,26.0 +O-12882,23.9 +O-12883,67.9 +O-12884,80.7 +O-12885,17.2 +O-12886,15.3 +O-12887,14.4 +O-12888,52.5 +O-12889,28.0 +O-12890,26.4 +O-12891,31.4 +O-12892,19.0 +O-12893,45.5 +O-12894,36.6 +O-12895,39.9 +O-12896,33.0 +O-12897,18.4 +O-12898,53.1 +O-12899,26.2 +O-12900,28.9 +O-12901,61.1 +O-12902,25.7 +O-12903,24.4 +O-12904,59.1 +O-12905,16.2 +O-12906,51.9 +O-12907,42.6 +O-12908,22.3 +O-12909,41.2 +O-12910,17.6 +O-12911,26.2 +O-12912,50.0 +O-12913,24.7 +O-12914,14.5 +O-12915,18.3 +O-12916,41.8 +O-12917,42.9 +O-12918,38.2 +O-12919,26.4 +O-12920,30.5 +O-12921,33.0 +O-12922,35.5 +O-12923,15.2 +O-12924,37.2 +O-12925,27.4 +O-12926,44.3 +O-12927,29.9 +O-12928,26.5 +O-12929,51.5 +O-12930,53.4 +O-12931,29.3 +O-12932,13.4 +O-12933,20.1 +O-12934,95.0 +O-12935,33.9 +O-12936,43.4 +O-12937,55.2 +O-12938,32.5 +O-12939,34.2 +O-12940,25.4 +O-12941,21.5 +O-12942,94.2 +O-12943,15.4 +O-12944,46.5 +O-12945,31.8 +O-12946,18.0 +O-12947,20.9 +O-12948,79.5 +O-12949,35.9 +O-12950,74.2 +O-12951,78.0 +O-12952,18.5 +O-12953,31.0 +O-12954,13.2 +O-12955,54.8 +O-12956,35.0 +O-12957,29.7 +O-12958,25.8 +O-12959,63.8 +O-12960,18.0 +O-12961,34.2 +O-12962,29.9 +O-12963,30.8 +O-12964,28.5 +O-12965,57.4 +O-12966,28.5 +O-12967,19.5 +O-12968,38.7 +O-12969,18.1 +O-12970,51.1 +O-12971,24.9 +O-12972,34.6 +O-12973,20.3 +O-12974,37.5 +O-12975,42.1 +O-12976,35.8 +O-12977,35.8 +O-12978,27.8 +O-12979,22.4 +O-12980,51.8 +O-12981,21.7 +O-12982,26.4 +O-12983,22.0 +O-12984,48.8 +O-12985,23.8 +O-12986,29.2 +O-12987,25.7 +O-12988,28.0 +O-12989,37.8 +O-12990,30.1 +O-12991,37.7 +O-12992,81.6 +O-12993,20.3 +O-12994,37.2 +O-12995,29.7 +O-12996,22.7 +O-12997,44.9 +O-12998,28.1 +O-12999,40.5 +O-13000,50.8 +O-13001,30.7 +O-13002,21.0 +O-13003,48.3 +O-13004,42.3 +O-13005,24.7 +O-13006,31.0 +O-13007,59.3 +O-13008,19.8 +O-13009,43.2 +O-13010,35.6 +O-13011,25.3 +O-13012,42.4 +O-13013,34.2 +O-13014,30.5 +O-13015,19.5 +O-13016,30.0 +O-13017,56.5 +O-13018,17.0 +O-13019,30.3 +O-13020,40.5 +O-13021,26.3 +O-13022,51.5 +O-13023,21.6 +O-13024,71.6 +O-13025,20.4 +O-13026,49.4 +O-13027,25.4 +O-13028,45.7 +O-13029,16.6 +O-13030,21.5 +O-13031,36.0 +O-13032,33.7 +O-13033,39.0 +O-13034,37.3 +O-13035,40.6 +O-13036,54.4 +O-13037,79.1 +O-13038,21.9 +O-13039,65.5 +O-13040,44.3 +O-13041,42.0 +O-13042,29.9 +O-13043,47.4 +O-13044,14.6 +O-13045,23.8 +O-13046,42.9 +O-13047,21.7 +O-13048,19.6 +O-13049,43.4 +O-13050,48.1 +O-13051,49.4 +O-13052,22.7 +O-13053,27.3 +O-13054,52.7 +O-13055,55.9 +O-13056,33.8 +O-13057,15.3 +O-13058,50.1 +O-13059,19.7 +O-13060,48.5 +O-13061,30.0 +O-13062,27.3 +O-13063,73.6 +O-13064,57.3 +O-13065,49.0 +O-13066,49.7 +O-13067,48.2 +O-13068,22.0 +O-13069,16.9 +O-13070,68.9 +O-13071,27.7 +O-13072,15.3 +O-13073,59.9 +O-13074,16.1 +O-13075,14.8 +O-13076,46.6 +O-13077,30.1 +O-13078,51.9 +O-13079,39.0 +O-13080,26.6 +O-13081,21.6 +O-13082,47.5 +O-13083,31.5 +O-13084,14.7 +O-13085,35.6 +O-13086,49.5 +O-13087,15.4 +O-13088,17.2 +O-13089,57.0 +O-13090,28.1 +O-13091,28.0 +O-13092,69.9 +O-13093,57.4 +O-13094,40.6 +O-13095,29.5 +O-13096,14.4 +O-13097,45.8 +O-13098,51.2 +O-13099,33.5 +O-13100,27.7 +O-13101,15.8 +O-13102,40.7 +O-13103,45.9 +O-13104,76.6 +O-13105,47.3 +O-13106,52.7 +O-13107,37.3 +O-13108,39.5 +O-13109,62.6 +O-13110,71.8 +O-13111,40.0 +O-13112,26.8 +O-13113,31.5 +O-13114,65.5 +O-13115,49.9 +O-13116,55.8 +O-13117,37.2 +O-13118,36.5 +O-13119,20.9 +O-13120,20.8 +O-13121,27.4 +O-13122,19.7 +O-13123,41.7 +O-13124,56.9 +O-13125,35.0 +O-13126,20.5 +O-13127,31.1 +O-13128,32.6 +O-13129,81.7 +O-13130,38.4 +O-13131,30.4 +O-13132,39.2 +O-13133,36.7 +O-13134,21.9 +O-13135,27.2 +O-13136,38.6 +O-13137,44.5 +O-13138,14.9 +O-13139,65.1 +O-13140,23.0 +O-13141,58.8 +O-13142,46.7 +O-13143,72.3 +O-13144,31.4 +O-13145,55.2 +O-13146,69.5 +O-13147,20.5 +O-13148,18.9 +O-13149,46.8 +O-13150,26.7 +O-13151,21.0 +O-13152,34.8 +O-13153,32.6 +O-13154,23.1 +O-13155,43.5 +O-13156,49.1 +O-13157,35.1 +O-13158,39.7 +O-13159,23.3 +O-13160,32.3 +O-13161,46.0 +O-13162,33.7 +O-13163,27.2 +O-13164,48.6 +O-13165,17.4 +O-13166,34.7 +O-13167,44.6 +O-13168,23.6 +O-13169,36.3 +O-13170,12.7 +O-13171,37.3 +O-13172,24.4 +O-13173,26.1 +O-13174,75.2 +O-13175,16.2 +O-13176,48.5 +O-13177,59.4 +O-13178,51.5 +O-13179,37.5 +O-13180,22.8 +O-13181,26.3 +O-13182,31.9 +O-13183,41.8 +O-13184,41.7 +O-13185,34.7 +O-13186,59.9 +O-13187,21.2 +O-13188,24.2 +O-13189,30.1 +O-13190,26.4 +O-13191,30.7 +O-13192,22.7 +O-13193,19.8 +O-13194,21.3 +O-13195,18.8 +O-13196,43.4 +O-13197,26.7 +O-13198,24.6 +O-13199,43.1 +O-13200,15.9 +O-13201,55.8 +O-13202,94.3 +O-13203,12.9 +O-13204,17.4 +O-13205,25.9 +O-13206,22.9 +O-13207,24.7 +O-13208,34.2 +O-13209,10.4 +O-13210,18.4 +O-13211,32.1 +O-13212,16.0 +O-13213,30.4 +O-13214,24.0 +O-13215,30.0 +O-13216,51.2 +O-13217,35.0 +O-13218,16.8 +O-13219,53.2 +O-13220,36.5 +O-13221,20.4 +O-13222,28.5 +O-13223,20.4 +O-13224,17.8 +O-13225,40.5 +O-13226,10.0 +O-13227,60.9 +O-13228,23.5 +O-13229,35.8 +O-13230,60.9 +O-13231,39.4 +O-13232,15.5 +O-13233,23.7 +O-13234,24.7 +O-13235,32.5 +O-13236,41.0 +O-13237,31.4 +O-13238,26.8 +O-13239,45.4 +O-13240,26.1 +O-13241,37.0 +O-13242,31.6 +O-13243,30.5 +O-13244,34.1 +O-13245,33.0 +O-13246,54.1 +O-13247,57.0 +O-13248,27.2 +O-13249,32.9 +O-13250,23.4 +O-13251,28.6 +O-13252,26.1 +O-13253,34.9 +O-13254,20.5 +O-13255,30.0 +O-13256,28.0 +O-13257,21.3 +O-13258,33.0 +O-13259,10.7 +O-13260,24.2 +O-13261,41.5 +O-13262,53.4 +O-13263,30.3 +O-13264,25.0 +O-13265,23.3 +O-13266,37.3 +O-13267,50.6 +O-13268,33.7 +O-13269,31.4 +O-13270,46.8 +O-13271,12.3 +O-13272,23.2 +O-13273,38.4 +O-13274,57.1 +O-13275,18.9 +O-13276,28.3 +O-13277,50.4 +O-13278,32.8 +O-13279,37.5 +O-13280,16.2 +O-13281,15.5 +O-13282,78.2 +O-13283,41.0 +O-13284,52.1 +O-13285,20.2 +O-13286,45.6 +O-13287,35.5 +O-13288,23.4 +O-13289,30.1 +O-13290,29.9 +O-13291,40.7 +O-13292,23.1 +O-13293,50.2 +O-13294,24.6 +O-13295,31.6 +O-13296,21.7 +O-13297,40.2 +O-13298,18.5 +O-13299,19.3 +O-13300,67.9 +O-13301,42.8 +O-13302,62.0 +O-13303,62.4 +O-13304,62.5 +O-13305,39.8 +O-13306,37.0 +O-13307,14.4 +O-13308,54.7 +O-13309,38.1 +O-13310,73.1 +O-13311,18.9 +O-13312,29.6 +O-13313,36.1 +O-13314,37.9 +O-13315,35.4 +O-13316,52.7 +O-13317,42.3 +O-13318,65.5 +O-13319,42.4 +O-13320,29.9 +O-13321,58.8 +O-13322,31.6 +O-13323,12.4 +O-13324,54.5 +O-13325,29.6 +O-13326,29.3 +O-13327,24.0 +O-13328,17.9 +O-13329,41.6 +O-13330,23.8 +O-13331,17.3 +O-13332,35.7 +O-13333,62.7 +O-13334,73.4 +O-13335,21.1 +O-13336,44.7 +O-13337,21.6 +O-13338,59.0 +O-13339,23.7 +O-13340,85.0 +O-13341,42.5 +O-13342,22.3 +O-13343,68.2 +O-13344,31.8 +O-13345,31.8 +O-13346,28.4 +O-13347,24.2 +O-13348,26.8 +O-13349,37.3 +O-13350,30.9 +O-13351,39.7 +O-13352,25.1 +O-13353,30.5 +O-13354,61.8 +O-13355,28.4 +O-13356,48.3 +O-13357,22.5 +O-13358,24.6 +O-13359,38.1 +O-13360,35.9 +O-13361,50.0 +O-13362,50.0 +O-13363,25.5 +O-13364,38.5 +O-13365,27.8 +O-13366,31.1 +O-13367,59.1 +O-13368,21.4 +O-13369,37.7 +O-13370,23.7 +O-13371,30.1 +O-13372,33.3 +O-13373,41.7 +O-13374,37.8 +O-13375,32.6 +O-13376,30.6 +O-13377,40.8 +O-13378,27.9 +O-13379,38.7 +O-13380,28.9 +O-13381,39.0 +O-13382,25.7 +O-13383,21.3 +O-13384,33.1 +O-13385,46.0 +O-13386,56.9 +O-13387,53.7 +O-13388,28.6 +O-13389,20.8 +O-13390,15.9 +O-13391,38.3 +O-13392,28.3 +O-13393,17.3 +O-13394,27.7 +O-13395,21.9 +O-13396,33.3 +O-13397,34.9 +O-13398,36.1 +O-13399,42.3 +O-13400,25.6 +O-13401,48.0 +O-13402,23.5 +O-13403,56.6 +O-13404,25.3 +O-13405,27.9 +O-13406,37.4 +O-13407,30.8 +O-13408,12.9 +O-13409,75.2 +O-13410,57.8 +O-13411,83.6 +O-13412,26.9 +O-13413,23.3 +O-13414,31.0 +O-13415,18.8 +O-13416,28.5 +O-13417,14.3 +O-13418,57.1 +O-13419,52.1 +O-13420,41.9 +O-13421,16.8 +O-13422,17.2 +O-13423,52.5 +O-13424,50.0 +O-13425,35.7 +O-13426,42.8 +O-13427,21.4 +O-13428,34.2 +O-13429,18.0 +O-13430,13.7 +O-13431,40.1 +O-13432,37.9 +O-13433,75.7 +O-13434,36.5 +O-13435,24.8 +O-13436,41.1 +O-13437,56.7 +O-13438,20.3 +O-13439,49.1 +O-13440,22.9 +O-13441,13.9 +O-13442,61.6 +O-13443,17.6 +O-13444,34.0 +O-13445,44.7 +O-13446,35.7 +O-13447,26.0 +O-13448,57.8 +O-13449,88.4 +O-13450,47.2 +O-13451,69.5 +O-13452,30.7 +O-13453,26.1 +O-13454,28.8 +O-13455,23.1 +O-13456,25.9 +O-13457,26.1 +O-13458,25.7 +O-13459,60.5 +O-13460,29.1 +O-13461,20.0 +O-13462,35.2 +O-13463,13.9 +O-13464,44.6 +O-13465,30.1 +O-13466,20.2 +O-13467,38.4 +O-13468,21.8 +O-13469,62.7 +O-13470,39.5 +O-13471,20.7 +O-13472,33.1 +O-13473,28.7 +O-13474,37.1 +O-13475,55.5 +O-13476,71.5 +O-13477,33.1 +O-13478,28.6 +O-13479,20.5 +O-13480,30.2 +O-13481,60.3 +O-13482,30.8 +O-13483,85.9 +O-13484,34.4 +O-13485,43.0 +O-13486,22.0 +O-13487,29.1 +O-13488,35.2 +O-13489,72.1 +O-13490,58.9 +O-13491,21.3 +O-13492,26.3 +O-13493,36.0 +O-13494,18.0 +O-13495,17.6 +O-13496,17.9 +O-13497,45.6 +O-13498,37.2 +O-13499,12.5 +O-13500,27.4 +O-13501,25.4 +O-13502,40.8 +O-13503,30.3 +O-13504,20.4 +O-13505,15.6 +O-13506,56.4 +O-13507,39.3 +O-13508,36.8 +O-13509,12.5 +O-13510,21.5 +O-13511,18.4 +O-13512,33.3 +O-13513,25.2 +O-13514,15.3 +O-13515,38.4 +O-13516,27.8 +O-13517,49.3 +O-13518,19.3 +O-13519,27.8 +O-13520,18.2 +O-13521,18.4 +O-13522,38.1 +O-13523,42.4 +O-13524,61.1 +O-13525,50.4 +O-13526,33.5 +O-13527,59.6 +O-13528,33.1 +O-13529,35.4 +O-13530,19.4 +O-13531,19.1 +O-13532,42.7 +O-13533,37.7 +O-13534,27.6 +O-13535,66.2 +O-13536,24.7 +O-13537,48.5 +O-13538,35.1 +O-13539,44.4 +O-13540,24.3 +O-13541,43.0 +O-13542,66.8 +O-13543,22.0 +O-13544,44.9 +O-13545,26.2 +O-13546,18.0 +O-13547,19.1 +O-13548,11.5 +O-13549,17.8 +O-13550,61.5 +O-13551,34.7 +O-13552,30.6 +O-13553,13.6 +O-13554,39.0 +O-13555,38.6 +O-13556,56.4 +O-13557,42.1 +O-13558,38.9 +O-13559,23.0 +O-13560,57.5 +O-13561,55.9 +O-13562,34.3 +O-13563,81.8 +O-13564,23.0 +O-13565,46.3 +O-13566,32.7 +O-13567,22.8 +O-13568,25.3 +O-13569,13.9 +O-13570,29.9 +O-13571,26.9 +O-13572,29.8 +O-13573,23.2 +O-13574,22.9 +O-13575,9.9 +O-13576,33.8 +O-13577,53.1 +O-13578,26.3 +O-13579,45.7 +O-13580,47.0 +O-13581,42.4 +O-13582,34.6 +O-13583,39.1 +O-13584,43.7 +O-13585,17.2 +O-13586,9.2 +O-13587,42.2 +O-13588,32.9 +O-13589,19.1 +O-13590,30.7 +O-13591,12.5 +O-13592,31.3 +O-13593,42.1 +O-13594,37.9 +O-13595,15.0 +O-13596,27.2 +O-13597,20.1 +O-13598,31.0 +O-13599,34.8 +O-13600,53.8 +O-13601,21.5 +O-13602,31.3 +O-13603,29.0 +O-13604,25.5 +O-13605,33.5 +O-13606,34.4 +O-13607,25.5 +O-13608,21.1 +O-13609,68.6 +O-13610,16.0 +O-13611,30.3 +O-13612,10.8 +O-13613,12.3 +O-13614,27.1 +O-13615,22.5 +O-13616,20.0 +O-13617,48.8 +O-13618,23.4 +O-13619,38.0 +O-13620,25.2 +O-13621,32.6 +O-13622,37.5 +O-13623,23.4 +O-13624,21.7 +O-13625,19.1 +O-13626,53.5 +O-13627,23.9 +O-13628,69.4 +O-13629,38.5 +O-13630,51.1 +O-13631,18.1 +O-13632,50.6 +O-13633,24.4 +O-13634,42.0 +O-13635,32.7 +O-13636,40.5 +O-13637,47.0 +O-13638,23.8 +O-13639,39.1 +O-13640,17.9 +O-13641,35.5 +O-13642,15.5 +O-13643,63.1 +O-13644,60.6 +O-13645,72.4 +O-13646,53.0 +O-13647,62.2 +O-13648,32.4 +O-13649,48.0 +O-13650,28.5 +O-13651,33.0 +O-13652,18.1 +O-13653,25.3 +O-13654,57.3 +O-13655,51.4 +O-13656,32.3 +O-13657,51.0 +O-13658,42.2 +O-13659,52.2 +O-13660,11.5 +O-13661,22.6 +O-13662,33.2 +O-13663,40.2 +O-13664,30.5 +O-13665,23.0 +O-13666,26.9 +O-13667,53.2 +O-13668,65.5 +O-13669,14.5 +O-13670,30.5 +O-13671,21.4 +O-13672,32.3 +O-13673,38.8 +O-13674,67.9 +O-13675,28.5 +O-13676,41.5 +O-13677,52.4 +O-13678,13.5 +O-13679,23.8 +O-13680,62.0 +O-13681,20.8 +O-13682,11.7 +O-13683,23.8 +O-13684,19.0 +O-13685,17.7 +O-13686,47.3 +O-13687,38.2 +O-13688,35.0 +O-13689,18.5 +O-13690,44.4 +O-13691,35.0 +O-13692,44.1 +O-13693,33.6 +O-13694,20.1 +O-13695,28.2 +O-13696,33.4 +O-13697,46.6 +O-13698,12.9 +O-13699,33.0 +O-13700,19.7 +O-13701,16.2 +O-13702,51.8 +O-13703,32.5 +O-13704,25.1 +O-13705,46.4 +O-13706,26.5 +O-13707,35.8 +O-13708,14.1 +O-13709,44.4 +O-13710,53.5 +O-13711,29.1 +O-13712,20.7 +O-13713,45.7 +O-13714,23.2 +O-13715,23.4 +O-13716,64.6 +O-13717,40.0 +O-13718,71.8 +O-13719,16.7 +O-13720,19.3 +O-13721,16.1 +O-13722,22.6 +O-13723,28.2 +O-13724,30.0 +O-13725,27.6 +O-13726,29.8 +O-13727,31.0 +O-13728,40.7 +O-13729,45.2 +O-13730,41.3 +O-13731,23.9 +O-13732,35.0 +O-13733,21.3 +O-13734,17.6 +O-13735,14.8 +O-13736,18.6 +O-13737,27.4 +O-13738,11.9 +O-13739,40.8 +O-13740,14.0 +O-13741,49.3 +O-13742,37.6 +O-13743,29.7 +O-13744,27.8 +O-13745,16.9 +O-13746,30.7 +O-13747,47.2 +O-13748,15.2 +O-13749,48.1 +O-13750,31.4 +O-13751,30.7 +O-13752,41.4 +O-13753,22.4 +O-13754,25.2 +O-13755,45.2 +O-13756,29.4 +O-13757,40.1 +O-13758,38.9 +O-13759,27.4 +O-13760,42.7 +O-13761,26.8 +O-13762,35.1 +O-13763,29.1 +O-13764,62.0 +O-13765,19.1 +O-13766,40.9 +O-13767,21.9 +O-13768,57.1 +O-13769,21.2 +O-13770,22.2 +O-13771,28.5 +O-13772,40.9 +O-13773,17.2 +O-13774,58.4 +O-13775,39.4 +O-13776,31.8 +O-13777,47.5 +O-13778,75.3 +O-13779,30.2 +O-13780,46.6 +O-13781,35.6 +O-13782,24.7 +O-13783,22.3 +O-13784,50.3 +O-13785,25.0 +O-13786,39.6 +O-13787,34.1 +O-13788,49.7 +O-13789,27.4 +O-13790,27.9 +O-13791,19.5 +O-13792,23.7 +O-13793,13.5 +O-13794,29.6 +O-13795,81.0 +O-13796,14.6 +O-13797,36.1 +O-13798,35.8 +O-13799,43.6 +O-13800,55.1 +O-13801,36.8 +O-13802,31.0 +O-13803,22.4 +O-13804,33.8 +O-13805,21.1 +O-13806,33.5 +O-13807,23.9 +O-13808,44.4 +O-13809,29.9 +O-13810,33.5 +O-13811,41.8 +O-13812,11.8 +O-13813,39.3 +O-13814,19.1 +O-13815,19.2 +O-13816,17.0 +O-13817,40.0 +O-13818,27.3 +O-13819,40.6 +O-13820,78.4 +O-13821,48.8 +O-13822,27.2 +O-13823,17.8 +O-13824,18.0 +O-13825,51.6 +O-13826,38.6 +O-13827,34.5 +O-13828,33.4 +O-13829,23.3 +O-13830,86.5 +O-13831,71.6 +O-13832,27.1 +O-13833,25.6 +O-13834,24.4 +O-13835,42.2 +O-13836,21.5 +O-13837,20.5 +O-13838,23.4 +O-13839,29.7 +O-13840,41.5 +O-13841,43.2 +O-13842,73.7 +O-13843,16.6 +O-13844,27.5 +O-13845,35.0 +O-13846,18.7 +O-13847,31.2 +O-13848,13.7 +O-13849,25.2 +O-13850,19.4 +O-13851,25.4 +O-13852,28.8 +O-13853,25.1 +O-13854,13.5 +O-13855,33.1 +O-13856,56.4 +O-13857,14.2 +O-13858,41.8 +O-13859,24.1 +O-13860,20.1 +O-13861,27.0 +O-13862,24.4 +O-13863,38.4 +O-13864,38.7 +O-13865,55.9 +O-13866,24.7 +O-13867,31.8 +O-13868,60.0 +O-13869,38.1 +O-13870,22.8 +O-13871,20.2 +O-13872,57.1 +O-13873,42.1 +O-13874,36.2 +O-13875,35.0 +O-13876,19.8 +O-13877,40.3 +O-13878,31.6 +O-13879,56.0 +O-13880,11.2 +O-13881,25.8 +O-13882,11.9 +O-13883,27.0 +O-13884,38.3 +O-13885,27.6 +O-13886,17.4 +O-13887,23.5 +O-13888,58.1 +O-13889,32.2 +O-13890,34.3 +O-13891,46.1 +O-13892,50.6 +O-13893,33.0 +O-13894,31.8 +O-13895,50.5 +O-13896,33.7 +O-13897,35.3 +O-13898,42.6 +O-13899,14.4 +O-13900,24.2 +O-13901,29.3 +O-13902,27.3 +O-13903,45.6 +O-13904,30.5 +O-13905,30.8 +O-13906,28.8 +O-13907,47.1 +O-13908,21.3 +O-13909,39.3 +O-13910,18.9 +O-13911,40.4 +O-13912,40.1 +O-13913,25.0 +O-13914,41.6 +O-13915,30.5 +O-13916,43.7 +O-13917,26.7 +O-13918,15.4 +O-13919,25.1 +O-13920,19.2 +O-13921,21.5 +O-13922,57.3 +O-13923,26.1 +O-13924,20.3 +O-13925,45.1 +O-13926,31.2 +O-13927,21.8 +O-13928,29.2 +O-13929,53.7 +O-13930,43.7 +O-13931,35.9 +O-13932,35.0 +O-13933,30.8 +O-13934,42.0 +O-13935,16.3 +O-13936,32.6 +O-13937,51.5 +O-13938,32.9 +O-13939,38.1 +O-13940,57.6 +O-13941,48.4 +O-13942,25.3 +O-13943,48.5 +O-13944,19.1 +O-13945,72.3 +O-13946,15.1 +O-13947,58.6 +O-13948,27.9 +O-13949,35.4 +O-13950,28.2 +O-13951,124.0 +O-13952,59.0 +O-13953,21.9 +O-13954,57.4 +O-13955,23.5 +O-13956,29.7 +O-13957,32.5 +O-13958,27.8 +O-13959,50.0 +O-13960,48.3 +O-13961,44.4 +O-13962,52.1 +O-13963,13.4 +O-13964,23.4 +O-13965,37.5 +O-13966,19.6 +O-13967,45.5 +O-13968,38.0 +O-13969,12.8 +O-13970,41.2 +O-13971,27.9 +O-13972,31.9 +O-13973,32.4 +O-13974,58.0 +O-13975,13.7 +O-13976,12.9 +O-13977,52.6 +O-13978,16.3 +O-13979,16.3 +O-13980,21.0 +O-13981,34.2 +O-13982,19.8 +O-13983,45.1 +O-13984,36.0 +O-13985,31.6 +O-13986,15.9 +O-13987,47.1 +O-13988,105.9 +O-13989,16.5 +O-13990,26.0 +O-13991,26.4 +O-13992,35.6 +O-13993,40.1 +O-13994,31.0 +O-13995,42.6 +O-13996,25.2 +O-13997,45.6 +O-13998,36.8 +O-13999,14.9 +O-14000,51.2 +O-14001,29.1 +O-14002,47.6 +O-14003,25.9 +O-14004,48.1 +O-14005,51.7 +O-14006,25.9 +O-14007,22.8 +O-14008,35.5 +O-14009,59.9 +O-14010,13.8 +O-14011,38.7 +O-14012,14.7 +O-14013,23.9 +O-14014,37.7 +O-14015,45.0 +O-14016,38.8 +O-14017,50.0 +O-14018,13.3 +O-14019,55.4 +O-14020,10.2 +O-14021,33.6 +O-14022,63.3 +O-14023,22.1 +O-14024,24.0 +O-14025,26.1 +O-14026,68.1 +O-14027,63.0 +O-14028,25.6 +O-14029,40.1 +O-14030,24.0 +O-14031,26.2 +O-14032,47.2 +O-14033,27.7 +O-14034,51.9 +O-14035,28.0 +O-14036,23.7 +O-14037,30.1 +O-14038,57.7 +O-14039,15.5 +O-14040,46.6 +O-14041,64.9 +O-14042,32.8 +O-14043,47.3 +O-14044,27.8 +O-14045,18.5 +O-14046,40.6 +O-14047,49.3 +O-14048,21.0 +O-14049,46.9 +O-14050,23.7 +O-14051,15.4 +O-14052,29.0 +O-14053,18.8 +O-14054,21.1 +O-14055,12.6 +O-14056,47.8 +O-14057,38.0 +O-14058,53.4 +O-14059,34.3 +O-14060,36.1 +O-14061,31.8 +O-14062,23.3 +O-14063,18.8 +O-14064,9.8 +O-14065,42.7 +O-14066,23.6 +O-14067,15.7 +O-14068,25.4 +O-14069,53.9 +O-14070,28.5 +O-14071,27.4 +O-14072,40.4 +O-14073,33.7 +O-14074,49.2 +O-14075,49.7 +O-14076,58.1 +O-14077,61.1 +O-14078,24.2 +O-14079,42.8 +O-14080,62.9 +O-14081,49.7 +O-14082,22.8 +O-14083,22.5 +O-14084,35.5 +O-14085,26.8 +O-14086,37.3 +O-14087,16.9 +O-14088,27.8 +O-14089,16.2 +O-14090,62.6 +O-14091,24.2 +O-14092,37.6 +O-14093,24.0 +O-14094,48.9 +O-14095,52.8 +O-14096,19.0 +O-14097,50.0 +O-14098,21.7 +O-14099,58.9 +O-14100,45.0 +O-14101,19.9 +O-14102,17.2 +O-14103,43.1 +O-14104,18.6 +O-14105,49.5 +O-14106,42.7 +O-14107,66.3 +O-14108,50.4 +O-14109,23.1 +O-14110,13.9 +O-14111,28.2 +O-14112,32.4 +O-14113,18.0 +O-14114,63.9 +O-14115,35.2 +O-14116,27.2 +O-14117,41.3 +O-14118,48.8 +O-14119,31.1 +O-14120,31.6 +O-14121,65.8 +O-14122,35.3 +O-14123,15.1 +O-14124,18.9 +O-14125,34.7 +O-14126,67.7 +O-14127,35.5 +O-14128,22.6 +O-14129,58.5 +O-14130,43.2 +O-14131,42.0 +O-14132,53.1 +O-14133,19.4 +O-14134,29.8 +O-14135,34.0 +O-14136,21.2 +O-14137,46.6 +O-14138,18.3 +O-14139,62.8 +O-14140,40.0 +O-14141,34.3 +O-14142,58.2 +O-14143,19.7 +O-14144,24.0 +O-14145,37.8 +O-14146,15.1 +O-14147,48.4 +O-14148,54.2 +O-14149,16.4 +O-14150,36.9 +O-14151,37.2 +O-14152,23.3 +O-14153,25.9 +O-14154,28.7 +O-14155,42.2 +O-14156,23.9 +O-14157,54.1 +O-14158,35.7 +O-14159,62.2 +O-14160,37.3 +O-14161,18.4 +O-14162,51.9 +O-14163,18.8 +O-14164,33.3 +O-14165,31.5 +O-14166,19.8 +O-14167,37.5 +O-14168,24.4 +O-14169,37.9 +O-14170,33.2 +O-14171,23.3 +O-14172,19.0 +O-14173,32.4 +O-14174,25.9 +O-14175,26.7 +O-14176,37.9 +O-14177,26.5 +O-14178,24.0 +O-14179,18.7 +O-14180,40.1 +O-14181,20.4 +O-14182,15.6 +O-14183,37.0 +O-14184,19.9 +O-14185,18.2 +O-14186,20.0 +O-14187,55.7 +O-14188,31.5 +O-14189,37.7 +O-14190,23.5 +O-14191,16.2 +O-14192,37.0 +O-14193,39.0 +O-14194,15.1 +O-14195,23.0 +O-14196,50.9 +O-14197,50.1 +O-14198,37.8 +O-14199,55.6 +O-14200,17.3 +O-14201,31.1 +O-14202,22.9 +O-14203,39.6 +O-14204,30.7 +O-14205,39.6 +O-14206,33.7 +O-14207,26.2 +O-14208,25.1 +O-14209,34.1 +O-14210,55.3 +O-14211,32.7 +O-14212,24.8 +O-14213,55.0 +O-14214,39.9 +O-14215,28.8 +O-14216,59.0 +O-14217,34.5 +O-14218,35.8 +O-14219,32.8 +O-14220,16.0 +O-14221,29.1 +O-14222,28.7 +O-14223,18.5 +O-14224,19.0 +O-14225,52.6 +O-14226,36.3 +O-14227,44.5 +O-14228,31.2 +O-14229,24.4 +O-14230,38.5 +O-14231,45.2 +O-14232,17.0 +O-14233,34.9 +O-14234,18.9 +O-14235,40.0 +O-14236,50.5 +O-14237,50.3 +O-14238,46.7 +O-14239,36.8 +O-14240,16.2 +O-14241,66.6 +O-14242,34.0 +O-14243,23.2 +O-14244,20.4 +O-14245,53.8 +O-14246,76.0 +O-14247,30.6 +O-14248,44.6 +O-14249,16.7 +O-14250,23.3 +O-14251,32.1 +O-14252,32.7 +O-14253,14.4 +O-14254,77.5 +O-14255,41.9 +O-14256,15.7 +O-14257,41.5 +O-14258,40.6 +O-14259,46.7 +O-14260,34.0 +O-14261,54.3 +O-14262,34.9 +O-14263,29.9 +O-14264,65.5 +O-14265,34.1 +O-14266,33.8 +O-14267,36.1 +O-14268,45.5 +O-14269,25.1 +O-14270,13.8 +O-14271,39.2 +O-14272,45.4 +O-14273,16.4 +O-14274,36.2 +O-14275,22.1 +O-14276,82.3 +O-14277,52.1 +O-14278,25.8 +O-14279,41.8 +O-14280,64.4 +O-14281,15.1 +O-14282,51.3 +O-14283,20.7 +O-14284,56.7 +O-14285,49.3 +O-14286,75.6 +O-14287,22.4 +O-14288,24.2 +O-14289,53.4 +O-14290,30.8 +O-14291,51.6 +O-14292,31.5 +O-14293,20.8 +O-14294,61.1 +O-14295,64.9 +O-14296,55.0 +O-14297,31.6 +O-14298,21.4 +O-14299,46.8 +O-14300,21.1 +O-14301,22.6 +O-14302,16.5 +O-14303,17.7 +O-14304,54.6 +O-14305,40.9 +O-14306,22.8 +O-14307,43.7 +O-14308,22.7 +O-14309,38.2 +O-14310,43.6 +O-14311,38.4 +O-14312,29.3 +O-14313,51.6 +O-14314,33.6 +O-14315,49.1 +O-14316,16.3 +O-14317,46.8 +O-14318,24.1 +O-14319,44.8 +O-14320,41.9 +O-14321,38.0 +O-14322,33.4 +O-14323,30.3 +O-14324,60.9 +O-14325,37.4 +O-14326,24.1 +O-14327,24.7 +O-14328,20.0 +O-14329,14.7 +O-14330,33.8 +O-14331,30.6 +O-14332,26.4 +O-14333,13.2 +O-14334,40.0 +O-14335,88.8 +O-14336,44.5 +O-14337,33.1 +O-14338,25.8 +O-14339,18.7 +O-14340,31.4 +O-14341,25.2 +O-14342,17.0 +O-14343,42.6 +O-14344,36.5 +O-14345,23.3 +O-14346,55.5 +O-14347,29.8 +O-14348,34.2 +O-14349,11.2 +O-14350,52.7 +O-14351,23.2 +O-14352,23.8 +O-14353,29.3 +O-14354,25.3 +O-14355,24.2 +O-14356,66.0 +O-14357,41.7 +O-14358,37.9 +O-14359,34.6 +O-14360,21.6 +O-14361,31.7 +O-14362,45.6 +O-14363,58.2 +O-14364,24.0 +O-14365,31.5 +O-14366,30.2 +O-14367,41.7 +O-14368,20.3 +O-14369,26.2 +O-14370,21.6 +O-14371,22.2 +O-14372,25.4 +O-14373,49.9 +O-14374,43.0 +O-14375,34.6 +O-14376,56.0 +O-14377,56.5 +O-14378,27.9 +O-14379,13.0 +O-14380,27.4 +O-14381,67.1 +O-14382,38.3 +O-14383,35.5 +O-14384,34.1 +O-14385,29.5 +O-14386,35.8 +O-14387,17.3 +O-14388,39.4 +O-14389,46.2 +O-14390,23.8 +O-14391,52.6 +O-14392,64.9 +O-14393,29.1 +O-14394,72.9 +O-14395,39.9 +O-14396,20.7 +O-14397,38.7 +O-14398,72.5 +O-14399,40.2 +O-14400,16.0 +O-14401,41.8 +O-14402,30.1 +O-14403,54.6 +O-14404,54.9 +O-14405,25.4 +O-14406,33.7 +O-14407,38.6 +O-14408,39.8 +O-14409,9.8 +O-14410,43.0 +O-14411,18.6 +O-14412,15.4 +O-14413,19.1 +O-14414,25.6 +O-14415,22.5 +O-14416,61.0 +O-14417,23.3 +O-14418,35.2 +O-14419,57.3 +O-14420,42.4 +O-14421,46.9 +O-14422,24.0 +O-14423,34.2 +O-14424,32.7 +O-14425,27.9 +O-14426,13.9 +O-14427,53.9 +O-14428,20.8 +O-14429,16.0 +O-14430,17.7 +O-14431,17.6 +O-14432,10.5 +O-14433,24.0 +O-14434,29.4 +O-14435,54.6 +O-14436,21.8 +O-14437,64.8 +O-14438,35.5 +O-14439,31.2 +O-14440,34.8 +O-14441,21.4 +O-14442,9.9 +O-14443,11.8 +O-14444,27.7 +O-14445,42.0 +O-14446,86.7 +O-14447,49.5 +O-14448,36.0 +O-14449,18.8 +O-14450,26.4 +O-14451,16.5 +O-14452,13.8 +O-14453,11.5 +O-14454,36.1 +O-14455,28.0 +O-14456,18.3 +O-14457,26.0 +O-14458,24.4 +O-14459,15.2 +O-14460,21.0 +O-14461,38.8 +O-14462,70.2 +O-14463,32.2 +O-14464,29.8 +O-14465,51.5 +O-14466,93.7 +O-14467,41.0 +O-14468,41.6 +O-14469,41.5 +O-14470,46.0 +O-14471,25.2 +O-14472,38.9 +O-14473,34.9 +O-14474,34.9 +O-14475,15.0 +O-14476,49.9 +O-14477,30.5 +O-14478,32.4 +O-14479,54.0 +O-14480,33.4 +O-14481,58.5 +O-14482,19.7 +O-14483,58.8 +O-14484,47.4 +O-14485,32.7 +O-14486,60.2 +O-14487,36.5 +O-14488,47.4 +O-14489,22.1 +O-14490,25.3 +O-14491,28.7 +O-14492,27.0 +O-14493,36.7 +O-14494,51.4 +O-14495,30.3 +O-14496,38.4 +O-14497,66.1 +O-14498,15.7 +O-14499,24.1 +O-14500,30.0 +O-14501,34.4 +O-14502,18.0 +O-14503,51.1 +O-14504,25.5 +O-14505,36.3 +O-14506,33.9 +O-14507,26.3 +O-14508,23.2 +O-14509,58.3 +O-14510,22.1 +O-14511,66.5 +O-14512,26.7 +O-14513,54.0 +O-14514,16.7 +O-14515,32.0 +O-14516,32.7 +O-14517,41.5 +O-14518,17.2 +O-14519,28.7 +O-14520,30.4 +O-14521,23.2 +O-14522,31.1 +O-14523,24.3 +O-14524,20.1 +O-14525,23.2 +O-14526,44.3 +O-14527,36.8 +O-14528,24.5 +O-14529,17.3 +O-14530,32.5 +O-14531,34.1 +O-14532,22.5 +O-14533,53.2 +O-14534,38.3 +O-14535,39.9 +O-14536,20.7 +O-14537,32.8 +O-14538,60.3 +O-14539,31.3 +O-14540,31.6 +O-14541,41.5 +O-14542,22.9 +O-14543,71.6 +O-14544,39.0 +O-14545,35.1 +O-14546,42.6 +O-14547,31.2 +O-14548,33.0 +O-14549,30.0 +O-14550,25.3 +O-14551,72.3 +O-14552,26.8 +O-14553,35.8 +O-14554,54.5 +O-14555,26.9 +O-14556,85.4 +O-14557,32.5 +O-14558,46.4 +O-14559,32.1 +O-14560,14.2 +O-14561,45.4 +O-14562,63.1 +O-14563,22.3 +O-14564,36.2 +O-14565,29.1 +O-14566,54.6 +O-14567,21.1 +O-14568,58.5 +O-14569,41.3 +O-14570,19.4 +O-14571,22.6 +O-14572,18.3 +O-14573,43.5 +O-14574,33.0 +O-14575,35.6 +O-14576,37.6 +O-14577,47.2 +O-14578,19.4 +O-14579,41.1 +O-14580,46.7 +O-14581,73.3 +O-14582,26.8 +O-14583,20.6 +O-14584,35.3 +O-14585,35.6 +O-14586,54.6 +O-14587,59.1 +O-14588,36.4 +O-14589,57.6 +O-14590,30.1 +O-14591,31.6 +O-14592,37.6 +O-14593,19.4 +O-14594,18.7 +O-14595,46.3 +O-14596,19.4 +O-14597,30.7 +O-14598,25.9 +O-14599,24.9 +O-14600,19.9 +O-14601,42.0 +O-14602,21.2 +O-14603,33.5 +O-14604,33.3 +O-14605,76.6 +O-14606,40.6 +O-14607,28.6 +O-14608,19.2 +O-14609,46.1 +O-14610,92.2 +O-14611,48.2 +O-14612,36.1 +O-14613,35.7 +O-14614,28.4 +O-14615,35.5 +O-14616,47.5 +O-14617,36.8 +O-14618,23.9 +O-14619,22.4 +O-14620,19.5 +O-14621,21.4 +O-14622,43.1 +O-14623,45.1 +O-14624,22.0 +O-14625,41.5 +O-14626,27.5 +O-14627,33.6 +O-14628,55.8 +O-14629,39.4 +O-14630,26.0 +O-14631,83.8 +O-14632,35.0 +O-14633,34.4 +O-14634,38.6 +O-14635,26.1 +O-14636,24.1 +O-14637,32.9 +O-14638,17.6 +O-14639,38.6 +O-14640,40.9 +O-14641,38.6 +O-14642,22.9 +O-14643,23.2 +O-14644,21.4 +O-14645,30.0 +O-14646,62.0 +O-14647,21.5 +O-14648,75.8 +O-14649,22.0 +O-14650,51.0 +O-14651,19.4 +O-14652,29.9 +O-14653,64.6 +O-14654,41.9 +O-14655,34.9 +O-14656,36.6 +O-14657,15.5 +O-14658,32.6 +O-14659,25.9 +O-14660,68.7 +O-14661,15.3 +O-14662,38.1 +O-14663,27.7 +O-14664,28.2 +O-14665,31.2 +O-14666,32.5 +O-14667,32.6 +O-14668,24.3 +O-14669,50.3 +O-14670,24.9 +O-14671,27.8 +O-14672,39.3 +O-14673,19.3 +O-14674,57.3 +O-14675,48.1 +O-14676,42.2 +O-14677,41.9 +O-14678,18.9 +O-14679,45.1 +O-14680,23.8 +O-14681,56.6 +O-14682,46.3 +O-14683,13.8 +O-14684,30.8 +O-14685,38.7 +O-14686,48.5 +O-14687,30.3 +O-14688,17.0 +O-14689,29.8 +O-14690,15.1 +O-14691,28.7 +O-14692,22.8 +O-14693,32.9 +O-14694,29.1 +O-14695,25.3 +O-14696,30.7 +O-14697,18.4 +O-14698,17.2 +O-14699,26.5 +O-14700,28.2 +O-14701,9.9 +O-14702,59.9 +O-14703,21.1 +O-14704,20.5 +O-14705,28.0 +O-14706,28.5 +O-14707,16.0 +O-14708,23.7 +O-14709,25.5 +O-14710,42.6 +O-14711,62.6 +O-14712,45.9 +O-14713,24.1 +O-14714,55.2 +O-14715,14.9 +O-14716,17.5 +O-14717,27.0 +O-14718,33.4 +O-14719,35.6 +O-14720,23.3 +O-14721,66.9 +O-14722,20.4 +O-14723,35.9 +O-14724,24.5 +O-14725,13.5 +O-14726,35.2 +O-14727,45.3 +O-14728,42.7 +O-14729,50.6 +O-14730,35.3 +O-14731,23.1 +O-14732,30.5 +O-14733,20.9 +O-14734,29.7 +O-14735,27.9 +O-14736,42.6 +O-14737,26.2 +O-14738,20.4 +O-14739,48.4 +O-14740,26.3 +O-14741,41.6 +O-14742,26.0 +O-14743,14.7 +O-14744,42.4 +O-14745,72.6 +O-14746,59.3 +O-14747,40.1 +O-14748,27.0 +O-14749,13.7 +O-14750,26.1 +O-14751,19.3 +O-14752,46.4 +O-14753,26.0 +O-14754,42.5 +O-14755,43.3 +O-14756,69.1 +O-14757,56.9 +O-14758,17.3 +O-14759,43.9 +O-14760,37.5 +O-14761,24.6 +O-14762,34.0 +O-14763,35.4 +O-14764,77.9 +O-14765,21.3 +O-14766,27.6 +O-14767,29.3 +O-14768,57.9 +O-14769,42.8 +O-14770,61.9 +O-14771,47.2 +O-14772,22.6 +O-14773,41.5 +O-14774,17.3 +O-14775,19.1 +O-14776,38.8 +O-14777,20.1 +O-14778,38.9 +O-14779,36.3 +O-14780,30.4 +O-14781,17.0 +O-14782,28.9 +O-14783,33.4 +O-14784,66.2 +O-14785,25.8 +O-14786,18.1 +O-14787,38.5 +O-14788,37.0 +O-14789,66.4 +O-14790,37.6 +O-14791,25.9 +O-14792,31.6 +O-14793,45.9 +O-14794,12.3 +O-14795,85.6 +O-14796,59.0 +O-14797,22.2 +O-14798,22.3 +O-14799,38.5 +O-14800,28.2 +O-14801,61.7 +O-14802,28.0 +O-14803,50.3 +O-14804,38.8 +O-14805,21.3 +O-14806,29.6 +O-14807,23.5 +O-14808,30.8 +O-14809,24.6 +O-14810,87.6 +O-14811,17.8 +O-14812,57.3 +O-14813,47.2 +O-14814,24.8 +O-14815,66.4 +O-14816,49.4 +O-14817,63.8 +O-14818,16.5 +O-14819,31.2 +O-14820,27.6 +O-14821,18.3 +O-14822,19.7 +O-14823,43.5 +O-14824,22.4 +O-14825,20.7 +O-14826,24.1 +O-14827,19.3 +O-14828,29.8 +O-14829,35.4 +O-14830,38.9 +O-14831,32.7 +O-14832,22.7 +O-14833,35.9 +O-14834,43.2 +O-14835,23.9 +O-14836,43.0 +O-14837,35.5 +O-14838,45.1 +O-14839,29.3 +O-14840,62.0 +O-14841,38.6 +O-14842,77.5 +O-14843,57.4 +O-14844,30.0 +O-14845,35.0 +O-14846,40.9 +O-14847,58.9 +O-14848,17.1 +O-14849,37.2 +O-14850,56.6 +O-14851,38.9 +O-14852,82.2 +O-14853,37.4 +O-14854,29.0 +O-14855,40.3 +O-14856,88.4 +O-14857,45.1 +O-14858,22.2 +O-14859,20.5 +O-14860,23.8 +O-14861,94.9 +O-14862,25.0 +O-14863,25.9 +O-14864,37.5 +O-14865,36.5 +O-14866,21.3 +O-14867,40.5 +O-14868,40.9 +O-14869,55.5 +O-14870,44.0 +O-14871,50.3 +O-14872,15.5 +O-14873,32.2 +O-14874,76.2 +O-14875,33.3 +O-14876,24.7 +O-14877,41.6 +O-14878,18.1 +O-14879,45.6 +O-14880,55.5 +O-14881,31.5 +O-14882,72.5 +O-14883,29.3 +O-14884,52.8 +O-14885,15.9 +O-14886,14.5 +O-14887,46.2 +O-14888,19.1 +O-14889,63.9 +O-14890,24.1 +O-14891,34.7 +O-14892,37.2 +O-14893,26.0 +O-14894,26.9 +O-14895,25.4 +O-14896,36.2 +O-14897,35.2 +O-14898,30.6 +O-14899,11.1 +O-14900,29.5 +O-14901,42.2 +O-14902,70.2 +O-14903,10.3 +O-14904,49.1 +O-14905,27.3 +O-14906,23.8 +O-14907,29.8 +O-14908,33.2 +O-14909,39.1 +O-14910,15.1 +O-14911,61.6 +O-14912,41.4 +O-14913,17.6 +O-14914,44.0 +O-14915,60.7 +O-14916,16.7 +O-14917,18.0 +O-14918,38.2 +O-14919,53.1 +O-14920,53.8 +O-14921,15.7 +O-14922,33.0 +O-14923,70.2 +O-14924,23.5 +O-14925,39.0 +O-14926,27.5 +O-14927,17.4 +O-14928,45.8 +O-14929,18.3 +O-14930,34.3 +O-14931,23.1 +O-14932,35.6 +O-14933,47.0 +O-14934,33.3 +O-14935,32.4 +O-14936,51.9 +O-14937,52.6 +O-14938,38.6 +O-14939,12.6 +O-14940,21.2 +O-14941,27.2 +O-14942,28.8 +O-14943,62.8 +O-14944,18.4 +O-14945,28.5 +O-14946,41.4 +O-14947,57.0 +O-14948,16.9 +O-14949,35.8 +O-14950,37.4 +O-14951,33.8 +O-14952,55.3 +O-14953,41.5 +O-14954,29.5 +O-14955,49.1 +O-14956,46.7 +O-14957,43.9 +O-14958,23.8 +O-14959,32.8 +O-14960,31.5 +O-14961,26.6 +O-14962,16.6 +O-14963,38.0 +O-14964,36.9 +O-14965,37.4 +O-14966,36.9 +O-14967,32.8 +O-14968,30.6 +O-14969,37.8 +O-14970,17.3 +O-14971,17.7 +O-14972,25.4 +O-14973,37.3 +O-14974,44.8 +O-14975,45.0 +O-14976,34.9 +O-14977,29.8 +O-14978,11.7 +O-14979,37.2 +O-14980,59.0 +O-14981,12.8 +O-14982,25.8 +O-14983,25.9 +O-14984,20.2 +O-14985,35.8 +O-14986,30.1 +O-14987,40.7 +O-14988,29.3 +O-14989,55.0 +O-14990,55.0 +O-14991,24.4 +O-14992,37.6 +O-14993,60.7 +O-14994,31.2 +O-14995,56.7 +O-14996,26.5 +O-14997,23.6 +O-14998,38.9 +O-14999,45.5 +O-15000,17.1 diff --git a/agents/evals/fixtures/cases/histogram-basic-seaborn-renamed/case.json b/agents/evals/fixtures/cases/histogram-basic-seaborn-renamed/case.json new file mode 100644 index 0000000000..c2cfa81749 --- /dev/null +++ b/agents/evals/fixtures/cases/histogram-basic-seaborn-renamed/case.json @@ -0,0 +1,20 @@ +{ + "spec_id": "histogram-basic", + "library": "seaborn", + "locale": "de", + "perturbation": "renamed", + "bindings": [ + { + "role": "values", + "column": "Lieferzeit / Minuten" + } + ], + "expected": "accepted", + "tags": [ + "histogram", + "renamed", + "synthetic", + "renamed-headers" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 404, renamed)" +} diff --git a/agents/evals/fixtures/cases/histogram-basic-seaborn-renamed/data.csv b/agents/evals/fixtures/cases/histogram-basic-seaborn-renamed/data.csv new file mode 100644 index 0000000000..0a8a710459 --- /dev/null +++ b/agents/evals/fixtures/cases/histogram-basic-seaborn-renamed/data.csv @@ -0,0 +1,401 @@ +Bestellnummer,Lieferzeit / Minuten +O-10001,38.3 +O-10002,39.4 +O-10003,36.7 +O-10004,36.6 +O-10005,16.3 +O-10006,25.4 +O-10007,25.4 +O-10008,28.7 +O-10009,38.1 +O-10010,29.6 +O-10011,19.5 +O-10012,36.0 +O-10013,53.0 +O-10014,30.1 +O-10015,21.3 +O-10016,47.9 +O-10017,41.8 +O-10018,26.4 +O-10019,32.4 +O-10020,22.9 +O-10021,52.4 +O-10022,31.4 +O-10023,19.7 +O-10024,31.1 +O-10025,38.2 +O-10026,52.7 +O-10027,23.9 +O-10028,39.3 +O-10029,46.8 +O-10030,38.3 +O-10031,24.2 +O-10032,57.8 +O-10033,44.9 +O-10034,67.6 +O-10035,22.3 +O-10036,27.3 +O-10037,17.8 +O-10038,34.3 +O-10039,36.7 +O-10040,25.1 +O-10041,31.6 +O-10042,52.9 +O-10043,29.7 +O-10044,30.9 +O-10045,52.3 +O-10046,32.4 +O-10047,47.4 +O-10048,62.4 +O-10049,22.5 +O-10050,14.7 +O-10051,34.6 +O-10052,19.6 +O-10053,34.0 +O-10054,29.6 +O-10055,27.2 +O-10056,53.7 +O-10057,66.8 +O-10058,34.1 +O-10059,39.1 +O-10060,32.1 +O-10061,50.4 +O-10062,18.7 +O-10063,32.2 +O-10064,66.0 +O-10065,40.7 +O-10066,76.3 +O-10067,15.7 +O-10068,18.2 +O-10069,18.4 +O-10070,23.2 +O-10071,34.8 +O-10072,30.9 +O-10073,39.8 +O-10074,27.5 +O-10075,17.7 +O-10076,84.2 +O-10077,27.9 +O-10078,22.2 +O-10079,92.0 +O-10080,31.1 +O-10081,30.6 +O-10082,55.0 +O-10083,35.7 +O-10084,22.3 +O-10085,11.9 +O-10086,14.1 +O-10087,24.0 +O-10088,29.3 +O-10089,46.9 +O-10090,26.2 +O-10091,20.2 +O-10092,18.5 +O-10093,16.2 +O-10094,26.1 +O-10095,31.2 +O-10096,57.1 +O-10097,15.0 +O-10098,33.6 +O-10099,24.4 +O-10100,44.1 +O-10101,51.7 +O-10102,35.6 +O-10103,18.6 +O-10104,41.6 +O-10105,47.3 +O-10106,27.6 +O-10107,45.3 +O-10108,43.6 +O-10109,19.1 +O-10110,26.2 +O-10111,20.6 +O-10112,29.6 +O-10113,61.9 +O-10114,58.8 +O-10115,20.6 +O-10116,13.7 +O-10117,14.8 +O-10118,36.3 +O-10119,116.4 +O-10120,51.6 +O-10121,19.3 +O-10122,48.0 +O-10123,106.1 +O-10124,42.9 +O-10125,17.9 +O-10126,27.9 +O-10127,18.3 +O-10128,88.9 +O-10129,51.3 +O-10130,22.7 +O-10131,39.0 +O-10132,31.8 +O-10133,43.4 +O-10134,27.5 +O-10135,21.1 +O-10136,26.0 +O-10137,32.5 +O-10138,23.8 +O-10139,28.4 +O-10140,16.3 +O-10141,18.4 +O-10142,29.0 +O-10143,40.9 +O-10144,30.8 +O-10145,39.6 +O-10146,32.4 +O-10147,25.0 +O-10148,35.2 +O-10149,18.7 +O-10150,30.7 +O-10151,31.5 +O-10152,22.7 +O-10153,20.7 +O-10154,27.3 +O-10155,43.8 +O-10156,33.0 +O-10157,42.1 +O-10158,20.7 +O-10159,14.8 +O-10160,16.0 +O-10161,25.2 +O-10162,38.5 +O-10163,39.5 +O-10164,43.0 +O-10165,37.5 +O-10166,23.2 +O-10167,62.0 +O-10168,9.8 +O-10169,41.2 +O-10170,33.8 +O-10171,21.5 +O-10172,57.7 +O-10173,34.0 +O-10174,16.2 +O-10175,27.2 +O-10176,16.4 +O-10177,29.6 +O-10178,22.8 +O-10179,23.1 +O-10180,36.4 +O-10181,61.6 +O-10182,23.9 +O-10183,25.1 +O-10184,23.6 +O-10185,23.1 +O-10186,32.4 +O-10187,86.5 +O-10188,26.8 +O-10189,40.1 +O-10190,22.4 +O-10191,32.4 +O-10192,25.6 +O-10193,30.6 +O-10194,68.7 +O-10195,37.1 +O-10196,29.5 +O-10197,61.1 +O-10198,50.7 +O-10199,35.4 +O-10200,36.6 +O-10201,37.5 +O-10202,37.9 +O-10203,18.0 +O-10204,41.9 +O-10205,53.1 +O-10206,19.9 +O-10207,16.4 +O-10208,39.5 +O-10209,32.8 +O-10210,37.9 +O-10211,39.5 +O-10212,39.4 +O-10213,24.6 +O-10214,40.7 +O-10215,27.6 +O-10216,21.4 +O-10217,44.1 +O-10218,22.6 +O-10219,30.9 +O-10220,26.5 +O-10221,20.7 +O-10222,21.7 +O-10223,31.1 +O-10224,31.1 +O-10225,39.7 +O-10226,30.2 +O-10227,22.8 +O-10228,36.3 +O-10229,32.5 +O-10230,49.4 +O-10231,39.2 +O-10232,21.6 +O-10233,13.8 +O-10234,31.1 +O-10235,21.9 +O-10236,49.0 +O-10237,20.4 +O-10238,21.4 +O-10239,48.5 +O-10240,17.1 +O-10241,29.3 +O-10242,69.6 +O-10243,31.2 +O-10244,43.1 +O-10245,46.7 +O-10246,28.7 +O-10247,31.7 +O-10248,30.0 +O-10249,38.1 +O-10250,14.8 +O-10251,27.2 +O-10252,55.8 +O-10253,38.9 +O-10254,23.8 +O-10255,31.8 +O-10256,13.2 +O-10257,72.2 +O-10258,36.3 +O-10259,15.7 +O-10260,26.3 +O-10261,24.5 +O-10262,67.5 +O-10263,20.5 +O-10264,23.4 +O-10265,62.8 +O-10266,34.5 +O-10267,25.2 +O-10268,21.3 +O-10269,49.0 +O-10270,48.8 +O-10271,50.0 +O-10272,23.1 +O-10273,62.7 +O-10274,85.7 +O-10275,29.5 +O-10276,14.9 +O-10277,39.7 +O-10278,48.3 +O-10279,26.7 +O-10280,26.6 +O-10281,52.4 +O-10282,40.5 +O-10283,14.9 +O-10284,42.9 +O-10285,26.4 +O-10286,10.6 +O-10287,21.9 +O-10288,40.1 +O-10289,57.9 +O-10290,42.6 +O-10291,43.6 +O-10292,41.3 +O-10293,66.9 +O-10294,18.6 +O-10295,40.7 +O-10296,88.6 +O-10297,39.5 +O-10298,15.6 +O-10299,17.3 +O-10300,27.3 +O-10301,56.9 +O-10302,38.8 +O-10303,19.9 +O-10304,26.8 +O-10305,25.9 +O-10306,32.8 +O-10307,46.9 +O-10308,16.6 +O-10309,26.9 +O-10310,40.7 +O-10311,40.1 +O-10312,42.5 +O-10313,67.6 +O-10314,15.9 +O-10315,26.1 +O-10316,24.4 +O-10317,16.6 +O-10318,23.2 +O-10319,15.1 +O-10320,15.3 +O-10321,29.7 +O-10322,38.9 +O-10323,26.6 +O-10324,36.1 +O-10325,21.0 +O-10326,25.5 +O-10327,42.8 +O-10328,37.0 +O-10329,40.5 +O-10330,17.7 +O-10331,31.3 +O-10332,56.8 +O-10333,73.4 +O-10334,19.2 +O-10335,17.4 +O-10336,24.3 +O-10337,30.6 +O-10338,37.8 +O-10339,16.0 +O-10340,44.5 +O-10341,12.7 +O-10342,10.7 +O-10343,52.5 +O-10344,14.2 +O-10345,21.0 +O-10346,28.3 +O-10347,21.6 +O-10348,23.8 +O-10349,44.5 +O-10350,40.3 +O-10351,40.1 +O-10352,39.4 +O-10353,29.2 +O-10354,30.6 +O-10355,38.7 +O-10356,23.7 +O-10357,75.8 +O-10358,43.2 +O-10359,44.5 +O-10360,44.3 +O-10361,37.8 +O-10362,38.7 +O-10363,44.0 +O-10364,18.1 +O-10365,55.9 +O-10366,22.3 +O-10367,16.8 +O-10368,33.6 +O-10369,39.3 +O-10370,31.9 +O-10371,53.9 +O-10372,26.0 +O-10373,49.6 +O-10374,23.6 +O-10375,52.4 +O-10376,20.0 +O-10377,40.3 +O-10378,21.0 +O-10379,15.1 +O-10380,17.3 +O-10381,45.4 +O-10382,62.7 +O-10383,60.9 +O-10384,27.5 +O-10385,29.3 +O-10386,29.9 +O-10387,24.6 +O-10388,13.3 +O-10389,34.8 +O-10390,23.5 +O-10391,18.0 +O-10392,22.6 +O-10393,45.3 +O-10394,99.4 +O-10395,44.2 +O-10396,43.3 +O-10397,38.5 +O-10398,18.6 +O-10399,45.8 +O-10400,36.7 diff --git a/agents/evals/fixtures/cases/histogram-basic-seaborn-x10/case.json b/agents/evals/fixtures/cases/histogram-basic-seaborn-x10/case.json new file mode 100644 index 0000000000..45205573fa --- /dev/null +++ b/agents/evals/fixtures/cases/histogram-basic-seaborn-x10/case.json @@ -0,0 +1,20 @@ +{ + "spec_id": "histogram-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "x10", + "bindings": [ + { + "role": "values", + "column": "Delivery Time (min)" + } + ], + "expected": "accepted", + "tags": [ + "histogram", + "x10", + "synthetic", + "scaled-values" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 404, x10)" +} diff --git a/agents/evals/fixtures/cases/histogram-basic-seaborn-x10/data.csv b/agents/evals/fixtures/cases/histogram-basic-seaborn-x10/data.csv new file mode 100644 index 0000000000..733d61def1 --- /dev/null +++ b/agents/evals/fixtures/cases/histogram-basic-seaborn-x10/data.csv @@ -0,0 +1,401 @@ +Order ID,Delivery Time (min) +O-10001,383.1 +O-10002,393.6 +O-10003,366.8 +O-10004,366.3 +O-10005,163.0 +O-10006,253.5 +O-10007,253.9 +O-10008,286.6 +O-10009,381.0 +O-10010,296.2 +O-10011,195.2 +O-10012,360.2 +O-10013,530.2 +O-10014,300.6 +O-10015,212.6 +O-10016,479.4 +O-10017,418.4 +O-10018,264.2 +O-10019,324.4 +O-10020,228.7 +O-10021,524.3 +O-10022,314.3 +O-10023,197.5 +O-10024,310.6 +O-10025,381.5 +O-10026,526.9 +O-10027,239.1 +O-10028,392.9 +O-10029,468.4 +O-10030,383.1 +O-10031,242.2 +O-10032,577.5 +O-10033,449.1 +O-10034,676.5 +O-10035,223.0 +O-10036,273.5 +O-10037,177.9 +O-10038,342.6 +O-10039,366.8 +O-10040,251.2 +O-10041,316.5 +O-10042,529.3 +O-10043,296.5 +O-10044,309.4 +O-10045,523.2 +O-10046,324.4 +O-10047,474.3 +O-10048,624.4 +O-10049,225.0 +O-10050,146.7 +O-10051,346.2 +O-10052,196.3 +O-10053,339.6 +O-10054,296.1 +O-10055,272.2 +O-10056,537.0 +O-10057,668.0 +O-10058,341.3 +O-10059,391.4 +O-10060,321.0 +O-10061,503.9 +O-10062,186.8 +O-10063,322.0 +O-10064,659.6 +O-10065,406.9 +O-10066,762.6 +O-10067,157.1 +O-10068,182.2 +O-10069,183.7 +O-10070,232.3 +O-10071,348.1 +O-10072,309.1 +O-10073,397.6 +O-10074,275.3 +O-10075,176.5 +O-10076,842.4 +O-10077,279.0 +O-10078,222.2 +O-10079,920.2 +O-10080,310.8 +O-10081,305.7 +O-10082,550.3 +O-10083,356.7 +O-10084,222.8 +O-10085,119.4 +O-10086,140.6 +O-10087,240.3 +O-10088,293.0 +O-10089,468.6 +O-10090,262.3 +O-10091,202.4 +O-10092,184.9 +O-10093,162.5 +O-10094,261.1 +O-10095,311.7 +O-10096,570.6 +O-10097,150.1 +O-10098,336.4 +O-10099,243.5 +O-10100,441.0 +O-10101,516.9 +O-10102,355.9 +O-10103,186.0 +O-10104,416.2 +O-10105,473.4 +O-10106,276.3 +O-10107,452.6 +O-10108,435.9 +O-10109,190.6 +O-10110,262.2 +O-10111,206.4 +O-10112,296.5 +O-10113,618.8 +O-10114,588.3 +O-10115,206.1 +O-10116,137.1 +O-10117,148.4 +O-10118,362.9 +O-10119,1164.0 +O-10120,516.3 +O-10121,192.8 +O-10122,480.3 +O-10123,1060.6 +O-10124,429.0 +O-10125,179.1 +O-10126,279.2 +O-10127,183.2 +O-10128,889.5 +O-10129,512.6 +O-10130,227.0 +O-10131,390.2 +O-10132,317.8 +O-10133,434.1 +O-10134,274.6 +O-10135,211.2 +O-10136,260.2 +O-10137,325.4 +O-10138,238.2 +O-10139,283.6 +O-10140,162.5 +O-10141,183.8 +O-10142,290.4 +O-10143,409.1 +O-10144,308.0 +O-10145,395.7 +O-10146,324.1 +O-10147,249.6 +O-10148,352.2 +O-10149,187.4 +O-10150,306.5 +O-10151,314.9 +O-10152,227.1 +O-10153,206.5 +O-10154,273.4 +O-10155,437.9 +O-10156,329.5 +O-10157,421.2 +O-10158,207.1 +O-10159,147.5 +O-10160,160.0 +O-10161,251.9 +O-10162,384.8 +O-10163,394.8 +O-10164,430.4 +O-10165,374.6 +O-10166,231.7 +O-10167,620.5 +O-10168,98.4 +O-10169,412.2 +O-10170,337.6 +O-10171,215.4 +O-10172,576.6 +O-10173,340.3 +O-10174,162.2 +O-10175,272.2 +O-10176,163.5 +O-10177,296.3 +O-10178,227.8 +O-10179,230.9 +O-10180,364.1 +O-10181,615.6 +O-10182,238.6 +O-10183,250.7 +O-10184,236.4 +O-10185,230.9 +O-10186,324.4 +O-10187,865.4 +O-10188,267.5 +O-10189,400.8 +O-10190,223.9 +O-10191,323.9 +O-10192,255.7 +O-10193,305.5 +O-10194,687.4 +O-10195,370.7 +O-10196,295.3 +O-10197,610.7 +O-10198,507.2 +O-10199,353.8 +O-10200,365.6 +O-10201,375.0 +O-10202,378.7 +O-10203,180.4 +O-10204,419.2 +O-10205,531.1 +O-10206,198.6 +O-10207,164.4 +O-10208,395.4 +O-10209,327.8 +O-10210,379.5 +O-10211,394.6 +O-10212,393.9 +O-10213,245.6 +O-10214,407.4 +O-10215,275.9 +O-10216,214.2 +O-10217,440.5 +O-10218,225.9 +O-10219,308.9 +O-10220,265.1 +O-10221,206.8 +O-10222,217.0 +O-10223,311.4 +O-10224,311.2 +O-10225,397.0 +O-10226,301.7 +O-10227,227.6 +O-10228,362.7 +O-10229,324.5 +O-10230,493.8 +O-10231,391.5 +O-10232,215.6 +O-10233,138.4 +O-10234,311.2 +O-10235,219.3 +O-10236,490.1 +O-10237,204.4 +O-10238,214.4 +O-10239,484.9 +O-10240,170.9 +O-10241,292.7 +O-10242,695.8 +O-10243,312.5 +O-10244,430.6 +O-10245,467.1 +O-10246,286.8 +O-10247,317.3 +O-10248,299.8 +O-10249,380.7 +O-10250,147.6 +O-10251,272.3 +O-10252,558.1 +O-10253,389.1 +O-10254,238.0 +O-10255,318.4 +O-10256,131.7 +O-10257,721.7 +O-10258,363.0 +O-10259,157.0 +O-10260,262.8 +O-10261,244.9 +O-10262,675.3 +O-10263,204.8 +O-10264,233.6 +O-10265,628.2 +O-10266,345.1 +O-10267,252.3 +O-10268,213.3 +O-10269,490.2 +O-10270,488.2 +O-10271,499.9 +O-10272,230.8 +O-10273,627.0 +O-10274,856.6 +O-10275,295.3 +O-10276,149.1 +O-10277,397.5 +O-10278,482.9 +O-10279,267.1 +O-10280,266.3 +O-10281,523.8 +O-10282,405.4 +O-10283,149.2 +O-10284,429.4 +O-10285,263.9 +O-10286,106.3 +O-10287,219.1 +O-10288,401.3 +O-10289,578.6 +O-10290,425.8 +O-10291,436.4 +O-10292,413.3 +O-10293,669.3 +O-10294,185.5 +O-10295,407.2 +O-10296,886.2 +O-10297,394.8 +O-10298,155.9 +O-10299,172.7 +O-10300,273.1 +O-10301,569.0 +O-10302,388.2 +O-10303,198.9 +O-10304,268.0 +O-10305,259.1 +O-10306,327.9 +O-10307,469.4 +O-10308,166.0 +O-10309,268.9 +O-10310,407.2 +O-10311,400.9 +O-10312,425.5 +O-10313,675.5 +O-10314,159.2 +O-10315,261.2 +O-10316,244.2 +O-10317,165.5 +O-10318,232.5 +O-10319,150.9 +O-10320,153.5 +O-10321,296.8 +O-10322,389.3 +O-10323,266.5 +O-10324,361.5 +O-10325,210.2 +O-10326,254.7 +O-10327,427.7 +O-10328,370.0 +O-10329,405.3 +O-10330,176.7 +O-10331,312.5 +O-10332,568.2 +O-10333,734.2 +O-10334,191.7 +O-10335,174.1 +O-10336,243.2 +O-10337,306.4 +O-10338,378.2 +O-10339,160.4 +O-10340,444.9 +O-10341,127.2 +O-10342,107.4 +O-10343,524.9 +O-10344,141.7 +O-10345,210.4 +O-10346,282.5 +O-10347,216.0 +O-10348,237.6 +O-10349,445.4 +O-10350,402.9 +O-10351,400.9 +O-10352,394.1 +O-10353,292.5 +O-10354,306.5 +O-10355,387.3 +O-10356,236.9 +O-10357,757.9 +O-10358,431.8 +O-10359,445.1 +O-10360,443.2 +O-10361,378.3 +O-10362,387.3 +O-10363,439.7 +O-10364,181.3 +O-10365,559.1 +O-10366,222.9 +O-10367,167.6 +O-10368,336.2 +O-10369,392.9 +O-10370,318.6 +O-10371,538.6 +O-10372,260.2 +O-10373,495.9 +O-10374,236.0 +O-10375,524.1 +O-10376,200.3 +O-10377,403.0 +O-10378,210.2 +O-10379,151.2 +O-10380,172.6 +O-10381,454.4 +O-10382,627.4 +O-10383,608.8 +O-10384,275.3 +O-10385,293.3 +O-10386,299.0 +O-10387,246.3 +O-10388,133.2 +O-10389,347.9 +O-10390,235.3 +O-10391,179.7 +O-10392,225.9 +O-10393,452.7 +O-10394,994.0 +O-10395,442.2 +O-10396,432.7 +O-10397,384.7 +O-10398,186.2 +O-10399,457.6 +O-10400,367.4 diff --git a/agents/evals/fixtures/cases/line-basic-matplotlib-date/case.json b/agents/evals/fixtures/cases/line-basic-matplotlib-date/case.json new file mode 100644 index 0000000000..db261547d4 --- /dev/null +++ b/agents/evals/fixtures/cases/line-basic-matplotlib-date/case.json @@ -0,0 +1,26 @@ +{ + "spec_id": "line-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "date", + "bindings": [ + { + "role": "x", + "column": "Timestamp" + }, + { + "role": "y", + "column": "Tank Temperature (°C)" + } + ], + "expected": "accepted", + "tags": [ + "line", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "date-axis" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 202, date)" +} diff --git a/agents/evals/fixtures/cases/line-basic-matplotlib-date/data.csv b/agents/evals/fixtures/cases/line-basic-matplotlib-date/data.csv new file mode 100644 index 0000000000..02d4c96346 --- /dev/null +++ b/agents/evals/fixtures/cases/line-basic-matplotlib-date/data.csv @@ -0,0 +1,62 @@ +Timestamp,Logged At,Tank Temperature (°C) +14.03.2026 06:00,2026-03-15T06:00,21.1 +14.03.2026 06:02,2026-03-15T06:02,23.2 +14.03.2026 06:04,2026-03-15T06:04,26.4 +14.03.2026 06:06,2026-03-15T06:06,30.0 +14.03.2026 06:08,2026-03-15T06:08,32.6 +14.03.2026 06:10,2026-03-15T06:10,37.1 +14.03.2026 06:12,2026-03-15T06:12,39.4 +14.03.2026 06:14,2026-03-15T06:14,41.8 +14.03.2026 06:16,2026-03-15T06:16,44.7 +14.03.2026 06:18,2026-03-15T06:18,45.8 +14.03.2026 06:20,2026-03-15T06:20,47.5 +14.03.2026 06:22,2026-03-15T06:22,50.5 +14.03.2026 06:24,2026-03-15T06:24,52.4 +14.03.2026 06:26,2026-03-15T06:26,53.6 +14.03.2026 06:28,2026-03-15T06:28,56.1 +14.03.2026 06:30,2026-03-15T06:30,58.3 +14.03.2026 06:32,2026-03-15T06:32,58.6 +14.03.2026 06:34,2026-03-15T06:34,60.5 +14.03.2026 06:36,2026-03-15T06:36,62.0 +14.03.2026 06:38,2026-03-15T06:38,63.3 +14.03.2026 06:40,2026-03-15T06:40,64.9 +14.03.2026 06:42,2026-03-15T06:42,65.8 +14.03.2026 06:44,2026-03-15T06:44,67.3 +14.03.2026 06:46,2026-03-15T06:46,67.1 +14.03.2026 06:48,2026-03-15T06:48,68.2 +14.03.2026 06:50,2026-03-15T06:50,69.9 +14.03.2026 06:52,2026-03-15T06:52,70.0 +14.03.2026 06:54,2026-03-15T06:54,70.8 +14.03.2026 06:56,2026-03-15T06:56,71.8 +14.03.2026 06:58,2026-03-15T06:58,72.8 +14.03.2026 07:00,2026-03-15T07:00,73.0 +14.03.2026 07:02,2026-03-15T07:02,74.3 +14.03.2026 07:04,2026-03-15T07:04,75.4 +14.03.2026 07:06,2026-03-15T07:06,74.1 +14.03.2026 07:08,2026-03-15T07:08,74.3 +14.03.2026 07:10,2026-03-15T07:10,76.7 +14.03.2026 07:12,2026-03-15T07:12,76.2 +14.03.2026 07:14,2026-03-15T07:14,78.0 +14.03.2026 07:16,2026-03-15T07:16,79.3 +14.03.2026 07:18,2026-03-15T07:18,77.9 +14.03.2026 07:20,2026-03-15T07:20,78.2 +14.03.2026 07:22,2026-03-15T07:22,78.8 +14.03.2026 07:24,2026-03-15T07:24,79.3 +14.03.2026 07:26,2026-03-15T07:26,79.4 +14.03.2026 07:28,2026-03-15T07:28,79.2 +14.03.2026 07:30,2026-03-15T07:30,80.3 +14.03.2026 07:32,2026-03-15T07:32,79.1 +14.03.2026 07:34,2026-03-15T07:34,80.8 +14.03.2026 07:36,2026-03-15T07:36,80.9 +14.03.2026 07:38,2026-03-15T07:38,81.8 +14.03.2026 07:40,2026-03-15T07:40,81.4 +14.03.2026 07:42,2026-03-15T07:42,81.8 +14.03.2026 07:44,2026-03-15T07:44,81.1 +14.03.2026 07:46,2026-03-15T07:46,82.0 +14.03.2026 07:48,2026-03-15T07:48,82.5 +14.03.2026 07:50,2026-03-15T07:50,82.8 +14.03.2026 07:52,2026-03-15T07:52,82.4 +14.03.2026 07:54,2026-03-15T07:54,83.4 +14.03.2026 07:56,2026-03-15T07:56,83.4 +14.03.2026 07:58,2026-03-15T07:58,82.4 +14.03.2026 08:00,2026-03-15T08:00,81.4 diff --git a/agents/evals/fixtures/cases/line-basic-matplotlib-decimal-comma/case.json b/agents/evals/fixtures/cases/line-basic-matplotlib-decimal-comma/case.json new file mode 100644 index 0000000000..1c4774f345 --- /dev/null +++ b/agents/evals/fixtures/cases/line-basic-matplotlib-decimal-comma/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "line-basic", + "library": "matplotlib", + "locale": "de", + "perturbation": "decimal-comma", + "bindings": [ + { + "role": "x", + "column": "Elapsed Time (min)" + }, + { + "role": "y", + "column": "Tank Temperature (°C)" + } + ], + "expected": "accepted", + "tags": [ + "line", + "decimal-comma", + "synthetic", + "semicolon" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 202, decimal-comma)" +} diff --git a/agents/evals/fixtures/cases/line-basic-matplotlib-decimal-comma/data.csv b/agents/evals/fixtures/cases/line-basic-matplotlib-decimal-comma/data.csv new file mode 100644 index 0000000000..5e8c0fc21e --- /dev/null +++ b/agents/evals/fixtures/cases/line-basic-matplotlib-decimal-comma/data.csv @@ -0,0 +1,62 @@ +Elapsed Time (min);Tank Temperature (°C) +0,00;21,1 +2,00;23,2 +4,00;26,4 +6,00;30,0 +8,00;32,6 +10,00;37,1 +12,00;39,4 +14,00;41,8 +16,00;44,7 +18,00;45,8 +20,00;47,5 +22,00;50,5 +24,00;52,4 +26,00;53,6 +28,00;56,1 +30,00;58,3 +32,00;58,6 +34,00;60,5 +36,00;62,0 +38,00;63,3 +40,00;64,9 +42,00;65,8 +44,00;67,3 +46,00;67,1 +48,00;68,2 +50,00;69,9 +52,00;70,0 +54,00;70,8 +56,00;71,8 +58,00;72,8 +60,00;73,0 +62,00;74,3 +64,00;75,4 +66,00;74,1 +68,00;74,3 +70,00;76,7 +72,00;76,2 +74,00;78,0 +76,00;79,3 +78,00;77,9 +80,00;78,2 +82,00;78,8 +84,00;79,3 +86,00;79,4 +88,00;79,2 +90,00;80,3 +92,00;79,1 +94,00;80,8 +96,00;80,9 +98,00;81,8 +100,00;81,4 +102,00;81,8 +104,00;81,1 +106,00;82,0 +108,00;82,5 +110,00;82,8 +112,00;82,4 +114,00;83,4 +116,00;83,4 +118,00;82,4 +120,00;81,4 diff --git a/agents/evals/fixtures/cases/line-basic-matplotlib-n12/case.json b/agents/evals/fixtures/cases/line-basic-matplotlib-n12/case.json new file mode 100644 index 0000000000..a61c98a3a2 --- /dev/null +++ b/agents/evals/fixtures/cases/line-basic-matplotlib-n12/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "line-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "n12", + "bindings": [ + { + "role": "x", + "column": "Elapsed Time (min)" + }, + { + "role": "y", + "column": "Tank Temperature (°C)" + } + ], + "expected": "accepted", + "tags": [ + "line", + "n12", + "synthetic", + "small" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 202, n12)" +} diff --git a/agents/evals/fixtures/cases/line-basic-matplotlib-n12/data.csv b/agents/evals/fixtures/cases/line-basic-matplotlib-n12/data.csv new file mode 100644 index 0000000000..484b2229ff --- /dev/null +++ b/agents/evals/fixtures/cases/line-basic-matplotlib-n12/data.csv @@ -0,0 +1,13 @@ +Elapsed Time (min),Tank Temperature (°C) +0.00,19.6 +10.91,37.8 +21.82,49.3 +32.73,58.5 +43.64,66.1 +54.55,70.5 +65.45,75.6 +76.36,78.4 +87.27,80.4 +98.18,80.8 +109.09,82.4 +120.00,83.0 diff --git a/agents/evals/fixtures/cases/line-basic-matplotlib-n5000/case.json b/agents/evals/fixtures/cases/line-basic-matplotlib-n5000/case.json new file mode 100644 index 0000000000..8d8ee44e61 --- /dev/null +++ b/agents/evals/fixtures/cases/line-basic-matplotlib-n5000/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "line-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "n5000", + "bindings": [ + { + "role": "x", + "column": "Elapsed Time (min)" + }, + { + "role": "y", + "column": "Tank Temperature (°C)" + } + ], + "expected": "accepted", + "tags": [ + "line", + "n5000", + "synthetic", + "large" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 202, n5000)" +} diff --git a/agents/evals/fixtures/cases/line-basic-matplotlib-n5000/data.csv b/agents/evals/fixtures/cases/line-basic-matplotlib-n5000/data.csv new file mode 100644 index 0000000000..bc2d96257a --- /dev/null +++ b/agents/evals/fixtures/cases/line-basic-matplotlib-n5000/data.csv @@ -0,0 +1,5001 @@ +Elapsed Time (min),Tank Temperature (°C) +0.000,19.4 +0.024,20.3 +0.048,20.4 +0.072,20.6 +0.096,19.9 +0.120,20.6 +0.144,20.4 +0.168,21.0 +0.192,20.7 +0.216,20.9 +0.240,22.5 +0.264,20.0 +0.288,21.4 +0.312,20.9 +0.336,21.0 +0.360,20.2 +0.384,21.6 +0.408,20.5 +0.432,20.6 +0.456,20.0 +0.480,20.2 +0.504,21.4 +0.528,21.0 +0.552,21.3 +0.576,20.6 +0.600,21.0 +0.624,20.4 +0.648,22.0 +0.672,21.4 +0.696,21.5 +0.720,22.0 +0.744,21.3 +0.768,21.3 +0.792,22.1 +0.816,21.6 +0.840,21.8 +0.864,21.8 +0.888,21.6 +0.912,21.7 +0.936,21.4 +0.960,22.3 +0.984,21.4 +1.008,22.8 +1.032,22.2 +1.056,21.4 +1.080,21.7 +1.104,22.7 +1.128,22.1 +1.152,21.4 +1.176,22.3 +1.200,22.6 +1.224,22.9 +1.248,23.2 +1.272,23.7 +1.296,22.6 +1.320,22.8 +1.344,22.8 +1.368,22.2 +1.392,22.2 +1.416,22.9 +1.440,22.1 +1.464,21.5 +1.488,23.2 +1.512,22.5 +1.536,22.8 +1.560,23.4 +1.584,25.0 +1.608,21.9 +1.632,22.7 +1.656,23.9 +1.680,23.3 +1.704,23.1 +1.728,22.8 +1.752,23.4 +1.776,22.9 +1.800,23.0 +1.824,23.0 +1.848,22.7 +1.872,22.4 +1.896,23.3 +1.920,23.6 +1.944,23.8 +1.968,23.6 +1.992,23.7 +2.016,23.3 +2.040,23.9 +2.064,23.3 +2.088,23.3 +2.112,23.6 +2.136,24.6 +2.160,24.2 +2.184,23.9 +2.208,23.5 +2.232,24.9 +2.256,24.6 +2.280,23.6 +2.304,23.9 +2.328,24.2 +2.352,25.1 +2.376,24.5 +2.400,24.2 +2.424,24.7 +2.448,25.2 +2.472,24.1 +2.496,23.6 +2.521,24.1 +2.545,24.4 +2.569,25.6 +2.593,24.4 +2.617,24.8 +2.641,24.7 +2.665,24.2 +2.689,24.4 +2.713,24.8 +2.737,24.7 +2.761,24.1 +2.785,24.5 +2.809,25.2 +2.833,24.7 +2.857,23.6 +2.881,26.2 +2.905,24.7 +2.929,24.6 +2.953,24.6 +2.977,25.8 +3.001,25.8 +3.025,24.8 +3.049,24.6 +3.073,25.1 +3.097,25.9 +3.121,25.0 +3.145,25.5 +3.169,25.9 +3.193,24.6 +3.217,24.9 +3.241,24.9 +3.265,25.9 +3.289,25.8 +3.313,25.6 +3.337,25.9 +3.361,26.2 +3.385,26.2 +3.409,26.4 +3.433,25.1 +3.457,26.3 +3.481,24.9 +3.505,25.4 +3.529,25.7 +3.553,26.5 +3.577,26.4 +3.601,26.4 +3.625,25.9 +3.649,26.4 +3.673,26.1 +3.697,25.7 +3.721,26.3 +3.745,27.0 +3.769,26.6 +3.793,26.6 +3.817,27.1 +3.841,26.8 +3.865,26.6 +3.889,27.2 +3.913,25.8 +3.937,26.2 +3.961,27.7 +3.985,27.7 +4.009,27.0 +4.033,26.6 +4.057,26.6 +4.081,26.4 +4.105,28.4 +4.129,26.6 +4.153,27.4 +4.177,26.3 +4.201,26.4 +4.225,28.6 +4.249,27.8 +4.273,26.9 +4.297,27.8 +4.321,27.4 +4.345,28.3 +4.369,27.0 +4.393,27.2 +4.417,27.3 +4.441,28.4 +4.465,27.6 +4.489,27.8 +4.513,27.9 +4.537,28.8 +4.561,27.4 +4.585,28.3 +4.609,27.7 +4.633,28.4 +4.657,28.2 +4.681,28.1 +4.705,28.0 +4.729,29.4 +4.753,28.5 +4.777,27.9 +4.801,29.3 +4.825,27.9 +4.849,28.8 +4.873,28.8 +4.897,28.4 +4.921,26.9 +4.945,29.2 +4.969,28.2 +4.993,29.9 +5.017,28.5 +5.041,29.1 +5.065,27.9 +5.089,28.7 +5.113,29.3 +5.137,29.4 +5.161,28.6 +5.185,28.5 +5.209,28.7 +5.233,29.4 +5.257,29.1 +5.281,27.9 +5.305,30.5 +5.329,29.1 +5.353,29.2 +5.377,29.4 +5.401,29.7 +5.425,29.1 +5.449,29.3 +5.473,30.4 +5.497,30.4 +5.521,28.6 +5.545,29.7 +5.569,30.2 +5.593,29.8 +5.617,30.0 +5.641,29.3 +5.665,30.0 +5.689,30.5 +5.713,30.4 +5.737,30.7 +5.761,29.4 +5.785,30.3 +5.809,29.5 +5.833,29.7 +5.857,30.4 +5.881,28.6 +5.905,30.3 +5.929,30.4 +5.953,30.2 +5.977,31.2 +6.001,29.9 +6.025,31.0 +6.049,30.2 +6.073,30.2 +6.097,29.8 +6.121,30.3 +6.145,30.6 +6.169,30.2 +6.193,31.4 +6.217,30.1 +6.241,29.8 +6.265,32.1 +6.289,31.2 +6.313,29.7 +6.337,31.0 +6.361,29.8 +6.385,29.8 +6.409,31.4 +6.433,30.6 +6.457,31.9 +6.481,31.9 +6.505,31.3 +6.529,32.5 +6.553,31.3 +6.577,30.5 +6.601,31.3 +6.625,31.0 +6.649,31.0 +6.673,30.6 +6.697,30.9 +6.721,31.4 +6.745,31.4 +6.769,31.2 +6.793,32.6 +6.817,31.0 +6.841,31.3 +6.865,31.1 +6.889,31.5 +6.913,31.7 +6.937,30.9 +6.961,33.3 +6.985,32.9 +7.009,32.5 +7.033,32.2 +7.057,32.1 +7.081,31.6 +7.105,32.1 +7.129,31.9 +7.153,32.9 +7.177,32.6 +7.201,32.9 +7.225,31.7 +7.249,31.9 +7.273,32.2 +7.297,33.0 +7.321,32.2 +7.345,31.4 +7.369,32.8 +7.393,31.2 +7.417,32.0 +7.441,32.0 +7.465,32.1 +7.489,32.8 +7.514,32.9 +7.538,32.4 +7.562,32.5 +7.586,32.8 +7.610,33.0 +7.634,33.0 +7.658,33.1 +7.682,33.4 +7.706,33.8 +7.730,32.9 +7.754,32.4 +7.778,33.0 +7.802,33.3 +7.826,33.6 +7.850,32.6 +7.874,33.0 +7.898,32.5 +7.922,33.0 +7.946,33.7 +7.970,33.2 +7.994,33.8 +8.018,33.9 +8.042,34.0 +8.066,33.1 +8.090,34.1 +8.114,33.1 +8.138,33.5 +8.162,34.2 +8.186,34.3 +8.210,33.8 +8.234,33.5 +8.258,34.7 +8.282,34.0 +8.306,34.2 +8.330,33.1 +8.354,33.4 +8.378,34.7 +8.402,33.4 +8.426,33.0 +8.450,33.1 +8.474,33.6 +8.498,33.1 +8.522,33.7 +8.546,33.8 +8.570,34.0 +8.594,34.6 +8.618,34.2 +8.642,34.1 +8.666,34.6 +8.690,35.0 +8.714,32.5 +8.738,34.6 +8.762,34.3 +8.786,34.4 +8.810,34.6 +8.834,34.5 +8.858,33.3 +8.882,35.1 +8.906,34.5 +8.930,34.6 +8.954,35.7 +8.978,35.2 +9.002,35.1 +9.026,34.2 +9.050,34.3 +9.074,34.3 +9.098,34.8 +9.122,34.9 +9.146,36.1 +9.170,35.4 +9.194,35.1 +9.218,34.9 +9.242,34.2 +9.266,35.3 +9.290,34.7 +9.314,35.2 +9.338,35.0 +9.362,35.0 +9.386,34.6 +9.410,35.0 +9.434,34.7 +9.458,35.7 +9.482,35.0 +9.506,36.0 +9.530,35.3 +9.554,35.7 +9.578,36.2 +9.602,35.8 +9.626,35.5 +9.650,36.3 +9.674,36.2 +9.698,35.2 +9.722,35.6 +9.746,36.4 +9.770,35.4 +9.794,35.7 +9.818,34.9 +9.842,36.0 +9.866,35.3 +9.890,35.8 +9.914,35.3 +9.938,36.0 +9.962,35.9 +9.986,35.5 +10.010,35.6 +10.034,36.9 +10.058,35.5 +10.082,36.0 +10.106,36.3 +10.130,37.3 +10.154,36.2 +10.178,37.0 +10.202,36.2 +10.226,36.0 +10.250,37.2 +10.274,37.1 +10.298,36.8 +10.322,36.7 +10.346,35.6 +10.370,36.5 +10.394,36.6 +10.418,36.3 +10.442,36.8 +10.466,37.0 +10.490,37.2 +10.514,37.3 +10.538,36.4 +10.562,37.2 +10.586,37.3 +10.610,36.1 +10.634,36.6 +10.658,35.8 +10.682,36.7 +10.706,37.3 +10.730,37.3 +10.754,36.7 +10.778,38.2 +10.802,38.4 +10.826,37.5 +10.850,37.6 +10.874,37.5 +10.898,36.9 +10.922,38.3 +10.946,36.7 +10.970,38.8 +10.994,38.2 +11.018,38.3 +11.042,37.5 +11.066,37.9 +11.090,38.0 +11.114,37.9 +11.138,38.3 +11.162,38.2 +11.186,37.5 +11.210,38.7 +11.234,37.9 +11.258,37.2 +11.282,38.5 +11.306,37.3 +11.330,37.8 +11.354,39.3 +11.378,38.2 +11.402,37.7 +11.426,38.1 +11.450,39.1 +11.474,38.7 +11.498,39.0 +11.522,38.5 +11.546,38.3 +11.570,38.5 +11.594,38.0 +11.618,38.9 +11.642,38.3 +11.666,38.4 +11.690,37.6 +11.714,39.0 +11.738,38.8 +11.762,38.3 +11.786,38.1 +11.810,39.7 +11.834,37.8 +11.858,38.8 +11.882,37.9 +11.906,38.6 +11.930,39.5 +11.954,38.8 +11.978,38.4 +12.002,39.4 +12.026,39.7 +12.050,38.1 +12.074,39.5 +12.098,39.4 +12.122,38.4 +12.146,39.7 +12.170,39.1 +12.194,39.1 +12.218,39.2 +12.242,38.6 +12.266,39.4 +12.290,38.2 +12.314,39.9 +12.338,39.4 +12.362,39.4 +12.386,38.5 +12.410,40.3 +12.434,39.2 +12.458,39.1 +12.482,40.7 +12.507,39.2 +12.531,38.8 +12.555,40.0 +12.579,39.4 +12.603,40.0 +12.627,39.5 +12.651,39.6 +12.675,40.2 +12.699,40.0 +12.723,39.7 +12.747,40.0 +12.771,39.9 +12.795,40.6 +12.819,38.7 +12.843,40.1 +12.867,40.0 +12.891,40.6 +12.915,40.6 +12.939,40.0 +12.963,40.4 +12.987,41.0 +13.011,40.0 +13.035,40.7 +13.059,40.3 +13.083,40.5 +13.107,40.7 +13.131,40.4 +13.155,41.4 +13.179,40.3 +13.203,39.7 +13.227,40.6 +13.251,40.4 +13.275,40.4 +13.299,41.6 +13.323,40.2 +13.347,41.0 +13.371,40.5 +13.395,39.9 +13.419,41.1 +13.443,40.7 +13.467,41.5 +13.491,40.9 +13.515,40.4 +13.539,41.5 +13.563,40.7 +13.587,41.0 +13.611,41.1 +13.635,41.1 +13.659,42.0 +13.683,40.4 +13.707,41.0 +13.731,40.7 +13.755,40.2 +13.779,41.2 +13.803,41.8 +13.827,39.9 +13.851,40.6 +13.875,41.4 +13.899,41.4 +13.923,41.0 +13.947,40.6 +13.971,41.1 +13.995,41.2 +14.019,40.8 +14.043,42.2 +14.067,42.3 +14.091,41.4 +14.115,41.1 +14.139,41.6 +14.163,40.4 +14.187,42.1 +14.211,40.8 +14.235,41.4 +14.259,42.0 +14.283,41.6 +14.307,40.5 +14.331,42.4 +14.355,43.2 +14.379,43.0 +14.403,43.1 +14.427,43.0 +14.451,41.9 +14.475,43.0 +14.499,41.4 +14.523,41.9 +14.547,42.9 +14.571,42.0 +14.595,43.0 +14.619,43.2 +14.643,41.9 +14.667,42.5 +14.691,40.8 +14.715,42.4 +14.739,42.9 +14.763,42.6 +14.787,42.4 +14.811,41.3 +14.835,42.3 +14.859,42.2 +14.883,42.1 +14.907,43.2 +14.931,41.8 +14.955,41.9 +14.979,41.7 +15.003,42.4 +15.027,42.8 +15.051,42.8 +15.075,43.6 +15.099,41.8 +15.123,42.1 +15.147,43.3 +15.171,42.6 +15.195,42.3 +15.219,42.3 +15.243,42.9 +15.267,42.6 +15.291,43.1 +15.315,42.8 +15.339,43.0 +15.363,43.3 +15.387,44.5 +15.411,43.3 +15.435,42.1 +15.459,43.3 +15.483,42.8 +15.507,43.3 +15.531,43.0 +15.555,43.1 +15.579,42.0 +15.603,42.2 +15.627,45.1 +15.651,43.8 +15.675,43.3 +15.699,43.2 +15.723,44.2 +15.747,44.1 +15.771,44.8 +15.795,43.4 +15.819,43.5 +15.843,44.3 +15.867,44.3 +15.891,42.9 +15.915,43.1 +15.939,43.4 +15.963,43.7 +15.987,42.5 +16.011,43.4 +16.035,44.2 +16.059,44.4 +16.083,44.5 +16.107,43.8 +16.131,44.5 +16.155,43.8 +16.179,43.3 +16.203,43.7 +16.227,43.2 +16.251,44.8 +16.275,44.1 +16.299,44.5 +16.323,44.1 +16.347,43.9 +16.371,44.3 +16.395,44.0 +16.419,43.8 +16.443,44.2 +16.467,43.5 +16.491,43.7 +16.515,44.6 +16.539,43.3 +16.563,44.5 +16.587,44.1 +16.611,44.8 +16.635,45.0 +16.659,44.7 +16.683,44.0 +16.707,44.6 +16.731,44.4 +16.755,44.4 +16.779,45.3 +16.803,44.4 +16.827,43.7 +16.851,45.8 +16.875,44.9 +16.899,45.2 +16.923,44.7 +16.947,44.8 +16.971,44.2 +16.995,45.6 +17.019,45.3 +17.043,45.9 +17.067,45.0 +17.091,45.2 +17.115,45.4 +17.139,46.2 +17.163,44.7 +17.187,45.4 +17.211,45.5 +17.235,45.1 +17.259,45.8 +17.283,46.9 +17.307,44.9 +17.331,45.2 +17.355,45.4 +17.379,44.1 +17.403,44.5 +17.427,44.5 +17.451,45.7 +17.475,45.9 +17.499,45.1 +17.524,45.7 +17.548,45.4 +17.572,45.6 +17.596,46.3 +17.620,44.9 +17.644,46.2 +17.668,46.8 +17.692,46.6 +17.716,46.8 +17.740,45.7 +17.764,46.0 +17.788,44.8 +17.812,46.0 +17.836,47.5 +17.860,46.6 +17.884,46.8 +17.908,45.4 +17.932,45.1 +17.956,46.0 +17.980,46.5 +18.004,47.0 +18.028,46.5 +18.052,45.9 +18.076,47.1 +18.100,46.6 +18.124,46.5 +18.148,46.4 +18.172,46.8 +18.196,46.8 +18.220,46.5 +18.244,44.8 +18.268,46.6 +18.292,46.8 +18.316,46.4 +18.340,46.1 +18.364,46.3 +18.388,45.9 +18.412,46.3 +18.436,45.9 +18.460,46.6 +18.484,47.2 +18.508,46.1 +18.532,47.3 +18.556,48.1 +18.580,47.2 +18.604,46.7 +18.628,47.8 +18.652,46.5 +18.676,46.4 +18.700,46.7 +18.724,47.5 +18.748,47.5 +18.772,48.1 +18.796,47.8 +18.820,47.1 +18.844,46.9 +18.868,47.7 +18.892,47.9 +18.916,47.6 +18.940,46.4 +18.964,48.1 +18.988,47.0 +19.012,46.6 +19.036,47.4 +19.060,48.0 +19.084,47.8 +19.108,47.4 +19.132,47.5 +19.156,47.1 +19.180,48.2 +19.204,47.0 +19.228,47.6 +19.252,46.8 +19.276,48.3 +19.300,48.3 +19.324,47.7 +19.348,46.8 +19.372,47.6 +19.396,47.1 +19.420,47.9 +19.444,48.0 +19.468,49.1 +19.492,47.5 +19.516,47.8 +19.540,47.1 +19.564,48.9 +19.588,48.8 +19.612,48.1 +19.636,47.8 +19.660,47.2 +19.684,46.3 +19.708,47.9 +19.732,47.0 +19.756,47.2 +19.780,48.7 +19.804,48.5 +19.828,48.1 +19.852,48.1 +19.876,49.3 +19.900,47.6 +19.924,47.8 +19.948,47.5 +19.972,46.8 +19.996,49.0 +20.020,48.0 +20.044,48.8 +20.068,48.4 +20.092,48.7 +20.116,48.5 +20.140,47.8 +20.164,48.4 +20.188,48.7 +20.212,49.6 +20.236,47.7 +20.260,49.4 +20.284,49.7 +20.308,48.9 +20.332,48.9 +20.356,49.1 +20.380,49.0 +20.404,48.5 +20.428,48.4 +20.452,48.6 +20.476,49.3 +20.500,49.2 +20.524,49.4 +20.548,49.0 +20.572,49.8 +20.596,49.1 +20.620,49.7 +20.644,50.2 +20.668,48.4 +20.692,48.9 +20.716,48.7 +20.740,48.9 +20.764,48.6 +20.788,49.1 +20.812,50.3 +20.836,49.4 +20.860,48.3 +20.884,48.9 +20.908,50.1 +20.932,49.0 +20.956,50.1 +20.980,48.8 +21.004,49.9 +21.028,49.5 +21.052,48.8 +21.076,49.3 +21.100,49.8 +21.124,50.4 +21.148,49.3 +21.172,49.7 +21.196,49.7 +21.220,48.9 +21.244,49.9 +21.268,50.0 +21.292,49.6 +21.316,50.3 +21.340,49.9 +21.364,49.4 +21.388,49.8 +21.412,50.2 +21.436,49.6 +21.460,50.2 +21.484,49.2 +21.508,51.1 +21.532,49.2 +21.556,51.0 +21.580,50.2 +21.604,48.3 +21.628,50.8 +21.652,51.2 +21.676,51.9 +21.700,50.1 +21.724,50.9 +21.748,50.8 +21.772,49.9 +21.796,51.2 +21.820,49.3 +21.844,51.0 +21.868,50.4 +21.892,50.9 +21.916,49.6 +21.940,51.1 +21.964,50.5 +21.988,49.7 +22.012,50.5 +22.036,50.7 +22.060,49.4 +22.084,51.1 +22.108,50.8 +22.132,49.2 +22.156,49.6 +22.180,50.8 +22.204,50.4 +22.228,50.5 +22.252,49.7 +22.276,50.4 +22.300,50.7 +22.324,51.2 +22.348,51.0 +22.372,51.1 +22.396,50.7 +22.420,49.6 +22.444,51.2 +22.468,50.6 +22.492,50.2 +22.517,49.5 +22.541,49.5 +22.565,51.1 +22.589,49.8 +22.613,50.5 +22.637,52.0 +22.661,51.3 +22.685,50.9 +22.709,50.6 +22.733,50.7 +22.757,50.1 +22.781,50.3 +22.805,51.2 +22.829,51.6 +22.853,51.0 +22.877,50.6 +22.901,51.7 +22.925,52.1 +22.949,51.2 +22.973,51.5 +22.997,51.7 +23.021,51.6 +23.045,51.2 +23.069,51.5 +23.093,51.0 +23.117,51.7 +23.141,51.4 +23.165,52.3 +23.189,51.7 +23.213,51.3 +23.237,50.3 +23.261,51.7 +23.285,52.8 +23.309,51.5 +23.333,51.8 +23.357,51.6 +23.381,50.7 +23.405,52.1 +23.429,51.5 +23.453,52.5 +23.477,51.8 +23.501,50.3 +23.525,53.2 +23.549,51.8 +23.573,51.8 +23.597,51.8 +23.621,52.5 +23.645,53.3 +23.669,52.8 +23.693,51.2 +23.717,52.7 +23.741,52.9 +23.765,51.2 +23.789,52.3 +23.813,51.9 +23.837,52.1 +23.861,52.4 +23.885,52.8 +23.909,51.5 +23.933,51.9 +23.957,52.1 +23.981,51.9 +24.005,51.2 +24.029,53.1 +24.053,51.9 +24.077,52.0 +24.101,52.4 +24.125,52.9 +24.149,53.3 +24.173,52.0 +24.197,52.3 +24.221,51.8 +24.245,52.2 +24.269,52.8 +24.293,52.2 +24.317,52.7 +24.341,53.1 +24.365,52.4 +24.389,52.5 +24.413,52.8 +24.437,53.1 +24.461,52.7 +24.485,52.4 +24.509,53.0 +24.533,52.6 +24.557,52.7 +24.581,54.3 +24.605,54.4 +24.629,53.2 +24.653,53.1 +24.677,53.0 +24.701,54.0 +24.725,53.8 +24.749,52.8 +24.773,52.4 +24.797,52.7 +24.821,54.1 +24.845,53.9 +24.869,53.6 +24.893,53.2 +24.917,52.4 +24.941,52.4 +24.965,53.2 +24.989,53.5 +25.013,53.8 +25.037,54.1 +25.061,53.3 +25.085,53.4 +25.109,53.5 +25.133,54.5 +25.157,52.0 +25.181,54.0 +25.205,54.0 +25.229,52.6 +25.253,53.4 +25.277,53.5 +25.301,52.4 +25.325,52.9 +25.349,53.7 +25.373,53.2 +25.397,54.4 +25.421,53.1 +25.445,54.1 +25.469,53.3 +25.493,54.4 +25.517,54.1 +25.541,53.9 +25.565,52.6 +25.589,54.3 +25.613,53.4 +25.637,53.2 +25.661,53.4 +25.685,53.9 +25.709,53.5 +25.733,53.4 +25.757,54.3 +25.781,55.5 +25.805,53.7 +25.829,54.1 +25.853,54.0 +25.877,55.3 +25.901,54.2 +25.925,53.5 +25.949,54.8 +25.973,53.7 +25.997,55.0 +26.021,54.9 +26.045,54.7 +26.069,54.0 +26.093,54.7 +26.117,54.3 +26.141,54.3 +26.165,54.0 +26.189,54.4 +26.213,53.5 +26.237,54.8 +26.261,54.0 +26.285,54.6 +26.309,54.8 +26.333,53.9 +26.357,54.1 +26.381,53.7 +26.405,55.6 +26.429,53.8 +26.453,53.7 +26.477,54.9 +26.501,54.6 +26.525,54.3 +26.549,55.0 +26.573,54.9 +26.597,54.5 +26.621,53.2 +26.645,54.9 +26.669,54.8 +26.693,54.9 +26.717,53.7 +26.741,54.2 +26.765,54.6 +26.789,54.1 +26.813,54.4 +26.837,55.0 +26.861,56.1 +26.885,54.8 +26.909,54.9 +26.933,55.0 +26.957,54.7 +26.981,53.6 +27.005,55.3 +27.029,54.5 +27.053,55.3 +27.077,55.5 +27.101,55.7 +27.125,55.9 +27.149,55.4 +27.173,54.9 +27.197,54.4 +27.221,55.5 +27.245,55.8 +27.269,55.1 +27.293,54.6 +27.317,56.1 +27.341,54.6 +27.365,55.0 +27.389,54.8 +27.413,54.5 +27.437,55.1 +27.461,55.0 +27.485,54.4 +27.510,54.8 +27.534,56.5 +27.558,55.5 +27.582,54.1 +27.606,55.0 +27.630,54.9 +27.654,54.1 +27.678,54.6 +27.702,55.6 +27.726,55.8 +27.750,56.1 +27.774,54.3 +27.798,55.9 +27.822,57.2 +27.846,56.3 +27.870,55.7 +27.894,56.1 +27.918,55.8 +27.942,54.6 +27.966,56.2 +27.990,55.0 +28.014,56.2 +28.038,55.7 +28.062,56.1 +28.086,56.5 +28.110,55.9 +28.134,56.3 +28.158,56.4 +28.182,55.7 +28.206,56.5 +28.230,55.6 +28.254,56.6 +28.278,56.1 +28.302,56.8 +28.326,55.3 +28.350,56.7 +28.374,55.8 +28.398,56.2 +28.422,56.2 +28.446,55.7 +28.470,56.4 +28.494,56.0 +28.518,55.9 +28.542,55.9 +28.566,56.8 +28.590,55.7 +28.614,55.1 +28.638,55.8 +28.662,56.4 +28.686,56.1 +28.710,56.6 +28.734,56.4 +28.758,56.4 +28.782,57.6 +28.806,56.2 +28.830,56.5 +28.854,56.9 +28.878,56.4 +28.902,56.1 +28.926,56.4 +28.950,56.0 +28.974,55.9 +28.998,56.6 +29.022,56.9 +29.046,56.3 +29.070,57.0 +29.094,57.3 +29.118,56.4 +29.142,56.3 +29.166,56.7 +29.190,56.6 +29.214,57.0 +29.238,56.6 +29.262,57.0 +29.286,56.4 +29.310,55.9 +29.334,57.4 +29.358,55.9 +29.382,56.5 +29.406,57.8 +29.430,57.8 +29.454,56.5 +29.478,56.7 +29.502,57.5 +29.526,56.7 +29.550,57.6 +29.574,56.3 +29.598,56.6 +29.622,56.6 +29.646,56.9 +29.670,57.1 +29.694,56.4 +29.718,57.5 +29.742,57.5 +29.766,57.0 +29.790,57.7 +29.814,56.4 +29.838,57.7 +29.862,56.8 +29.886,57.4 +29.910,57.2 +29.934,56.5 +29.958,55.9 +29.982,56.6 +30.006,57.3 +30.030,58.6 +30.054,56.2 +30.078,57.4 +30.102,57.4 +30.126,58.3 +30.150,56.7 +30.174,57.7 +30.198,57.8 +30.222,56.9 +30.246,58.3 +30.270,58.4 +30.294,57.7 +30.318,57.4 +30.342,57.8 +30.366,57.9 +30.390,58.2 +30.414,57.6 +30.438,58.1 +30.462,58.1 +30.486,57.3 +30.510,58.3 +30.534,57.7 +30.558,57.8 +30.582,57.3 +30.606,57.3 +30.630,58.2 +30.654,57.5 +30.678,58.2 +30.702,57.4 +30.726,57.4 +30.750,56.9 +30.774,56.9 +30.798,57.9 +30.822,57.9 +30.846,57.5 +30.870,58.2 +30.894,57.9 +30.918,57.5 +30.942,57.2 +30.966,58.2 +30.990,59.4 +31.014,58.7 +31.038,58.0 +31.062,59.4 +31.086,57.7 +31.110,57.5 +31.134,59.2 +31.158,57.4 +31.182,57.4 +31.206,58.6 +31.230,59.0 +31.254,58.5 +31.278,59.6 +31.302,57.7 +31.326,59.3 +31.350,57.7 +31.374,58.7 +31.398,58.6 +31.422,59.1 +31.446,57.2 +31.470,59.0 +31.494,58.4 +31.518,58.6 +31.542,57.7 +31.566,58.5 +31.590,59.7 +31.614,59.3 +31.638,59.5 +31.662,58.4 +31.686,58.9 +31.710,58.3 +31.734,58.3 +31.758,58.5 +31.782,59.2 +31.806,60.4 +31.830,59.8 +31.854,58.8 +31.878,59.4 +31.902,58.6 +31.926,58.3 +31.950,59.1 +31.974,59.2 +31.998,57.9 +32.022,58.5 +32.046,58.5 +32.070,58.6 +32.094,58.3 +32.118,58.9 +32.142,57.9 +32.166,58.6 +32.190,58.3 +32.214,59.2 +32.238,58.6 +32.262,59.4 +32.286,59.2 +32.310,58.8 +32.334,59.2 +32.358,59.2 +32.382,60.1 +32.406,58.8 +32.430,59.9 +32.454,59.3 +32.478,59.5 +32.503,58.8 +32.527,59.1 +32.551,58.6 +32.575,59.3 +32.599,58.9 +32.623,59.3 +32.647,60.0 +32.671,60.9 +32.695,59.9 +32.719,59.7 +32.743,60.0 +32.767,60.9 +32.791,59.1 +32.815,60.2 +32.839,60.9 +32.863,59.8 +32.887,60.5 +32.911,59.4 +32.935,60.4 +32.959,59.1 +32.983,60.3 +33.007,60.6 +33.031,60.0 +33.055,58.6 +33.079,60.8 +33.103,59.8 +33.127,59.6 +33.151,59.5 +33.175,58.9 +33.199,59.8 +33.223,59.7 +33.247,58.9 +33.271,60.4 +33.295,60.7 +33.319,59.1 +33.343,58.8 +33.367,60.1 +33.391,60.3 +33.415,60.5 +33.439,59.1 +33.463,60.8 +33.487,60.3 +33.511,59.4 +33.535,60.2 +33.559,60.9 +33.583,60.5 +33.607,60.6 +33.631,58.9 +33.655,61.2 +33.679,60.1 +33.703,59.9 +33.727,59.6 +33.751,59.0 +33.775,59.9 +33.799,60.7 +33.823,60.4 +33.847,61.6 +33.871,60.1 +33.895,59.9 +33.919,60.0 +33.943,60.9 +33.967,61.2 +33.991,60.0 +34.015,61.0 +34.039,61.3 +34.063,61.5 +34.087,60.8 +34.111,60.9 +34.135,60.7 +34.159,60.3 +34.183,60.1 +34.207,60.2 +34.231,60.7 +34.255,60.3 +34.279,61.5 +34.303,61.1 +34.327,60.9 +34.351,60.6 +34.375,60.6 +34.399,60.9 +34.423,60.7 +34.447,60.5 +34.471,60.5 +34.495,61.0 +34.519,60.5 +34.543,59.8 +34.567,60.5 +34.591,60.7 +34.615,60.6 +34.639,60.2 +34.663,60.8 +34.687,61.4 +34.711,60.5 +34.735,61.2 +34.759,61.0 +34.783,61.1 +34.807,60.4 +34.831,60.3 +34.855,60.4 +34.879,61.4 +34.903,59.9 +34.927,61.8 +34.951,60.7 +34.975,61.4 +34.999,61.2 +35.023,61.1 +35.047,61.9 +35.071,62.5 +35.095,61.5 +35.119,61.2 +35.143,61.4 +35.167,61.1 +35.191,61.9 +35.215,60.3 +35.239,61.0 +35.263,60.7 +35.287,60.8 +35.311,61.9 +35.335,60.7 +35.359,61.7 +35.383,61.7 +35.407,61.5 +35.431,61.8 +35.455,62.3 +35.479,61.9 +35.503,61.5 +35.527,61.9 +35.551,62.3 +35.575,62.1 +35.599,61.5 +35.623,60.3 +35.647,62.7 +35.671,62.2 +35.695,60.9 +35.719,61.5 +35.743,61.5 +35.767,61.5 +35.791,61.7 +35.815,62.2 +35.839,61.8 +35.863,62.3 +35.887,61.9 +35.911,61.1 +35.935,62.8 +35.959,61.8 +35.983,62.1 +36.007,61.7 +36.031,61.6 +36.055,61.5 +36.079,61.9 +36.103,61.4 +36.127,60.9 +36.151,62.1 +36.175,62.4 +36.199,61.9 +36.223,62.2 +36.247,61.6 +36.271,62.2 +36.295,60.8 +36.319,61.9 +36.343,62.0 +36.367,62.8 +36.391,62.4 +36.415,61.4 +36.439,62.9 +36.463,61.2 +36.487,61.1 +36.511,62.6 +36.535,61.7 +36.559,62.2 +36.583,62.5 +36.607,61.9 +36.631,62.4 +36.655,61.8 +36.679,62.5 +36.703,62.6 +36.727,61.5 +36.751,62.1 +36.775,62.5 +36.799,62.7 +36.823,62.3 +36.847,61.9 +36.871,62.0 +36.895,62.9 +36.919,62.0 +36.943,61.3 +36.967,62.2 +36.991,62.7 +37.015,61.7 +37.039,61.8 +37.063,61.7 +37.087,63.3 +37.111,64.0 +37.135,63.0 +37.159,63.3 +37.183,62.8 +37.207,62.2 +37.231,62.9 +37.255,62.5 +37.279,62.3 +37.303,62.8 +37.327,61.1 +37.351,62.1 +37.375,63.0 +37.399,64.2 +37.423,62.7 +37.447,62.6 +37.471,63.1 +37.495,63.0 +37.520,63.9 +37.544,63.0 +37.568,62.7 +37.592,63.8 +37.616,63.1 +37.640,62.9 +37.664,61.8 +37.688,63.2 +37.712,62.6 +37.736,63.5 +37.760,63.3 +37.784,63.4 +37.808,62.4 +37.832,63.9 +37.856,62.8 +37.880,63.3 +37.904,64.0 +37.928,63.4 +37.952,63.2 +37.976,62.6 +38.000,63.4 +38.024,62.3 +38.048,63.2 +38.072,64.5 +38.096,63.5 +38.120,61.9 +38.144,63.7 +38.168,63.1 +38.192,63.8 +38.216,62.5 +38.240,64.4 +38.264,62.6 +38.288,62.7 +38.312,63.4 +38.336,63.9 +38.360,63.9 +38.384,62.2 +38.408,63.4 +38.432,63.4 +38.456,62.6 +38.480,62.0 +38.504,62.9 +38.528,63.8 +38.552,63.6 +38.576,63.8 +38.600,63.6 +38.624,63.9 +38.648,63.4 +38.672,62.2 +38.696,62.7 +38.720,62.9 +38.744,63.4 +38.768,63.2 +38.792,63.1 +38.816,63.5 +38.840,63.7 +38.864,63.6 +38.888,64.3 +38.912,63.4 +38.936,64.4 +38.960,62.8 +38.984,63.2 +39.008,63.6 +39.032,64.2 +39.056,63.4 +39.080,62.9 +39.104,63.8 +39.128,63.3 +39.152,63.9 +39.176,63.7 +39.200,64.0 +39.224,63.1 +39.248,63.6 +39.272,63.3 +39.296,64.0 +39.320,62.9 +39.344,64.2 +39.368,64.4 +39.392,63.5 +39.416,64.0 +39.440,64.2 +39.464,62.8 +39.488,64.2 +39.512,64.9 +39.536,63.2 +39.560,63.3 +39.584,64.6 +39.608,64.0 +39.632,64.3 +39.656,64.1 +39.680,63.3 +39.704,64.6 +39.728,63.5 +39.752,64.1 +39.776,65.2 +39.800,64.1 +39.824,65.1 +39.848,64.2 +39.872,64.2 +39.896,65.4 +39.920,64.0 +39.944,63.3 +39.968,64.5 +39.992,64.7 +40.016,63.9 +40.040,64.4 +40.064,65.3 +40.088,64.1 +40.112,64.5 +40.136,65.1 +40.160,64.3 +40.184,63.8 +40.208,64.3 +40.232,64.3 +40.256,64.8 +40.280,64.0 +40.304,65.4 +40.328,64.6 +40.352,64.2 +40.376,63.8 +40.400,64.4 +40.424,64.7 +40.448,63.4 +40.472,64.4 +40.496,64.3 +40.520,63.4 +40.544,64.7 +40.568,64.5 +40.592,64.8 +40.616,64.8 +40.640,64.3 +40.664,64.0 +40.688,64.4 +40.712,64.7 +40.736,64.3 +40.760,64.6 +40.784,64.5 +40.808,64.6 +40.832,64.6 +40.856,64.8 +40.880,65.1 +40.904,65.3 +40.928,64.5 +40.952,64.8 +40.976,65.3 +41.000,65.3 +41.024,64.4 +41.048,64.1 +41.072,65.2 +41.096,64.6 +41.120,65.2 +41.144,66.1 +41.168,65.8 +41.192,64.0 +41.216,65.5 +41.240,65.6 +41.264,65.4 +41.288,64.8 +41.312,65.1 +41.336,64.9 +41.360,65.4 +41.384,65.1 +41.408,63.4 +41.432,65.2 +41.456,65.3 +41.480,64.9 +41.504,64.7 +41.528,65.2 +41.552,64.5 +41.576,65.0 +41.600,65.5 +41.624,65.3 +41.648,64.1 +41.672,65.3 +41.696,65.7 +41.720,64.3 +41.744,65.5 +41.768,65.5 +41.792,64.5 +41.816,65.3 +41.840,64.5 +41.864,65.1 +41.888,65.2 +41.912,66.3 +41.936,65.3 +41.960,64.8 +41.984,65.5 +42.008,65.0 +42.032,65.5 +42.056,64.9 +42.080,64.6 +42.104,64.8 +42.128,65.6 +42.152,64.7 +42.176,65.4 +42.200,65.6 +42.224,65.5 +42.248,64.5 +42.272,64.7 +42.296,65.9 +42.320,64.5 +42.344,64.7 +42.368,65.0 +42.392,65.7 +42.416,66.4 +42.440,66.4 +42.464,64.8 +42.488,65.5 +42.513,66.8 +42.537,65.7 +42.561,64.7 +42.585,65.2 +42.609,65.8 +42.633,65.7 +42.657,65.7 +42.681,66.1 +42.705,65.3 +42.729,66.5 +42.753,65.9 +42.777,65.5 +42.801,65.5 +42.825,66.3 +42.849,65.3 +42.873,66.3 +42.897,65.9 +42.921,66.1 +42.945,65.1 +42.969,65.5 +42.993,66.1 +43.017,66.9 +43.041,65.9 +43.065,64.8 +43.089,66.0 +43.113,65.9 +43.137,66.1 +43.161,66.5 +43.185,65.9 +43.209,64.6 +43.233,65.4 +43.257,66.2 +43.281,66.2 +43.305,65.2 +43.329,66.5 +43.353,66.7 +43.377,65.9 +43.401,66.6 +43.425,65.7 +43.449,66.1 +43.473,65.3 +43.497,66.6 +43.521,66.0 +43.545,66.9 +43.569,66.7 +43.593,67.5 +43.617,66.3 +43.641,67.2 +43.665,65.9 +43.689,66.1 +43.713,66.9 +43.737,67.0 +43.761,67.1 +43.785,66.7 +43.809,65.5 +43.833,65.9 +43.857,67.8 +43.881,67.0 +43.905,65.8 +43.929,66.3 +43.953,67.1 +43.977,66.5 +44.001,65.7 +44.025,67.3 +44.049,67.0 +44.073,66.1 +44.097,67.1 +44.121,66.9 +44.145,66.8 +44.169,66.9 +44.193,65.6 +44.217,66.4 +44.241,66.2 +44.265,67.1 +44.289,67.4 +44.313,67.1 +44.337,66.1 +44.361,66.8 +44.385,66.4 +44.409,66.9 +44.433,66.9 +44.457,67.2 +44.481,65.8 +44.505,68.0 +44.529,66.4 +44.553,66.2 +44.577,68.1 +44.601,67.5 +44.625,66.4 +44.649,67.0 +44.673,67.5 +44.697,68.3 +44.721,66.6 +44.745,67.2 +44.769,66.0 +44.793,66.0 +44.817,67.8 +44.841,68.3 +44.865,67.2 +44.889,67.2 +44.913,66.0 +44.937,67.5 +44.961,66.5 +44.985,66.9 +45.009,66.5 +45.033,67.9 +45.057,67.4 +45.081,66.3 +45.105,67.2 +45.129,66.1 +45.153,67.2 +45.177,66.8 +45.201,66.6 +45.225,67.2 +45.249,66.9 +45.273,67.0 +45.297,66.7 +45.321,66.9 +45.345,66.9 +45.369,68.0 +45.393,68.0 +45.417,67.4 +45.441,67.8 +45.465,67.5 +45.489,68.5 +45.513,67.6 +45.537,66.4 +45.561,66.7 +45.585,66.5 +45.609,68.0 +45.633,67.3 +45.657,67.2 +45.681,67.6 +45.705,67.0 +45.729,67.0 +45.753,66.7 +45.777,66.5 +45.801,67.6 +45.825,68.5 +45.849,66.3 +45.873,66.9 +45.897,66.7 +45.921,68.8 +45.945,67.0 +45.969,67.6 +45.993,68.4 +46.017,67.3 +46.041,67.3 +46.065,68.7 +46.089,66.8 +46.113,67.1 +46.137,67.4 +46.161,68.0 +46.185,68.0 +46.209,67.7 +46.233,68.2 +46.257,67.9 +46.281,67.8 +46.305,67.7 +46.329,67.4 +46.353,68.1 +46.377,67.5 +46.401,67.2 +46.425,68.4 +46.449,67.8 +46.473,68.9 +46.497,67.8 +46.521,67.9 +46.545,67.6 +46.569,66.9 +46.593,67.5 +46.617,68.0 +46.641,67.8 +46.665,69.2 +46.689,67.8 +46.713,68.4 +46.737,68.5 +46.761,67.5 +46.785,69.1 +46.809,68.0 +46.833,67.6 +46.857,67.7 +46.881,67.4 +46.905,68.6 +46.929,67.7 +46.953,68.9 +46.977,67.7 +47.001,67.8 +47.025,67.9 +47.049,68.5 +47.073,68.8 +47.097,68.5 +47.121,67.4 +47.145,68.0 +47.169,67.9 +47.193,67.2 +47.217,67.9 +47.241,68.7 +47.265,67.9 +47.289,67.7 +47.313,68.5 +47.337,68.1 +47.361,67.6 +47.385,69.8 +47.409,68.3 +47.433,68.0 +47.457,68.7 +47.481,68.1 +47.506,68.2 +47.530,67.5 +47.554,68.4 +47.578,67.4 +47.602,68.2 +47.626,68.8 +47.650,67.4 +47.674,67.2 +47.698,69.8 +47.722,68.6 +47.746,69.2 +47.770,68.9 +47.794,68.1 +47.818,68.0 +47.842,67.9 +47.866,68.1 +47.890,68.1 +47.914,67.6 +47.938,68.7 +47.962,69.8 +47.986,67.9 +48.010,68.6 +48.034,68.2 +48.058,68.7 +48.082,69.3 +48.106,67.8 +48.130,69.1 +48.154,68.3 +48.178,68.3 +48.202,69.6 +48.226,69.4 +48.250,68.8 +48.274,67.7 +48.298,68.7 +48.322,68.3 +48.346,68.5 +48.370,68.5 +48.394,70.2 +48.418,69.6 +48.442,69.2 +48.466,68.6 +48.490,68.5 +48.514,69.2 +48.538,68.0 +48.562,68.5 +48.586,69.1 +48.610,69.1 +48.634,67.8 +48.658,68.4 +48.682,68.4 +48.706,69.1 +48.730,70.5 +48.754,68.3 +48.778,68.6 +48.802,68.3 +48.826,68.1 +48.850,69.1 +48.874,69.4 +48.898,69.3 +48.922,69.0 +48.946,67.2 +48.970,68.7 +48.994,68.3 +49.018,68.7 +49.042,69.1 +49.066,68.7 +49.090,69.5 +49.114,69.9 +49.138,68.9 +49.162,69.3 +49.186,68.5 +49.210,68.6 +49.234,69.3 +49.258,69.9 +49.282,69.1 +49.306,69.6 +49.330,69.1 +49.354,69.3 +49.378,68.8 +49.402,69.3 +49.426,69.7 +49.450,70.0 +49.474,70.5 +49.498,68.5 +49.522,69.5 +49.546,69.1 +49.570,69.4 +49.594,68.8 +49.618,69.0 +49.642,68.3 +49.666,68.6 +49.690,69.3 +49.714,69.8 +49.738,69.4 +49.762,68.8 +49.786,70.5 +49.810,68.7 +49.834,70.3 +49.858,68.5 +49.882,69.1 +49.906,69.6 +49.930,69.4 +49.954,68.9 +49.978,69.3 +50.002,69.6 +50.026,68.6 +50.050,69.7 +50.074,69.5 +50.098,70.2 +50.122,69.7 +50.146,68.9 +50.170,69.5 +50.194,68.9 +50.218,70.2 +50.242,69.9 +50.266,69.8 +50.290,70.0 +50.314,69.1 +50.338,69.0 +50.362,69.5 +50.386,69.5 +50.410,69.2 +50.434,69.6 +50.458,70.6 +50.482,68.6 +50.506,70.5 +50.530,69.8 +50.554,68.8 +50.578,69.7 +50.602,69.7 +50.626,69.1 +50.650,70.0 +50.674,69.9 +50.698,70.1 +50.722,69.7 +50.746,69.2 +50.770,69.9 +50.794,71.0 +50.818,68.8 +50.842,68.1 +50.866,69.6 +50.890,70.0 +50.914,70.1 +50.938,68.9 +50.962,70.4 +50.986,70.1 +51.010,70.7 +51.034,69.4 +51.058,69.9 +51.082,70.0 +51.106,69.7 +51.130,69.2 +51.154,70.1 +51.178,68.9 +51.202,68.3 +51.226,70.0 +51.250,70.8 +51.274,69.6 +51.298,70.3 +51.322,70.2 +51.346,69.6 +51.370,68.2 +51.394,70.1 +51.418,70.1 +51.442,70.5 +51.466,70.9 +51.490,69.3 +51.514,69.7 +51.538,70.3 +51.562,70.5 +51.586,70.3 +51.610,70.2 +51.634,69.6 +51.658,69.7 +51.682,71.2 +51.706,70.6 +51.730,70.3 +51.754,71.1 +51.778,70.7 +51.802,70.7 +51.826,69.9 +51.850,70.6 +51.874,70.4 +51.898,70.0 +51.922,69.6 +51.946,70.4 +51.970,70.0 +51.994,70.3 +52.018,71.3 +52.042,70.2 +52.066,70.4 +52.090,71.4 +52.114,71.0 +52.138,70.4 +52.162,70.2 +52.186,70.5 +52.210,69.9 +52.234,71.0 +52.258,70.6 +52.282,70.2 +52.306,71.3 +52.330,69.8 +52.354,69.3 +52.378,71.2 +52.402,70.8 +52.426,71.0 +52.450,71.5 +52.474,70.7 +52.498,70.8 +52.523,71.9 +52.547,70.4 +52.571,70.3 +52.595,71.0 +52.619,69.9 +52.643,71.4 +52.667,71.0 +52.691,69.7 +52.715,70.1 +52.739,70.6 +52.763,71.4 +52.787,69.7 +52.811,70.4 +52.835,70.8 +52.859,70.5 +52.883,69.4 +52.907,70.2 +52.931,70.5 +52.955,70.2 +52.979,70.1 +53.003,70.6 +53.027,71.1 +53.051,70.4 +53.075,71.3 +53.099,71.0 +53.123,72.5 +53.147,70.7 +53.171,70.3 +53.195,70.5 +53.219,71.3 +53.243,70.3 +53.267,71.0 +53.291,71.4 +53.315,70.3 +53.339,70.9 +53.363,71.1 +53.387,70.7 +53.411,69.5 +53.435,70.8 +53.459,70.6 +53.483,69.6 +53.507,69.8 +53.531,70.7 +53.555,70.2 +53.579,71.6 +53.603,70.9 +53.627,71.2 +53.651,71.6 +53.675,71.4 +53.699,72.0 +53.723,70.5 +53.747,70.9 +53.771,70.7 +53.795,70.4 +53.819,70.3 +53.843,70.4 +53.867,71.2 +53.891,71.0 +53.915,72.3 +53.939,70.3 +53.963,71.1 +53.987,71.1 +54.011,71.2 +54.035,71.2 +54.059,70.8 +54.083,71.7 +54.107,71.2 +54.131,70.4 +54.155,72.0 +54.179,70.7 +54.203,71.6 +54.227,71.8 +54.251,70.9 +54.275,71.4 +54.299,71.6 +54.323,71.9 +54.347,71.6 +54.371,70.4 +54.395,71.6 +54.419,71.7 +54.443,72.5 +54.467,71.8 +54.491,71.8 +54.515,70.7 +54.539,71.7 +54.563,70.0 +54.587,71.8 +54.611,71.7 +54.635,72.6 +54.659,72.1 +54.683,71.8 +54.707,70.7 +54.731,70.9 +54.755,71.0 +54.779,71.5 +54.803,71.3 +54.827,70.5 +54.851,72.0 +54.875,71.6 +54.899,73.1 +54.923,71.9 +54.947,72.0 +54.971,70.6 +54.995,71.4 +55.019,72.3 +55.043,72.2 +55.067,70.8 +55.091,71.9 +55.115,71.6 +55.139,70.6 +55.163,71.9 +55.187,70.1 +55.211,71.7 +55.235,70.6 +55.259,70.5 +55.283,71.8 +55.307,71.7 +55.331,70.3 +55.355,71.7 +55.379,71.1 +55.403,71.2 +55.427,72.5 +55.451,71.4 +55.475,72.0 +55.499,72.1 +55.523,71.8 +55.547,71.5 +55.571,72.2 +55.595,72.5 +55.619,71.6 +55.643,71.9 +55.667,70.3 +55.691,72.7 +55.715,72.1 +55.739,71.2 +55.763,72.1 +55.787,71.4 +55.811,72.2 +55.835,71.1 +55.859,71.9 +55.883,71.1 +55.907,71.1 +55.931,71.7 +55.955,72.7 +55.979,72.9 +56.003,73.1 +56.027,73.1 +56.051,72.2 +56.075,72.6 +56.099,72.1 +56.123,72.6 +56.147,72.1 +56.171,72.7 +56.195,72.5 +56.219,71.8 +56.243,71.8 +56.267,71.7 +56.291,72.0 +56.315,71.9 +56.339,71.8 +56.363,72.1 +56.387,71.5 +56.411,72.7 +56.435,71.5 +56.459,72.6 +56.483,72.7 +56.507,72.7 +56.531,72.3 +56.555,71.9 +56.579,73.3 +56.603,73.4 +56.627,72.5 +56.651,73.9 +56.675,72.6 +56.699,72.7 +56.723,71.6 +56.747,70.5 +56.771,71.5 +56.795,70.9 +56.819,72.8 +56.843,73.2 +56.867,71.9 +56.891,72.7 +56.915,72.0 +56.939,72.2 +56.963,72.2 +56.987,72.7 +57.011,72.1 +57.035,72.4 +57.059,71.3 +57.083,73.6 +57.107,71.6 +57.131,72.6 +57.155,72.7 +57.179,73.8 +57.203,72.1 +57.227,71.5 +57.251,72.2 +57.275,72.0 +57.299,72.9 +57.323,73.2 +57.347,73.4 +57.371,72.3 +57.395,73.4 +57.419,71.9 +57.443,72.1 +57.467,72.4 +57.491,73.0 +57.516,72.3 +57.540,72.3 +57.564,72.5 +57.588,73.7 +57.612,72.3 +57.636,73.0 +57.660,72.1 +57.684,72.4 +57.708,71.8 +57.732,73.1 +57.756,71.0 +57.780,71.7 +57.804,72.3 +57.828,72.2 +57.852,71.0 +57.876,72.1 +57.900,72.8 +57.924,73.3 +57.948,73.0 +57.972,72.8 +57.996,72.8 +58.020,72.8 +58.044,72.1 +58.068,73.4 +58.092,72.2 +58.116,73.1 +58.140,73.2 +58.164,71.9 +58.188,72.2 +58.212,73.4 +58.236,73.3 +58.260,72.2 +58.284,73.7 +58.308,73.2 +58.332,73.9 +58.356,72.5 +58.380,72.9 +58.404,71.8 +58.428,73.8 +58.452,72.1 +58.476,73.0 +58.500,72.4 +58.524,72.1 +58.548,73.0 +58.572,73.0 +58.596,72.2 +58.620,73.8 +58.644,72.7 +58.668,72.6 +58.692,72.4 +58.716,72.5 +58.740,73.1 +58.764,73.4 +58.788,72.6 +58.812,72.6 +58.836,73.0 +58.860,72.2 +58.884,72.4 +58.908,72.6 +58.932,74.2 +58.956,72.6 +58.980,72.5 +59.004,71.8 +59.028,72.7 +59.052,73.4 +59.076,73.1 +59.100,73.1 +59.124,73.1 +59.148,73.1 +59.172,72.9 +59.196,73.7 +59.220,73.0 +59.244,72.8 +59.268,73.0 +59.292,72.9 +59.316,73.1 +59.340,73.4 +59.364,73.5 +59.388,72.9 +59.412,73.2 +59.436,72.8 +59.460,73.0 +59.484,74.2 +59.508,73.6 +59.532,73.5 +59.556,74.5 +59.580,72.8 +59.604,73.4 +59.628,74.0 +59.652,73.6 +59.676,73.4 +59.700,73.3 +59.724,72.3 +59.748,73.2 +59.772,72.9 +59.796,72.8 +59.820,73.3 +59.844,72.7 +59.868,73.6 +59.892,73.1 +59.916,73.6 +59.940,73.4 +59.964,71.9 +59.988,73.6 +60.012,74.3 +60.036,74.3 +60.060,74.7 +60.084,74.2 +60.108,73.5 +60.132,73.0 +60.156,73.0 +60.180,73.4 +60.204,72.9 +60.228,72.5 +60.252,72.6 +60.276,73.7 +60.300,73.6 +60.324,73.9 +60.348,73.0 +60.372,73.4 +60.396,73.4 +60.420,73.0 +60.444,73.3 +60.468,73.2 +60.492,74.6 +60.516,74.8 +60.540,72.8 +60.564,73.1 +60.588,74.0 +60.612,74.2 +60.636,72.4 +60.660,73.8 +60.684,74.4 +60.708,73.6 +60.732,73.6 +60.756,73.1 +60.780,73.3 +60.804,73.2 +60.828,73.6 +60.852,73.6 +60.876,72.8 +60.900,74.6 +60.924,73.0 +60.948,72.9 +60.972,72.8 +60.996,72.7 +61.020,72.4 +61.044,73.8 +61.068,73.4 +61.092,72.6 +61.116,73.7 +61.140,74.1 +61.164,73.6 +61.188,72.6 +61.212,73.9 +61.236,73.5 +61.260,73.2 +61.284,72.8 +61.308,73.1 +61.332,73.3 +61.356,72.5 +61.380,72.7 +61.404,73.7 +61.428,74.4 +61.452,74.3 +61.476,74.0 +61.500,74.5 +61.524,73.7 +61.548,75.0 +61.572,73.8 +61.596,73.5 +61.620,74.9 +61.644,74.8 +61.668,73.2 +61.692,73.1 +61.716,74.1 +61.740,74.5 +61.764,74.9 +61.788,74.2 +61.812,73.7 +61.836,73.7 +61.860,73.4 +61.884,73.5 +61.908,74.2 +61.932,73.1 +61.956,73.1 +61.980,74.5 +62.004,74.3 +62.028,74.8 +62.052,73.8 +62.076,73.9 +62.100,73.6 +62.124,74.8 +62.148,73.9 +62.172,74.6 +62.196,73.9 +62.220,73.6 +62.244,74.1 +62.268,73.5 +62.292,74.9 +62.316,74.7 +62.340,73.8 +62.364,74.8 +62.388,74.6 +62.412,73.3 +62.436,74.1 +62.460,74.5 +62.484,74.4 +62.509,74.1 +62.533,74.2 +62.557,73.3 +62.581,74.0 +62.605,74.0 +62.629,74.3 +62.653,74.1 +62.677,73.7 +62.701,74.0 +62.725,74.0 +62.749,73.8 +62.773,74.2 +62.797,73.6 +62.821,73.5 +62.845,74.0 +62.869,74.9 +62.893,74.4 +62.917,76.2 +62.941,75.3 +62.965,74.3 +62.989,74.8 +63.013,73.8 +63.037,74.1 +63.061,74.7 +63.085,73.8 +63.109,74.4 +63.133,74.7 +63.157,74.8 +63.181,74.1 +63.205,75.2 +63.229,73.7 +63.253,73.6 +63.277,74.7 +63.301,74.1 +63.325,74.6 +63.349,74.1 +63.373,75.5 +63.397,74.6 +63.421,75.0 +63.445,74.6 +63.469,73.9 +63.493,74.4 +63.517,74.0 +63.541,74.2 +63.565,75.2 +63.589,74.9 +63.613,74.2 +63.637,74.6 +63.661,74.2 +63.685,75.1 +63.709,74.3 +63.733,74.9 +63.757,74.1 +63.781,74.9 +63.805,74.2 +63.829,75.0 +63.853,75.2 +63.877,74.4 +63.901,74.3 +63.925,74.5 +63.949,75.4 +63.973,74.1 +63.997,74.5 +64.021,75.7 +64.045,73.8 +64.069,74.7 +64.093,74.9 +64.117,75.0 +64.141,74.7 +64.165,75.6 +64.189,74.4 +64.213,75.1 +64.237,74.7 +64.261,74.4 +64.285,74.1 +64.309,74.7 +64.333,75.0 +64.357,74.4 +64.381,75.6 +64.405,74.4 +64.429,73.7 +64.453,75.1 +64.477,75.0 +64.501,74.7 +64.525,74.7 +64.549,73.7 +64.573,74.7 +64.597,75.5 +64.621,74.8 +64.645,74.6 +64.669,74.7 +64.693,74.5 +64.717,75.2 +64.741,74.2 +64.765,73.7 +64.789,75.4 +64.813,76.0 +64.837,75.0 +64.861,75.6 +64.885,74.8 +64.909,75.5 +64.933,74.2 +64.957,74.1 +64.981,75.3 +65.005,74.9 +65.029,74.9 +65.053,75.5 +65.077,74.8 +65.101,74.7 +65.125,74.6 +65.149,74.7 +65.173,74.5 +65.197,75.1 +65.221,75.1 +65.245,74.0 +65.269,75.6 +65.293,74.2 +65.317,75.4 +65.341,75.0 +65.365,74.3 +65.389,74.4 +65.413,75.5 +65.437,74.6 +65.461,75.2 +65.485,75.1 +65.509,75.4 +65.533,75.6 +65.557,74.6 +65.581,73.4 +65.605,75.0 +65.629,75.0 +65.653,75.2 +65.677,74.9 +65.701,74.5 +65.725,74.5 +65.749,76.5 +65.773,75.3 +65.797,74.8 +65.821,74.4 +65.845,74.9 +65.869,74.6 +65.893,76.3 +65.917,74.8 +65.941,75.6 +65.965,75.2 +65.989,75.4 +66.013,74.6 +66.037,75.0 +66.061,74.9 +66.085,75.0 +66.109,75.9 +66.133,75.7 +66.157,76.2 +66.181,75.0 +66.205,75.8 +66.229,74.8 +66.253,74.4 +66.277,74.8 +66.301,73.8 +66.325,75.8 +66.349,75.3 +66.373,75.0 +66.397,74.7 +66.421,75.5 +66.445,74.5 +66.469,74.4 +66.493,75.8 +66.517,75.2 +66.541,74.5 +66.565,75.2 +66.589,74.1 +66.613,75.9 +66.637,75.9 +66.661,75.7 +66.685,75.0 +66.709,74.9 +66.733,75.6 +66.757,75.3 +66.781,75.2 +66.805,75.7 +66.829,75.4 +66.853,75.7 +66.877,75.0 +66.901,75.3 +66.925,77.1 +66.949,74.6 +66.973,74.4 +66.997,76.1 +67.021,76.0 +67.045,75.1 +67.069,76.0 +67.093,75.3 +67.117,75.0 +67.141,76.0 +67.165,74.5 +67.189,75.4 +67.213,75.7 +67.237,75.2 +67.261,75.1 +67.285,76.7 +67.309,74.9 +67.333,75.3 +67.357,74.7 +67.381,75.7 +67.405,75.2 +67.429,74.9 +67.453,76.0 +67.477,75.7 +67.502,76.0 +67.526,75.6 +67.550,76.2 +67.574,76.6 +67.598,76.4 +67.622,75.6 +67.646,75.1 +67.670,76.5 +67.694,75.5 +67.718,74.6 +67.742,76.2 +67.766,75.9 +67.790,76.4 +67.814,75.9 +67.838,75.1 +67.862,76.5 +67.886,76.7 +67.910,74.7 +67.934,76.1 +67.958,75.6 +67.982,75.2 +68.006,76.0 +68.030,75.5 +68.054,75.5 +68.078,75.5 +68.102,73.5 +68.126,76.6 +68.150,73.8 +68.174,75.5 +68.198,75.5 +68.222,75.8 +68.246,75.4 +68.270,75.9 +68.294,74.6 +68.318,76.0 +68.342,75.1 +68.366,76.0 +68.390,76.0 +68.414,76.0 +68.438,76.6 +68.462,75.3 +68.486,75.6 +68.510,75.0 +68.534,75.6 +68.558,75.5 +68.582,75.4 +68.606,76.9 +68.630,77.0 +68.654,75.6 +68.678,76.1 +68.702,76.3 +68.726,75.5 +68.750,75.9 +68.774,76.6 +68.798,75.2 +68.822,75.6 +68.846,76.0 +68.870,74.6 +68.894,76.0 +68.918,75.6 +68.942,77.1 +68.966,75.0 +68.990,75.4 +69.014,77.0 +69.038,76.2 +69.062,76.4 +69.086,76.8 +69.110,76.9 +69.134,76.0 +69.158,75.2 +69.182,76.3 +69.206,76.3 +69.230,75.7 +69.254,75.9 +69.278,76.7 +69.302,75.3 +69.326,76.4 +69.350,75.8 +69.374,76.1 +69.398,76.1 +69.422,76.5 +69.446,75.9 +69.470,77.0 +69.494,77.7 +69.518,76.5 +69.542,76.4 +69.566,76.5 +69.590,75.9 +69.614,76.0 +69.638,76.5 +69.662,77.1 +69.686,75.6 +69.710,75.7 +69.734,76.9 +69.758,76.5 +69.782,75.8 +69.806,76.6 +69.830,75.9 +69.854,76.7 +69.878,76.2 +69.902,76.5 +69.926,76.1 +69.950,75.9 +69.974,77.0 +69.998,75.4 +70.022,77.1 +70.046,76.8 +70.070,76.5 +70.094,75.5 +70.118,75.2 +70.142,75.5 +70.166,76.9 +70.190,76.6 +70.214,75.9 +70.238,75.9 +70.262,76.9 +70.286,75.2 +70.310,76.4 +70.334,76.9 +70.358,75.9 +70.382,75.8 +70.406,77.6 +70.430,75.9 +70.454,76.6 +70.478,76.3 +70.502,75.9 +70.526,75.9 +70.550,76.2 +70.574,76.8 +70.598,76.5 +70.622,76.7 +70.646,76.5 +70.670,76.6 +70.694,76.0 +70.718,76.7 +70.742,76.0 +70.766,75.7 +70.790,76.6 +70.814,76.8 +70.838,76.9 +70.862,75.5 +70.886,76.6 +70.910,76.6 +70.934,76.0 +70.958,77.2 +70.982,77.1 +71.006,75.0 +71.030,77.2 +71.054,77.0 +71.078,76.3 +71.102,76.2 +71.126,77.2 +71.150,76.1 +71.174,76.9 +71.198,76.7 +71.222,75.4 +71.246,76.6 +71.270,76.2 +71.294,76.1 +71.318,76.3 +71.342,77.4 +71.366,76.9 +71.390,76.6 +71.414,76.9 +71.438,76.5 +71.462,75.8 +71.486,76.2 +71.510,76.6 +71.534,76.8 +71.558,77.2 +71.582,76.4 +71.606,77.1 +71.630,76.9 +71.654,77.2 +71.678,77.2 +71.702,76.6 +71.726,77.3 +71.750,76.4 +71.774,76.7 +71.798,76.9 +71.822,75.4 +71.846,76.8 +71.870,77.5 +71.894,76.6 +71.918,76.9 +71.942,77.2 +71.966,77.1 +71.990,76.7 +72.014,76.3 +72.038,77.1 +72.062,75.9 +72.086,77.1 +72.110,76.1 +72.134,77.4 +72.158,77.4 +72.182,76.7 +72.206,76.5 +72.230,76.8 +72.254,76.5 +72.278,77.4 +72.302,76.3 +72.326,76.5 +72.350,77.1 +72.374,76.6 +72.398,77.1 +72.422,77.2 +72.446,76.4 +72.470,76.8 +72.494,78.2 +72.519,76.1 +72.543,77.2 +72.567,76.4 +72.591,76.9 +72.615,77.2 +72.639,76.5 +72.663,75.8 +72.687,77.5 +72.711,76.3 +72.735,78.1 +72.759,77.0 +72.783,77.9 +72.807,76.9 +72.831,75.9 +72.855,77.1 +72.879,77.1 +72.903,76.3 +72.927,77.1 +72.951,76.9 +72.975,78.0 +72.999,76.2 +73.023,77.2 +73.047,77.2 +73.071,77.2 +73.095,76.1 +73.119,76.1 +73.143,77.1 +73.167,76.7 +73.191,77.4 +73.215,76.1 +73.239,77.5 +73.263,76.9 +73.287,76.9 +73.311,77.4 +73.335,77.2 +73.359,77.4 +73.383,76.5 +73.407,77.9 +73.431,76.9 +73.455,77.8 +73.479,76.5 +73.503,76.9 +73.527,76.1 +73.551,77.2 +73.575,77.6 +73.599,75.5 +73.623,77.3 +73.647,77.2 +73.671,76.8 +73.695,77.0 +73.719,76.8 +73.743,76.9 +73.767,77.9 +73.791,77.1 +73.815,77.0 +73.839,77.3 +73.863,76.8 +73.887,75.9 +73.911,77.8 +73.935,77.0 +73.959,77.2 +73.983,77.4 +74.007,77.8 +74.031,76.9 +74.055,77.2 +74.079,77.1 +74.103,77.2 +74.127,77.0 +74.151,77.3 +74.175,78.4 +74.199,78.1 +74.223,77.5 +74.247,77.4 +74.271,76.8 +74.295,77.5 +74.319,76.9 +74.343,77.5 +74.367,77.2 +74.391,77.7 +74.415,78.0 +74.439,76.9 +74.463,76.6 +74.487,77.8 +74.511,76.0 +74.535,77.0 +74.559,77.5 +74.583,78.0 +74.607,78.2 +74.631,77.2 +74.655,75.8 +74.679,78.2 +74.703,77.0 +74.727,76.9 +74.751,76.7 +74.775,77.7 +74.799,77.8 +74.823,76.4 +74.847,78.3 +74.871,77.4 +74.895,77.1 +74.919,77.4 +74.943,76.6 +74.967,77.3 +74.991,78.1 +75.015,76.8 +75.039,77.4 +75.063,78.2 +75.087,77.7 +75.111,78.2 +75.135,77.3 +75.159,77.3 +75.183,76.9 +75.207,77.1 +75.231,77.3 +75.255,77.4 +75.279,77.6 +75.303,77.8 +75.327,76.9 +75.351,76.9 +75.375,77.4 +75.399,77.9 +75.423,77.7 +75.447,77.2 +75.471,77.0 +75.495,77.0 +75.519,76.9 +75.543,77.5 +75.567,76.7 +75.591,76.7 +75.615,78.9 +75.639,77.5 +75.663,76.8 +75.687,77.2 +75.711,78.3 +75.735,78.1 +75.759,77.8 +75.783,77.2 +75.807,77.4 +75.831,77.9 +75.855,76.9 +75.879,77.3 +75.903,77.0 +75.927,76.5 +75.951,76.6 +75.975,78.1 +75.999,76.2 +76.023,78.1 +76.047,78.6 +76.071,77.6 +76.095,77.9 +76.119,78.4 +76.143,77.6 +76.167,78.1 +76.191,77.9 +76.215,77.8 +76.239,78.1 +76.263,77.4 +76.287,77.7 +76.311,76.3 +76.335,78.1 +76.359,78.2 +76.383,77.8 +76.407,77.5 +76.431,77.5 +76.455,78.3 +76.479,77.7 +76.503,77.7 +76.527,79.1 +76.551,78.5 +76.575,79.1 +76.599,79.3 +76.623,78.1 +76.647,78.3 +76.671,78.6 +76.695,77.1 +76.719,77.9 +76.743,77.9 +76.767,78.3 +76.791,77.1 +76.815,78.2 +76.839,78.0 +76.863,77.2 +76.887,78.5 +76.911,77.7 +76.935,78.3 +76.959,78.1 +76.983,77.2 +77.007,78.3 +77.031,77.2 +77.055,77.8 +77.079,78.0 +77.103,77.8 +77.127,77.5 +77.151,78.1 +77.175,79.1 +77.199,77.4 +77.223,77.6 +77.247,77.6 +77.271,78.3 +77.295,78.3 +77.319,77.9 +77.343,77.3 +77.367,77.5 +77.391,77.2 +77.415,78.3 +77.439,77.4 +77.463,77.8 +77.487,78.4 +77.512,77.3 +77.536,78.6 +77.560,78.4 +77.584,77.6 +77.608,78.0 +77.632,77.6 +77.656,78.1 +77.680,78.4 +77.704,77.0 +77.728,77.1 +77.752,78.0 +77.776,77.7 +77.800,78.1 +77.824,79.8 +77.848,77.3 +77.872,77.4 +77.896,78.3 +77.920,78.3 +77.944,77.6 +77.968,77.5 +77.992,77.5 +78.016,77.8 +78.040,78.5 +78.064,78.2 +78.088,78.1 +78.112,78.3 +78.136,78.2 +78.160,78.1 +78.184,78.5 +78.208,78.2 +78.232,78.8 +78.256,77.9 +78.280,78.6 +78.304,77.3 +78.328,76.9 +78.352,77.4 +78.376,79.1 +78.400,77.7 +78.424,77.8 +78.448,78.1 +78.472,78.8 +78.496,77.5 +78.520,77.7 +78.544,78.8 +78.568,78.7 +78.592,78.4 +78.616,77.1 +78.640,77.8 +78.664,78.5 +78.688,78.6 +78.712,77.6 +78.736,78.9 +78.760,76.9 +78.784,77.6 +78.808,78.6 +78.832,78.8 +78.856,78.0 +78.880,77.6 +78.904,79.2 +78.928,77.4 +78.952,78.5 +78.976,78.1 +79.000,78.3 +79.024,78.6 +79.048,78.4 +79.072,78.0 +79.096,79.1 +79.120,78.4 +79.144,78.1 +79.168,78.0 +79.192,77.4 +79.216,78.0 +79.240,78.4 +79.264,77.6 +79.288,79.6 +79.312,79.3 +79.336,76.8 +79.360,78.0 +79.384,78.9 +79.408,78.2 +79.432,79.3 +79.456,79.1 +79.480,77.9 +79.504,77.5 +79.528,77.7 +79.552,78.4 +79.576,79.1 +79.600,77.0 +79.624,78.0 +79.648,77.7 +79.672,78.3 +79.696,77.6 +79.720,78.0 +79.744,78.0 +79.768,78.4 +79.792,77.9 +79.816,77.0 +79.840,78.7 +79.864,78.7 +79.888,78.0 +79.912,78.1 +79.936,78.0 +79.960,79.6 +79.984,78.0 +80.008,77.3 +80.032,78.0 +80.056,79.1 +80.080,79.0 +80.104,77.9 +80.128,77.4 +80.152,77.8 +80.176,78.5 +80.200,78.8 +80.224,78.5 +80.248,79.3 +80.272,78.6 +80.296,78.0 +80.320,79.0 +80.344,78.9 +80.368,78.1 +80.392,78.9 +80.416,77.6 +80.440,78.7 +80.464,79.1 +80.488,78.5 +80.512,78.9 +80.536,78.5 +80.560,78.8 +80.584,78.4 +80.608,78.3 +80.632,78.9 +80.656,79.4 +80.680,78.4 +80.704,78.4 +80.728,79.1 +80.752,79.9 +80.776,78.8 +80.800,77.3 +80.824,78.3 +80.848,78.2 +80.872,78.5 +80.896,79.2 +80.920,79.1 +80.944,78.6 +80.968,78.7 +80.992,79.5 +81.016,79.2 +81.040,78.7 +81.064,78.2 +81.088,78.6 +81.112,78.8 +81.136,79.1 +81.160,78.3 +81.184,79.4 +81.208,78.9 +81.232,79.4 +81.256,78.7 +81.280,78.5 +81.304,78.5 +81.328,78.2 +81.352,77.4 +81.376,78.4 +81.400,79.4 +81.424,78.4 +81.448,79.1 +81.472,79.1 +81.496,78.2 +81.520,78.0 +81.544,78.2 +81.568,78.4 +81.592,78.6 +81.616,78.6 +81.640,78.4 +81.664,78.7 +81.688,78.7 +81.712,78.6 +81.736,78.3 +81.760,78.6 +81.784,79.6 +81.808,78.2 +81.832,79.5 +81.856,78.0 +81.880,77.9 +81.904,78.8 +81.928,79.1 +81.952,79.2 +81.976,78.4 +82.000,79.7 +82.024,79.0 +82.048,79.2 +82.072,79.8 +82.096,79.8 +82.120,77.9 +82.144,79.0 +82.168,78.2 +82.192,79.2 +82.216,77.9 +82.240,79.1 +82.264,78.7 +82.288,78.6 +82.312,78.0 +82.336,77.7 +82.360,78.7 +82.384,78.2 +82.408,79.5 +82.432,78.4 +82.456,79.6 +82.480,79.3 +82.505,78.6 +82.529,77.4 +82.553,79.0 +82.577,78.7 +82.601,79.5 +82.625,78.1 +82.649,78.6 +82.673,79.5 +82.697,78.1 +82.721,77.6 +82.745,79.0 +82.769,78.6 +82.793,79.1 +82.817,79.5 +82.841,79.5 +82.865,79.1 +82.889,78.7 +82.913,78.7 +82.937,79.5 +82.961,78.4 +82.985,79.6 +83.009,79.4 +83.033,79.4 +83.057,78.1 +83.081,79.1 +83.105,79.2 +83.129,78.5 +83.153,80.1 +83.177,77.5 +83.201,79.5 +83.225,78.3 +83.249,81.1 +83.273,79.2 +83.297,77.8 +83.321,79.6 +83.345,79.7 +83.369,79.6 +83.393,78.9 +83.417,79.2 +83.441,78.2 +83.465,78.4 +83.489,79.0 +83.513,79.8 +83.537,78.7 +83.561,78.8 +83.585,79.2 +83.609,79.5 +83.633,78.7 +83.657,79.5 +83.681,79.4 +83.705,77.4 +83.729,79.3 +83.753,78.5 +83.777,79.4 +83.801,80.0 +83.825,80.1 +83.849,78.8 +83.873,79.1 +83.897,79.5 +83.921,79.0 +83.945,79.0 +83.969,79.0 +83.993,79.7 +84.017,78.6 +84.041,79.1 +84.065,79.5 +84.089,77.6 +84.113,79.0 +84.137,78.8 +84.161,79.4 +84.185,79.7 +84.209,79.0 +84.233,79.8 +84.257,78.7 +84.281,78.0 +84.305,79.7 +84.329,78.9 +84.353,78.9 +84.377,79.2 +84.401,80.4 +84.425,78.7 +84.449,79.3 +84.473,78.8 +84.497,79.0 +84.521,79.1 +84.545,79.8 +84.569,78.8 +84.593,79.3 +84.617,79.4 +84.641,79.0 +84.665,78.0 +84.689,78.0 +84.713,79.5 +84.737,78.3 +84.761,80.1 +84.785,78.4 +84.809,78.8 +84.833,79.2 +84.857,79.3 +84.881,78.6 +84.905,79.7 +84.929,78.5 +84.953,78.8 +84.977,80.1 +85.001,78.8 +85.025,78.4 +85.049,78.1 +85.073,79.1 +85.097,78.7 +85.121,78.8 +85.145,80.5 +85.169,79.2 +85.193,79.1 +85.217,79.8 +85.241,78.0 +85.265,79.2 +85.289,80.3 +85.313,79.4 +85.337,79.9 +85.361,80.0 +85.385,79.7 +85.409,79.5 +85.433,80.1 +85.457,80.2 +85.481,79.6 +85.505,79.1 +85.529,78.5 +85.553,77.8 +85.577,79.3 +85.601,79.1 +85.625,80.3 +85.649,79.1 +85.673,79.4 +85.697,79.3 +85.721,79.3 +85.745,79.7 +85.769,79.5 +85.793,78.7 +85.817,80.3 +85.841,79.6 +85.865,79.9 +85.889,79.2 +85.913,78.9 +85.937,80.1 +85.961,78.9 +85.985,78.4 +86.009,80.0 +86.033,79.6 +86.057,79.4 +86.081,78.8 +86.105,79.4 +86.129,79.6 +86.153,79.2 +86.177,79.1 +86.201,79.4 +86.225,79.7 +86.249,79.4 +86.273,79.2 +86.297,79.1 +86.321,80.1 +86.345,80.6 +86.369,79.8 +86.393,80.1 +86.417,79.1 +86.441,80.0 +86.465,79.5 +86.489,79.8 +86.513,79.9 +86.537,79.7 +86.561,80.1 +86.585,78.9 +86.609,80.0 +86.633,80.6 +86.657,79.8 +86.681,79.3 +86.705,79.7 +86.729,77.8 +86.753,80.1 +86.777,78.6 +86.801,79.9 +86.825,79.8 +86.849,80.3 +86.873,80.4 +86.897,79.1 +86.921,80.5 +86.945,80.3 +86.969,79.5 +86.993,79.3 +87.017,79.6 +87.041,78.8 +87.065,79.3 +87.089,79.5 +87.113,80.3 +87.137,80.0 +87.161,79.9 +87.185,79.5 +87.209,79.8 +87.233,79.1 +87.257,79.5 +87.281,79.8 +87.305,79.8 +87.329,79.9 +87.353,80.0 +87.377,80.4 +87.401,80.7 +87.425,79.1 +87.449,78.3 +87.473,79.2 +87.497,80.0 +87.522,80.2 +87.546,78.7 +87.570,79.9 +87.594,80.5 +87.618,79.8 +87.642,80.4 +87.666,78.6 +87.690,80.3 +87.714,80.2 +87.738,79.4 +87.762,79.7 +87.786,79.5 +87.810,80.0 +87.834,79.8 +87.858,78.9 +87.882,80.8 +87.906,79.0 +87.930,79.8 +87.954,79.3 +87.978,79.0 +88.002,80.1 +88.026,79.0 +88.050,80.7 +88.074,80.6 +88.098,79.6 +88.122,79.7 +88.146,79.7 +88.170,80.5 +88.194,78.7 +88.218,79.5 +88.242,78.6 +88.266,79.7 +88.290,78.9 +88.314,79.8 +88.338,80.6 +88.362,78.9 +88.386,79.8 +88.410,79.5 +88.434,80.4 +88.458,80.1 +88.482,78.9 +88.506,80.1 +88.530,79.9 +88.554,78.9 +88.578,80.1 +88.602,79.6 +88.626,80.2 +88.650,80.0 +88.674,79.0 +88.698,78.5 +88.722,80.0 +88.746,79.6 +88.770,81.0 +88.794,79.4 +88.818,79.9 +88.842,80.5 +88.866,79.9 +88.890,80.6 +88.914,80.0 +88.938,81.1 +88.962,79.3 +88.986,80.3 +89.010,79.3 +89.034,79.3 +89.058,79.5 +89.082,79.5 +89.106,79.8 +89.130,80.0 +89.154,80.2 +89.178,79.3 +89.202,79.6 +89.226,80.3 +89.250,80.2 +89.274,79.7 +89.298,78.9 +89.322,80.8 +89.346,80.8 +89.370,79.4 +89.394,80.8 +89.418,80.3 +89.442,79.8 +89.466,79.7 +89.490,79.1 +89.514,80.4 +89.538,80.3 +89.562,80.2 +89.586,79.7 +89.610,80.7 +89.634,80.8 +89.658,81.1 +89.682,79.9 +89.706,79.6 +89.730,79.0 +89.754,80.0 +89.778,79.4 +89.802,80.0 +89.826,81.0 +89.850,79.7 +89.874,80.1 +89.898,80.9 +89.922,79.9 +89.946,80.3 +89.970,80.6 +89.994,80.4 +90.018,79.6 +90.042,79.8 +90.066,80.0 +90.090,80.0 +90.114,79.7 +90.138,80.2 +90.162,80.4 +90.186,80.2 +90.210,80.9 +90.234,80.4 +90.258,80.3 +90.282,80.3 +90.306,80.7 +90.330,78.8 +90.354,81.2 +90.378,80.3 +90.402,80.3 +90.426,80.2 +90.450,80.2 +90.474,80.2 +90.498,79.7 +90.522,80.5 +90.546,80.4 +90.570,81.2 +90.594,81.1 +90.618,78.5 +90.642,80.1 +90.666,80.2 +90.690,81.0 +90.714,79.1 +90.738,79.9 +90.762,81.9 +90.786,79.6 +90.810,80.4 +90.834,80.2 +90.858,80.1 +90.882,79.7 +90.906,80.0 +90.930,81.1 +90.954,80.1 +90.978,80.8 +91.002,79.8 +91.026,81.4 +91.050,79.9 +91.074,81.3 +91.098,80.8 +91.122,80.7 +91.146,80.9 +91.170,79.9 +91.194,80.1 +91.218,80.8 +91.242,80.9 +91.266,80.2 +91.290,81.1 +91.314,80.5 +91.338,80.0 +91.362,80.0 +91.386,79.4 +91.410,80.8 +91.434,81.0 +91.458,80.8 +91.482,80.2 +91.506,79.7 +91.530,80.9 +91.554,80.4 +91.578,80.7 +91.602,80.4 +91.626,80.2 +91.650,81.1 +91.674,81.6 +91.698,79.7 +91.722,80.1 +91.746,80.2 +91.770,80.2 +91.794,79.9 +91.818,80.8 +91.842,80.9 +91.866,80.2 +91.890,80.3 +91.914,80.9 +91.938,81.1 +91.962,79.8 +91.986,81.1 +92.010,80.4 +92.034,80.3 +92.058,80.2 +92.082,80.6 +92.106,80.4 +92.130,80.6 +92.154,79.2 +92.178,80.5 +92.202,80.2 +92.226,80.5 +92.250,79.3 +92.274,79.8 +92.298,80.6 +92.322,80.7 +92.346,80.3 +92.370,81.1 +92.394,81.1 +92.418,80.3 +92.442,80.5 +92.466,80.8 +92.490,80.3 +92.515,81.0 +92.539,80.2 +92.563,81.7 +92.587,80.0 +92.611,80.8 +92.635,80.5 +92.659,80.3 +92.683,81.8 +92.707,80.8 +92.731,80.2 +92.755,81.4 +92.779,81.1 +92.803,80.8 +92.827,81.5 +92.851,81.0 +92.875,80.5 +92.899,80.5 +92.923,80.8 +92.947,80.5 +92.971,80.0 +92.995,80.3 +93.019,81.0 +93.043,81.2 +93.067,80.7 +93.091,81.5 +93.115,80.1 +93.139,80.9 +93.163,80.3 +93.187,80.4 +93.211,80.5 +93.235,79.5 +93.259,80.3 +93.283,79.9 +93.307,80.5 +93.331,80.2 +93.355,79.7 +93.379,81.0 +93.403,81.6 +93.427,80.0 +93.451,81.6 +93.475,80.6 +93.499,80.4 +93.523,79.6 +93.547,79.3 +93.571,80.6 +93.595,80.7 +93.619,81.0 +93.643,79.8 +93.667,79.1 +93.691,80.1 +93.715,81.2 +93.739,82.3 +93.763,80.6 +93.787,80.2 +93.811,80.1 +93.835,80.4 +93.859,80.0 +93.883,81.1 +93.907,79.9 +93.931,80.1 +93.955,81.0 +93.979,79.7 +94.003,81.3 +94.027,80.2 +94.051,80.9 +94.075,80.0 +94.099,80.2 +94.123,80.4 +94.147,80.9 +94.171,80.2 +94.195,81.3 +94.219,81.2 +94.243,81.0 +94.267,80.3 +94.291,80.5 +94.315,81.0 +94.339,80.9 +94.363,80.8 +94.387,80.3 +94.411,80.3 +94.435,80.7 +94.459,80.5 +94.483,80.1 +94.507,82.0 +94.531,81.3 +94.555,80.5 +94.579,81.2 +94.603,80.7 +94.627,81.2 +94.651,79.9 +94.675,80.5 +94.699,80.0 +94.723,80.2 +94.747,80.7 +94.771,80.0 +94.795,81.5 +94.819,81.3 +94.843,81.7 +94.867,81.1 +94.891,80.9 +94.915,80.5 +94.939,80.6 +94.963,82.2 +94.987,81.2 +95.011,80.2 +95.035,80.9 +95.059,80.8 +95.083,80.7 +95.107,80.3 +95.131,80.6 +95.155,80.1 +95.179,80.4 +95.203,80.9 +95.227,81.0 +95.251,79.3 +95.275,81.6 +95.299,81.4 +95.323,80.8 +95.347,80.2 +95.371,81.8 +95.395,80.1 +95.419,81.1 +95.443,80.9 +95.467,80.9 +95.491,79.7 +95.515,81.3 +95.539,80.9 +95.563,81.9 +95.587,80.6 +95.611,80.5 +95.635,80.4 +95.659,80.1 +95.683,81.2 +95.707,81.0 +95.731,81.9 +95.755,80.4 +95.779,81.2 +95.803,82.0 +95.827,80.9 +95.851,80.9 +95.875,81.1 +95.899,80.6 +95.923,80.7 +95.947,80.7 +95.971,82.0 +95.995,81.1 +96.019,81.0 +96.043,80.9 +96.067,81.9 +96.091,81.3 +96.115,80.9 +96.139,81.2 +96.163,80.9 +96.187,80.9 +96.211,80.3 +96.235,80.4 +96.259,80.7 +96.283,80.9 +96.307,81.0 +96.331,81.5 +96.355,80.4 +96.379,79.8 +96.403,80.7 +96.427,80.0 +96.451,81.3 +96.475,80.1 +96.499,81.0 +96.523,81.3 +96.547,80.5 +96.571,79.7 +96.595,81.3 +96.619,79.9 +96.643,81.2 +96.667,80.4 +96.691,80.9 +96.715,81.5 +96.739,80.3 +96.763,81.0 +96.787,81.2 +96.811,81.9 +96.835,81.1 +96.859,80.9 +96.883,81.3 +96.907,82.1 +96.931,80.6 +96.955,80.6 +96.979,81.5 +97.003,82.0 +97.027,81.0 +97.051,80.8 +97.075,80.3 +97.099,81.2 +97.123,79.8 +97.147,81.0 +97.171,80.7 +97.195,81.5 +97.219,80.6 +97.243,81.0 +97.267,81.5 +97.291,81.3 +97.315,80.3 +97.339,81.6 +97.363,80.7 +97.387,81.5 +97.411,80.3 +97.435,82.0 +97.459,80.7 +97.483,80.7 +97.508,80.3 +97.532,80.6 +97.556,81.1 +97.580,80.5 +97.604,81.9 +97.628,80.2 +97.652,80.5 +97.676,80.3 +97.700,81.3 +97.724,80.5 +97.748,80.8 +97.772,80.6 +97.796,81.0 +97.820,81.5 +97.844,80.7 +97.868,81.2 +97.892,81.2 +97.916,80.1 +97.940,80.9 +97.964,80.9 +97.988,81.2 +98.012,80.5 +98.036,80.9 +98.060,82.6 +98.084,79.9 +98.108,80.4 +98.132,82.0 +98.156,81.3 +98.180,81.5 +98.204,80.9 +98.228,80.1 +98.252,80.7 +98.276,82.0 +98.300,80.0 +98.324,81.0 +98.348,80.0 +98.372,81.2 +98.396,81.5 +98.420,81.5 +98.444,80.8 +98.468,81.4 +98.492,81.3 +98.516,80.5 +98.540,81.3 +98.564,82.4 +98.588,81.0 +98.612,82.1 +98.636,82.0 +98.660,81.7 +98.684,80.9 +98.708,80.8 +98.732,81.8 +98.756,80.9 +98.780,79.7 +98.804,80.7 +98.828,81.4 +98.852,81.7 +98.876,81.0 +98.900,80.7 +98.924,82.0 +98.948,81.7 +98.972,82.0 +98.996,81.1 +99.020,80.8 +99.044,80.3 +99.068,81.0 +99.092,81.8 +99.116,81.8 +99.140,81.7 +99.164,80.7 +99.188,81.9 +99.212,80.6 +99.236,81.7 +99.260,80.9 +99.284,80.0 +99.308,81.7 +99.332,82.1 +99.356,82.0 +99.380,81.2 +99.404,81.1 +99.428,81.8 +99.452,81.8 +99.476,81.5 +99.500,82.0 +99.524,81.1 +99.548,80.8 +99.572,81.4 +99.596,81.1 +99.620,81.2 +99.644,80.9 +99.668,81.5 +99.692,79.9 +99.716,81.3 +99.740,81.6 +99.764,81.2 +99.788,81.7 +99.812,81.7 +99.836,80.9 +99.860,81.1 +99.884,80.9 +99.908,81.0 +99.932,81.2 +99.956,81.4 +99.980,82.1 +100.004,81.3 +100.028,80.6 +100.052,80.3 +100.076,81.7 +100.100,82.1 +100.124,80.7 +100.148,81.3 +100.172,81.6 +100.196,80.0 +100.220,81.7 +100.244,82.0 +100.268,81.4 +100.292,80.6 +100.316,81.4 +100.340,81.7 +100.364,81.0 +100.388,82.3 +100.412,81.3 +100.436,80.9 +100.460,81.2 +100.484,80.9 +100.508,81.3 +100.532,81.4 +100.556,80.4 +100.580,80.6 +100.604,81.6 +100.628,81.4 +100.652,81.0 +100.676,81.6 +100.700,82.6 +100.724,82.3 +100.748,81.0 +100.772,80.3 +100.796,81.0 +100.820,81.6 +100.844,81.7 +100.868,81.9 +100.892,81.5 +100.916,82.3 +100.940,82.0 +100.964,80.1 +100.988,80.7 +101.012,81.9 +101.036,80.8 +101.060,81.2 +101.084,81.3 +101.108,80.9 +101.132,82.9 +101.156,82.0 +101.180,81.6 +101.204,82.1 +101.228,81.2 +101.252,81.1 +101.276,81.3 +101.300,81.6 +101.324,81.5 +101.348,81.5 +101.372,81.7 +101.396,81.0 +101.420,80.1 +101.444,80.3 +101.468,81.9 +101.492,81.1 +101.516,81.0 +101.540,81.8 +101.564,82.7 +101.588,80.3 +101.612,80.5 +101.636,82.0 +101.660,81.7 +101.684,81.7 +101.708,80.7 +101.732,82.3 +101.756,81.9 +101.780,81.0 +101.804,81.7 +101.828,81.1 +101.852,82.3 +101.876,81.7 +101.900,81.9 +101.924,80.6 +101.948,82.1 +101.972,80.5 +101.996,80.4 +102.020,82.3 +102.044,82.0 +102.068,81.3 +102.092,82.4 +102.116,81.6 +102.140,81.8 +102.164,81.4 +102.188,81.4 +102.212,82.2 +102.236,81.9 +102.260,80.8 +102.284,81.8 +102.308,80.9 +102.332,82.1 +102.356,80.9 +102.380,81.5 +102.404,82.1 +102.428,81.1 +102.452,81.5 +102.476,81.4 +102.501,81.3 +102.525,82.1 +102.549,81.7 +102.573,81.4 +102.597,80.7 +102.621,81.1 +102.645,81.2 +102.669,80.4 +102.693,82.2 +102.717,83.0 +102.741,82.5 +102.765,81.4 +102.789,81.2 +102.813,81.8 +102.837,82.5 +102.861,82.0 +102.885,82.6 +102.909,81.3 +102.933,80.8 +102.957,81.5 +102.981,82.1 +103.005,82.1 +103.029,81.5 +103.053,81.6 +103.077,81.2 +103.101,81.6 +103.125,80.6 +103.149,82.7 +103.173,80.7 +103.197,81.8 +103.221,82.3 +103.245,81.9 +103.269,82.0 +103.293,81.1 +103.317,82.0 +103.341,81.9 +103.365,81.4 +103.389,81.6 +103.413,81.3 +103.437,80.8 +103.461,81.7 +103.485,81.8 +103.509,81.1 +103.533,81.1 +103.557,81.9 +103.581,83.1 +103.605,82.3 +103.629,82.5 +103.653,81.2 +103.677,82.0 +103.701,81.4 +103.725,82.5 +103.749,82.1 +103.773,82.8 +103.797,82.0 +103.821,83.0 +103.845,81.9 +103.869,81.7 +103.893,81.6 +103.917,82.3 +103.941,81.5 +103.965,80.8 +103.989,80.9 +104.013,81.0 +104.037,80.6 +104.061,81.5 +104.085,82.2 +104.109,81.8 +104.133,81.1 +104.157,81.5 +104.181,82.8 +104.205,82.4 +104.229,81.1 +104.253,82.3 +104.277,82.3 +104.301,82.7 +104.325,81.5 +104.349,81.5 +104.373,81.9 +104.397,81.7 +104.421,82.0 +104.445,81.0 +104.469,81.7 +104.493,81.8 +104.517,82.1 +104.541,81.5 +104.565,81.4 +104.589,81.7 +104.613,82.4 +104.637,80.7 +104.661,81.3 +104.685,82.0 +104.709,81.9 +104.733,81.4 +104.757,82.2 +104.781,82.6 +104.805,82.9 +104.829,82.2 +104.853,82.3 +104.877,82.0 +104.901,82.4 +104.925,81.9 +104.949,80.9 +104.973,80.8 +104.997,80.4 +105.021,82.3 +105.045,81.4 +105.069,82.3 +105.093,83.5 +105.117,81.3 +105.141,82.0 +105.165,82.0 +105.189,81.6 +105.213,83.2 +105.237,82.4 +105.261,80.9 +105.285,82.7 +105.309,81.4 +105.333,81.2 +105.357,81.2 +105.381,81.3 +105.405,82.0 +105.429,80.9 +105.453,80.9 +105.477,82.5 +105.501,81.6 +105.525,81.6 +105.549,80.9 +105.573,81.9 +105.597,82.4 +105.621,81.2 +105.645,82.7 +105.669,81.5 +105.693,82.2 +105.717,83.5 +105.741,82.3 +105.765,81.2 +105.789,81.4 +105.813,81.8 +105.837,81.4 +105.861,83.0 +105.885,83.1 +105.909,82.4 +105.933,82.1 +105.957,82.7 +105.981,82.0 +106.005,82.4 +106.029,82.2 +106.053,81.9 +106.077,82.5 +106.101,81.7 +106.125,82.4 +106.149,81.8 +106.173,80.7 +106.197,82.5 +106.221,81.5 +106.245,81.0 +106.269,81.6 +106.293,82.2 +106.317,81.4 +106.341,81.1 +106.365,82.1 +106.389,81.8 +106.413,80.8 +106.437,81.2 +106.461,82.1 +106.485,82.2 +106.509,83.1 +106.533,81.7 +106.557,81.5 +106.581,82.0 +106.605,82.6 +106.629,82.1 +106.653,81.2 +106.677,82.8 +106.701,82.5 +106.725,81.8 +106.749,82.8 +106.773,82.5 +106.797,83.2 +106.821,83.4 +106.845,81.8 +106.869,82.4 +106.893,82.8 +106.917,82.7 +106.941,82.0 +106.965,82.4 +106.989,82.3 +107.013,82.3 +107.037,81.5 +107.061,82.2 +107.085,80.9 +107.109,81.5 +107.133,82.9 +107.157,81.8 +107.181,81.8 +107.205,82.0 +107.229,81.9 +107.253,82.4 +107.277,82.1 +107.301,83.1 +107.325,82.1 +107.349,81.2 +107.373,82.0 +107.397,82.2 +107.421,82.9 +107.445,82.1 +107.469,82.3 +107.493,82.2 +107.518,81.8 +107.542,82.5 +107.566,81.9 +107.590,81.3 +107.614,81.9 +107.638,82.7 +107.662,82.1 +107.686,81.8 +107.710,82.3 +107.734,82.2 +107.758,82.0 +107.782,81.5 +107.806,82.5 +107.830,81.2 +107.854,81.1 +107.878,81.8 +107.902,81.3 +107.926,82.0 +107.950,82.6 +107.974,81.8 +107.998,82.2 +108.022,81.9 +108.046,82.0 +108.070,82.7 +108.094,81.8 +108.118,83.2 +108.142,81.1 +108.166,82.2 +108.190,82.8 +108.214,81.6 +108.238,81.1 +108.262,81.6 +108.286,82.3 +108.310,81.8 +108.334,82.3 +108.358,82.5 +108.382,82.1 +108.406,81.3 +108.430,82.5 +108.454,82.6 +108.478,81.5 +108.502,81.6 +108.526,82.6 +108.550,81.6 +108.574,82.7 +108.598,82.7 +108.622,81.6 +108.646,82.3 +108.670,81.0 +108.694,81.5 +108.718,82.7 +108.742,83.0 +108.766,81.3 +108.790,81.9 +108.814,81.6 +108.838,81.1 +108.862,82.6 +108.886,81.9 +108.910,82.7 +108.934,82.9 +108.958,82.3 +108.982,83.9 +109.006,81.1 +109.030,82.6 +109.054,82.2 +109.078,82.0 +109.102,81.1 +109.126,82.5 +109.150,82.3 +109.174,81.7 +109.198,81.9 +109.222,83.2 +109.246,81.4 +109.270,82.2 +109.294,82.1 +109.318,82.5 +109.342,81.3 +109.366,82.5 +109.390,81.4 +109.414,81.2 +109.438,82.1 +109.462,82.0 +109.486,83.6 +109.510,82.0 +109.534,82.1 +109.558,82.8 +109.582,82.0 +109.606,81.4 +109.630,82.9 +109.654,83.5 +109.678,82.2 +109.702,82.9 +109.726,82.3 +109.750,81.7 +109.774,83.3 +109.798,81.4 +109.822,82.3 +109.846,82.0 +109.870,83.0 +109.894,82.5 +109.918,82.7 +109.942,81.2 +109.966,83.2 +109.990,81.1 +110.014,82.8 +110.038,81.0 +110.062,82.2 +110.086,81.4 +110.110,82.3 +110.134,82.8 +110.158,82.5 +110.182,82.0 +110.206,81.9 +110.230,81.3 +110.254,83.0 +110.278,82.3 +110.302,82.4 +110.326,82.2 +110.350,82.3 +110.374,82.2 +110.398,82.3 +110.422,82.0 +110.446,82.6 +110.470,82.5 +110.494,82.3 +110.518,82.0 +110.542,80.9 +110.566,84.0 +110.590,82.0 +110.614,82.2 +110.638,82.0 +110.662,82.0 +110.686,81.5 +110.710,82.8 +110.734,82.1 +110.758,81.9 +110.782,83.1 +110.806,82.7 +110.830,82.9 +110.854,82.0 +110.878,83.3 +110.902,82.7 +110.926,82.0 +110.950,82.7 +110.974,82.4 +110.998,82.7 +111.022,82.2 +111.046,82.6 +111.070,82.9 +111.094,81.6 +111.118,82.3 +111.142,82.0 +111.166,81.9 +111.190,81.7 +111.214,82.0 +111.238,82.6 +111.262,82.2 +111.286,82.3 +111.310,81.9 +111.334,83.6 +111.358,81.4 +111.382,82.3 +111.406,83.1 +111.430,81.8 +111.454,82.3 +111.478,82.3 +111.502,82.5 +111.526,82.9 +111.550,81.7 +111.574,82.4 +111.598,81.8 +111.622,83.0 +111.646,82.1 +111.670,82.8 +111.694,81.9 +111.718,81.1 +111.742,82.3 +111.766,82.3 +111.790,82.2 +111.814,82.2 +111.838,81.4 +111.862,82.6 +111.886,82.8 +111.910,83.3 +111.934,82.5 +111.958,82.4 +111.982,82.2 +112.006,82.2 +112.030,83.0 +112.054,81.1 +112.078,82.6 +112.102,83.8 +112.126,81.6 +112.150,82.8 +112.174,82.9 +112.198,81.8 +112.222,81.9 +112.246,81.5 +112.270,82.8 +112.294,81.3 +112.318,82.5 +112.342,82.0 +112.366,82.6 +112.390,81.9 +112.414,82.5 +112.438,82.0 +112.462,82.8 +112.486,82.6 +112.511,82.8 +112.535,81.4 +112.559,82.4 +112.583,83.6 +112.607,82.9 +112.631,82.4 +112.655,82.1 +112.679,81.8 +112.703,82.1 +112.727,82.4 +112.751,82.2 +112.775,81.7 +112.799,81.8 +112.823,82.2 +112.847,82.7 +112.871,81.9 +112.895,82.3 +112.919,83.2 +112.943,82.1 +112.967,82.5 +112.991,82.6 +113.015,82.6 +113.039,83.3 +113.063,82.5 +113.087,81.8 +113.111,82.3 +113.135,82.3 +113.159,81.1 +113.183,81.9 +113.207,82.1 +113.231,82.8 +113.255,83.0 +113.279,82.4 +113.303,83.4 +113.327,82.4 +113.351,83.7 +113.375,83.4 +113.399,83.0 +113.423,83.2 +113.447,81.6 +113.471,82.8 +113.495,82.6 +113.519,82.9 +113.543,82.9 +113.567,83.5 +113.591,82.1 +113.615,81.6 +113.639,82.2 +113.663,82.4 +113.687,82.7 +113.711,82.4 +113.735,81.9 +113.759,82.3 +113.783,82.4 +113.807,83.0 +113.831,82.7 +113.855,82.8 +113.879,81.8 +113.903,82.8 +113.927,81.8 +113.951,82.6 +113.975,81.8 +113.999,83.6 +114.023,82.3 +114.047,81.7 +114.071,83.4 +114.095,82.1 +114.119,83.1 +114.143,82.0 +114.167,83.1 +114.191,82.2 +114.215,81.9 +114.239,83.5 +114.263,81.5 +114.287,82.5 +114.311,81.2 +114.335,82.8 +114.359,83.0 +114.383,82.9 +114.407,82.2 +114.431,82.1 +114.455,82.3 +114.479,82.7 +114.503,82.2 +114.527,82.9 +114.551,82.9 +114.575,82.8 +114.599,83.1 +114.623,82.4 +114.647,81.1 +114.671,82.4 +114.695,82.7 +114.719,81.7 +114.743,81.5 +114.767,83.0 +114.791,82.6 +114.815,81.8 +114.839,82.9 +114.863,83.5 +114.887,82.4 +114.911,81.9 +114.935,83.7 +114.959,82.6 +114.983,81.8 +115.007,81.4 +115.031,83.4 +115.055,83.0 +115.079,82.5 +115.103,82.5 +115.127,82.4 +115.151,82.4 +115.175,83.6 +115.199,82.4 +115.223,82.5 +115.247,81.9 +115.271,82.3 +115.295,81.7 +115.319,82.8 +115.343,82.7 +115.367,82.8 +115.391,82.8 +115.415,83.0 +115.439,82.8 +115.463,82.6 +115.487,82.6 +115.511,82.2 +115.535,83.5 +115.559,82.4 +115.583,83.0 +115.607,82.7 +115.631,81.9 +115.655,82.7 +115.679,83.0 +115.703,82.5 +115.727,82.9 +115.751,82.2 +115.775,83.1 +115.799,83.3 +115.823,82.1 +115.847,82.4 +115.871,83.3 +115.895,82.9 +115.919,83.5 +115.943,81.4 +115.967,82.8 +115.991,81.9 +116.015,82.6 +116.039,81.4 +116.063,82.6 +116.087,83.2 +116.111,82.6 +116.135,81.8 +116.159,83.0 +116.183,82.5 +116.207,82.1 +116.231,83.2 +116.255,82.3 +116.279,81.7 +116.303,82.6 +116.327,83.5 +116.351,82.5 +116.375,82.5 +116.399,82.9 +116.423,82.7 +116.447,82.8 +116.471,82.8 +116.495,82.3 +116.519,81.6 +116.543,82.2 +116.567,82.4 +116.591,82.8 +116.615,82.5 +116.639,82.9 +116.663,81.5 +116.687,81.7 +116.711,82.8 +116.735,82.6 +116.759,82.3 +116.783,83.3 +116.807,82.6 +116.831,82.6 +116.855,82.3 +116.879,82.1 +116.903,82.4 +116.927,82.8 +116.951,82.5 +116.975,83.0 +116.999,82.6 +117.023,81.5 +117.047,82.4 +117.071,82.5 +117.095,82.0 +117.119,83.2 +117.143,83.5 +117.167,82.7 +117.191,83.0 +117.215,82.7 +117.239,82.9 +117.263,83.2 +117.287,83.3 +117.311,82.6 +117.335,82.8 +117.359,82.6 +117.383,83.8 +117.407,82.3 +117.431,82.4 +117.455,81.8 +117.479,82.3 +117.504,83.1 +117.528,83.7 +117.552,83.7 +117.576,83.0 +117.600,82.8 +117.624,82.4 +117.648,82.6 +117.672,83.5 +117.696,83.3 +117.720,83.0 +117.744,82.4 +117.768,82.4 +117.792,83.6 +117.816,82.2 +117.840,83.2 +117.864,84.2 +117.888,83.1 +117.912,82.0 +117.936,83.6 +117.960,82.5 +117.984,82.0 +118.008,81.3 +118.032,81.1 +118.056,82.6 +118.080,82.4 +118.104,83.4 +118.128,82.4 +118.152,82.1 +118.176,83.0 +118.200,83.7 +118.224,82.3 +118.248,82.6 +118.272,83.3 +118.296,82.5 +118.320,83.5 +118.344,82.5 +118.368,83.1 +118.392,82.8 +118.416,82.4 +118.440,83.7 +118.464,82.3 +118.488,84.9 +118.512,83.1 +118.536,82.7 +118.560,83.7 +118.584,82.9 +118.608,83.9 +118.632,82.4 +118.656,83.2 +118.680,83.1 +118.704,82.0 +118.728,82.4 +118.752,82.2 +118.776,83.1 +118.800,82.8 +118.824,82.0 +118.848,83.5 +118.872,82.7 +118.896,82.7 +118.920,82.8 +118.944,83.0 +118.968,82.5 +118.992,81.4 +119.016,82.6 +119.040,82.4 +119.064,82.1 +119.088,82.2 +119.112,82.4 +119.136,83.1 +119.160,82.3 +119.184,82.4 +119.208,83.5 +119.232,82.0 +119.256,81.6 +119.280,81.5 +119.304,83.0 +119.328,83.9 +119.352,82.8 +119.376,82.4 +119.400,83.0 +119.424,83.7 +119.448,82.6 +119.472,82.2 +119.496,82.6 +119.520,82.8 +119.544,82.7 +119.568,83.9 +119.592,83.6 +119.616,83.9 +119.640,83.2 +119.664,83.0 +119.688,82.9 +119.712,83.7 +119.736,82.8 +119.760,83.3 +119.784,83.0 +119.808,82.8 +119.832,83.5 +119.856,82.3 +119.880,83.0 +119.904,83.5 +119.928,83.3 +119.952,83.2 +119.976,82.3 +120.000,82.8 diff --git a/agents/evals/fixtures/cases/line-basic-matplotlib-renamed/case.json b/agents/evals/fixtures/cases/line-basic-matplotlib-renamed/case.json new file mode 100644 index 0000000000..d048dc67ec --- /dev/null +++ b/agents/evals/fixtures/cases/line-basic-matplotlib-renamed/case.json @@ -0,0 +1,25 @@ +{ + "spec_id": "line-basic", + "library": "matplotlib", + "locale": "de", + "perturbation": "renamed", + "bindings": [ + { + "role": "x", + "column": "t [min]" + }, + { + "role": "y", + "column": "T_tank [°C]" + } + ], + "expected": "accepted", + "tags": [ + "line", + "renamed", + "synthetic", + "renamed-headers", + "non-ascii-headers" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 202, renamed)" +} diff --git a/agents/evals/fixtures/cases/line-basic-matplotlib-renamed/data.csv b/agents/evals/fixtures/cases/line-basic-matplotlib-renamed/data.csv new file mode 100644 index 0000000000..40cd36cf96 --- /dev/null +++ b/agents/evals/fixtures/cases/line-basic-matplotlib-renamed/data.csv @@ -0,0 +1,62 @@ +t [min],T_tank [°C] +0.00,21.1 +2.00,23.2 +4.00,26.4 +6.00,30.0 +8.00,32.6 +10.00,37.1 +12.00,39.4 +14.00,41.8 +16.00,44.7 +18.00,45.8 +20.00,47.5 +22.00,50.5 +24.00,52.4 +26.00,53.6 +28.00,56.1 +30.00,58.3 +32.00,58.6 +34.00,60.5 +36.00,62.0 +38.00,63.3 +40.00,64.9 +42.00,65.8 +44.00,67.3 +46.00,67.1 +48.00,68.2 +50.00,69.9 +52.00,70.0 +54.00,70.8 +56.00,71.8 +58.00,72.8 +60.00,73.0 +62.00,74.3 +64.00,75.4 +66.00,74.1 +68.00,74.3 +70.00,76.7 +72.00,76.2 +74.00,78.0 +76.00,79.3 +78.00,77.9 +80.00,78.2 +82.00,78.8 +84.00,79.3 +86.00,79.4 +88.00,79.2 +90.00,80.3 +92.00,79.1 +94.00,80.8 +96.00,80.9 +98.00,81.8 +100.00,81.4 +102.00,81.8 +104.00,81.1 +106.00,82.0 +108.00,82.5 +110.00,82.8 +112.00,82.4 +114.00,83.4 +116.00,83.4 +118.00,82.4 +120.00,81.4 diff --git a/agents/evals/fixtures/cases/line-basic-matplotlib-x10/case.json b/agents/evals/fixtures/cases/line-basic-matplotlib-x10/case.json new file mode 100644 index 0000000000..126925d3b2 --- /dev/null +++ b/agents/evals/fixtures/cases/line-basic-matplotlib-x10/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "line-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "x10", + "bindings": [ + { + "role": "x", + "column": "Elapsed Time (min)" + }, + { + "role": "y", + "column": "Tank Temperature (°C)" + } + ], + "expected": "accepted", + "tags": [ + "line", + "x10", + "synthetic", + "scaled-values" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 202, x10)" +} diff --git a/agents/evals/fixtures/cases/line-basic-matplotlib-x10/data.csv b/agents/evals/fixtures/cases/line-basic-matplotlib-x10/data.csv new file mode 100644 index 0000000000..7fdabb0d61 --- /dev/null +++ b/agents/evals/fixtures/cases/line-basic-matplotlib-x10/data.csv @@ -0,0 +1,62 @@ +Elapsed Time (min),Tank Temperature (°C) +0.00,210.9 +2.00,231.7 +4.00,263.7 +6.00,300.0 +8.00,325.9 +10.00,370.6 +12.00,393.9 +14.00,418.1 +16.00,447.0 +18.00,457.7 +20.00,475.0 +22.00,505.4 +24.00,524.4 +26.00,535.6 +28.00,561.2 +30.00,583.0 +32.00,586.3 +34.00,605.1 +36.00,619.7 +38.00,633.4 +40.00,648.8 +42.00,657.8 +44.00,673.5 +46.00,670.5 +48.00,682.2 +50.00,699.1 +52.00,700.2 +54.00,707.7 +56.00,718.5 +58.00,728.2 +60.00,730.0 +62.00,743.0 +64.00,753.9 +66.00,740.7 +68.00,743.1 +70.00,766.5 +72.00,762.1 +74.00,780.3 +76.00,793.1 +78.00,779.2 +80.00,781.6 +82.00,787.5 +84.00,792.7 +86.00,794.0 +88.00,792.0 +90.00,802.8 +92.00,791.0 +94.00,808.0 +96.00,808.8 +98.00,818.3 +100.00,813.6 +102.00,817.7 +104.00,811.0 +106.00,819.6 +108.00,825.0 +110.00,828.1 +112.00,824.2 +114.00,834.5 +116.00,834.0 +118.00,823.8 +120.00,814.1 diff --git a/agents/evals/fixtures/cases/line-basic-seaborn-date/case.json b/agents/evals/fixtures/cases/line-basic-seaborn-date/case.json new file mode 100644 index 0000000000..00d1635b33 --- /dev/null +++ b/agents/evals/fixtures/cases/line-basic-seaborn-date/case.json @@ -0,0 +1,26 @@ +{ + "spec_id": "line-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "date", + "bindings": [ + { + "role": "x", + "column": "Timestamp" + }, + { + "role": "y", + "column": "Tank Temperature (°C)" + } + ], + "expected": "accepted", + "tags": [ + "line", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "date-axis" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 202, date)" +} diff --git a/agents/evals/fixtures/cases/line-basic-seaborn-date/data.csv b/agents/evals/fixtures/cases/line-basic-seaborn-date/data.csv new file mode 100644 index 0000000000..02d4c96346 --- /dev/null +++ b/agents/evals/fixtures/cases/line-basic-seaborn-date/data.csv @@ -0,0 +1,62 @@ +Timestamp,Logged At,Tank Temperature (°C) +14.03.2026 06:00,2026-03-15T06:00,21.1 +14.03.2026 06:02,2026-03-15T06:02,23.2 +14.03.2026 06:04,2026-03-15T06:04,26.4 +14.03.2026 06:06,2026-03-15T06:06,30.0 +14.03.2026 06:08,2026-03-15T06:08,32.6 +14.03.2026 06:10,2026-03-15T06:10,37.1 +14.03.2026 06:12,2026-03-15T06:12,39.4 +14.03.2026 06:14,2026-03-15T06:14,41.8 +14.03.2026 06:16,2026-03-15T06:16,44.7 +14.03.2026 06:18,2026-03-15T06:18,45.8 +14.03.2026 06:20,2026-03-15T06:20,47.5 +14.03.2026 06:22,2026-03-15T06:22,50.5 +14.03.2026 06:24,2026-03-15T06:24,52.4 +14.03.2026 06:26,2026-03-15T06:26,53.6 +14.03.2026 06:28,2026-03-15T06:28,56.1 +14.03.2026 06:30,2026-03-15T06:30,58.3 +14.03.2026 06:32,2026-03-15T06:32,58.6 +14.03.2026 06:34,2026-03-15T06:34,60.5 +14.03.2026 06:36,2026-03-15T06:36,62.0 +14.03.2026 06:38,2026-03-15T06:38,63.3 +14.03.2026 06:40,2026-03-15T06:40,64.9 +14.03.2026 06:42,2026-03-15T06:42,65.8 +14.03.2026 06:44,2026-03-15T06:44,67.3 +14.03.2026 06:46,2026-03-15T06:46,67.1 +14.03.2026 06:48,2026-03-15T06:48,68.2 +14.03.2026 06:50,2026-03-15T06:50,69.9 +14.03.2026 06:52,2026-03-15T06:52,70.0 +14.03.2026 06:54,2026-03-15T06:54,70.8 +14.03.2026 06:56,2026-03-15T06:56,71.8 +14.03.2026 06:58,2026-03-15T06:58,72.8 +14.03.2026 07:00,2026-03-15T07:00,73.0 +14.03.2026 07:02,2026-03-15T07:02,74.3 +14.03.2026 07:04,2026-03-15T07:04,75.4 +14.03.2026 07:06,2026-03-15T07:06,74.1 +14.03.2026 07:08,2026-03-15T07:08,74.3 +14.03.2026 07:10,2026-03-15T07:10,76.7 +14.03.2026 07:12,2026-03-15T07:12,76.2 +14.03.2026 07:14,2026-03-15T07:14,78.0 +14.03.2026 07:16,2026-03-15T07:16,79.3 +14.03.2026 07:18,2026-03-15T07:18,77.9 +14.03.2026 07:20,2026-03-15T07:20,78.2 +14.03.2026 07:22,2026-03-15T07:22,78.8 +14.03.2026 07:24,2026-03-15T07:24,79.3 +14.03.2026 07:26,2026-03-15T07:26,79.4 +14.03.2026 07:28,2026-03-15T07:28,79.2 +14.03.2026 07:30,2026-03-15T07:30,80.3 +14.03.2026 07:32,2026-03-15T07:32,79.1 +14.03.2026 07:34,2026-03-15T07:34,80.8 +14.03.2026 07:36,2026-03-15T07:36,80.9 +14.03.2026 07:38,2026-03-15T07:38,81.8 +14.03.2026 07:40,2026-03-15T07:40,81.4 +14.03.2026 07:42,2026-03-15T07:42,81.8 +14.03.2026 07:44,2026-03-15T07:44,81.1 +14.03.2026 07:46,2026-03-15T07:46,82.0 +14.03.2026 07:48,2026-03-15T07:48,82.5 +14.03.2026 07:50,2026-03-15T07:50,82.8 +14.03.2026 07:52,2026-03-15T07:52,82.4 +14.03.2026 07:54,2026-03-15T07:54,83.4 +14.03.2026 07:56,2026-03-15T07:56,83.4 +14.03.2026 07:58,2026-03-15T07:58,82.4 +14.03.2026 08:00,2026-03-15T08:00,81.4 diff --git a/agents/evals/fixtures/cases/line-basic-seaborn-decimal-comma/case.json b/agents/evals/fixtures/cases/line-basic-seaborn-decimal-comma/case.json new file mode 100644 index 0000000000..1fd66aaf94 --- /dev/null +++ b/agents/evals/fixtures/cases/line-basic-seaborn-decimal-comma/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "line-basic", + "library": "seaborn", + "locale": "de", + "perturbation": "decimal-comma", + "bindings": [ + { + "role": "x", + "column": "Elapsed Time (min)" + }, + { + "role": "y", + "column": "Tank Temperature (°C)" + } + ], + "expected": "accepted", + "tags": [ + "line", + "decimal-comma", + "synthetic", + "semicolon" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 202, decimal-comma)" +} diff --git a/agents/evals/fixtures/cases/line-basic-seaborn-decimal-comma/data.csv b/agents/evals/fixtures/cases/line-basic-seaborn-decimal-comma/data.csv new file mode 100644 index 0000000000..5e8c0fc21e --- /dev/null +++ b/agents/evals/fixtures/cases/line-basic-seaborn-decimal-comma/data.csv @@ -0,0 +1,62 @@ +Elapsed Time (min);Tank Temperature (°C) +0,00;21,1 +2,00;23,2 +4,00;26,4 +6,00;30,0 +8,00;32,6 +10,00;37,1 +12,00;39,4 +14,00;41,8 +16,00;44,7 +18,00;45,8 +20,00;47,5 +22,00;50,5 +24,00;52,4 +26,00;53,6 +28,00;56,1 +30,00;58,3 +32,00;58,6 +34,00;60,5 +36,00;62,0 +38,00;63,3 +40,00;64,9 +42,00;65,8 +44,00;67,3 +46,00;67,1 +48,00;68,2 +50,00;69,9 +52,00;70,0 +54,00;70,8 +56,00;71,8 +58,00;72,8 +60,00;73,0 +62,00;74,3 +64,00;75,4 +66,00;74,1 +68,00;74,3 +70,00;76,7 +72,00;76,2 +74,00;78,0 +76,00;79,3 +78,00;77,9 +80,00;78,2 +82,00;78,8 +84,00;79,3 +86,00;79,4 +88,00;79,2 +90,00;80,3 +92,00;79,1 +94,00;80,8 +96,00;80,9 +98,00;81,8 +100,00;81,4 +102,00;81,8 +104,00;81,1 +106,00;82,0 +108,00;82,5 +110,00;82,8 +112,00;82,4 +114,00;83,4 +116,00;83,4 +118,00;82,4 +120,00;81,4 diff --git a/agents/evals/fixtures/cases/line-basic-seaborn-n12/case.json b/agents/evals/fixtures/cases/line-basic-seaborn-n12/case.json new file mode 100644 index 0000000000..0d99fc896f --- /dev/null +++ b/agents/evals/fixtures/cases/line-basic-seaborn-n12/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "line-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "n12", + "bindings": [ + { + "role": "x", + "column": "Elapsed Time (min)" + }, + { + "role": "y", + "column": "Tank Temperature (°C)" + } + ], + "expected": "accepted", + "tags": [ + "line", + "n12", + "synthetic", + "small" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 202, n12)" +} diff --git a/agents/evals/fixtures/cases/line-basic-seaborn-n12/data.csv b/agents/evals/fixtures/cases/line-basic-seaborn-n12/data.csv new file mode 100644 index 0000000000..484b2229ff --- /dev/null +++ b/agents/evals/fixtures/cases/line-basic-seaborn-n12/data.csv @@ -0,0 +1,13 @@ +Elapsed Time (min),Tank Temperature (°C) +0.00,19.6 +10.91,37.8 +21.82,49.3 +32.73,58.5 +43.64,66.1 +54.55,70.5 +65.45,75.6 +76.36,78.4 +87.27,80.4 +98.18,80.8 +109.09,82.4 +120.00,83.0 diff --git a/agents/evals/fixtures/cases/line-basic-seaborn-n5000/case.json b/agents/evals/fixtures/cases/line-basic-seaborn-n5000/case.json new file mode 100644 index 0000000000..54a7151b6c --- /dev/null +++ b/agents/evals/fixtures/cases/line-basic-seaborn-n5000/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "line-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "n5000", + "bindings": [ + { + "role": "x", + "column": "Elapsed Time (min)" + }, + { + "role": "y", + "column": "Tank Temperature (°C)" + } + ], + "expected": "accepted", + "tags": [ + "line", + "n5000", + "synthetic", + "large" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 202, n5000)" +} diff --git a/agents/evals/fixtures/cases/line-basic-seaborn-n5000/data.csv b/agents/evals/fixtures/cases/line-basic-seaborn-n5000/data.csv new file mode 100644 index 0000000000..bc2d96257a --- /dev/null +++ b/agents/evals/fixtures/cases/line-basic-seaborn-n5000/data.csv @@ -0,0 +1,5001 @@ +Elapsed Time (min),Tank Temperature (°C) +0.000,19.4 +0.024,20.3 +0.048,20.4 +0.072,20.6 +0.096,19.9 +0.120,20.6 +0.144,20.4 +0.168,21.0 +0.192,20.7 +0.216,20.9 +0.240,22.5 +0.264,20.0 +0.288,21.4 +0.312,20.9 +0.336,21.0 +0.360,20.2 +0.384,21.6 +0.408,20.5 +0.432,20.6 +0.456,20.0 +0.480,20.2 +0.504,21.4 +0.528,21.0 +0.552,21.3 +0.576,20.6 +0.600,21.0 +0.624,20.4 +0.648,22.0 +0.672,21.4 +0.696,21.5 +0.720,22.0 +0.744,21.3 +0.768,21.3 +0.792,22.1 +0.816,21.6 +0.840,21.8 +0.864,21.8 +0.888,21.6 +0.912,21.7 +0.936,21.4 +0.960,22.3 +0.984,21.4 +1.008,22.8 +1.032,22.2 +1.056,21.4 +1.080,21.7 +1.104,22.7 +1.128,22.1 +1.152,21.4 +1.176,22.3 +1.200,22.6 +1.224,22.9 +1.248,23.2 +1.272,23.7 +1.296,22.6 +1.320,22.8 +1.344,22.8 +1.368,22.2 +1.392,22.2 +1.416,22.9 +1.440,22.1 +1.464,21.5 +1.488,23.2 +1.512,22.5 +1.536,22.8 +1.560,23.4 +1.584,25.0 +1.608,21.9 +1.632,22.7 +1.656,23.9 +1.680,23.3 +1.704,23.1 +1.728,22.8 +1.752,23.4 +1.776,22.9 +1.800,23.0 +1.824,23.0 +1.848,22.7 +1.872,22.4 +1.896,23.3 +1.920,23.6 +1.944,23.8 +1.968,23.6 +1.992,23.7 +2.016,23.3 +2.040,23.9 +2.064,23.3 +2.088,23.3 +2.112,23.6 +2.136,24.6 +2.160,24.2 +2.184,23.9 +2.208,23.5 +2.232,24.9 +2.256,24.6 +2.280,23.6 +2.304,23.9 +2.328,24.2 +2.352,25.1 +2.376,24.5 +2.400,24.2 +2.424,24.7 +2.448,25.2 +2.472,24.1 +2.496,23.6 +2.521,24.1 +2.545,24.4 +2.569,25.6 +2.593,24.4 +2.617,24.8 +2.641,24.7 +2.665,24.2 +2.689,24.4 +2.713,24.8 +2.737,24.7 +2.761,24.1 +2.785,24.5 +2.809,25.2 +2.833,24.7 +2.857,23.6 +2.881,26.2 +2.905,24.7 +2.929,24.6 +2.953,24.6 +2.977,25.8 +3.001,25.8 +3.025,24.8 +3.049,24.6 +3.073,25.1 +3.097,25.9 +3.121,25.0 +3.145,25.5 +3.169,25.9 +3.193,24.6 +3.217,24.9 +3.241,24.9 +3.265,25.9 +3.289,25.8 +3.313,25.6 +3.337,25.9 +3.361,26.2 +3.385,26.2 +3.409,26.4 +3.433,25.1 +3.457,26.3 +3.481,24.9 +3.505,25.4 +3.529,25.7 +3.553,26.5 +3.577,26.4 +3.601,26.4 +3.625,25.9 +3.649,26.4 +3.673,26.1 +3.697,25.7 +3.721,26.3 +3.745,27.0 +3.769,26.6 +3.793,26.6 +3.817,27.1 +3.841,26.8 +3.865,26.6 +3.889,27.2 +3.913,25.8 +3.937,26.2 +3.961,27.7 +3.985,27.7 +4.009,27.0 +4.033,26.6 +4.057,26.6 +4.081,26.4 +4.105,28.4 +4.129,26.6 +4.153,27.4 +4.177,26.3 +4.201,26.4 +4.225,28.6 +4.249,27.8 +4.273,26.9 +4.297,27.8 +4.321,27.4 +4.345,28.3 +4.369,27.0 +4.393,27.2 +4.417,27.3 +4.441,28.4 +4.465,27.6 +4.489,27.8 +4.513,27.9 +4.537,28.8 +4.561,27.4 +4.585,28.3 +4.609,27.7 +4.633,28.4 +4.657,28.2 +4.681,28.1 +4.705,28.0 +4.729,29.4 +4.753,28.5 +4.777,27.9 +4.801,29.3 +4.825,27.9 +4.849,28.8 +4.873,28.8 +4.897,28.4 +4.921,26.9 +4.945,29.2 +4.969,28.2 +4.993,29.9 +5.017,28.5 +5.041,29.1 +5.065,27.9 +5.089,28.7 +5.113,29.3 +5.137,29.4 +5.161,28.6 +5.185,28.5 +5.209,28.7 +5.233,29.4 +5.257,29.1 +5.281,27.9 +5.305,30.5 +5.329,29.1 +5.353,29.2 +5.377,29.4 +5.401,29.7 +5.425,29.1 +5.449,29.3 +5.473,30.4 +5.497,30.4 +5.521,28.6 +5.545,29.7 +5.569,30.2 +5.593,29.8 +5.617,30.0 +5.641,29.3 +5.665,30.0 +5.689,30.5 +5.713,30.4 +5.737,30.7 +5.761,29.4 +5.785,30.3 +5.809,29.5 +5.833,29.7 +5.857,30.4 +5.881,28.6 +5.905,30.3 +5.929,30.4 +5.953,30.2 +5.977,31.2 +6.001,29.9 +6.025,31.0 +6.049,30.2 +6.073,30.2 +6.097,29.8 +6.121,30.3 +6.145,30.6 +6.169,30.2 +6.193,31.4 +6.217,30.1 +6.241,29.8 +6.265,32.1 +6.289,31.2 +6.313,29.7 +6.337,31.0 +6.361,29.8 +6.385,29.8 +6.409,31.4 +6.433,30.6 +6.457,31.9 +6.481,31.9 +6.505,31.3 +6.529,32.5 +6.553,31.3 +6.577,30.5 +6.601,31.3 +6.625,31.0 +6.649,31.0 +6.673,30.6 +6.697,30.9 +6.721,31.4 +6.745,31.4 +6.769,31.2 +6.793,32.6 +6.817,31.0 +6.841,31.3 +6.865,31.1 +6.889,31.5 +6.913,31.7 +6.937,30.9 +6.961,33.3 +6.985,32.9 +7.009,32.5 +7.033,32.2 +7.057,32.1 +7.081,31.6 +7.105,32.1 +7.129,31.9 +7.153,32.9 +7.177,32.6 +7.201,32.9 +7.225,31.7 +7.249,31.9 +7.273,32.2 +7.297,33.0 +7.321,32.2 +7.345,31.4 +7.369,32.8 +7.393,31.2 +7.417,32.0 +7.441,32.0 +7.465,32.1 +7.489,32.8 +7.514,32.9 +7.538,32.4 +7.562,32.5 +7.586,32.8 +7.610,33.0 +7.634,33.0 +7.658,33.1 +7.682,33.4 +7.706,33.8 +7.730,32.9 +7.754,32.4 +7.778,33.0 +7.802,33.3 +7.826,33.6 +7.850,32.6 +7.874,33.0 +7.898,32.5 +7.922,33.0 +7.946,33.7 +7.970,33.2 +7.994,33.8 +8.018,33.9 +8.042,34.0 +8.066,33.1 +8.090,34.1 +8.114,33.1 +8.138,33.5 +8.162,34.2 +8.186,34.3 +8.210,33.8 +8.234,33.5 +8.258,34.7 +8.282,34.0 +8.306,34.2 +8.330,33.1 +8.354,33.4 +8.378,34.7 +8.402,33.4 +8.426,33.0 +8.450,33.1 +8.474,33.6 +8.498,33.1 +8.522,33.7 +8.546,33.8 +8.570,34.0 +8.594,34.6 +8.618,34.2 +8.642,34.1 +8.666,34.6 +8.690,35.0 +8.714,32.5 +8.738,34.6 +8.762,34.3 +8.786,34.4 +8.810,34.6 +8.834,34.5 +8.858,33.3 +8.882,35.1 +8.906,34.5 +8.930,34.6 +8.954,35.7 +8.978,35.2 +9.002,35.1 +9.026,34.2 +9.050,34.3 +9.074,34.3 +9.098,34.8 +9.122,34.9 +9.146,36.1 +9.170,35.4 +9.194,35.1 +9.218,34.9 +9.242,34.2 +9.266,35.3 +9.290,34.7 +9.314,35.2 +9.338,35.0 +9.362,35.0 +9.386,34.6 +9.410,35.0 +9.434,34.7 +9.458,35.7 +9.482,35.0 +9.506,36.0 +9.530,35.3 +9.554,35.7 +9.578,36.2 +9.602,35.8 +9.626,35.5 +9.650,36.3 +9.674,36.2 +9.698,35.2 +9.722,35.6 +9.746,36.4 +9.770,35.4 +9.794,35.7 +9.818,34.9 +9.842,36.0 +9.866,35.3 +9.890,35.8 +9.914,35.3 +9.938,36.0 +9.962,35.9 +9.986,35.5 +10.010,35.6 +10.034,36.9 +10.058,35.5 +10.082,36.0 +10.106,36.3 +10.130,37.3 +10.154,36.2 +10.178,37.0 +10.202,36.2 +10.226,36.0 +10.250,37.2 +10.274,37.1 +10.298,36.8 +10.322,36.7 +10.346,35.6 +10.370,36.5 +10.394,36.6 +10.418,36.3 +10.442,36.8 +10.466,37.0 +10.490,37.2 +10.514,37.3 +10.538,36.4 +10.562,37.2 +10.586,37.3 +10.610,36.1 +10.634,36.6 +10.658,35.8 +10.682,36.7 +10.706,37.3 +10.730,37.3 +10.754,36.7 +10.778,38.2 +10.802,38.4 +10.826,37.5 +10.850,37.6 +10.874,37.5 +10.898,36.9 +10.922,38.3 +10.946,36.7 +10.970,38.8 +10.994,38.2 +11.018,38.3 +11.042,37.5 +11.066,37.9 +11.090,38.0 +11.114,37.9 +11.138,38.3 +11.162,38.2 +11.186,37.5 +11.210,38.7 +11.234,37.9 +11.258,37.2 +11.282,38.5 +11.306,37.3 +11.330,37.8 +11.354,39.3 +11.378,38.2 +11.402,37.7 +11.426,38.1 +11.450,39.1 +11.474,38.7 +11.498,39.0 +11.522,38.5 +11.546,38.3 +11.570,38.5 +11.594,38.0 +11.618,38.9 +11.642,38.3 +11.666,38.4 +11.690,37.6 +11.714,39.0 +11.738,38.8 +11.762,38.3 +11.786,38.1 +11.810,39.7 +11.834,37.8 +11.858,38.8 +11.882,37.9 +11.906,38.6 +11.930,39.5 +11.954,38.8 +11.978,38.4 +12.002,39.4 +12.026,39.7 +12.050,38.1 +12.074,39.5 +12.098,39.4 +12.122,38.4 +12.146,39.7 +12.170,39.1 +12.194,39.1 +12.218,39.2 +12.242,38.6 +12.266,39.4 +12.290,38.2 +12.314,39.9 +12.338,39.4 +12.362,39.4 +12.386,38.5 +12.410,40.3 +12.434,39.2 +12.458,39.1 +12.482,40.7 +12.507,39.2 +12.531,38.8 +12.555,40.0 +12.579,39.4 +12.603,40.0 +12.627,39.5 +12.651,39.6 +12.675,40.2 +12.699,40.0 +12.723,39.7 +12.747,40.0 +12.771,39.9 +12.795,40.6 +12.819,38.7 +12.843,40.1 +12.867,40.0 +12.891,40.6 +12.915,40.6 +12.939,40.0 +12.963,40.4 +12.987,41.0 +13.011,40.0 +13.035,40.7 +13.059,40.3 +13.083,40.5 +13.107,40.7 +13.131,40.4 +13.155,41.4 +13.179,40.3 +13.203,39.7 +13.227,40.6 +13.251,40.4 +13.275,40.4 +13.299,41.6 +13.323,40.2 +13.347,41.0 +13.371,40.5 +13.395,39.9 +13.419,41.1 +13.443,40.7 +13.467,41.5 +13.491,40.9 +13.515,40.4 +13.539,41.5 +13.563,40.7 +13.587,41.0 +13.611,41.1 +13.635,41.1 +13.659,42.0 +13.683,40.4 +13.707,41.0 +13.731,40.7 +13.755,40.2 +13.779,41.2 +13.803,41.8 +13.827,39.9 +13.851,40.6 +13.875,41.4 +13.899,41.4 +13.923,41.0 +13.947,40.6 +13.971,41.1 +13.995,41.2 +14.019,40.8 +14.043,42.2 +14.067,42.3 +14.091,41.4 +14.115,41.1 +14.139,41.6 +14.163,40.4 +14.187,42.1 +14.211,40.8 +14.235,41.4 +14.259,42.0 +14.283,41.6 +14.307,40.5 +14.331,42.4 +14.355,43.2 +14.379,43.0 +14.403,43.1 +14.427,43.0 +14.451,41.9 +14.475,43.0 +14.499,41.4 +14.523,41.9 +14.547,42.9 +14.571,42.0 +14.595,43.0 +14.619,43.2 +14.643,41.9 +14.667,42.5 +14.691,40.8 +14.715,42.4 +14.739,42.9 +14.763,42.6 +14.787,42.4 +14.811,41.3 +14.835,42.3 +14.859,42.2 +14.883,42.1 +14.907,43.2 +14.931,41.8 +14.955,41.9 +14.979,41.7 +15.003,42.4 +15.027,42.8 +15.051,42.8 +15.075,43.6 +15.099,41.8 +15.123,42.1 +15.147,43.3 +15.171,42.6 +15.195,42.3 +15.219,42.3 +15.243,42.9 +15.267,42.6 +15.291,43.1 +15.315,42.8 +15.339,43.0 +15.363,43.3 +15.387,44.5 +15.411,43.3 +15.435,42.1 +15.459,43.3 +15.483,42.8 +15.507,43.3 +15.531,43.0 +15.555,43.1 +15.579,42.0 +15.603,42.2 +15.627,45.1 +15.651,43.8 +15.675,43.3 +15.699,43.2 +15.723,44.2 +15.747,44.1 +15.771,44.8 +15.795,43.4 +15.819,43.5 +15.843,44.3 +15.867,44.3 +15.891,42.9 +15.915,43.1 +15.939,43.4 +15.963,43.7 +15.987,42.5 +16.011,43.4 +16.035,44.2 +16.059,44.4 +16.083,44.5 +16.107,43.8 +16.131,44.5 +16.155,43.8 +16.179,43.3 +16.203,43.7 +16.227,43.2 +16.251,44.8 +16.275,44.1 +16.299,44.5 +16.323,44.1 +16.347,43.9 +16.371,44.3 +16.395,44.0 +16.419,43.8 +16.443,44.2 +16.467,43.5 +16.491,43.7 +16.515,44.6 +16.539,43.3 +16.563,44.5 +16.587,44.1 +16.611,44.8 +16.635,45.0 +16.659,44.7 +16.683,44.0 +16.707,44.6 +16.731,44.4 +16.755,44.4 +16.779,45.3 +16.803,44.4 +16.827,43.7 +16.851,45.8 +16.875,44.9 +16.899,45.2 +16.923,44.7 +16.947,44.8 +16.971,44.2 +16.995,45.6 +17.019,45.3 +17.043,45.9 +17.067,45.0 +17.091,45.2 +17.115,45.4 +17.139,46.2 +17.163,44.7 +17.187,45.4 +17.211,45.5 +17.235,45.1 +17.259,45.8 +17.283,46.9 +17.307,44.9 +17.331,45.2 +17.355,45.4 +17.379,44.1 +17.403,44.5 +17.427,44.5 +17.451,45.7 +17.475,45.9 +17.499,45.1 +17.524,45.7 +17.548,45.4 +17.572,45.6 +17.596,46.3 +17.620,44.9 +17.644,46.2 +17.668,46.8 +17.692,46.6 +17.716,46.8 +17.740,45.7 +17.764,46.0 +17.788,44.8 +17.812,46.0 +17.836,47.5 +17.860,46.6 +17.884,46.8 +17.908,45.4 +17.932,45.1 +17.956,46.0 +17.980,46.5 +18.004,47.0 +18.028,46.5 +18.052,45.9 +18.076,47.1 +18.100,46.6 +18.124,46.5 +18.148,46.4 +18.172,46.8 +18.196,46.8 +18.220,46.5 +18.244,44.8 +18.268,46.6 +18.292,46.8 +18.316,46.4 +18.340,46.1 +18.364,46.3 +18.388,45.9 +18.412,46.3 +18.436,45.9 +18.460,46.6 +18.484,47.2 +18.508,46.1 +18.532,47.3 +18.556,48.1 +18.580,47.2 +18.604,46.7 +18.628,47.8 +18.652,46.5 +18.676,46.4 +18.700,46.7 +18.724,47.5 +18.748,47.5 +18.772,48.1 +18.796,47.8 +18.820,47.1 +18.844,46.9 +18.868,47.7 +18.892,47.9 +18.916,47.6 +18.940,46.4 +18.964,48.1 +18.988,47.0 +19.012,46.6 +19.036,47.4 +19.060,48.0 +19.084,47.8 +19.108,47.4 +19.132,47.5 +19.156,47.1 +19.180,48.2 +19.204,47.0 +19.228,47.6 +19.252,46.8 +19.276,48.3 +19.300,48.3 +19.324,47.7 +19.348,46.8 +19.372,47.6 +19.396,47.1 +19.420,47.9 +19.444,48.0 +19.468,49.1 +19.492,47.5 +19.516,47.8 +19.540,47.1 +19.564,48.9 +19.588,48.8 +19.612,48.1 +19.636,47.8 +19.660,47.2 +19.684,46.3 +19.708,47.9 +19.732,47.0 +19.756,47.2 +19.780,48.7 +19.804,48.5 +19.828,48.1 +19.852,48.1 +19.876,49.3 +19.900,47.6 +19.924,47.8 +19.948,47.5 +19.972,46.8 +19.996,49.0 +20.020,48.0 +20.044,48.8 +20.068,48.4 +20.092,48.7 +20.116,48.5 +20.140,47.8 +20.164,48.4 +20.188,48.7 +20.212,49.6 +20.236,47.7 +20.260,49.4 +20.284,49.7 +20.308,48.9 +20.332,48.9 +20.356,49.1 +20.380,49.0 +20.404,48.5 +20.428,48.4 +20.452,48.6 +20.476,49.3 +20.500,49.2 +20.524,49.4 +20.548,49.0 +20.572,49.8 +20.596,49.1 +20.620,49.7 +20.644,50.2 +20.668,48.4 +20.692,48.9 +20.716,48.7 +20.740,48.9 +20.764,48.6 +20.788,49.1 +20.812,50.3 +20.836,49.4 +20.860,48.3 +20.884,48.9 +20.908,50.1 +20.932,49.0 +20.956,50.1 +20.980,48.8 +21.004,49.9 +21.028,49.5 +21.052,48.8 +21.076,49.3 +21.100,49.8 +21.124,50.4 +21.148,49.3 +21.172,49.7 +21.196,49.7 +21.220,48.9 +21.244,49.9 +21.268,50.0 +21.292,49.6 +21.316,50.3 +21.340,49.9 +21.364,49.4 +21.388,49.8 +21.412,50.2 +21.436,49.6 +21.460,50.2 +21.484,49.2 +21.508,51.1 +21.532,49.2 +21.556,51.0 +21.580,50.2 +21.604,48.3 +21.628,50.8 +21.652,51.2 +21.676,51.9 +21.700,50.1 +21.724,50.9 +21.748,50.8 +21.772,49.9 +21.796,51.2 +21.820,49.3 +21.844,51.0 +21.868,50.4 +21.892,50.9 +21.916,49.6 +21.940,51.1 +21.964,50.5 +21.988,49.7 +22.012,50.5 +22.036,50.7 +22.060,49.4 +22.084,51.1 +22.108,50.8 +22.132,49.2 +22.156,49.6 +22.180,50.8 +22.204,50.4 +22.228,50.5 +22.252,49.7 +22.276,50.4 +22.300,50.7 +22.324,51.2 +22.348,51.0 +22.372,51.1 +22.396,50.7 +22.420,49.6 +22.444,51.2 +22.468,50.6 +22.492,50.2 +22.517,49.5 +22.541,49.5 +22.565,51.1 +22.589,49.8 +22.613,50.5 +22.637,52.0 +22.661,51.3 +22.685,50.9 +22.709,50.6 +22.733,50.7 +22.757,50.1 +22.781,50.3 +22.805,51.2 +22.829,51.6 +22.853,51.0 +22.877,50.6 +22.901,51.7 +22.925,52.1 +22.949,51.2 +22.973,51.5 +22.997,51.7 +23.021,51.6 +23.045,51.2 +23.069,51.5 +23.093,51.0 +23.117,51.7 +23.141,51.4 +23.165,52.3 +23.189,51.7 +23.213,51.3 +23.237,50.3 +23.261,51.7 +23.285,52.8 +23.309,51.5 +23.333,51.8 +23.357,51.6 +23.381,50.7 +23.405,52.1 +23.429,51.5 +23.453,52.5 +23.477,51.8 +23.501,50.3 +23.525,53.2 +23.549,51.8 +23.573,51.8 +23.597,51.8 +23.621,52.5 +23.645,53.3 +23.669,52.8 +23.693,51.2 +23.717,52.7 +23.741,52.9 +23.765,51.2 +23.789,52.3 +23.813,51.9 +23.837,52.1 +23.861,52.4 +23.885,52.8 +23.909,51.5 +23.933,51.9 +23.957,52.1 +23.981,51.9 +24.005,51.2 +24.029,53.1 +24.053,51.9 +24.077,52.0 +24.101,52.4 +24.125,52.9 +24.149,53.3 +24.173,52.0 +24.197,52.3 +24.221,51.8 +24.245,52.2 +24.269,52.8 +24.293,52.2 +24.317,52.7 +24.341,53.1 +24.365,52.4 +24.389,52.5 +24.413,52.8 +24.437,53.1 +24.461,52.7 +24.485,52.4 +24.509,53.0 +24.533,52.6 +24.557,52.7 +24.581,54.3 +24.605,54.4 +24.629,53.2 +24.653,53.1 +24.677,53.0 +24.701,54.0 +24.725,53.8 +24.749,52.8 +24.773,52.4 +24.797,52.7 +24.821,54.1 +24.845,53.9 +24.869,53.6 +24.893,53.2 +24.917,52.4 +24.941,52.4 +24.965,53.2 +24.989,53.5 +25.013,53.8 +25.037,54.1 +25.061,53.3 +25.085,53.4 +25.109,53.5 +25.133,54.5 +25.157,52.0 +25.181,54.0 +25.205,54.0 +25.229,52.6 +25.253,53.4 +25.277,53.5 +25.301,52.4 +25.325,52.9 +25.349,53.7 +25.373,53.2 +25.397,54.4 +25.421,53.1 +25.445,54.1 +25.469,53.3 +25.493,54.4 +25.517,54.1 +25.541,53.9 +25.565,52.6 +25.589,54.3 +25.613,53.4 +25.637,53.2 +25.661,53.4 +25.685,53.9 +25.709,53.5 +25.733,53.4 +25.757,54.3 +25.781,55.5 +25.805,53.7 +25.829,54.1 +25.853,54.0 +25.877,55.3 +25.901,54.2 +25.925,53.5 +25.949,54.8 +25.973,53.7 +25.997,55.0 +26.021,54.9 +26.045,54.7 +26.069,54.0 +26.093,54.7 +26.117,54.3 +26.141,54.3 +26.165,54.0 +26.189,54.4 +26.213,53.5 +26.237,54.8 +26.261,54.0 +26.285,54.6 +26.309,54.8 +26.333,53.9 +26.357,54.1 +26.381,53.7 +26.405,55.6 +26.429,53.8 +26.453,53.7 +26.477,54.9 +26.501,54.6 +26.525,54.3 +26.549,55.0 +26.573,54.9 +26.597,54.5 +26.621,53.2 +26.645,54.9 +26.669,54.8 +26.693,54.9 +26.717,53.7 +26.741,54.2 +26.765,54.6 +26.789,54.1 +26.813,54.4 +26.837,55.0 +26.861,56.1 +26.885,54.8 +26.909,54.9 +26.933,55.0 +26.957,54.7 +26.981,53.6 +27.005,55.3 +27.029,54.5 +27.053,55.3 +27.077,55.5 +27.101,55.7 +27.125,55.9 +27.149,55.4 +27.173,54.9 +27.197,54.4 +27.221,55.5 +27.245,55.8 +27.269,55.1 +27.293,54.6 +27.317,56.1 +27.341,54.6 +27.365,55.0 +27.389,54.8 +27.413,54.5 +27.437,55.1 +27.461,55.0 +27.485,54.4 +27.510,54.8 +27.534,56.5 +27.558,55.5 +27.582,54.1 +27.606,55.0 +27.630,54.9 +27.654,54.1 +27.678,54.6 +27.702,55.6 +27.726,55.8 +27.750,56.1 +27.774,54.3 +27.798,55.9 +27.822,57.2 +27.846,56.3 +27.870,55.7 +27.894,56.1 +27.918,55.8 +27.942,54.6 +27.966,56.2 +27.990,55.0 +28.014,56.2 +28.038,55.7 +28.062,56.1 +28.086,56.5 +28.110,55.9 +28.134,56.3 +28.158,56.4 +28.182,55.7 +28.206,56.5 +28.230,55.6 +28.254,56.6 +28.278,56.1 +28.302,56.8 +28.326,55.3 +28.350,56.7 +28.374,55.8 +28.398,56.2 +28.422,56.2 +28.446,55.7 +28.470,56.4 +28.494,56.0 +28.518,55.9 +28.542,55.9 +28.566,56.8 +28.590,55.7 +28.614,55.1 +28.638,55.8 +28.662,56.4 +28.686,56.1 +28.710,56.6 +28.734,56.4 +28.758,56.4 +28.782,57.6 +28.806,56.2 +28.830,56.5 +28.854,56.9 +28.878,56.4 +28.902,56.1 +28.926,56.4 +28.950,56.0 +28.974,55.9 +28.998,56.6 +29.022,56.9 +29.046,56.3 +29.070,57.0 +29.094,57.3 +29.118,56.4 +29.142,56.3 +29.166,56.7 +29.190,56.6 +29.214,57.0 +29.238,56.6 +29.262,57.0 +29.286,56.4 +29.310,55.9 +29.334,57.4 +29.358,55.9 +29.382,56.5 +29.406,57.8 +29.430,57.8 +29.454,56.5 +29.478,56.7 +29.502,57.5 +29.526,56.7 +29.550,57.6 +29.574,56.3 +29.598,56.6 +29.622,56.6 +29.646,56.9 +29.670,57.1 +29.694,56.4 +29.718,57.5 +29.742,57.5 +29.766,57.0 +29.790,57.7 +29.814,56.4 +29.838,57.7 +29.862,56.8 +29.886,57.4 +29.910,57.2 +29.934,56.5 +29.958,55.9 +29.982,56.6 +30.006,57.3 +30.030,58.6 +30.054,56.2 +30.078,57.4 +30.102,57.4 +30.126,58.3 +30.150,56.7 +30.174,57.7 +30.198,57.8 +30.222,56.9 +30.246,58.3 +30.270,58.4 +30.294,57.7 +30.318,57.4 +30.342,57.8 +30.366,57.9 +30.390,58.2 +30.414,57.6 +30.438,58.1 +30.462,58.1 +30.486,57.3 +30.510,58.3 +30.534,57.7 +30.558,57.8 +30.582,57.3 +30.606,57.3 +30.630,58.2 +30.654,57.5 +30.678,58.2 +30.702,57.4 +30.726,57.4 +30.750,56.9 +30.774,56.9 +30.798,57.9 +30.822,57.9 +30.846,57.5 +30.870,58.2 +30.894,57.9 +30.918,57.5 +30.942,57.2 +30.966,58.2 +30.990,59.4 +31.014,58.7 +31.038,58.0 +31.062,59.4 +31.086,57.7 +31.110,57.5 +31.134,59.2 +31.158,57.4 +31.182,57.4 +31.206,58.6 +31.230,59.0 +31.254,58.5 +31.278,59.6 +31.302,57.7 +31.326,59.3 +31.350,57.7 +31.374,58.7 +31.398,58.6 +31.422,59.1 +31.446,57.2 +31.470,59.0 +31.494,58.4 +31.518,58.6 +31.542,57.7 +31.566,58.5 +31.590,59.7 +31.614,59.3 +31.638,59.5 +31.662,58.4 +31.686,58.9 +31.710,58.3 +31.734,58.3 +31.758,58.5 +31.782,59.2 +31.806,60.4 +31.830,59.8 +31.854,58.8 +31.878,59.4 +31.902,58.6 +31.926,58.3 +31.950,59.1 +31.974,59.2 +31.998,57.9 +32.022,58.5 +32.046,58.5 +32.070,58.6 +32.094,58.3 +32.118,58.9 +32.142,57.9 +32.166,58.6 +32.190,58.3 +32.214,59.2 +32.238,58.6 +32.262,59.4 +32.286,59.2 +32.310,58.8 +32.334,59.2 +32.358,59.2 +32.382,60.1 +32.406,58.8 +32.430,59.9 +32.454,59.3 +32.478,59.5 +32.503,58.8 +32.527,59.1 +32.551,58.6 +32.575,59.3 +32.599,58.9 +32.623,59.3 +32.647,60.0 +32.671,60.9 +32.695,59.9 +32.719,59.7 +32.743,60.0 +32.767,60.9 +32.791,59.1 +32.815,60.2 +32.839,60.9 +32.863,59.8 +32.887,60.5 +32.911,59.4 +32.935,60.4 +32.959,59.1 +32.983,60.3 +33.007,60.6 +33.031,60.0 +33.055,58.6 +33.079,60.8 +33.103,59.8 +33.127,59.6 +33.151,59.5 +33.175,58.9 +33.199,59.8 +33.223,59.7 +33.247,58.9 +33.271,60.4 +33.295,60.7 +33.319,59.1 +33.343,58.8 +33.367,60.1 +33.391,60.3 +33.415,60.5 +33.439,59.1 +33.463,60.8 +33.487,60.3 +33.511,59.4 +33.535,60.2 +33.559,60.9 +33.583,60.5 +33.607,60.6 +33.631,58.9 +33.655,61.2 +33.679,60.1 +33.703,59.9 +33.727,59.6 +33.751,59.0 +33.775,59.9 +33.799,60.7 +33.823,60.4 +33.847,61.6 +33.871,60.1 +33.895,59.9 +33.919,60.0 +33.943,60.9 +33.967,61.2 +33.991,60.0 +34.015,61.0 +34.039,61.3 +34.063,61.5 +34.087,60.8 +34.111,60.9 +34.135,60.7 +34.159,60.3 +34.183,60.1 +34.207,60.2 +34.231,60.7 +34.255,60.3 +34.279,61.5 +34.303,61.1 +34.327,60.9 +34.351,60.6 +34.375,60.6 +34.399,60.9 +34.423,60.7 +34.447,60.5 +34.471,60.5 +34.495,61.0 +34.519,60.5 +34.543,59.8 +34.567,60.5 +34.591,60.7 +34.615,60.6 +34.639,60.2 +34.663,60.8 +34.687,61.4 +34.711,60.5 +34.735,61.2 +34.759,61.0 +34.783,61.1 +34.807,60.4 +34.831,60.3 +34.855,60.4 +34.879,61.4 +34.903,59.9 +34.927,61.8 +34.951,60.7 +34.975,61.4 +34.999,61.2 +35.023,61.1 +35.047,61.9 +35.071,62.5 +35.095,61.5 +35.119,61.2 +35.143,61.4 +35.167,61.1 +35.191,61.9 +35.215,60.3 +35.239,61.0 +35.263,60.7 +35.287,60.8 +35.311,61.9 +35.335,60.7 +35.359,61.7 +35.383,61.7 +35.407,61.5 +35.431,61.8 +35.455,62.3 +35.479,61.9 +35.503,61.5 +35.527,61.9 +35.551,62.3 +35.575,62.1 +35.599,61.5 +35.623,60.3 +35.647,62.7 +35.671,62.2 +35.695,60.9 +35.719,61.5 +35.743,61.5 +35.767,61.5 +35.791,61.7 +35.815,62.2 +35.839,61.8 +35.863,62.3 +35.887,61.9 +35.911,61.1 +35.935,62.8 +35.959,61.8 +35.983,62.1 +36.007,61.7 +36.031,61.6 +36.055,61.5 +36.079,61.9 +36.103,61.4 +36.127,60.9 +36.151,62.1 +36.175,62.4 +36.199,61.9 +36.223,62.2 +36.247,61.6 +36.271,62.2 +36.295,60.8 +36.319,61.9 +36.343,62.0 +36.367,62.8 +36.391,62.4 +36.415,61.4 +36.439,62.9 +36.463,61.2 +36.487,61.1 +36.511,62.6 +36.535,61.7 +36.559,62.2 +36.583,62.5 +36.607,61.9 +36.631,62.4 +36.655,61.8 +36.679,62.5 +36.703,62.6 +36.727,61.5 +36.751,62.1 +36.775,62.5 +36.799,62.7 +36.823,62.3 +36.847,61.9 +36.871,62.0 +36.895,62.9 +36.919,62.0 +36.943,61.3 +36.967,62.2 +36.991,62.7 +37.015,61.7 +37.039,61.8 +37.063,61.7 +37.087,63.3 +37.111,64.0 +37.135,63.0 +37.159,63.3 +37.183,62.8 +37.207,62.2 +37.231,62.9 +37.255,62.5 +37.279,62.3 +37.303,62.8 +37.327,61.1 +37.351,62.1 +37.375,63.0 +37.399,64.2 +37.423,62.7 +37.447,62.6 +37.471,63.1 +37.495,63.0 +37.520,63.9 +37.544,63.0 +37.568,62.7 +37.592,63.8 +37.616,63.1 +37.640,62.9 +37.664,61.8 +37.688,63.2 +37.712,62.6 +37.736,63.5 +37.760,63.3 +37.784,63.4 +37.808,62.4 +37.832,63.9 +37.856,62.8 +37.880,63.3 +37.904,64.0 +37.928,63.4 +37.952,63.2 +37.976,62.6 +38.000,63.4 +38.024,62.3 +38.048,63.2 +38.072,64.5 +38.096,63.5 +38.120,61.9 +38.144,63.7 +38.168,63.1 +38.192,63.8 +38.216,62.5 +38.240,64.4 +38.264,62.6 +38.288,62.7 +38.312,63.4 +38.336,63.9 +38.360,63.9 +38.384,62.2 +38.408,63.4 +38.432,63.4 +38.456,62.6 +38.480,62.0 +38.504,62.9 +38.528,63.8 +38.552,63.6 +38.576,63.8 +38.600,63.6 +38.624,63.9 +38.648,63.4 +38.672,62.2 +38.696,62.7 +38.720,62.9 +38.744,63.4 +38.768,63.2 +38.792,63.1 +38.816,63.5 +38.840,63.7 +38.864,63.6 +38.888,64.3 +38.912,63.4 +38.936,64.4 +38.960,62.8 +38.984,63.2 +39.008,63.6 +39.032,64.2 +39.056,63.4 +39.080,62.9 +39.104,63.8 +39.128,63.3 +39.152,63.9 +39.176,63.7 +39.200,64.0 +39.224,63.1 +39.248,63.6 +39.272,63.3 +39.296,64.0 +39.320,62.9 +39.344,64.2 +39.368,64.4 +39.392,63.5 +39.416,64.0 +39.440,64.2 +39.464,62.8 +39.488,64.2 +39.512,64.9 +39.536,63.2 +39.560,63.3 +39.584,64.6 +39.608,64.0 +39.632,64.3 +39.656,64.1 +39.680,63.3 +39.704,64.6 +39.728,63.5 +39.752,64.1 +39.776,65.2 +39.800,64.1 +39.824,65.1 +39.848,64.2 +39.872,64.2 +39.896,65.4 +39.920,64.0 +39.944,63.3 +39.968,64.5 +39.992,64.7 +40.016,63.9 +40.040,64.4 +40.064,65.3 +40.088,64.1 +40.112,64.5 +40.136,65.1 +40.160,64.3 +40.184,63.8 +40.208,64.3 +40.232,64.3 +40.256,64.8 +40.280,64.0 +40.304,65.4 +40.328,64.6 +40.352,64.2 +40.376,63.8 +40.400,64.4 +40.424,64.7 +40.448,63.4 +40.472,64.4 +40.496,64.3 +40.520,63.4 +40.544,64.7 +40.568,64.5 +40.592,64.8 +40.616,64.8 +40.640,64.3 +40.664,64.0 +40.688,64.4 +40.712,64.7 +40.736,64.3 +40.760,64.6 +40.784,64.5 +40.808,64.6 +40.832,64.6 +40.856,64.8 +40.880,65.1 +40.904,65.3 +40.928,64.5 +40.952,64.8 +40.976,65.3 +41.000,65.3 +41.024,64.4 +41.048,64.1 +41.072,65.2 +41.096,64.6 +41.120,65.2 +41.144,66.1 +41.168,65.8 +41.192,64.0 +41.216,65.5 +41.240,65.6 +41.264,65.4 +41.288,64.8 +41.312,65.1 +41.336,64.9 +41.360,65.4 +41.384,65.1 +41.408,63.4 +41.432,65.2 +41.456,65.3 +41.480,64.9 +41.504,64.7 +41.528,65.2 +41.552,64.5 +41.576,65.0 +41.600,65.5 +41.624,65.3 +41.648,64.1 +41.672,65.3 +41.696,65.7 +41.720,64.3 +41.744,65.5 +41.768,65.5 +41.792,64.5 +41.816,65.3 +41.840,64.5 +41.864,65.1 +41.888,65.2 +41.912,66.3 +41.936,65.3 +41.960,64.8 +41.984,65.5 +42.008,65.0 +42.032,65.5 +42.056,64.9 +42.080,64.6 +42.104,64.8 +42.128,65.6 +42.152,64.7 +42.176,65.4 +42.200,65.6 +42.224,65.5 +42.248,64.5 +42.272,64.7 +42.296,65.9 +42.320,64.5 +42.344,64.7 +42.368,65.0 +42.392,65.7 +42.416,66.4 +42.440,66.4 +42.464,64.8 +42.488,65.5 +42.513,66.8 +42.537,65.7 +42.561,64.7 +42.585,65.2 +42.609,65.8 +42.633,65.7 +42.657,65.7 +42.681,66.1 +42.705,65.3 +42.729,66.5 +42.753,65.9 +42.777,65.5 +42.801,65.5 +42.825,66.3 +42.849,65.3 +42.873,66.3 +42.897,65.9 +42.921,66.1 +42.945,65.1 +42.969,65.5 +42.993,66.1 +43.017,66.9 +43.041,65.9 +43.065,64.8 +43.089,66.0 +43.113,65.9 +43.137,66.1 +43.161,66.5 +43.185,65.9 +43.209,64.6 +43.233,65.4 +43.257,66.2 +43.281,66.2 +43.305,65.2 +43.329,66.5 +43.353,66.7 +43.377,65.9 +43.401,66.6 +43.425,65.7 +43.449,66.1 +43.473,65.3 +43.497,66.6 +43.521,66.0 +43.545,66.9 +43.569,66.7 +43.593,67.5 +43.617,66.3 +43.641,67.2 +43.665,65.9 +43.689,66.1 +43.713,66.9 +43.737,67.0 +43.761,67.1 +43.785,66.7 +43.809,65.5 +43.833,65.9 +43.857,67.8 +43.881,67.0 +43.905,65.8 +43.929,66.3 +43.953,67.1 +43.977,66.5 +44.001,65.7 +44.025,67.3 +44.049,67.0 +44.073,66.1 +44.097,67.1 +44.121,66.9 +44.145,66.8 +44.169,66.9 +44.193,65.6 +44.217,66.4 +44.241,66.2 +44.265,67.1 +44.289,67.4 +44.313,67.1 +44.337,66.1 +44.361,66.8 +44.385,66.4 +44.409,66.9 +44.433,66.9 +44.457,67.2 +44.481,65.8 +44.505,68.0 +44.529,66.4 +44.553,66.2 +44.577,68.1 +44.601,67.5 +44.625,66.4 +44.649,67.0 +44.673,67.5 +44.697,68.3 +44.721,66.6 +44.745,67.2 +44.769,66.0 +44.793,66.0 +44.817,67.8 +44.841,68.3 +44.865,67.2 +44.889,67.2 +44.913,66.0 +44.937,67.5 +44.961,66.5 +44.985,66.9 +45.009,66.5 +45.033,67.9 +45.057,67.4 +45.081,66.3 +45.105,67.2 +45.129,66.1 +45.153,67.2 +45.177,66.8 +45.201,66.6 +45.225,67.2 +45.249,66.9 +45.273,67.0 +45.297,66.7 +45.321,66.9 +45.345,66.9 +45.369,68.0 +45.393,68.0 +45.417,67.4 +45.441,67.8 +45.465,67.5 +45.489,68.5 +45.513,67.6 +45.537,66.4 +45.561,66.7 +45.585,66.5 +45.609,68.0 +45.633,67.3 +45.657,67.2 +45.681,67.6 +45.705,67.0 +45.729,67.0 +45.753,66.7 +45.777,66.5 +45.801,67.6 +45.825,68.5 +45.849,66.3 +45.873,66.9 +45.897,66.7 +45.921,68.8 +45.945,67.0 +45.969,67.6 +45.993,68.4 +46.017,67.3 +46.041,67.3 +46.065,68.7 +46.089,66.8 +46.113,67.1 +46.137,67.4 +46.161,68.0 +46.185,68.0 +46.209,67.7 +46.233,68.2 +46.257,67.9 +46.281,67.8 +46.305,67.7 +46.329,67.4 +46.353,68.1 +46.377,67.5 +46.401,67.2 +46.425,68.4 +46.449,67.8 +46.473,68.9 +46.497,67.8 +46.521,67.9 +46.545,67.6 +46.569,66.9 +46.593,67.5 +46.617,68.0 +46.641,67.8 +46.665,69.2 +46.689,67.8 +46.713,68.4 +46.737,68.5 +46.761,67.5 +46.785,69.1 +46.809,68.0 +46.833,67.6 +46.857,67.7 +46.881,67.4 +46.905,68.6 +46.929,67.7 +46.953,68.9 +46.977,67.7 +47.001,67.8 +47.025,67.9 +47.049,68.5 +47.073,68.8 +47.097,68.5 +47.121,67.4 +47.145,68.0 +47.169,67.9 +47.193,67.2 +47.217,67.9 +47.241,68.7 +47.265,67.9 +47.289,67.7 +47.313,68.5 +47.337,68.1 +47.361,67.6 +47.385,69.8 +47.409,68.3 +47.433,68.0 +47.457,68.7 +47.481,68.1 +47.506,68.2 +47.530,67.5 +47.554,68.4 +47.578,67.4 +47.602,68.2 +47.626,68.8 +47.650,67.4 +47.674,67.2 +47.698,69.8 +47.722,68.6 +47.746,69.2 +47.770,68.9 +47.794,68.1 +47.818,68.0 +47.842,67.9 +47.866,68.1 +47.890,68.1 +47.914,67.6 +47.938,68.7 +47.962,69.8 +47.986,67.9 +48.010,68.6 +48.034,68.2 +48.058,68.7 +48.082,69.3 +48.106,67.8 +48.130,69.1 +48.154,68.3 +48.178,68.3 +48.202,69.6 +48.226,69.4 +48.250,68.8 +48.274,67.7 +48.298,68.7 +48.322,68.3 +48.346,68.5 +48.370,68.5 +48.394,70.2 +48.418,69.6 +48.442,69.2 +48.466,68.6 +48.490,68.5 +48.514,69.2 +48.538,68.0 +48.562,68.5 +48.586,69.1 +48.610,69.1 +48.634,67.8 +48.658,68.4 +48.682,68.4 +48.706,69.1 +48.730,70.5 +48.754,68.3 +48.778,68.6 +48.802,68.3 +48.826,68.1 +48.850,69.1 +48.874,69.4 +48.898,69.3 +48.922,69.0 +48.946,67.2 +48.970,68.7 +48.994,68.3 +49.018,68.7 +49.042,69.1 +49.066,68.7 +49.090,69.5 +49.114,69.9 +49.138,68.9 +49.162,69.3 +49.186,68.5 +49.210,68.6 +49.234,69.3 +49.258,69.9 +49.282,69.1 +49.306,69.6 +49.330,69.1 +49.354,69.3 +49.378,68.8 +49.402,69.3 +49.426,69.7 +49.450,70.0 +49.474,70.5 +49.498,68.5 +49.522,69.5 +49.546,69.1 +49.570,69.4 +49.594,68.8 +49.618,69.0 +49.642,68.3 +49.666,68.6 +49.690,69.3 +49.714,69.8 +49.738,69.4 +49.762,68.8 +49.786,70.5 +49.810,68.7 +49.834,70.3 +49.858,68.5 +49.882,69.1 +49.906,69.6 +49.930,69.4 +49.954,68.9 +49.978,69.3 +50.002,69.6 +50.026,68.6 +50.050,69.7 +50.074,69.5 +50.098,70.2 +50.122,69.7 +50.146,68.9 +50.170,69.5 +50.194,68.9 +50.218,70.2 +50.242,69.9 +50.266,69.8 +50.290,70.0 +50.314,69.1 +50.338,69.0 +50.362,69.5 +50.386,69.5 +50.410,69.2 +50.434,69.6 +50.458,70.6 +50.482,68.6 +50.506,70.5 +50.530,69.8 +50.554,68.8 +50.578,69.7 +50.602,69.7 +50.626,69.1 +50.650,70.0 +50.674,69.9 +50.698,70.1 +50.722,69.7 +50.746,69.2 +50.770,69.9 +50.794,71.0 +50.818,68.8 +50.842,68.1 +50.866,69.6 +50.890,70.0 +50.914,70.1 +50.938,68.9 +50.962,70.4 +50.986,70.1 +51.010,70.7 +51.034,69.4 +51.058,69.9 +51.082,70.0 +51.106,69.7 +51.130,69.2 +51.154,70.1 +51.178,68.9 +51.202,68.3 +51.226,70.0 +51.250,70.8 +51.274,69.6 +51.298,70.3 +51.322,70.2 +51.346,69.6 +51.370,68.2 +51.394,70.1 +51.418,70.1 +51.442,70.5 +51.466,70.9 +51.490,69.3 +51.514,69.7 +51.538,70.3 +51.562,70.5 +51.586,70.3 +51.610,70.2 +51.634,69.6 +51.658,69.7 +51.682,71.2 +51.706,70.6 +51.730,70.3 +51.754,71.1 +51.778,70.7 +51.802,70.7 +51.826,69.9 +51.850,70.6 +51.874,70.4 +51.898,70.0 +51.922,69.6 +51.946,70.4 +51.970,70.0 +51.994,70.3 +52.018,71.3 +52.042,70.2 +52.066,70.4 +52.090,71.4 +52.114,71.0 +52.138,70.4 +52.162,70.2 +52.186,70.5 +52.210,69.9 +52.234,71.0 +52.258,70.6 +52.282,70.2 +52.306,71.3 +52.330,69.8 +52.354,69.3 +52.378,71.2 +52.402,70.8 +52.426,71.0 +52.450,71.5 +52.474,70.7 +52.498,70.8 +52.523,71.9 +52.547,70.4 +52.571,70.3 +52.595,71.0 +52.619,69.9 +52.643,71.4 +52.667,71.0 +52.691,69.7 +52.715,70.1 +52.739,70.6 +52.763,71.4 +52.787,69.7 +52.811,70.4 +52.835,70.8 +52.859,70.5 +52.883,69.4 +52.907,70.2 +52.931,70.5 +52.955,70.2 +52.979,70.1 +53.003,70.6 +53.027,71.1 +53.051,70.4 +53.075,71.3 +53.099,71.0 +53.123,72.5 +53.147,70.7 +53.171,70.3 +53.195,70.5 +53.219,71.3 +53.243,70.3 +53.267,71.0 +53.291,71.4 +53.315,70.3 +53.339,70.9 +53.363,71.1 +53.387,70.7 +53.411,69.5 +53.435,70.8 +53.459,70.6 +53.483,69.6 +53.507,69.8 +53.531,70.7 +53.555,70.2 +53.579,71.6 +53.603,70.9 +53.627,71.2 +53.651,71.6 +53.675,71.4 +53.699,72.0 +53.723,70.5 +53.747,70.9 +53.771,70.7 +53.795,70.4 +53.819,70.3 +53.843,70.4 +53.867,71.2 +53.891,71.0 +53.915,72.3 +53.939,70.3 +53.963,71.1 +53.987,71.1 +54.011,71.2 +54.035,71.2 +54.059,70.8 +54.083,71.7 +54.107,71.2 +54.131,70.4 +54.155,72.0 +54.179,70.7 +54.203,71.6 +54.227,71.8 +54.251,70.9 +54.275,71.4 +54.299,71.6 +54.323,71.9 +54.347,71.6 +54.371,70.4 +54.395,71.6 +54.419,71.7 +54.443,72.5 +54.467,71.8 +54.491,71.8 +54.515,70.7 +54.539,71.7 +54.563,70.0 +54.587,71.8 +54.611,71.7 +54.635,72.6 +54.659,72.1 +54.683,71.8 +54.707,70.7 +54.731,70.9 +54.755,71.0 +54.779,71.5 +54.803,71.3 +54.827,70.5 +54.851,72.0 +54.875,71.6 +54.899,73.1 +54.923,71.9 +54.947,72.0 +54.971,70.6 +54.995,71.4 +55.019,72.3 +55.043,72.2 +55.067,70.8 +55.091,71.9 +55.115,71.6 +55.139,70.6 +55.163,71.9 +55.187,70.1 +55.211,71.7 +55.235,70.6 +55.259,70.5 +55.283,71.8 +55.307,71.7 +55.331,70.3 +55.355,71.7 +55.379,71.1 +55.403,71.2 +55.427,72.5 +55.451,71.4 +55.475,72.0 +55.499,72.1 +55.523,71.8 +55.547,71.5 +55.571,72.2 +55.595,72.5 +55.619,71.6 +55.643,71.9 +55.667,70.3 +55.691,72.7 +55.715,72.1 +55.739,71.2 +55.763,72.1 +55.787,71.4 +55.811,72.2 +55.835,71.1 +55.859,71.9 +55.883,71.1 +55.907,71.1 +55.931,71.7 +55.955,72.7 +55.979,72.9 +56.003,73.1 +56.027,73.1 +56.051,72.2 +56.075,72.6 +56.099,72.1 +56.123,72.6 +56.147,72.1 +56.171,72.7 +56.195,72.5 +56.219,71.8 +56.243,71.8 +56.267,71.7 +56.291,72.0 +56.315,71.9 +56.339,71.8 +56.363,72.1 +56.387,71.5 +56.411,72.7 +56.435,71.5 +56.459,72.6 +56.483,72.7 +56.507,72.7 +56.531,72.3 +56.555,71.9 +56.579,73.3 +56.603,73.4 +56.627,72.5 +56.651,73.9 +56.675,72.6 +56.699,72.7 +56.723,71.6 +56.747,70.5 +56.771,71.5 +56.795,70.9 +56.819,72.8 +56.843,73.2 +56.867,71.9 +56.891,72.7 +56.915,72.0 +56.939,72.2 +56.963,72.2 +56.987,72.7 +57.011,72.1 +57.035,72.4 +57.059,71.3 +57.083,73.6 +57.107,71.6 +57.131,72.6 +57.155,72.7 +57.179,73.8 +57.203,72.1 +57.227,71.5 +57.251,72.2 +57.275,72.0 +57.299,72.9 +57.323,73.2 +57.347,73.4 +57.371,72.3 +57.395,73.4 +57.419,71.9 +57.443,72.1 +57.467,72.4 +57.491,73.0 +57.516,72.3 +57.540,72.3 +57.564,72.5 +57.588,73.7 +57.612,72.3 +57.636,73.0 +57.660,72.1 +57.684,72.4 +57.708,71.8 +57.732,73.1 +57.756,71.0 +57.780,71.7 +57.804,72.3 +57.828,72.2 +57.852,71.0 +57.876,72.1 +57.900,72.8 +57.924,73.3 +57.948,73.0 +57.972,72.8 +57.996,72.8 +58.020,72.8 +58.044,72.1 +58.068,73.4 +58.092,72.2 +58.116,73.1 +58.140,73.2 +58.164,71.9 +58.188,72.2 +58.212,73.4 +58.236,73.3 +58.260,72.2 +58.284,73.7 +58.308,73.2 +58.332,73.9 +58.356,72.5 +58.380,72.9 +58.404,71.8 +58.428,73.8 +58.452,72.1 +58.476,73.0 +58.500,72.4 +58.524,72.1 +58.548,73.0 +58.572,73.0 +58.596,72.2 +58.620,73.8 +58.644,72.7 +58.668,72.6 +58.692,72.4 +58.716,72.5 +58.740,73.1 +58.764,73.4 +58.788,72.6 +58.812,72.6 +58.836,73.0 +58.860,72.2 +58.884,72.4 +58.908,72.6 +58.932,74.2 +58.956,72.6 +58.980,72.5 +59.004,71.8 +59.028,72.7 +59.052,73.4 +59.076,73.1 +59.100,73.1 +59.124,73.1 +59.148,73.1 +59.172,72.9 +59.196,73.7 +59.220,73.0 +59.244,72.8 +59.268,73.0 +59.292,72.9 +59.316,73.1 +59.340,73.4 +59.364,73.5 +59.388,72.9 +59.412,73.2 +59.436,72.8 +59.460,73.0 +59.484,74.2 +59.508,73.6 +59.532,73.5 +59.556,74.5 +59.580,72.8 +59.604,73.4 +59.628,74.0 +59.652,73.6 +59.676,73.4 +59.700,73.3 +59.724,72.3 +59.748,73.2 +59.772,72.9 +59.796,72.8 +59.820,73.3 +59.844,72.7 +59.868,73.6 +59.892,73.1 +59.916,73.6 +59.940,73.4 +59.964,71.9 +59.988,73.6 +60.012,74.3 +60.036,74.3 +60.060,74.7 +60.084,74.2 +60.108,73.5 +60.132,73.0 +60.156,73.0 +60.180,73.4 +60.204,72.9 +60.228,72.5 +60.252,72.6 +60.276,73.7 +60.300,73.6 +60.324,73.9 +60.348,73.0 +60.372,73.4 +60.396,73.4 +60.420,73.0 +60.444,73.3 +60.468,73.2 +60.492,74.6 +60.516,74.8 +60.540,72.8 +60.564,73.1 +60.588,74.0 +60.612,74.2 +60.636,72.4 +60.660,73.8 +60.684,74.4 +60.708,73.6 +60.732,73.6 +60.756,73.1 +60.780,73.3 +60.804,73.2 +60.828,73.6 +60.852,73.6 +60.876,72.8 +60.900,74.6 +60.924,73.0 +60.948,72.9 +60.972,72.8 +60.996,72.7 +61.020,72.4 +61.044,73.8 +61.068,73.4 +61.092,72.6 +61.116,73.7 +61.140,74.1 +61.164,73.6 +61.188,72.6 +61.212,73.9 +61.236,73.5 +61.260,73.2 +61.284,72.8 +61.308,73.1 +61.332,73.3 +61.356,72.5 +61.380,72.7 +61.404,73.7 +61.428,74.4 +61.452,74.3 +61.476,74.0 +61.500,74.5 +61.524,73.7 +61.548,75.0 +61.572,73.8 +61.596,73.5 +61.620,74.9 +61.644,74.8 +61.668,73.2 +61.692,73.1 +61.716,74.1 +61.740,74.5 +61.764,74.9 +61.788,74.2 +61.812,73.7 +61.836,73.7 +61.860,73.4 +61.884,73.5 +61.908,74.2 +61.932,73.1 +61.956,73.1 +61.980,74.5 +62.004,74.3 +62.028,74.8 +62.052,73.8 +62.076,73.9 +62.100,73.6 +62.124,74.8 +62.148,73.9 +62.172,74.6 +62.196,73.9 +62.220,73.6 +62.244,74.1 +62.268,73.5 +62.292,74.9 +62.316,74.7 +62.340,73.8 +62.364,74.8 +62.388,74.6 +62.412,73.3 +62.436,74.1 +62.460,74.5 +62.484,74.4 +62.509,74.1 +62.533,74.2 +62.557,73.3 +62.581,74.0 +62.605,74.0 +62.629,74.3 +62.653,74.1 +62.677,73.7 +62.701,74.0 +62.725,74.0 +62.749,73.8 +62.773,74.2 +62.797,73.6 +62.821,73.5 +62.845,74.0 +62.869,74.9 +62.893,74.4 +62.917,76.2 +62.941,75.3 +62.965,74.3 +62.989,74.8 +63.013,73.8 +63.037,74.1 +63.061,74.7 +63.085,73.8 +63.109,74.4 +63.133,74.7 +63.157,74.8 +63.181,74.1 +63.205,75.2 +63.229,73.7 +63.253,73.6 +63.277,74.7 +63.301,74.1 +63.325,74.6 +63.349,74.1 +63.373,75.5 +63.397,74.6 +63.421,75.0 +63.445,74.6 +63.469,73.9 +63.493,74.4 +63.517,74.0 +63.541,74.2 +63.565,75.2 +63.589,74.9 +63.613,74.2 +63.637,74.6 +63.661,74.2 +63.685,75.1 +63.709,74.3 +63.733,74.9 +63.757,74.1 +63.781,74.9 +63.805,74.2 +63.829,75.0 +63.853,75.2 +63.877,74.4 +63.901,74.3 +63.925,74.5 +63.949,75.4 +63.973,74.1 +63.997,74.5 +64.021,75.7 +64.045,73.8 +64.069,74.7 +64.093,74.9 +64.117,75.0 +64.141,74.7 +64.165,75.6 +64.189,74.4 +64.213,75.1 +64.237,74.7 +64.261,74.4 +64.285,74.1 +64.309,74.7 +64.333,75.0 +64.357,74.4 +64.381,75.6 +64.405,74.4 +64.429,73.7 +64.453,75.1 +64.477,75.0 +64.501,74.7 +64.525,74.7 +64.549,73.7 +64.573,74.7 +64.597,75.5 +64.621,74.8 +64.645,74.6 +64.669,74.7 +64.693,74.5 +64.717,75.2 +64.741,74.2 +64.765,73.7 +64.789,75.4 +64.813,76.0 +64.837,75.0 +64.861,75.6 +64.885,74.8 +64.909,75.5 +64.933,74.2 +64.957,74.1 +64.981,75.3 +65.005,74.9 +65.029,74.9 +65.053,75.5 +65.077,74.8 +65.101,74.7 +65.125,74.6 +65.149,74.7 +65.173,74.5 +65.197,75.1 +65.221,75.1 +65.245,74.0 +65.269,75.6 +65.293,74.2 +65.317,75.4 +65.341,75.0 +65.365,74.3 +65.389,74.4 +65.413,75.5 +65.437,74.6 +65.461,75.2 +65.485,75.1 +65.509,75.4 +65.533,75.6 +65.557,74.6 +65.581,73.4 +65.605,75.0 +65.629,75.0 +65.653,75.2 +65.677,74.9 +65.701,74.5 +65.725,74.5 +65.749,76.5 +65.773,75.3 +65.797,74.8 +65.821,74.4 +65.845,74.9 +65.869,74.6 +65.893,76.3 +65.917,74.8 +65.941,75.6 +65.965,75.2 +65.989,75.4 +66.013,74.6 +66.037,75.0 +66.061,74.9 +66.085,75.0 +66.109,75.9 +66.133,75.7 +66.157,76.2 +66.181,75.0 +66.205,75.8 +66.229,74.8 +66.253,74.4 +66.277,74.8 +66.301,73.8 +66.325,75.8 +66.349,75.3 +66.373,75.0 +66.397,74.7 +66.421,75.5 +66.445,74.5 +66.469,74.4 +66.493,75.8 +66.517,75.2 +66.541,74.5 +66.565,75.2 +66.589,74.1 +66.613,75.9 +66.637,75.9 +66.661,75.7 +66.685,75.0 +66.709,74.9 +66.733,75.6 +66.757,75.3 +66.781,75.2 +66.805,75.7 +66.829,75.4 +66.853,75.7 +66.877,75.0 +66.901,75.3 +66.925,77.1 +66.949,74.6 +66.973,74.4 +66.997,76.1 +67.021,76.0 +67.045,75.1 +67.069,76.0 +67.093,75.3 +67.117,75.0 +67.141,76.0 +67.165,74.5 +67.189,75.4 +67.213,75.7 +67.237,75.2 +67.261,75.1 +67.285,76.7 +67.309,74.9 +67.333,75.3 +67.357,74.7 +67.381,75.7 +67.405,75.2 +67.429,74.9 +67.453,76.0 +67.477,75.7 +67.502,76.0 +67.526,75.6 +67.550,76.2 +67.574,76.6 +67.598,76.4 +67.622,75.6 +67.646,75.1 +67.670,76.5 +67.694,75.5 +67.718,74.6 +67.742,76.2 +67.766,75.9 +67.790,76.4 +67.814,75.9 +67.838,75.1 +67.862,76.5 +67.886,76.7 +67.910,74.7 +67.934,76.1 +67.958,75.6 +67.982,75.2 +68.006,76.0 +68.030,75.5 +68.054,75.5 +68.078,75.5 +68.102,73.5 +68.126,76.6 +68.150,73.8 +68.174,75.5 +68.198,75.5 +68.222,75.8 +68.246,75.4 +68.270,75.9 +68.294,74.6 +68.318,76.0 +68.342,75.1 +68.366,76.0 +68.390,76.0 +68.414,76.0 +68.438,76.6 +68.462,75.3 +68.486,75.6 +68.510,75.0 +68.534,75.6 +68.558,75.5 +68.582,75.4 +68.606,76.9 +68.630,77.0 +68.654,75.6 +68.678,76.1 +68.702,76.3 +68.726,75.5 +68.750,75.9 +68.774,76.6 +68.798,75.2 +68.822,75.6 +68.846,76.0 +68.870,74.6 +68.894,76.0 +68.918,75.6 +68.942,77.1 +68.966,75.0 +68.990,75.4 +69.014,77.0 +69.038,76.2 +69.062,76.4 +69.086,76.8 +69.110,76.9 +69.134,76.0 +69.158,75.2 +69.182,76.3 +69.206,76.3 +69.230,75.7 +69.254,75.9 +69.278,76.7 +69.302,75.3 +69.326,76.4 +69.350,75.8 +69.374,76.1 +69.398,76.1 +69.422,76.5 +69.446,75.9 +69.470,77.0 +69.494,77.7 +69.518,76.5 +69.542,76.4 +69.566,76.5 +69.590,75.9 +69.614,76.0 +69.638,76.5 +69.662,77.1 +69.686,75.6 +69.710,75.7 +69.734,76.9 +69.758,76.5 +69.782,75.8 +69.806,76.6 +69.830,75.9 +69.854,76.7 +69.878,76.2 +69.902,76.5 +69.926,76.1 +69.950,75.9 +69.974,77.0 +69.998,75.4 +70.022,77.1 +70.046,76.8 +70.070,76.5 +70.094,75.5 +70.118,75.2 +70.142,75.5 +70.166,76.9 +70.190,76.6 +70.214,75.9 +70.238,75.9 +70.262,76.9 +70.286,75.2 +70.310,76.4 +70.334,76.9 +70.358,75.9 +70.382,75.8 +70.406,77.6 +70.430,75.9 +70.454,76.6 +70.478,76.3 +70.502,75.9 +70.526,75.9 +70.550,76.2 +70.574,76.8 +70.598,76.5 +70.622,76.7 +70.646,76.5 +70.670,76.6 +70.694,76.0 +70.718,76.7 +70.742,76.0 +70.766,75.7 +70.790,76.6 +70.814,76.8 +70.838,76.9 +70.862,75.5 +70.886,76.6 +70.910,76.6 +70.934,76.0 +70.958,77.2 +70.982,77.1 +71.006,75.0 +71.030,77.2 +71.054,77.0 +71.078,76.3 +71.102,76.2 +71.126,77.2 +71.150,76.1 +71.174,76.9 +71.198,76.7 +71.222,75.4 +71.246,76.6 +71.270,76.2 +71.294,76.1 +71.318,76.3 +71.342,77.4 +71.366,76.9 +71.390,76.6 +71.414,76.9 +71.438,76.5 +71.462,75.8 +71.486,76.2 +71.510,76.6 +71.534,76.8 +71.558,77.2 +71.582,76.4 +71.606,77.1 +71.630,76.9 +71.654,77.2 +71.678,77.2 +71.702,76.6 +71.726,77.3 +71.750,76.4 +71.774,76.7 +71.798,76.9 +71.822,75.4 +71.846,76.8 +71.870,77.5 +71.894,76.6 +71.918,76.9 +71.942,77.2 +71.966,77.1 +71.990,76.7 +72.014,76.3 +72.038,77.1 +72.062,75.9 +72.086,77.1 +72.110,76.1 +72.134,77.4 +72.158,77.4 +72.182,76.7 +72.206,76.5 +72.230,76.8 +72.254,76.5 +72.278,77.4 +72.302,76.3 +72.326,76.5 +72.350,77.1 +72.374,76.6 +72.398,77.1 +72.422,77.2 +72.446,76.4 +72.470,76.8 +72.494,78.2 +72.519,76.1 +72.543,77.2 +72.567,76.4 +72.591,76.9 +72.615,77.2 +72.639,76.5 +72.663,75.8 +72.687,77.5 +72.711,76.3 +72.735,78.1 +72.759,77.0 +72.783,77.9 +72.807,76.9 +72.831,75.9 +72.855,77.1 +72.879,77.1 +72.903,76.3 +72.927,77.1 +72.951,76.9 +72.975,78.0 +72.999,76.2 +73.023,77.2 +73.047,77.2 +73.071,77.2 +73.095,76.1 +73.119,76.1 +73.143,77.1 +73.167,76.7 +73.191,77.4 +73.215,76.1 +73.239,77.5 +73.263,76.9 +73.287,76.9 +73.311,77.4 +73.335,77.2 +73.359,77.4 +73.383,76.5 +73.407,77.9 +73.431,76.9 +73.455,77.8 +73.479,76.5 +73.503,76.9 +73.527,76.1 +73.551,77.2 +73.575,77.6 +73.599,75.5 +73.623,77.3 +73.647,77.2 +73.671,76.8 +73.695,77.0 +73.719,76.8 +73.743,76.9 +73.767,77.9 +73.791,77.1 +73.815,77.0 +73.839,77.3 +73.863,76.8 +73.887,75.9 +73.911,77.8 +73.935,77.0 +73.959,77.2 +73.983,77.4 +74.007,77.8 +74.031,76.9 +74.055,77.2 +74.079,77.1 +74.103,77.2 +74.127,77.0 +74.151,77.3 +74.175,78.4 +74.199,78.1 +74.223,77.5 +74.247,77.4 +74.271,76.8 +74.295,77.5 +74.319,76.9 +74.343,77.5 +74.367,77.2 +74.391,77.7 +74.415,78.0 +74.439,76.9 +74.463,76.6 +74.487,77.8 +74.511,76.0 +74.535,77.0 +74.559,77.5 +74.583,78.0 +74.607,78.2 +74.631,77.2 +74.655,75.8 +74.679,78.2 +74.703,77.0 +74.727,76.9 +74.751,76.7 +74.775,77.7 +74.799,77.8 +74.823,76.4 +74.847,78.3 +74.871,77.4 +74.895,77.1 +74.919,77.4 +74.943,76.6 +74.967,77.3 +74.991,78.1 +75.015,76.8 +75.039,77.4 +75.063,78.2 +75.087,77.7 +75.111,78.2 +75.135,77.3 +75.159,77.3 +75.183,76.9 +75.207,77.1 +75.231,77.3 +75.255,77.4 +75.279,77.6 +75.303,77.8 +75.327,76.9 +75.351,76.9 +75.375,77.4 +75.399,77.9 +75.423,77.7 +75.447,77.2 +75.471,77.0 +75.495,77.0 +75.519,76.9 +75.543,77.5 +75.567,76.7 +75.591,76.7 +75.615,78.9 +75.639,77.5 +75.663,76.8 +75.687,77.2 +75.711,78.3 +75.735,78.1 +75.759,77.8 +75.783,77.2 +75.807,77.4 +75.831,77.9 +75.855,76.9 +75.879,77.3 +75.903,77.0 +75.927,76.5 +75.951,76.6 +75.975,78.1 +75.999,76.2 +76.023,78.1 +76.047,78.6 +76.071,77.6 +76.095,77.9 +76.119,78.4 +76.143,77.6 +76.167,78.1 +76.191,77.9 +76.215,77.8 +76.239,78.1 +76.263,77.4 +76.287,77.7 +76.311,76.3 +76.335,78.1 +76.359,78.2 +76.383,77.8 +76.407,77.5 +76.431,77.5 +76.455,78.3 +76.479,77.7 +76.503,77.7 +76.527,79.1 +76.551,78.5 +76.575,79.1 +76.599,79.3 +76.623,78.1 +76.647,78.3 +76.671,78.6 +76.695,77.1 +76.719,77.9 +76.743,77.9 +76.767,78.3 +76.791,77.1 +76.815,78.2 +76.839,78.0 +76.863,77.2 +76.887,78.5 +76.911,77.7 +76.935,78.3 +76.959,78.1 +76.983,77.2 +77.007,78.3 +77.031,77.2 +77.055,77.8 +77.079,78.0 +77.103,77.8 +77.127,77.5 +77.151,78.1 +77.175,79.1 +77.199,77.4 +77.223,77.6 +77.247,77.6 +77.271,78.3 +77.295,78.3 +77.319,77.9 +77.343,77.3 +77.367,77.5 +77.391,77.2 +77.415,78.3 +77.439,77.4 +77.463,77.8 +77.487,78.4 +77.512,77.3 +77.536,78.6 +77.560,78.4 +77.584,77.6 +77.608,78.0 +77.632,77.6 +77.656,78.1 +77.680,78.4 +77.704,77.0 +77.728,77.1 +77.752,78.0 +77.776,77.7 +77.800,78.1 +77.824,79.8 +77.848,77.3 +77.872,77.4 +77.896,78.3 +77.920,78.3 +77.944,77.6 +77.968,77.5 +77.992,77.5 +78.016,77.8 +78.040,78.5 +78.064,78.2 +78.088,78.1 +78.112,78.3 +78.136,78.2 +78.160,78.1 +78.184,78.5 +78.208,78.2 +78.232,78.8 +78.256,77.9 +78.280,78.6 +78.304,77.3 +78.328,76.9 +78.352,77.4 +78.376,79.1 +78.400,77.7 +78.424,77.8 +78.448,78.1 +78.472,78.8 +78.496,77.5 +78.520,77.7 +78.544,78.8 +78.568,78.7 +78.592,78.4 +78.616,77.1 +78.640,77.8 +78.664,78.5 +78.688,78.6 +78.712,77.6 +78.736,78.9 +78.760,76.9 +78.784,77.6 +78.808,78.6 +78.832,78.8 +78.856,78.0 +78.880,77.6 +78.904,79.2 +78.928,77.4 +78.952,78.5 +78.976,78.1 +79.000,78.3 +79.024,78.6 +79.048,78.4 +79.072,78.0 +79.096,79.1 +79.120,78.4 +79.144,78.1 +79.168,78.0 +79.192,77.4 +79.216,78.0 +79.240,78.4 +79.264,77.6 +79.288,79.6 +79.312,79.3 +79.336,76.8 +79.360,78.0 +79.384,78.9 +79.408,78.2 +79.432,79.3 +79.456,79.1 +79.480,77.9 +79.504,77.5 +79.528,77.7 +79.552,78.4 +79.576,79.1 +79.600,77.0 +79.624,78.0 +79.648,77.7 +79.672,78.3 +79.696,77.6 +79.720,78.0 +79.744,78.0 +79.768,78.4 +79.792,77.9 +79.816,77.0 +79.840,78.7 +79.864,78.7 +79.888,78.0 +79.912,78.1 +79.936,78.0 +79.960,79.6 +79.984,78.0 +80.008,77.3 +80.032,78.0 +80.056,79.1 +80.080,79.0 +80.104,77.9 +80.128,77.4 +80.152,77.8 +80.176,78.5 +80.200,78.8 +80.224,78.5 +80.248,79.3 +80.272,78.6 +80.296,78.0 +80.320,79.0 +80.344,78.9 +80.368,78.1 +80.392,78.9 +80.416,77.6 +80.440,78.7 +80.464,79.1 +80.488,78.5 +80.512,78.9 +80.536,78.5 +80.560,78.8 +80.584,78.4 +80.608,78.3 +80.632,78.9 +80.656,79.4 +80.680,78.4 +80.704,78.4 +80.728,79.1 +80.752,79.9 +80.776,78.8 +80.800,77.3 +80.824,78.3 +80.848,78.2 +80.872,78.5 +80.896,79.2 +80.920,79.1 +80.944,78.6 +80.968,78.7 +80.992,79.5 +81.016,79.2 +81.040,78.7 +81.064,78.2 +81.088,78.6 +81.112,78.8 +81.136,79.1 +81.160,78.3 +81.184,79.4 +81.208,78.9 +81.232,79.4 +81.256,78.7 +81.280,78.5 +81.304,78.5 +81.328,78.2 +81.352,77.4 +81.376,78.4 +81.400,79.4 +81.424,78.4 +81.448,79.1 +81.472,79.1 +81.496,78.2 +81.520,78.0 +81.544,78.2 +81.568,78.4 +81.592,78.6 +81.616,78.6 +81.640,78.4 +81.664,78.7 +81.688,78.7 +81.712,78.6 +81.736,78.3 +81.760,78.6 +81.784,79.6 +81.808,78.2 +81.832,79.5 +81.856,78.0 +81.880,77.9 +81.904,78.8 +81.928,79.1 +81.952,79.2 +81.976,78.4 +82.000,79.7 +82.024,79.0 +82.048,79.2 +82.072,79.8 +82.096,79.8 +82.120,77.9 +82.144,79.0 +82.168,78.2 +82.192,79.2 +82.216,77.9 +82.240,79.1 +82.264,78.7 +82.288,78.6 +82.312,78.0 +82.336,77.7 +82.360,78.7 +82.384,78.2 +82.408,79.5 +82.432,78.4 +82.456,79.6 +82.480,79.3 +82.505,78.6 +82.529,77.4 +82.553,79.0 +82.577,78.7 +82.601,79.5 +82.625,78.1 +82.649,78.6 +82.673,79.5 +82.697,78.1 +82.721,77.6 +82.745,79.0 +82.769,78.6 +82.793,79.1 +82.817,79.5 +82.841,79.5 +82.865,79.1 +82.889,78.7 +82.913,78.7 +82.937,79.5 +82.961,78.4 +82.985,79.6 +83.009,79.4 +83.033,79.4 +83.057,78.1 +83.081,79.1 +83.105,79.2 +83.129,78.5 +83.153,80.1 +83.177,77.5 +83.201,79.5 +83.225,78.3 +83.249,81.1 +83.273,79.2 +83.297,77.8 +83.321,79.6 +83.345,79.7 +83.369,79.6 +83.393,78.9 +83.417,79.2 +83.441,78.2 +83.465,78.4 +83.489,79.0 +83.513,79.8 +83.537,78.7 +83.561,78.8 +83.585,79.2 +83.609,79.5 +83.633,78.7 +83.657,79.5 +83.681,79.4 +83.705,77.4 +83.729,79.3 +83.753,78.5 +83.777,79.4 +83.801,80.0 +83.825,80.1 +83.849,78.8 +83.873,79.1 +83.897,79.5 +83.921,79.0 +83.945,79.0 +83.969,79.0 +83.993,79.7 +84.017,78.6 +84.041,79.1 +84.065,79.5 +84.089,77.6 +84.113,79.0 +84.137,78.8 +84.161,79.4 +84.185,79.7 +84.209,79.0 +84.233,79.8 +84.257,78.7 +84.281,78.0 +84.305,79.7 +84.329,78.9 +84.353,78.9 +84.377,79.2 +84.401,80.4 +84.425,78.7 +84.449,79.3 +84.473,78.8 +84.497,79.0 +84.521,79.1 +84.545,79.8 +84.569,78.8 +84.593,79.3 +84.617,79.4 +84.641,79.0 +84.665,78.0 +84.689,78.0 +84.713,79.5 +84.737,78.3 +84.761,80.1 +84.785,78.4 +84.809,78.8 +84.833,79.2 +84.857,79.3 +84.881,78.6 +84.905,79.7 +84.929,78.5 +84.953,78.8 +84.977,80.1 +85.001,78.8 +85.025,78.4 +85.049,78.1 +85.073,79.1 +85.097,78.7 +85.121,78.8 +85.145,80.5 +85.169,79.2 +85.193,79.1 +85.217,79.8 +85.241,78.0 +85.265,79.2 +85.289,80.3 +85.313,79.4 +85.337,79.9 +85.361,80.0 +85.385,79.7 +85.409,79.5 +85.433,80.1 +85.457,80.2 +85.481,79.6 +85.505,79.1 +85.529,78.5 +85.553,77.8 +85.577,79.3 +85.601,79.1 +85.625,80.3 +85.649,79.1 +85.673,79.4 +85.697,79.3 +85.721,79.3 +85.745,79.7 +85.769,79.5 +85.793,78.7 +85.817,80.3 +85.841,79.6 +85.865,79.9 +85.889,79.2 +85.913,78.9 +85.937,80.1 +85.961,78.9 +85.985,78.4 +86.009,80.0 +86.033,79.6 +86.057,79.4 +86.081,78.8 +86.105,79.4 +86.129,79.6 +86.153,79.2 +86.177,79.1 +86.201,79.4 +86.225,79.7 +86.249,79.4 +86.273,79.2 +86.297,79.1 +86.321,80.1 +86.345,80.6 +86.369,79.8 +86.393,80.1 +86.417,79.1 +86.441,80.0 +86.465,79.5 +86.489,79.8 +86.513,79.9 +86.537,79.7 +86.561,80.1 +86.585,78.9 +86.609,80.0 +86.633,80.6 +86.657,79.8 +86.681,79.3 +86.705,79.7 +86.729,77.8 +86.753,80.1 +86.777,78.6 +86.801,79.9 +86.825,79.8 +86.849,80.3 +86.873,80.4 +86.897,79.1 +86.921,80.5 +86.945,80.3 +86.969,79.5 +86.993,79.3 +87.017,79.6 +87.041,78.8 +87.065,79.3 +87.089,79.5 +87.113,80.3 +87.137,80.0 +87.161,79.9 +87.185,79.5 +87.209,79.8 +87.233,79.1 +87.257,79.5 +87.281,79.8 +87.305,79.8 +87.329,79.9 +87.353,80.0 +87.377,80.4 +87.401,80.7 +87.425,79.1 +87.449,78.3 +87.473,79.2 +87.497,80.0 +87.522,80.2 +87.546,78.7 +87.570,79.9 +87.594,80.5 +87.618,79.8 +87.642,80.4 +87.666,78.6 +87.690,80.3 +87.714,80.2 +87.738,79.4 +87.762,79.7 +87.786,79.5 +87.810,80.0 +87.834,79.8 +87.858,78.9 +87.882,80.8 +87.906,79.0 +87.930,79.8 +87.954,79.3 +87.978,79.0 +88.002,80.1 +88.026,79.0 +88.050,80.7 +88.074,80.6 +88.098,79.6 +88.122,79.7 +88.146,79.7 +88.170,80.5 +88.194,78.7 +88.218,79.5 +88.242,78.6 +88.266,79.7 +88.290,78.9 +88.314,79.8 +88.338,80.6 +88.362,78.9 +88.386,79.8 +88.410,79.5 +88.434,80.4 +88.458,80.1 +88.482,78.9 +88.506,80.1 +88.530,79.9 +88.554,78.9 +88.578,80.1 +88.602,79.6 +88.626,80.2 +88.650,80.0 +88.674,79.0 +88.698,78.5 +88.722,80.0 +88.746,79.6 +88.770,81.0 +88.794,79.4 +88.818,79.9 +88.842,80.5 +88.866,79.9 +88.890,80.6 +88.914,80.0 +88.938,81.1 +88.962,79.3 +88.986,80.3 +89.010,79.3 +89.034,79.3 +89.058,79.5 +89.082,79.5 +89.106,79.8 +89.130,80.0 +89.154,80.2 +89.178,79.3 +89.202,79.6 +89.226,80.3 +89.250,80.2 +89.274,79.7 +89.298,78.9 +89.322,80.8 +89.346,80.8 +89.370,79.4 +89.394,80.8 +89.418,80.3 +89.442,79.8 +89.466,79.7 +89.490,79.1 +89.514,80.4 +89.538,80.3 +89.562,80.2 +89.586,79.7 +89.610,80.7 +89.634,80.8 +89.658,81.1 +89.682,79.9 +89.706,79.6 +89.730,79.0 +89.754,80.0 +89.778,79.4 +89.802,80.0 +89.826,81.0 +89.850,79.7 +89.874,80.1 +89.898,80.9 +89.922,79.9 +89.946,80.3 +89.970,80.6 +89.994,80.4 +90.018,79.6 +90.042,79.8 +90.066,80.0 +90.090,80.0 +90.114,79.7 +90.138,80.2 +90.162,80.4 +90.186,80.2 +90.210,80.9 +90.234,80.4 +90.258,80.3 +90.282,80.3 +90.306,80.7 +90.330,78.8 +90.354,81.2 +90.378,80.3 +90.402,80.3 +90.426,80.2 +90.450,80.2 +90.474,80.2 +90.498,79.7 +90.522,80.5 +90.546,80.4 +90.570,81.2 +90.594,81.1 +90.618,78.5 +90.642,80.1 +90.666,80.2 +90.690,81.0 +90.714,79.1 +90.738,79.9 +90.762,81.9 +90.786,79.6 +90.810,80.4 +90.834,80.2 +90.858,80.1 +90.882,79.7 +90.906,80.0 +90.930,81.1 +90.954,80.1 +90.978,80.8 +91.002,79.8 +91.026,81.4 +91.050,79.9 +91.074,81.3 +91.098,80.8 +91.122,80.7 +91.146,80.9 +91.170,79.9 +91.194,80.1 +91.218,80.8 +91.242,80.9 +91.266,80.2 +91.290,81.1 +91.314,80.5 +91.338,80.0 +91.362,80.0 +91.386,79.4 +91.410,80.8 +91.434,81.0 +91.458,80.8 +91.482,80.2 +91.506,79.7 +91.530,80.9 +91.554,80.4 +91.578,80.7 +91.602,80.4 +91.626,80.2 +91.650,81.1 +91.674,81.6 +91.698,79.7 +91.722,80.1 +91.746,80.2 +91.770,80.2 +91.794,79.9 +91.818,80.8 +91.842,80.9 +91.866,80.2 +91.890,80.3 +91.914,80.9 +91.938,81.1 +91.962,79.8 +91.986,81.1 +92.010,80.4 +92.034,80.3 +92.058,80.2 +92.082,80.6 +92.106,80.4 +92.130,80.6 +92.154,79.2 +92.178,80.5 +92.202,80.2 +92.226,80.5 +92.250,79.3 +92.274,79.8 +92.298,80.6 +92.322,80.7 +92.346,80.3 +92.370,81.1 +92.394,81.1 +92.418,80.3 +92.442,80.5 +92.466,80.8 +92.490,80.3 +92.515,81.0 +92.539,80.2 +92.563,81.7 +92.587,80.0 +92.611,80.8 +92.635,80.5 +92.659,80.3 +92.683,81.8 +92.707,80.8 +92.731,80.2 +92.755,81.4 +92.779,81.1 +92.803,80.8 +92.827,81.5 +92.851,81.0 +92.875,80.5 +92.899,80.5 +92.923,80.8 +92.947,80.5 +92.971,80.0 +92.995,80.3 +93.019,81.0 +93.043,81.2 +93.067,80.7 +93.091,81.5 +93.115,80.1 +93.139,80.9 +93.163,80.3 +93.187,80.4 +93.211,80.5 +93.235,79.5 +93.259,80.3 +93.283,79.9 +93.307,80.5 +93.331,80.2 +93.355,79.7 +93.379,81.0 +93.403,81.6 +93.427,80.0 +93.451,81.6 +93.475,80.6 +93.499,80.4 +93.523,79.6 +93.547,79.3 +93.571,80.6 +93.595,80.7 +93.619,81.0 +93.643,79.8 +93.667,79.1 +93.691,80.1 +93.715,81.2 +93.739,82.3 +93.763,80.6 +93.787,80.2 +93.811,80.1 +93.835,80.4 +93.859,80.0 +93.883,81.1 +93.907,79.9 +93.931,80.1 +93.955,81.0 +93.979,79.7 +94.003,81.3 +94.027,80.2 +94.051,80.9 +94.075,80.0 +94.099,80.2 +94.123,80.4 +94.147,80.9 +94.171,80.2 +94.195,81.3 +94.219,81.2 +94.243,81.0 +94.267,80.3 +94.291,80.5 +94.315,81.0 +94.339,80.9 +94.363,80.8 +94.387,80.3 +94.411,80.3 +94.435,80.7 +94.459,80.5 +94.483,80.1 +94.507,82.0 +94.531,81.3 +94.555,80.5 +94.579,81.2 +94.603,80.7 +94.627,81.2 +94.651,79.9 +94.675,80.5 +94.699,80.0 +94.723,80.2 +94.747,80.7 +94.771,80.0 +94.795,81.5 +94.819,81.3 +94.843,81.7 +94.867,81.1 +94.891,80.9 +94.915,80.5 +94.939,80.6 +94.963,82.2 +94.987,81.2 +95.011,80.2 +95.035,80.9 +95.059,80.8 +95.083,80.7 +95.107,80.3 +95.131,80.6 +95.155,80.1 +95.179,80.4 +95.203,80.9 +95.227,81.0 +95.251,79.3 +95.275,81.6 +95.299,81.4 +95.323,80.8 +95.347,80.2 +95.371,81.8 +95.395,80.1 +95.419,81.1 +95.443,80.9 +95.467,80.9 +95.491,79.7 +95.515,81.3 +95.539,80.9 +95.563,81.9 +95.587,80.6 +95.611,80.5 +95.635,80.4 +95.659,80.1 +95.683,81.2 +95.707,81.0 +95.731,81.9 +95.755,80.4 +95.779,81.2 +95.803,82.0 +95.827,80.9 +95.851,80.9 +95.875,81.1 +95.899,80.6 +95.923,80.7 +95.947,80.7 +95.971,82.0 +95.995,81.1 +96.019,81.0 +96.043,80.9 +96.067,81.9 +96.091,81.3 +96.115,80.9 +96.139,81.2 +96.163,80.9 +96.187,80.9 +96.211,80.3 +96.235,80.4 +96.259,80.7 +96.283,80.9 +96.307,81.0 +96.331,81.5 +96.355,80.4 +96.379,79.8 +96.403,80.7 +96.427,80.0 +96.451,81.3 +96.475,80.1 +96.499,81.0 +96.523,81.3 +96.547,80.5 +96.571,79.7 +96.595,81.3 +96.619,79.9 +96.643,81.2 +96.667,80.4 +96.691,80.9 +96.715,81.5 +96.739,80.3 +96.763,81.0 +96.787,81.2 +96.811,81.9 +96.835,81.1 +96.859,80.9 +96.883,81.3 +96.907,82.1 +96.931,80.6 +96.955,80.6 +96.979,81.5 +97.003,82.0 +97.027,81.0 +97.051,80.8 +97.075,80.3 +97.099,81.2 +97.123,79.8 +97.147,81.0 +97.171,80.7 +97.195,81.5 +97.219,80.6 +97.243,81.0 +97.267,81.5 +97.291,81.3 +97.315,80.3 +97.339,81.6 +97.363,80.7 +97.387,81.5 +97.411,80.3 +97.435,82.0 +97.459,80.7 +97.483,80.7 +97.508,80.3 +97.532,80.6 +97.556,81.1 +97.580,80.5 +97.604,81.9 +97.628,80.2 +97.652,80.5 +97.676,80.3 +97.700,81.3 +97.724,80.5 +97.748,80.8 +97.772,80.6 +97.796,81.0 +97.820,81.5 +97.844,80.7 +97.868,81.2 +97.892,81.2 +97.916,80.1 +97.940,80.9 +97.964,80.9 +97.988,81.2 +98.012,80.5 +98.036,80.9 +98.060,82.6 +98.084,79.9 +98.108,80.4 +98.132,82.0 +98.156,81.3 +98.180,81.5 +98.204,80.9 +98.228,80.1 +98.252,80.7 +98.276,82.0 +98.300,80.0 +98.324,81.0 +98.348,80.0 +98.372,81.2 +98.396,81.5 +98.420,81.5 +98.444,80.8 +98.468,81.4 +98.492,81.3 +98.516,80.5 +98.540,81.3 +98.564,82.4 +98.588,81.0 +98.612,82.1 +98.636,82.0 +98.660,81.7 +98.684,80.9 +98.708,80.8 +98.732,81.8 +98.756,80.9 +98.780,79.7 +98.804,80.7 +98.828,81.4 +98.852,81.7 +98.876,81.0 +98.900,80.7 +98.924,82.0 +98.948,81.7 +98.972,82.0 +98.996,81.1 +99.020,80.8 +99.044,80.3 +99.068,81.0 +99.092,81.8 +99.116,81.8 +99.140,81.7 +99.164,80.7 +99.188,81.9 +99.212,80.6 +99.236,81.7 +99.260,80.9 +99.284,80.0 +99.308,81.7 +99.332,82.1 +99.356,82.0 +99.380,81.2 +99.404,81.1 +99.428,81.8 +99.452,81.8 +99.476,81.5 +99.500,82.0 +99.524,81.1 +99.548,80.8 +99.572,81.4 +99.596,81.1 +99.620,81.2 +99.644,80.9 +99.668,81.5 +99.692,79.9 +99.716,81.3 +99.740,81.6 +99.764,81.2 +99.788,81.7 +99.812,81.7 +99.836,80.9 +99.860,81.1 +99.884,80.9 +99.908,81.0 +99.932,81.2 +99.956,81.4 +99.980,82.1 +100.004,81.3 +100.028,80.6 +100.052,80.3 +100.076,81.7 +100.100,82.1 +100.124,80.7 +100.148,81.3 +100.172,81.6 +100.196,80.0 +100.220,81.7 +100.244,82.0 +100.268,81.4 +100.292,80.6 +100.316,81.4 +100.340,81.7 +100.364,81.0 +100.388,82.3 +100.412,81.3 +100.436,80.9 +100.460,81.2 +100.484,80.9 +100.508,81.3 +100.532,81.4 +100.556,80.4 +100.580,80.6 +100.604,81.6 +100.628,81.4 +100.652,81.0 +100.676,81.6 +100.700,82.6 +100.724,82.3 +100.748,81.0 +100.772,80.3 +100.796,81.0 +100.820,81.6 +100.844,81.7 +100.868,81.9 +100.892,81.5 +100.916,82.3 +100.940,82.0 +100.964,80.1 +100.988,80.7 +101.012,81.9 +101.036,80.8 +101.060,81.2 +101.084,81.3 +101.108,80.9 +101.132,82.9 +101.156,82.0 +101.180,81.6 +101.204,82.1 +101.228,81.2 +101.252,81.1 +101.276,81.3 +101.300,81.6 +101.324,81.5 +101.348,81.5 +101.372,81.7 +101.396,81.0 +101.420,80.1 +101.444,80.3 +101.468,81.9 +101.492,81.1 +101.516,81.0 +101.540,81.8 +101.564,82.7 +101.588,80.3 +101.612,80.5 +101.636,82.0 +101.660,81.7 +101.684,81.7 +101.708,80.7 +101.732,82.3 +101.756,81.9 +101.780,81.0 +101.804,81.7 +101.828,81.1 +101.852,82.3 +101.876,81.7 +101.900,81.9 +101.924,80.6 +101.948,82.1 +101.972,80.5 +101.996,80.4 +102.020,82.3 +102.044,82.0 +102.068,81.3 +102.092,82.4 +102.116,81.6 +102.140,81.8 +102.164,81.4 +102.188,81.4 +102.212,82.2 +102.236,81.9 +102.260,80.8 +102.284,81.8 +102.308,80.9 +102.332,82.1 +102.356,80.9 +102.380,81.5 +102.404,82.1 +102.428,81.1 +102.452,81.5 +102.476,81.4 +102.501,81.3 +102.525,82.1 +102.549,81.7 +102.573,81.4 +102.597,80.7 +102.621,81.1 +102.645,81.2 +102.669,80.4 +102.693,82.2 +102.717,83.0 +102.741,82.5 +102.765,81.4 +102.789,81.2 +102.813,81.8 +102.837,82.5 +102.861,82.0 +102.885,82.6 +102.909,81.3 +102.933,80.8 +102.957,81.5 +102.981,82.1 +103.005,82.1 +103.029,81.5 +103.053,81.6 +103.077,81.2 +103.101,81.6 +103.125,80.6 +103.149,82.7 +103.173,80.7 +103.197,81.8 +103.221,82.3 +103.245,81.9 +103.269,82.0 +103.293,81.1 +103.317,82.0 +103.341,81.9 +103.365,81.4 +103.389,81.6 +103.413,81.3 +103.437,80.8 +103.461,81.7 +103.485,81.8 +103.509,81.1 +103.533,81.1 +103.557,81.9 +103.581,83.1 +103.605,82.3 +103.629,82.5 +103.653,81.2 +103.677,82.0 +103.701,81.4 +103.725,82.5 +103.749,82.1 +103.773,82.8 +103.797,82.0 +103.821,83.0 +103.845,81.9 +103.869,81.7 +103.893,81.6 +103.917,82.3 +103.941,81.5 +103.965,80.8 +103.989,80.9 +104.013,81.0 +104.037,80.6 +104.061,81.5 +104.085,82.2 +104.109,81.8 +104.133,81.1 +104.157,81.5 +104.181,82.8 +104.205,82.4 +104.229,81.1 +104.253,82.3 +104.277,82.3 +104.301,82.7 +104.325,81.5 +104.349,81.5 +104.373,81.9 +104.397,81.7 +104.421,82.0 +104.445,81.0 +104.469,81.7 +104.493,81.8 +104.517,82.1 +104.541,81.5 +104.565,81.4 +104.589,81.7 +104.613,82.4 +104.637,80.7 +104.661,81.3 +104.685,82.0 +104.709,81.9 +104.733,81.4 +104.757,82.2 +104.781,82.6 +104.805,82.9 +104.829,82.2 +104.853,82.3 +104.877,82.0 +104.901,82.4 +104.925,81.9 +104.949,80.9 +104.973,80.8 +104.997,80.4 +105.021,82.3 +105.045,81.4 +105.069,82.3 +105.093,83.5 +105.117,81.3 +105.141,82.0 +105.165,82.0 +105.189,81.6 +105.213,83.2 +105.237,82.4 +105.261,80.9 +105.285,82.7 +105.309,81.4 +105.333,81.2 +105.357,81.2 +105.381,81.3 +105.405,82.0 +105.429,80.9 +105.453,80.9 +105.477,82.5 +105.501,81.6 +105.525,81.6 +105.549,80.9 +105.573,81.9 +105.597,82.4 +105.621,81.2 +105.645,82.7 +105.669,81.5 +105.693,82.2 +105.717,83.5 +105.741,82.3 +105.765,81.2 +105.789,81.4 +105.813,81.8 +105.837,81.4 +105.861,83.0 +105.885,83.1 +105.909,82.4 +105.933,82.1 +105.957,82.7 +105.981,82.0 +106.005,82.4 +106.029,82.2 +106.053,81.9 +106.077,82.5 +106.101,81.7 +106.125,82.4 +106.149,81.8 +106.173,80.7 +106.197,82.5 +106.221,81.5 +106.245,81.0 +106.269,81.6 +106.293,82.2 +106.317,81.4 +106.341,81.1 +106.365,82.1 +106.389,81.8 +106.413,80.8 +106.437,81.2 +106.461,82.1 +106.485,82.2 +106.509,83.1 +106.533,81.7 +106.557,81.5 +106.581,82.0 +106.605,82.6 +106.629,82.1 +106.653,81.2 +106.677,82.8 +106.701,82.5 +106.725,81.8 +106.749,82.8 +106.773,82.5 +106.797,83.2 +106.821,83.4 +106.845,81.8 +106.869,82.4 +106.893,82.8 +106.917,82.7 +106.941,82.0 +106.965,82.4 +106.989,82.3 +107.013,82.3 +107.037,81.5 +107.061,82.2 +107.085,80.9 +107.109,81.5 +107.133,82.9 +107.157,81.8 +107.181,81.8 +107.205,82.0 +107.229,81.9 +107.253,82.4 +107.277,82.1 +107.301,83.1 +107.325,82.1 +107.349,81.2 +107.373,82.0 +107.397,82.2 +107.421,82.9 +107.445,82.1 +107.469,82.3 +107.493,82.2 +107.518,81.8 +107.542,82.5 +107.566,81.9 +107.590,81.3 +107.614,81.9 +107.638,82.7 +107.662,82.1 +107.686,81.8 +107.710,82.3 +107.734,82.2 +107.758,82.0 +107.782,81.5 +107.806,82.5 +107.830,81.2 +107.854,81.1 +107.878,81.8 +107.902,81.3 +107.926,82.0 +107.950,82.6 +107.974,81.8 +107.998,82.2 +108.022,81.9 +108.046,82.0 +108.070,82.7 +108.094,81.8 +108.118,83.2 +108.142,81.1 +108.166,82.2 +108.190,82.8 +108.214,81.6 +108.238,81.1 +108.262,81.6 +108.286,82.3 +108.310,81.8 +108.334,82.3 +108.358,82.5 +108.382,82.1 +108.406,81.3 +108.430,82.5 +108.454,82.6 +108.478,81.5 +108.502,81.6 +108.526,82.6 +108.550,81.6 +108.574,82.7 +108.598,82.7 +108.622,81.6 +108.646,82.3 +108.670,81.0 +108.694,81.5 +108.718,82.7 +108.742,83.0 +108.766,81.3 +108.790,81.9 +108.814,81.6 +108.838,81.1 +108.862,82.6 +108.886,81.9 +108.910,82.7 +108.934,82.9 +108.958,82.3 +108.982,83.9 +109.006,81.1 +109.030,82.6 +109.054,82.2 +109.078,82.0 +109.102,81.1 +109.126,82.5 +109.150,82.3 +109.174,81.7 +109.198,81.9 +109.222,83.2 +109.246,81.4 +109.270,82.2 +109.294,82.1 +109.318,82.5 +109.342,81.3 +109.366,82.5 +109.390,81.4 +109.414,81.2 +109.438,82.1 +109.462,82.0 +109.486,83.6 +109.510,82.0 +109.534,82.1 +109.558,82.8 +109.582,82.0 +109.606,81.4 +109.630,82.9 +109.654,83.5 +109.678,82.2 +109.702,82.9 +109.726,82.3 +109.750,81.7 +109.774,83.3 +109.798,81.4 +109.822,82.3 +109.846,82.0 +109.870,83.0 +109.894,82.5 +109.918,82.7 +109.942,81.2 +109.966,83.2 +109.990,81.1 +110.014,82.8 +110.038,81.0 +110.062,82.2 +110.086,81.4 +110.110,82.3 +110.134,82.8 +110.158,82.5 +110.182,82.0 +110.206,81.9 +110.230,81.3 +110.254,83.0 +110.278,82.3 +110.302,82.4 +110.326,82.2 +110.350,82.3 +110.374,82.2 +110.398,82.3 +110.422,82.0 +110.446,82.6 +110.470,82.5 +110.494,82.3 +110.518,82.0 +110.542,80.9 +110.566,84.0 +110.590,82.0 +110.614,82.2 +110.638,82.0 +110.662,82.0 +110.686,81.5 +110.710,82.8 +110.734,82.1 +110.758,81.9 +110.782,83.1 +110.806,82.7 +110.830,82.9 +110.854,82.0 +110.878,83.3 +110.902,82.7 +110.926,82.0 +110.950,82.7 +110.974,82.4 +110.998,82.7 +111.022,82.2 +111.046,82.6 +111.070,82.9 +111.094,81.6 +111.118,82.3 +111.142,82.0 +111.166,81.9 +111.190,81.7 +111.214,82.0 +111.238,82.6 +111.262,82.2 +111.286,82.3 +111.310,81.9 +111.334,83.6 +111.358,81.4 +111.382,82.3 +111.406,83.1 +111.430,81.8 +111.454,82.3 +111.478,82.3 +111.502,82.5 +111.526,82.9 +111.550,81.7 +111.574,82.4 +111.598,81.8 +111.622,83.0 +111.646,82.1 +111.670,82.8 +111.694,81.9 +111.718,81.1 +111.742,82.3 +111.766,82.3 +111.790,82.2 +111.814,82.2 +111.838,81.4 +111.862,82.6 +111.886,82.8 +111.910,83.3 +111.934,82.5 +111.958,82.4 +111.982,82.2 +112.006,82.2 +112.030,83.0 +112.054,81.1 +112.078,82.6 +112.102,83.8 +112.126,81.6 +112.150,82.8 +112.174,82.9 +112.198,81.8 +112.222,81.9 +112.246,81.5 +112.270,82.8 +112.294,81.3 +112.318,82.5 +112.342,82.0 +112.366,82.6 +112.390,81.9 +112.414,82.5 +112.438,82.0 +112.462,82.8 +112.486,82.6 +112.511,82.8 +112.535,81.4 +112.559,82.4 +112.583,83.6 +112.607,82.9 +112.631,82.4 +112.655,82.1 +112.679,81.8 +112.703,82.1 +112.727,82.4 +112.751,82.2 +112.775,81.7 +112.799,81.8 +112.823,82.2 +112.847,82.7 +112.871,81.9 +112.895,82.3 +112.919,83.2 +112.943,82.1 +112.967,82.5 +112.991,82.6 +113.015,82.6 +113.039,83.3 +113.063,82.5 +113.087,81.8 +113.111,82.3 +113.135,82.3 +113.159,81.1 +113.183,81.9 +113.207,82.1 +113.231,82.8 +113.255,83.0 +113.279,82.4 +113.303,83.4 +113.327,82.4 +113.351,83.7 +113.375,83.4 +113.399,83.0 +113.423,83.2 +113.447,81.6 +113.471,82.8 +113.495,82.6 +113.519,82.9 +113.543,82.9 +113.567,83.5 +113.591,82.1 +113.615,81.6 +113.639,82.2 +113.663,82.4 +113.687,82.7 +113.711,82.4 +113.735,81.9 +113.759,82.3 +113.783,82.4 +113.807,83.0 +113.831,82.7 +113.855,82.8 +113.879,81.8 +113.903,82.8 +113.927,81.8 +113.951,82.6 +113.975,81.8 +113.999,83.6 +114.023,82.3 +114.047,81.7 +114.071,83.4 +114.095,82.1 +114.119,83.1 +114.143,82.0 +114.167,83.1 +114.191,82.2 +114.215,81.9 +114.239,83.5 +114.263,81.5 +114.287,82.5 +114.311,81.2 +114.335,82.8 +114.359,83.0 +114.383,82.9 +114.407,82.2 +114.431,82.1 +114.455,82.3 +114.479,82.7 +114.503,82.2 +114.527,82.9 +114.551,82.9 +114.575,82.8 +114.599,83.1 +114.623,82.4 +114.647,81.1 +114.671,82.4 +114.695,82.7 +114.719,81.7 +114.743,81.5 +114.767,83.0 +114.791,82.6 +114.815,81.8 +114.839,82.9 +114.863,83.5 +114.887,82.4 +114.911,81.9 +114.935,83.7 +114.959,82.6 +114.983,81.8 +115.007,81.4 +115.031,83.4 +115.055,83.0 +115.079,82.5 +115.103,82.5 +115.127,82.4 +115.151,82.4 +115.175,83.6 +115.199,82.4 +115.223,82.5 +115.247,81.9 +115.271,82.3 +115.295,81.7 +115.319,82.8 +115.343,82.7 +115.367,82.8 +115.391,82.8 +115.415,83.0 +115.439,82.8 +115.463,82.6 +115.487,82.6 +115.511,82.2 +115.535,83.5 +115.559,82.4 +115.583,83.0 +115.607,82.7 +115.631,81.9 +115.655,82.7 +115.679,83.0 +115.703,82.5 +115.727,82.9 +115.751,82.2 +115.775,83.1 +115.799,83.3 +115.823,82.1 +115.847,82.4 +115.871,83.3 +115.895,82.9 +115.919,83.5 +115.943,81.4 +115.967,82.8 +115.991,81.9 +116.015,82.6 +116.039,81.4 +116.063,82.6 +116.087,83.2 +116.111,82.6 +116.135,81.8 +116.159,83.0 +116.183,82.5 +116.207,82.1 +116.231,83.2 +116.255,82.3 +116.279,81.7 +116.303,82.6 +116.327,83.5 +116.351,82.5 +116.375,82.5 +116.399,82.9 +116.423,82.7 +116.447,82.8 +116.471,82.8 +116.495,82.3 +116.519,81.6 +116.543,82.2 +116.567,82.4 +116.591,82.8 +116.615,82.5 +116.639,82.9 +116.663,81.5 +116.687,81.7 +116.711,82.8 +116.735,82.6 +116.759,82.3 +116.783,83.3 +116.807,82.6 +116.831,82.6 +116.855,82.3 +116.879,82.1 +116.903,82.4 +116.927,82.8 +116.951,82.5 +116.975,83.0 +116.999,82.6 +117.023,81.5 +117.047,82.4 +117.071,82.5 +117.095,82.0 +117.119,83.2 +117.143,83.5 +117.167,82.7 +117.191,83.0 +117.215,82.7 +117.239,82.9 +117.263,83.2 +117.287,83.3 +117.311,82.6 +117.335,82.8 +117.359,82.6 +117.383,83.8 +117.407,82.3 +117.431,82.4 +117.455,81.8 +117.479,82.3 +117.504,83.1 +117.528,83.7 +117.552,83.7 +117.576,83.0 +117.600,82.8 +117.624,82.4 +117.648,82.6 +117.672,83.5 +117.696,83.3 +117.720,83.0 +117.744,82.4 +117.768,82.4 +117.792,83.6 +117.816,82.2 +117.840,83.2 +117.864,84.2 +117.888,83.1 +117.912,82.0 +117.936,83.6 +117.960,82.5 +117.984,82.0 +118.008,81.3 +118.032,81.1 +118.056,82.6 +118.080,82.4 +118.104,83.4 +118.128,82.4 +118.152,82.1 +118.176,83.0 +118.200,83.7 +118.224,82.3 +118.248,82.6 +118.272,83.3 +118.296,82.5 +118.320,83.5 +118.344,82.5 +118.368,83.1 +118.392,82.8 +118.416,82.4 +118.440,83.7 +118.464,82.3 +118.488,84.9 +118.512,83.1 +118.536,82.7 +118.560,83.7 +118.584,82.9 +118.608,83.9 +118.632,82.4 +118.656,83.2 +118.680,83.1 +118.704,82.0 +118.728,82.4 +118.752,82.2 +118.776,83.1 +118.800,82.8 +118.824,82.0 +118.848,83.5 +118.872,82.7 +118.896,82.7 +118.920,82.8 +118.944,83.0 +118.968,82.5 +118.992,81.4 +119.016,82.6 +119.040,82.4 +119.064,82.1 +119.088,82.2 +119.112,82.4 +119.136,83.1 +119.160,82.3 +119.184,82.4 +119.208,83.5 +119.232,82.0 +119.256,81.6 +119.280,81.5 +119.304,83.0 +119.328,83.9 +119.352,82.8 +119.376,82.4 +119.400,83.0 +119.424,83.7 +119.448,82.6 +119.472,82.2 +119.496,82.6 +119.520,82.8 +119.544,82.7 +119.568,83.9 +119.592,83.6 +119.616,83.9 +119.640,83.2 +119.664,83.0 +119.688,82.9 +119.712,83.7 +119.736,82.8 +119.760,83.3 +119.784,83.0 +119.808,82.8 +119.832,83.5 +119.856,82.3 +119.880,83.0 +119.904,83.5 +119.928,83.3 +119.952,83.2 +119.976,82.3 +120.000,82.8 diff --git a/agents/evals/fixtures/cases/line-basic-seaborn-renamed/case.json b/agents/evals/fixtures/cases/line-basic-seaborn-renamed/case.json new file mode 100644 index 0000000000..9a26d93687 --- /dev/null +++ b/agents/evals/fixtures/cases/line-basic-seaborn-renamed/case.json @@ -0,0 +1,25 @@ +{ + "spec_id": "line-basic", + "library": "seaborn", + "locale": "de", + "perturbation": "renamed", + "bindings": [ + { + "role": "x", + "column": "t [min]" + }, + { + "role": "y", + "column": "T_tank [°C]" + } + ], + "expected": "accepted", + "tags": [ + "line", + "renamed", + "synthetic", + "renamed-headers", + "non-ascii-headers" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 202, renamed)" +} diff --git a/agents/evals/fixtures/cases/line-basic-seaborn-renamed/data.csv b/agents/evals/fixtures/cases/line-basic-seaborn-renamed/data.csv new file mode 100644 index 0000000000..40cd36cf96 --- /dev/null +++ b/agents/evals/fixtures/cases/line-basic-seaborn-renamed/data.csv @@ -0,0 +1,62 @@ +t [min],T_tank [°C] +0.00,21.1 +2.00,23.2 +4.00,26.4 +6.00,30.0 +8.00,32.6 +10.00,37.1 +12.00,39.4 +14.00,41.8 +16.00,44.7 +18.00,45.8 +20.00,47.5 +22.00,50.5 +24.00,52.4 +26.00,53.6 +28.00,56.1 +30.00,58.3 +32.00,58.6 +34.00,60.5 +36.00,62.0 +38.00,63.3 +40.00,64.9 +42.00,65.8 +44.00,67.3 +46.00,67.1 +48.00,68.2 +50.00,69.9 +52.00,70.0 +54.00,70.8 +56.00,71.8 +58.00,72.8 +60.00,73.0 +62.00,74.3 +64.00,75.4 +66.00,74.1 +68.00,74.3 +70.00,76.7 +72.00,76.2 +74.00,78.0 +76.00,79.3 +78.00,77.9 +80.00,78.2 +82.00,78.8 +84.00,79.3 +86.00,79.4 +88.00,79.2 +90.00,80.3 +92.00,79.1 +94.00,80.8 +96.00,80.9 +98.00,81.8 +100.00,81.4 +102.00,81.8 +104.00,81.1 +106.00,82.0 +108.00,82.5 +110.00,82.8 +112.00,82.4 +114.00,83.4 +116.00,83.4 +118.00,82.4 +120.00,81.4 diff --git a/agents/evals/fixtures/cases/line-basic-seaborn-x10/case.json b/agents/evals/fixtures/cases/line-basic-seaborn-x10/case.json new file mode 100644 index 0000000000..dd3f531d0e --- /dev/null +++ b/agents/evals/fixtures/cases/line-basic-seaborn-x10/case.json @@ -0,0 +1,25 @@ +{ + "spec_id": "line-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "x10", + "bindings": [ + { + "role": "x", + "column": "Elapsed Time (min)" + }, + { + "role": "y", + "column": "Tank Temperature (°C)" + } + ], + "expected": "accepted", + "tags": [ + "line", + "x10", + "synthetic", + "scaled-values", + "smoke" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 202, x10)" +} diff --git a/agents/evals/fixtures/cases/line-basic-seaborn-x10/data.csv b/agents/evals/fixtures/cases/line-basic-seaborn-x10/data.csv new file mode 100644 index 0000000000..7fdabb0d61 --- /dev/null +++ b/agents/evals/fixtures/cases/line-basic-seaborn-x10/data.csv @@ -0,0 +1,62 @@ +Elapsed Time (min),Tank Temperature (°C) +0.00,210.9 +2.00,231.7 +4.00,263.7 +6.00,300.0 +8.00,325.9 +10.00,370.6 +12.00,393.9 +14.00,418.1 +16.00,447.0 +18.00,457.7 +20.00,475.0 +22.00,505.4 +24.00,524.4 +26.00,535.6 +28.00,561.2 +30.00,583.0 +32.00,586.3 +34.00,605.1 +36.00,619.7 +38.00,633.4 +40.00,648.8 +42.00,657.8 +44.00,673.5 +46.00,670.5 +48.00,682.2 +50.00,699.1 +52.00,700.2 +54.00,707.7 +56.00,718.5 +58.00,728.2 +60.00,730.0 +62.00,743.0 +64.00,753.9 +66.00,740.7 +68.00,743.1 +70.00,766.5 +72.00,762.1 +74.00,780.3 +76.00,793.1 +78.00,779.2 +80.00,781.6 +82.00,787.5 +84.00,792.7 +86.00,794.0 +88.00,792.0 +90.00,802.8 +92.00,791.0 +94.00,808.0 +96.00,808.8 +98.00,818.3 +100.00,813.6 +102.00,817.7 +104.00,811.0 +106.00,819.6 +108.00,825.0 +110.00,828.1 +112.00,824.2 +114.00,834.5 +116.00,834.0 +118.00,823.8 +120.00,814.1 diff --git a/agents/evals/fixtures/cases/line-timeseries-matplotlib-date/case.json b/agents/evals/fixtures/cases/line-timeseries-matplotlib-date/case.json new file mode 100644 index 0000000000..64dd2a0b9f --- /dev/null +++ b/agents/evals/fixtures/cases/line-timeseries-matplotlib-date/case.json @@ -0,0 +1,26 @@ +{ + "spec_id": "line-timeseries", + "library": "matplotlib", + "locale": "en", + "perturbation": "date", + "bindings": [ + { + "role": "date", + "column": "Date" + }, + { + "role": "value", + "column": "PM2.5 (µg/m³)" + } + ], + "expected": "accepted", + "tags": [ + "time-series", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "date-axis" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 1010, date)" +} diff --git a/agents/evals/fixtures/cases/line-timeseries-matplotlib-date/data.csv b/agents/evals/fixtures/cases/line-timeseries-matplotlib-date/data.csv new file mode 100644 index 0000000000..47cb7354f5 --- /dev/null +++ b/agents/evals/fixtures/cases/line-timeseries-matplotlib-date/data.csv @@ -0,0 +1,366 @@ +Date,Validated On,PM2.5 (µg/m³) +01.01.2025,2025-01-03,17.9 +02.01.2025,2025-01-04,24.6 +03.01.2025,2025-01-05,22.3 +04.01.2025,2025-01-06,19.7 +05.01.2025,2025-01-07,24.6 +06.01.2025,2025-01-08,18.5 +07.01.2025,2025-01-09,24.3 +08.01.2025,2025-01-10,27.0 +09.01.2025,2025-01-11,19.5 +10.01.2025,2025-01-12,23.5 +11.01.2025,2025-01-13,22.1 +12.01.2025,2025-01-14,18.0 +13.01.2025,2025-01-15,23.4 +14.01.2025,2025-01-16,17.7 +15.01.2025,2025-01-17,23.4 +16.01.2025,2025-01-18,27.7 +17.01.2025,2025-01-19,25.0 +18.01.2025,2025-01-20,25.4 +19.01.2025,2025-01-21,27.6 +20.01.2025,2025-01-22,21.4 +21.01.2025,2025-01-23,27.6 +22.01.2025,2025-01-24,23.7 +23.01.2025,2025-01-25,15.1 +24.01.2025,2025-01-26,21.3 +25.01.2025,2025-01-27,19.2 +26.01.2025,2025-01-28,20.5 +27.01.2025,2025-01-29,22.6 +28.01.2025,2025-01-30,19.9 +29.01.2025,2025-01-31,19.4 +30.01.2025,2025-02-01,22.3 +31.01.2025,2025-02-02,23.3 +01.02.2025,2025-02-03,16.0 +02.02.2025,2025-02-04,23.0 +03.02.2025,2025-02-05,24.3 +04.02.2025,2025-02-06,19.1 +05.02.2025,2025-02-07,24.0 +06.02.2025,2025-02-08,26.4 +07.02.2025,2025-02-09,21.2 +08.02.2025,2025-02-10,21.2 +09.02.2025,2025-02-11,19.0 +10.02.2025,2025-02-12,19.3 +11.02.2025,2025-02-13,22.2 +12.02.2025,2025-02-14,17.0 +13.02.2025,2025-02-15,21.7 +14.02.2025,2025-02-16,22.9 +15.02.2025,2025-02-17,23.2 +16.02.2025,2025-02-18,17.4 +17.02.2025,2025-02-19,15.9 +18.02.2025,2025-02-20,24.8 +19.02.2025,2025-02-21,15.1 +20.02.2025,2025-02-22,18.2 +21.02.2025,2025-02-23,18.8 +22.02.2025,2025-02-24,20.0 +23.02.2025,2025-02-25,19.5 +24.02.2025,2025-02-26,16.1 +25.02.2025,2025-02-27,19.4 +26.02.2025,2025-02-28,14.9 +27.02.2025,2025-03-01,16.9 +28.02.2025,2025-03-02,13.7 +01.03.2025,2025-03-03,16.2 +02.03.2025,2025-03-04,17.4 +03.03.2025,2025-03-05,17.6 +04.03.2025,2025-03-06,18.8 +05.03.2025,2025-03-07,18.1 +06.03.2025,2025-03-08,14.9 +07.03.2025,2025-03-09,21.0 +08.03.2025,2025-03-10,18.6 +09.03.2025,2025-03-11,19.7 +10.03.2025,2025-03-12,21.0 +11.03.2025,2025-03-13,18.8 +12.03.2025,2025-03-14,15.6 +13.03.2025,2025-03-15,21.5 +14.03.2025,2025-03-16,19.8 +15.03.2025,2025-03-17,20.0 +16.03.2025,2025-03-18,13.3 +17.03.2025,2025-03-19,18.1 +18.03.2025,2025-03-20,19.4 +19.03.2025,2025-03-21,18.5 +20.03.2025,2025-03-22,11.2 +21.03.2025,2025-03-23,13.9 +22.03.2025,2025-03-24,14.1 +23.03.2025,2025-03-25,17.1 +24.03.2025,2025-03-26,17.4 +25.03.2025,2025-03-27,16.5 +26.03.2025,2025-03-28,12.9 +27.03.2025,2025-03-29,17.8 +28.03.2025,2025-03-30,12.5 +29.03.2025,2025-03-31,13.4 +30.03.2025,2025-04-01,17.2 +31.03.2025,2025-04-02,14.9 +01.04.2025,2025-04-03,13.2 +02.04.2025,2025-04-04,11.7 +03.04.2025,2025-04-05,12.6 +04.04.2025,2025-04-06,13.2 +05.04.2025,2025-04-07,13.4 +06.04.2025,2025-04-08,13.9 +07.04.2025,2025-04-09,12.0 +08.04.2025,2025-04-10,12.9 +09.04.2025,2025-04-11,14.9 +10.04.2025,2025-04-12,14.9 +11.04.2025,2025-04-13,14.0 +12.04.2025,2025-04-14,11.7 +13.04.2025,2025-04-15,17.6 +14.04.2025,2025-04-16,13.3 +15.04.2025,2025-04-17,13.7 +16.04.2025,2025-04-18,14.3 +17.04.2025,2025-04-19,12.6 +18.04.2025,2025-04-20,6.9 +19.04.2025,2025-04-21,15.9 +20.04.2025,2025-04-22,9.3 +21.04.2025,2025-04-23,12.4 +22.04.2025,2025-04-24,11.9 +23.04.2025,2025-04-25,9.2 +24.04.2025,2025-04-26,14.0 +25.04.2025,2025-04-27,10.5 +26.04.2025,2025-04-28,3.5 +27.04.2025,2025-04-29,13.9 +28.04.2025,2025-04-30,9.8 +29.04.2025,2025-05-01,12.6 +30.04.2025,2025-05-02,10.1 +01.05.2025,2025-05-03,8.7 +02.05.2025,2025-05-04,8.4 +03.05.2025,2025-05-05,7.9 +04.05.2025,2025-05-06,11.6 +05.05.2025,2025-05-07,10.4 +06.05.2025,2025-05-08,8.5 +07.05.2025,2025-05-09,4.8 +08.05.2025,2025-05-10,6.6 +09.05.2025,2025-05-11,5.8 +10.05.2025,2025-05-12,8.1 +11.05.2025,2025-05-13,7.7 +12.05.2025,2025-05-14,3.0 +13.05.2025,2025-05-15,11.8 +14.05.2025,2025-05-16,2.0 +15.05.2025,2025-05-17,4.9 +16.05.2025,2025-05-18,5.6 +17.05.2025,2025-05-19,13.2 +18.05.2025,2025-05-20,5.6 +19.05.2025,2025-05-21,8.5 +20.05.2025,2025-05-22,10.2 +21.05.2025,2025-05-23,8.9 +22.05.2025,2025-05-24,13.2 +23.05.2025,2025-05-25,9.8 +24.05.2025,2025-05-26,11.2 +25.05.2025,2025-05-27,10.2 +26.05.2025,2025-05-28,11.0 +27.05.2025,2025-05-29,2.7 +28.05.2025,2025-05-30,8.0 +29.05.2025,2025-05-31,4.9 +30.05.2025,2025-06-01,6.1 +31.05.2025,2025-06-02,8.3 +01.06.2025,2025-06-03,5.0 +02.06.2025,2025-06-04,5.5 +03.06.2025,2025-06-05,1.0 +04.06.2025,2025-06-06,5.8 +05.06.2025,2025-06-07,13.9 +06.06.2025,2025-06-08,1.0 +07.06.2025,2025-06-09,6.7 +08.06.2025,2025-06-10,2.8 +09.06.2025,2025-06-11,6.8 +10.06.2025,2025-06-12,7.7 +11.06.2025,2025-06-13,1.8 +12.06.2025,2025-06-14,5.2 +13.06.2025,2025-06-15,6.9 +14.06.2025,2025-06-16,9.8 +15.06.2025,2025-06-17,3.7 +16.06.2025,2025-06-18,5.5 +17.06.2025,2025-06-19,9.5 +18.06.2025,2025-06-20,7.0 +19.06.2025,2025-06-21,2.0 +20.06.2025,2025-06-22,10.5 +21.06.2025,2025-06-23,5.8 +22.06.2025,2025-06-24,9.9 +23.06.2025,2025-06-25,8.1 +24.06.2025,2025-06-26,9.7 +25.06.2025,2025-06-27,6.0 +26.06.2025,2025-06-28,1.0 +27.06.2025,2025-06-29,10.1 +28.06.2025,2025-06-30,5.7 +29.06.2025,2025-07-01,5.4 +30.06.2025,2025-07-02,1.7 +01.07.2025,2025-07-03,1.0 +02.07.2025,2025-07-04,4.1 +03.07.2025,2025-07-05,9.5 +04.07.2025,2025-07-06,6.5 +05.07.2025,2025-07-07,6.7 +06.07.2025,2025-07-08,6.0 +07.07.2025,2025-07-09,6.6 +08.07.2025,2025-07-10,6.2 +09.07.2025,2025-07-11,1.0 +10.07.2025,2025-07-12,3.9 +11.07.2025,2025-07-13,3.2 +12.07.2025,2025-07-14,7.3 +13.07.2025,2025-07-15,8.5 +14.07.2025,2025-07-16,5.7 +15.07.2025,2025-07-17,1.0 +16.07.2025,2025-07-18,5.3 +17.07.2025,2025-07-19,2.0 +18.07.2025,2025-07-20,5.3 +19.07.2025,2025-07-21,11.1 +20.07.2025,2025-07-22,1.0 +21.07.2025,2025-07-23,5.9 +22.07.2025,2025-07-24,7.5 +23.07.2025,2025-07-25,10.8 +24.07.2025,2025-07-26,4.7 +25.07.2025,2025-07-27,3.9 +26.07.2025,2025-07-28,5.6 +27.07.2025,2025-07-29,4.3 +28.07.2025,2025-07-30,6.9 +29.07.2025,2025-07-31,7.3 +30.07.2025,2025-08-01,11.5 +31.07.2025,2025-08-02,6.4 +01.08.2025,2025-08-03,3.3 +02.08.2025,2025-08-04,4.5 +03.08.2025,2025-08-05,5.9 +04.08.2025,2025-08-06,8.8 +05.08.2025,2025-08-07,4.1 +06.08.2025,2025-08-08,1.0 +07.08.2025,2025-08-09,4.9 +08.08.2025,2025-08-10,6.5 +09.08.2025,2025-08-11,2.7 +10.08.2025,2025-08-12,7.3 +11.08.2025,2025-08-13,14.3 +12.08.2025,2025-08-14,4.8 +13.08.2025,2025-08-15,9.0 +14.08.2025,2025-08-16,7.6 +15.08.2025,2025-08-17,9.1 +16.08.2025,2025-08-18,9.1 +17.08.2025,2025-08-19,1.0 +18.08.2025,2025-08-20,5.4 +19.08.2025,2025-08-21,10.8 +20.08.2025,2025-08-22,11.0 +21.08.2025,2025-08-23,5.4 +22.08.2025,2025-08-24,7.8 +23.08.2025,2025-08-25,4.6 +24.08.2025,2025-08-26,7.1 +25.08.2025,2025-08-27,10.3 +26.08.2025,2025-08-28,10.0 +27.08.2025,2025-08-29,8.1 +28.08.2025,2025-08-30,10.8 +29.08.2025,2025-08-31,6.1 +30.08.2025,2025-09-01,12.0 +31.08.2025,2025-09-02,12.1 +01.09.2025,2025-09-03,10.2 +02.09.2025,2025-09-04,8.0 +03.09.2025,2025-09-05,8.6 +04.09.2025,2025-09-06,6.4 +05.09.2025,2025-09-07,10.7 +06.09.2025,2025-09-08,9.6 +07.09.2025,2025-09-09,16.1 +08.09.2025,2025-09-10,15.1 +09.09.2025,2025-09-11,10.9 +10.09.2025,2025-09-12,12.6 +11.09.2025,2025-09-13,8.1 +12.09.2025,2025-09-14,9.8 +13.09.2025,2025-09-15,10.3 +14.09.2025,2025-09-16,15.2 +15.09.2025,2025-09-17,6.7 +16.09.2025,2025-09-18,13.8 +17.09.2025,2025-09-19,15.9 +18.09.2025,2025-09-20,15.9 +19.09.2025,2025-09-21,12.7 +20.09.2025,2025-09-22,11.9 +21.09.2025,2025-09-23,11.2 +22.09.2025,2025-09-24,12.6 +23.09.2025,2025-09-25,10.3 +24.09.2025,2025-09-26,15.6 +25.09.2025,2025-09-27,15.9 +26.09.2025,2025-09-28,16.0 +27.09.2025,2025-09-29,15.7 +28.09.2025,2025-09-30,16.3 +29.09.2025,2025-10-01,17.1 +30.09.2025,2025-10-02,13.0 +01.10.2025,2025-10-03,9.4 +02.10.2025,2025-10-04,13.8 +03.10.2025,2025-10-05,15.5 +04.10.2025,2025-10-06,16.7 +05.10.2025,2025-10-07,7.5 +06.10.2025,2025-10-08,15.5 +07.10.2025,2025-10-09,14.6 +08.10.2025,2025-10-10,8.4 +09.10.2025,2025-10-11,12.4 +10.10.2025,2025-10-12,14.0 +11.10.2025,2025-10-13,19.5 +12.10.2025,2025-10-14,16.5 +13.10.2025,2025-10-15,16.2 +14.10.2025,2025-10-16,20.3 +15.10.2025,2025-10-17,13.1 +16.10.2025,2025-10-18,11.8 +17.10.2025,2025-10-19,16.5 +18.10.2025,2025-10-20,17.6 +19.10.2025,2025-10-21,14.6 +20.10.2025,2025-10-22,17.0 +21.10.2025,2025-10-23,23.6 +22.10.2025,2025-10-24,13.7 +23.10.2025,2025-10-25,22.0 +24.10.2025,2025-10-26,20.6 +25.10.2025,2025-10-27,19.7 +26.10.2025,2025-10-28,16.0 +27.10.2025,2025-10-29,16.8 +28.10.2025,2025-10-30,20.3 +29.10.2025,2025-10-31,22.0 +30.10.2025,2025-11-01,12.7 +31.10.2025,2025-11-02,22.1 +01.11.2025,2025-11-03,15.8 +02.11.2025,2025-11-04,14.0 +03.11.2025,2025-11-05,18.2 +04.11.2025,2025-11-06,22.0 +05.11.2025,2025-11-07,19.9 +06.11.2025,2025-11-08,14.6 +07.11.2025,2025-11-09,18.6 +08.11.2025,2025-11-10,23.5 +09.11.2025,2025-11-11,18.2 +10.11.2025,2025-11-12,21.3 +11.11.2025,2025-11-13,19.6 +12.11.2025,2025-11-14,21.4 +13.11.2025,2025-11-15,24.2 +14.11.2025,2025-11-16,23.5 +15.11.2025,2025-11-17,24.8 +16.11.2025,2025-11-18,20.7 +17.11.2025,2025-11-19,15.9 +18.11.2025,2025-11-20,22.3 +19.11.2025,2025-11-21,18.0 +20.11.2025,2025-11-22,19.9 +21.11.2025,2025-11-23,27.6 +22.11.2025,2025-11-24,20.2 +23.11.2025,2025-11-25,21.4 +24.11.2025,2025-11-26,19.1 +25.11.2025,2025-11-27,24.8 +26.11.2025,2025-11-28,26.6 +27.11.2025,2025-11-29,20.4 +28.11.2025,2025-11-30,18.0 +29.11.2025,2025-12-01,22.4 +30.11.2025,2025-12-02,22.0 +01.12.2025,2025-12-03,26.8 +02.12.2025,2025-12-04,23.8 +03.12.2025,2025-12-05,25.2 +04.12.2025,2025-12-06,19.9 +05.12.2025,2025-12-07,25.3 +06.12.2025,2025-12-08,27.0 +07.12.2025,2025-12-09,22.7 +08.12.2025,2025-12-10,27.2 +09.12.2025,2025-12-11,21.1 +10.12.2025,2025-12-12,26.7 +11.12.2025,2025-12-13,20.8 +12.12.2025,2025-12-14,23.9 +13.12.2025,2025-12-15,25.4 +14.12.2025,2025-12-16,26.1 +15.12.2025,2025-12-17,22.2 +16.12.2025,2025-12-18,22.4 +17.12.2025,2025-12-19,28.7 +18.12.2025,2025-12-20,26.0 +19.12.2025,2025-12-21,19.5 +20.12.2025,2025-12-22,25.6 +21.12.2025,2025-12-23,20.2 +22.12.2025,2025-12-24,16.5 +23.12.2025,2025-12-25,23.7 +24.12.2025,2025-12-26,21.2 +25.12.2025,2025-12-27,20.3 +26.12.2025,2025-12-28,21.8 +27.12.2025,2025-12-29,20.9 +28.12.2025,2025-12-30,33.7 +29.12.2025,2025-12-31,24.7 +30.12.2025,2026-01-01,19.7 +31.12.2025,2026-01-02,20.3 diff --git a/agents/evals/fixtures/cases/line-timeseries-matplotlib-decimal-comma/case.json b/agents/evals/fixtures/cases/line-timeseries-matplotlib-decimal-comma/case.json new file mode 100644 index 0000000000..35ad568648 --- /dev/null +++ b/agents/evals/fixtures/cases/line-timeseries-matplotlib-decimal-comma/case.json @@ -0,0 +1,25 @@ +{ + "spec_id": "line-timeseries", + "library": "matplotlib", + "locale": "de", + "perturbation": "decimal-comma", + "bindings": [ + { + "role": "date", + "column": "Date" + }, + { + "role": "value", + "column": "PM2.5 (µg/m³)" + } + ], + "expected": "accepted", + "tags": [ + "time-series", + "decimal-comma", + "synthetic", + "semicolon", + "dd.mm.yyyy" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 1010, decimal-comma)" +} diff --git a/agents/evals/fixtures/cases/line-timeseries-matplotlib-decimal-comma/data.csv b/agents/evals/fixtures/cases/line-timeseries-matplotlib-decimal-comma/data.csv new file mode 100644 index 0000000000..df75a07f5c --- /dev/null +++ b/agents/evals/fixtures/cases/line-timeseries-matplotlib-decimal-comma/data.csv @@ -0,0 +1,366 @@ +Date;PM2.5 (µg/m³) +01.01.2025;17,9 +02.01.2025;24,6 +03.01.2025;22,3 +04.01.2025;19,7 +05.01.2025;24,6 +06.01.2025;18,5 +07.01.2025;24,3 +08.01.2025;27,0 +09.01.2025;19,5 +10.01.2025;23,5 +11.01.2025;22,1 +12.01.2025;18,0 +13.01.2025;23,4 +14.01.2025;17,7 +15.01.2025;23,4 +16.01.2025;27,7 +17.01.2025;25,0 +18.01.2025;25,4 +19.01.2025;27,6 +20.01.2025;21,4 +21.01.2025;27,6 +22.01.2025;23,7 +23.01.2025;15,1 +24.01.2025;21,3 +25.01.2025;19,2 +26.01.2025;20,5 +27.01.2025;22,6 +28.01.2025;19,9 +29.01.2025;19,4 +30.01.2025;22,3 +31.01.2025;23,3 +01.02.2025;16,0 +02.02.2025;23,0 +03.02.2025;24,3 +04.02.2025;19,1 +05.02.2025;24,0 +06.02.2025;26,4 +07.02.2025;21,2 +08.02.2025;21,2 +09.02.2025;19,0 +10.02.2025;19,3 +11.02.2025;22,2 +12.02.2025;17,0 +13.02.2025;21,7 +14.02.2025;22,9 +15.02.2025;23,2 +16.02.2025;17,4 +17.02.2025;15,9 +18.02.2025;24,8 +19.02.2025;15,1 +20.02.2025;18,2 +21.02.2025;18,8 +22.02.2025;20,0 +23.02.2025;19,5 +24.02.2025;16,1 +25.02.2025;19,4 +26.02.2025;14,9 +27.02.2025;16,9 +28.02.2025;13,7 +01.03.2025;16,2 +02.03.2025;17,4 +03.03.2025;17,6 +04.03.2025;18,8 +05.03.2025;18,1 +06.03.2025;14,9 +07.03.2025;21,0 +08.03.2025;18,6 +09.03.2025;19,7 +10.03.2025;21,0 +11.03.2025;18,8 +12.03.2025;15,6 +13.03.2025;21,5 +14.03.2025;19,8 +15.03.2025;20,0 +16.03.2025;13,3 +17.03.2025;18,1 +18.03.2025;19,4 +19.03.2025;18,5 +20.03.2025;11,2 +21.03.2025;13,9 +22.03.2025;14,1 +23.03.2025;17,1 +24.03.2025;17,4 +25.03.2025;16,5 +26.03.2025;12,9 +27.03.2025;17,8 +28.03.2025;12,5 +29.03.2025;13,4 +30.03.2025;17,2 +31.03.2025;14,9 +01.04.2025;13,2 +02.04.2025;11,7 +03.04.2025;12,6 +04.04.2025;13,2 +05.04.2025;13,4 +06.04.2025;13,9 +07.04.2025;12,0 +08.04.2025;12,9 +09.04.2025;14,9 +10.04.2025;14,9 +11.04.2025;14,0 +12.04.2025;11,7 +13.04.2025;17,6 +14.04.2025;13,3 +15.04.2025;13,7 +16.04.2025;14,3 +17.04.2025;12,6 +18.04.2025;6,9 +19.04.2025;15,9 +20.04.2025;9,3 +21.04.2025;12,4 +22.04.2025;11,9 +23.04.2025;9,2 +24.04.2025;14,0 +25.04.2025;10,5 +26.04.2025;3,5 +27.04.2025;13,9 +28.04.2025;9,8 +29.04.2025;12,6 +30.04.2025;10,1 +01.05.2025;8,7 +02.05.2025;8,4 +03.05.2025;7,9 +04.05.2025;11,6 +05.05.2025;10,4 +06.05.2025;8,5 +07.05.2025;4,8 +08.05.2025;6,6 +09.05.2025;5,8 +10.05.2025;8,1 +11.05.2025;7,7 +12.05.2025;3,0 +13.05.2025;11,8 +14.05.2025;2,0 +15.05.2025;4,9 +16.05.2025;5,6 +17.05.2025;13,2 +18.05.2025;5,6 +19.05.2025;8,5 +20.05.2025;10,2 +21.05.2025;8,9 +22.05.2025;13,2 +23.05.2025;9,8 +24.05.2025;11,2 +25.05.2025;10,2 +26.05.2025;11,0 +27.05.2025;2,7 +28.05.2025;8,0 +29.05.2025;4,9 +30.05.2025;6,1 +31.05.2025;8,3 +01.06.2025;5,0 +02.06.2025;5,5 +03.06.2025;1,0 +04.06.2025;5,8 +05.06.2025;13,9 +06.06.2025;1,0 +07.06.2025;6,7 +08.06.2025;2,8 +09.06.2025;6,8 +10.06.2025;7,7 +11.06.2025;1,8 +12.06.2025;5,2 +13.06.2025;6,9 +14.06.2025;9,8 +15.06.2025;3,7 +16.06.2025;5,5 +17.06.2025;9,5 +18.06.2025;7,0 +19.06.2025;2,0 +20.06.2025;10,5 +21.06.2025;5,8 +22.06.2025;9,9 +23.06.2025;8,1 +24.06.2025;9,7 +25.06.2025;6,0 +26.06.2025;1,0 +27.06.2025;10,1 +28.06.2025;5,7 +29.06.2025;5,4 +30.06.2025;1,7 +01.07.2025;1,0 +02.07.2025;4,1 +03.07.2025;9,5 +04.07.2025;6,5 +05.07.2025;6,7 +06.07.2025;6,0 +07.07.2025;6,6 +08.07.2025;6,2 +09.07.2025;1,0 +10.07.2025;3,9 +11.07.2025;3,2 +12.07.2025;7,3 +13.07.2025;8,5 +14.07.2025;5,7 +15.07.2025;1,0 +16.07.2025;5,3 +17.07.2025;2,0 +18.07.2025;5,3 +19.07.2025;11,1 +20.07.2025;1,0 +21.07.2025;5,9 +22.07.2025;7,5 +23.07.2025;10,8 +24.07.2025;4,7 +25.07.2025;3,9 +26.07.2025;5,6 +27.07.2025;4,3 +28.07.2025;6,9 +29.07.2025;7,3 +30.07.2025;11,5 +31.07.2025;6,4 +01.08.2025;3,3 +02.08.2025;4,5 +03.08.2025;5,9 +04.08.2025;8,8 +05.08.2025;4,1 +06.08.2025;1,0 +07.08.2025;4,9 +08.08.2025;6,5 +09.08.2025;2,7 +10.08.2025;7,3 +11.08.2025;14,3 +12.08.2025;4,8 +13.08.2025;9,0 +14.08.2025;7,6 +15.08.2025;9,1 +16.08.2025;9,1 +17.08.2025;1,0 +18.08.2025;5,4 +19.08.2025;10,8 +20.08.2025;11,0 +21.08.2025;5,4 +22.08.2025;7,8 +23.08.2025;4,6 +24.08.2025;7,1 +25.08.2025;10,3 +26.08.2025;10,0 +27.08.2025;8,1 +28.08.2025;10,8 +29.08.2025;6,1 +30.08.2025;12,0 +31.08.2025;12,1 +01.09.2025;10,2 +02.09.2025;8,0 +03.09.2025;8,6 +04.09.2025;6,4 +05.09.2025;10,7 +06.09.2025;9,6 +07.09.2025;16,1 +08.09.2025;15,1 +09.09.2025;10,9 +10.09.2025;12,6 +11.09.2025;8,1 +12.09.2025;9,8 +13.09.2025;10,3 +14.09.2025;15,2 +15.09.2025;6,7 +16.09.2025;13,8 +17.09.2025;15,9 +18.09.2025;15,9 +19.09.2025;12,7 +20.09.2025;11,9 +21.09.2025;11,2 +22.09.2025;12,6 +23.09.2025;10,3 +24.09.2025;15,6 +25.09.2025;15,9 +26.09.2025;16,0 +27.09.2025;15,7 +28.09.2025;16,3 +29.09.2025;17,1 +30.09.2025;13,0 +01.10.2025;9,4 +02.10.2025;13,8 +03.10.2025;15,5 +04.10.2025;16,7 +05.10.2025;7,5 +06.10.2025;15,5 +07.10.2025;14,6 +08.10.2025;8,4 +09.10.2025;12,4 +10.10.2025;14,0 +11.10.2025;19,5 +12.10.2025;16,5 +13.10.2025;16,2 +14.10.2025;20,3 +15.10.2025;13,1 +16.10.2025;11,8 +17.10.2025;16,5 +18.10.2025;17,6 +19.10.2025;14,6 +20.10.2025;17,0 +21.10.2025;23,6 +22.10.2025;13,7 +23.10.2025;22,0 +24.10.2025;20,6 +25.10.2025;19,7 +26.10.2025;16,0 +27.10.2025;16,8 +28.10.2025;20,3 +29.10.2025;22,0 +30.10.2025;12,7 +31.10.2025;22,1 +01.11.2025;15,8 +02.11.2025;14,0 +03.11.2025;18,2 +04.11.2025;22,0 +05.11.2025;19,9 +06.11.2025;14,6 +07.11.2025;18,6 +08.11.2025;23,5 +09.11.2025;18,2 +10.11.2025;21,3 +11.11.2025;19,6 +12.11.2025;21,4 +13.11.2025;24,2 +14.11.2025;23,5 +15.11.2025;24,8 +16.11.2025;20,7 +17.11.2025;15,9 +18.11.2025;22,3 +19.11.2025;18,0 +20.11.2025;19,9 +21.11.2025;27,6 +22.11.2025;20,2 +23.11.2025;21,4 +24.11.2025;19,1 +25.11.2025;24,8 +26.11.2025;26,6 +27.11.2025;20,4 +28.11.2025;18,0 +29.11.2025;22,4 +30.11.2025;22,0 +01.12.2025;26,8 +02.12.2025;23,8 +03.12.2025;25,2 +04.12.2025;19,9 +05.12.2025;25,3 +06.12.2025;27,0 +07.12.2025;22,7 +08.12.2025;27,2 +09.12.2025;21,1 +10.12.2025;26,7 +11.12.2025;20,8 +12.12.2025;23,9 +13.12.2025;25,4 +14.12.2025;26,1 +15.12.2025;22,2 +16.12.2025;22,4 +17.12.2025;28,7 +18.12.2025;26,0 +19.12.2025;19,5 +20.12.2025;25,6 +21.12.2025;20,2 +22.12.2025;16,5 +23.12.2025;23,7 +24.12.2025;21,2 +25.12.2025;20,3 +26.12.2025;21,8 +27.12.2025;20,9 +28.12.2025;33,7 +29.12.2025;24,7 +30.12.2025;19,7 +31.12.2025;20,3 diff --git a/agents/evals/fixtures/cases/line-timeseries-matplotlib-n12/case.json b/agents/evals/fixtures/cases/line-timeseries-matplotlib-n12/case.json new file mode 100644 index 0000000000..c24a194c7c --- /dev/null +++ b/agents/evals/fixtures/cases/line-timeseries-matplotlib-n12/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "line-timeseries", + "library": "matplotlib", + "locale": "en", + "perturbation": "n12", + "bindings": [ + { + "role": "date", + "column": "Date" + }, + { + "role": "value", + "column": "PM2.5 (µg/m³)" + } + ], + "expected": "accepted", + "tags": [ + "time-series", + "n12", + "synthetic", + "small" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 1010, n12)" +} diff --git a/agents/evals/fixtures/cases/line-timeseries-matplotlib-n12/data.csv b/agents/evals/fixtures/cases/line-timeseries-matplotlib-n12/data.csv new file mode 100644 index 0000000000..d71bc31879 --- /dev/null +++ b/agents/evals/fixtures/cases/line-timeseries-matplotlib-n12/data.csv @@ -0,0 +1,13 @@ +Date,PM2.5 (µg/m³) +2025-01-01,18.7 +2025-01-02,20.3 +2025-01-03,22.9 +2025-01-04,21.5 +2025-01-05,19.6 +2025-01-06,26.1 +2025-01-07,18.5 +2025-01-08,25.4 +2025-01-09,20.1 +2025-01-10,27.9 +2025-01-11,22.7 +2025-01-12,24.6 diff --git a/agents/evals/fixtures/cases/line-timeseries-matplotlib-n5000/case.json b/agents/evals/fixtures/cases/line-timeseries-matplotlib-n5000/case.json new file mode 100644 index 0000000000..352eb4fbc3 --- /dev/null +++ b/agents/evals/fixtures/cases/line-timeseries-matplotlib-n5000/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "line-timeseries", + "library": "matplotlib", + "locale": "en", + "perturbation": "n5000", + "bindings": [ + { + "role": "date", + "column": "Date" + }, + { + "role": "value", + "column": "PM2.5 (µg/m³)" + } + ], + "expected": "accepted", + "tags": [ + "time-series", + "n5000", + "synthetic", + "large" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 1010, n5000)" +} diff --git a/agents/evals/fixtures/cases/line-timeseries-matplotlib-n5000/data.csv b/agents/evals/fixtures/cases/line-timeseries-matplotlib-n5000/data.csv new file mode 100644 index 0000000000..9b339924b8 --- /dev/null +++ b/agents/evals/fixtures/cases/line-timeseries-matplotlib-n5000/data.csv @@ -0,0 +1,5001 @@ +Date,PM2.5 (µg/m³) +2025-01-01T00:00,16.6 +2025-01-01T01:00,22.5 +2025-01-01T02:00,19.2 +2025-01-01T03:00,20.8 +2025-01-01T04:00,23.7 +2025-01-01T05:00,21.5 +2025-01-01T06:00,23.7 +2025-01-01T07:00,21.9 +2025-01-01T08:00,26.5 +2025-01-01T09:00,26.8 +2025-01-01T10:00,29.7 +2025-01-01T11:00,27.3 +2025-01-01T12:00,27.1 +2025-01-01T13:00,23.3 +2025-01-01T14:00,31.7 +2025-01-01T15:00,28.3 +2025-01-01T16:00,24.5 +2025-01-01T17:00,21.8 +2025-01-01T18:00,20.5 +2025-01-01T19:00,20.9 +2025-01-01T20:00,22.5 +2025-01-01T21:00,20.7 +2025-01-01T22:00,19.7 +2025-01-01T23:00,15.8 +2025-01-02T00:00,21.1 +2025-01-02T01:00,19.2 +2025-01-02T02:00,21.2 +2025-01-02T03:00,20.0 +2025-01-02T04:00,23.1 +2025-01-02T05:00,22.8 +2025-01-02T06:00,18.6 +2025-01-02T07:00,23.9 +2025-01-02T08:00,25.1 +2025-01-02T09:00,29.1 +2025-01-02T10:00,28.4 +2025-01-02T11:00,22.5 +2025-01-02T12:00,27.4 +2025-01-02T13:00,22.6 +2025-01-02T14:00,28.5 +2025-01-02T15:00,29.7 +2025-01-02T16:00,26.8 +2025-01-02T17:00,28.3 +2025-01-02T18:00,18.6 +2025-01-02T19:00,21.4 +2025-01-02T20:00,18.0 +2025-01-02T21:00,21.2 +2025-01-02T22:00,16.6 +2025-01-02T23:00,19.8 +2025-01-03T00:00,16.6 +2025-01-03T01:00,20.8 +2025-01-03T02:00,22.8 +2025-01-03T03:00,22.4 +2025-01-03T04:00,15.4 +2025-01-03T05:00,22.6 +2025-01-03T06:00,24.8 +2025-01-03T07:00,23.8 +2025-01-03T08:00,26.5 +2025-01-03T09:00,25.1 +2025-01-03T10:00,26.5 +2025-01-03T11:00,27.0 +2025-01-03T12:00,23.2 +2025-01-03T13:00,28.1 +2025-01-03T14:00,21.1 +2025-01-03T15:00,28.5 +2025-01-03T16:00,25.2 +2025-01-03T17:00,22.9 +2025-01-03T18:00,23.5 +2025-01-03T19:00,24.8 +2025-01-03T20:00,21.9 +2025-01-03T21:00,20.4 +2025-01-03T22:00,20.6 +2025-01-03T23:00,15.9 +2025-01-04T00:00,15.6 +2025-01-04T01:00,19.6 +2025-01-04T02:00,18.9 +2025-01-04T03:00,15.7 +2025-01-04T04:00,19.6 +2025-01-04T05:00,17.5 +2025-01-04T06:00,20.6 +2025-01-04T07:00,21.3 +2025-01-04T08:00,28.0 +2025-01-04T09:00,24.2 +2025-01-04T10:00,25.1 +2025-01-04T11:00,26.8 +2025-01-04T12:00,27.4 +2025-01-04T13:00,27.9 +2025-01-04T14:00,25.9 +2025-01-04T15:00,28.1 +2025-01-04T16:00,26.0 +2025-01-04T17:00,23.5 +2025-01-04T18:00,22.4 +2025-01-04T19:00,23.4 +2025-01-04T20:00,19.4 +2025-01-04T21:00,20.4 +2025-01-04T22:00,17.9 +2025-01-04T23:00,19.7 +2025-01-05T00:00,18.1 +2025-01-05T01:00,18.6 +2025-01-05T02:00,21.4 +2025-01-05T03:00,20.6 +2025-01-05T04:00,20.6 +2025-01-05T05:00,19.6 +2025-01-05T06:00,24.6 +2025-01-05T07:00,26.3 +2025-01-05T08:00,23.5 +2025-01-05T09:00,20.3 +2025-01-05T10:00,21.9 +2025-01-05T11:00,23.9 +2025-01-05T12:00,30.3 +2025-01-05T13:00,23.6 +2025-01-05T14:00,29.7 +2025-01-05T15:00,28.8 +2025-01-05T16:00,24.9 +2025-01-05T17:00,23.5 +2025-01-05T18:00,23.4 +2025-01-05T19:00,21.6 +2025-01-05T20:00,16.3 +2025-01-05T21:00,19.0 +2025-01-05T22:00,21.5 +2025-01-05T23:00,21.1 +2025-01-06T00:00,22.4 +2025-01-06T01:00,18.8 +2025-01-06T02:00,22.3 +2025-01-06T03:00,18.7 +2025-01-06T04:00,16.7 +2025-01-06T05:00,19.0 +2025-01-06T06:00,22.9 +2025-01-06T07:00,24.7 +2025-01-06T08:00,24.2 +2025-01-06T09:00,26.7 +2025-01-06T10:00,27.9 +2025-01-06T11:00,26.1 +2025-01-06T12:00,28.9 +2025-01-06T13:00,26.2 +2025-01-06T14:00,27.5 +2025-01-06T15:00,25.4 +2025-01-06T16:00,26.4 +2025-01-06T17:00,23.7 +2025-01-06T18:00,23.5 +2025-01-06T19:00,18.8 +2025-01-06T20:00,20.2 +2025-01-06T21:00,18.2 +2025-01-06T22:00,16.1 +2025-01-06T23:00,17.4 +2025-01-07T00:00,25.8 +2025-01-07T01:00,19.2 +2025-01-07T02:00,17.2 +2025-01-07T03:00,19.3 +2025-01-07T04:00,22.7 +2025-01-07T05:00,19.5 +2025-01-07T06:00,26.4 +2025-01-07T07:00,25.6 +2025-01-07T08:00,27.3 +2025-01-07T09:00,21.9 +2025-01-07T10:00,28.4 +2025-01-07T11:00,28.6 +2025-01-07T12:00,32.7 +2025-01-07T13:00,30.1 +2025-01-07T14:00,23.3 +2025-01-07T15:00,24.2 +2025-01-07T16:00,23.3 +2025-01-07T17:00,25.9 +2025-01-07T18:00,27.7 +2025-01-07T19:00,21.7 +2025-01-07T20:00,20.8 +2025-01-07T21:00,21.4 +2025-01-07T22:00,16.2 +2025-01-07T23:00,14.6 +2025-01-08T00:00,17.5 +2025-01-08T01:00,16.8 +2025-01-08T02:00,15.0 +2025-01-08T03:00,18.4 +2025-01-08T04:00,22.6 +2025-01-08T05:00,20.4 +2025-01-08T06:00,19.9 +2025-01-08T07:00,28.4 +2025-01-08T08:00,25.6 +2025-01-08T09:00,29.5 +2025-01-08T10:00,26.3 +2025-01-08T11:00,24.4 +2025-01-08T12:00,25.3 +2025-01-08T13:00,30.8 +2025-01-08T14:00,28.3 +2025-01-08T15:00,27.7 +2025-01-08T16:00,24.2 +2025-01-08T17:00,20.7 +2025-01-08T18:00,23.5 +2025-01-08T19:00,20.8 +2025-01-08T20:00,24.8 +2025-01-08T21:00,19.4 +2025-01-08T22:00,15.6 +2025-01-08T23:00,21.9 +2025-01-09T00:00,15.4 +2025-01-09T01:00,23.2 +2025-01-09T02:00,17.4 +2025-01-09T03:00,19.9 +2025-01-09T04:00,21.5 +2025-01-09T05:00,18.1 +2025-01-09T06:00,22.3 +2025-01-09T07:00,31.2 +2025-01-09T08:00,24.5 +2025-01-09T09:00,23.2 +2025-01-09T10:00,27.8 +2025-01-09T11:00,24.5 +2025-01-09T12:00,25.6 +2025-01-09T13:00,21.3 +2025-01-09T14:00,21.4 +2025-01-09T15:00,27.2 +2025-01-09T16:00,22.9 +2025-01-09T17:00,27.8 +2025-01-09T18:00,18.9 +2025-01-09T19:00,17.0 +2025-01-09T20:00,25.1 +2025-01-09T21:00,17.7 +2025-01-09T22:00,20.0 +2025-01-09T23:00,19.3 +2025-01-10T00:00,18.8 +2025-01-10T01:00,20.5 +2025-01-10T02:00,20.4 +2025-01-10T03:00,21.6 +2025-01-10T04:00,17.8 +2025-01-10T05:00,22.4 +2025-01-10T06:00,24.1 +2025-01-10T07:00,25.8 +2025-01-10T08:00,25.9 +2025-01-10T09:00,26.9 +2025-01-10T10:00,28.9 +2025-01-10T11:00,27.6 +2025-01-10T12:00,27.7 +2025-01-10T13:00,25.8 +2025-01-10T14:00,23.3 +2025-01-10T15:00,28.0 +2025-01-10T16:00,22.5 +2025-01-10T17:00,26.7 +2025-01-10T18:00,23.4 +2025-01-10T19:00,22.8 +2025-01-10T20:00,18.1 +2025-01-10T21:00,15.2 +2025-01-10T22:00,20.8 +2025-01-10T23:00,18.0 +2025-01-11T00:00,22.0 +2025-01-11T01:00,16.4 +2025-01-11T02:00,18.4 +2025-01-11T03:00,16.6 +2025-01-11T04:00,21.2 +2025-01-11T05:00,28.4 +2025-01-11T06:00,21.5 +2025-01-11T07:00,27.3 +2025-01-11T08:00,23.3 +2025-01-11T09:00,26.5 +2025-01-11T10:00,27.1 +2025-01-11T11:00,28.4 +2025-01-11T12:00,29.1 +2025-01-11T13:00,25.0 +2025-01-11T14:00,26.1 +2025-01-11T15:00,23.1 +2025-01-11T16:00,25.4 +2025-01-11T17:00,23.4 +2025-01-11T18:00,26.8 +2025-01-11T19:00,21.1 +2025-01-11T20:00,18.6 +2025-01-11T21:00,22.6 +2025-01-11T22:00,20.4 +2025-01-11T23:00,20.2 +2025-01-12T00:00,17.0 +2025-01-12T01:00,23.3 +2025-01-12T02:00,22.6 +2025-01-12T03:00,17.7 +2025-01-12T04:00,22.9 +2025-01-12T05:00,22.0 +2025-01-12T06:00,25.8 +2025-01-12T07:00,19.5 +2025-01-12T08:00,27.4 +2025-01-12T09:00,25.2 +2025-01-12T10:00,24.3 +2025-01-12T11:00,22.1 +2025-01-12T12:00,27.1 +2025-01-12T13:00,28.6 +2025-01-12T14:00,28.8 +2025-01-12T15:00,29.4 +2025-01-12T16:00,24.4 +2025-01-12T17:00,24.0 +2025-01-12T18:00,20.9 +2025-01-12T19:00,22.8 +2025-01-12T20:00,21.0 +2025-01-12T21:00,18.3 +2025-01-12T22:00,20.7 +2025-01-12T23:00,20.1 +2025-01-13T00:00,21.5 +2025-01-13T01:00,21.4 +2025-01-13T02:00,18.1 +2025-01-13T03:00,21.5 +2025-01-13T04:00,20.6 +2025-01-13T05:00,23.6 +2025-01-13T06:00,20.1 +2025-01-13T07:00,27.2 +2025-01-13T08:00,25.3 +2025-01-13T09:00,26.4 +2025-01-13T10:00,24.8 +2025-01-13T11:00,29.1 +2025-01-13T12:00,26.6 +2025-01-13T13:00,25.4 +2025-01-13T14:00,22.2 +2025-01-13T15:00,25.3 +2025-01-13T16:00,23.5 +2025-01-13T17:00,25.9 +2025-01-13T18:00,23.6 +2025-01-13T19:00,19.1 +2025-01-13T20:00,23.8 +2025-01-13T21:00,21.5 +2025-01-13T22:00,23.2 +2025-01-13T23:00,18.5 +2025-01-14T00:00,12.9 +2025-01-14T01:00,21.5 +2025-01-14T02:00,19.4 +2025-01-14T03:00,19.5 +2025-01-14T04:00,22.9 +2025-01-14T05:00,19.5 +2025-01-14T06:00,23.8 +2025-01-14T07:00,21.4 +2025-01-14T08:00,24.5 +2025-01-14T09:00,25.3 +2025-01-14T10:00,27.2 +2025-01-14T11:00,27.0 +2025-01-14T12:00,24.6 +2025-01-14T13:00,27.2 +2025-01-14T14:00,29.6 +2025-01-14T15:00,23.1 +2025-01-14T16:00,25.0 +2025-01-14T17:00,21.2 +2025-01-14T18:00,23.2 +2025-01-14T19:00,22.5 +2025-01-14T20:00,23.0 +2025-01-14T21:00,20.5 +2025-01-14T22:00,17.4 +2025-01-14T23:00,15.6 +2025-01-15T00:00,19.9 +2025-01-15T01:00,15.3 +2025-01-15T02:00,22.5 +2025-01-15T03:00,20.4 +2025-01-15T04:00,20.0 +2025-01-15T05:00,21.0 +2025-01-15T06:00,23.0 +2025-01-15T07:00,21.9 +2025-01-15T08:00,24.7 +2025-01-15T09:00,23.8 +2025-01-15T10:00,26.8 +2025-01-15T11:00,27.0 +2025-01-15T12:00,28.4 +2025-01-15T13:00,29.3 +2025-01-15T14:00,25.9 +2025-01-15T15:00,24.3 +2025-01-15T16:00,20.0 +2025-01-15T17:00,24.0 +2025-01-15T18:00,25.9 +2025-01-15T19:00,18.7 +2025-01-15T20:00,26.1 +2025-01-15T21:00,16.9 +2025-01-15T22:00,19.9 +2025-01-15T23:00,16.4 +2025-01-16T00:00,17.2 +2025-01-16T01:00,21.6 +2025-01-16T02:00,20.8 +2025-01-16T03:00,19.7 +2025-01-16T04:00,24.4 +2025-01-16T05:00,20.5 +2025-01-16T06:00,27.4 +2025-01-16T07:00,22.2 +2025-01-16T08:00,26.4 +2025-01-16T09:00,23.0 +2025-01-16T10:00,27.3 +2025-01-16T11:00,27.1 +2025-01-16T12:00,25.8 +2025-01-16T13:00,24.5 +2025-01-16T14:00,28.2 +2025-01-16T15:00,23.5 +2025-01-16T16:00,29.6 +2025-01-16T17:00,24.2 +2025-01-16T18:00,25.6 +2025-01-16T19:00,21.6 +2025-01-16T20:00,20.7 +2025-01-16T21:00,16.7 +2025-01-16T22:00,17.9 +2025-01-16T23:00,14.4 +2025-01-17T00:00,21.0 +2025-01-17T01:00,14.0 +2025-01-17T02:00,23.3 +2025-01-17T03:00,21.5 +2025-01-17T04:00,19.5 +2025-01-17T05:00,20.5 +2025-01-17T06:00,22.9 +2025-01-17T07:00,21.7 +2025-01-17T08:00,26.2 +2025-01-17T09:00,26.0 +2025-01-17T10:00,26.9 +2025-01-17T11:00,33.9 +2025-01-17T12:00,28.2 +2025-01-17T13:00,28.7 +2025-01-17T14:00,25.3 +2025-01-17T15:00,23.2 +2025-01-17T16:00,21.7 +2025-01-17T17:00,24.8 +2025-01-17T18:00,23.6 +2025-01-17T19:00,21.9 +2025-01-17T20:00,20.4 +2025-01-17T21:00,23.1 +2025-01-17T22:00,18.4 +2025-01-17T23:00,16.4 +2025-01-18T00:00,20.6 +2025-01-18T01:00,20.2 +2025-01-18T02:00,19.4 +2025-01-18T03:00,17.6 +2025-01-18T04:00,19.8 +2025-01-18T05:00,16.4 +2025-01-18T06:00,25.2 +2025-01-18T07:00,23.7 +2025-01-18T08:00,25.0 +2025-01-18T09:00,27.1 +2025-01-18T10:00,30.0 +2025-01-18T11:00,29.0 +2025-01-18T12:00,24.8 +2025-01-18T13:00,22.3 +2025-01-18T14:00,23.3 +2025-01-18T15:00,28.0 +2025-01-18T16:00,26.1 +2025-01-18T17:00,26.9 +2025-01-18T18:00,24.6 +2025-01-18T19:00,25.6 +2025-01-18T20:00,23.2 +2025-01-18T21:00,24.9 +2025-01-18T22:00,18.3 +2025-01-18T23:00,17.7 +2025-01-19T00:00,18.2 +2025-01-19T01:00,19.5 +2025-01-19T02:00,13.9 +2025-01-19T03:00,20.6 +2025-01-19T04:00,18.8 +2025-01-19T05:00,23.1 +2025-01-19T06:00,20.3 +2025-01-19T07:00,22.8 +2025-01-19T08:00,21.7 +2025-01-19T09:00,28.0 +2025-01-19T10:00,25.3 +2025-01-19T11:00,28.8 +2025-01-19T12:00,22.9 +2025-01-19T13:00,29.2 +2025-01-19T14:00,27.0 +2025-01-19T15:00,25.6 +2025-01-19T16:00,28.1 +2025-01-19T17:00,25.6 +2025-01-19T18:00,24.0 +2025-01-19T19:00,23.0 +2025-01-19T20:00,20.1 +2025-01-19T21:00,18.7 +2025-01-19T22:00,19.6 +2025-01-19T23:00,22.4 +2025-01-20T00:00,15.0 +2025-01-20T01:00,22.1 +2025-01-20T02:00,21.2 +2025-01-20T03:00,22.0 +2025-01-20T04:00,21.1 +2025-01-20T05:00,24.1 +2025-01-20T06:00,20.5 +2025-01-20T07:00,22.1 +2025-01-20T08:00,25.7 +2025-01-20T09:00,28.3 +2025-01-20T10:00,28.5 +2025-01-20T11:00,28.4 +2025-01-20T12:00,29.9 +2025-01-20T13:00,25.8 +2025-01-20T14:00,27.0 +2025-01-20T15:00,29.1 +2025-01-20T16:00,28.5 +2025-01-20T17:00,23.6 +2025-01-20T18:00,25.3 +2025-01-20T19:00,24.5 +2025-01-20T20:00,22.7 +2025-01-20T21:00,18.0 +2025-01-20T22:00,19.4 +2025-01-20T23:00,21.2 +2025-01-21T00:00,18.6 +2025-01-21T01:00,15.9 +2025-01-21T02:00,21.7 +2025-01-21T03:00,17.4 +2025-01-21T04:00,19.8 +2025-01-21T05:00,23.6 +2025-01-21T06:00,24.4 +2025-01-21T07:00,20.3 +2025-01-21T08:00,26.8 +2025-01-21T09:00,25.9 +2025-01-21T10:00,23.2 +2025-01-21T11:00,26.1 +2025-01-21T12:00,29.0 +2025-01-21T13:00,23.8 +2025-01-21T14:00,28.3 +2025-01-21T15:00,28.0 +2025-01-21T16:00,23.9 +2025-01-21T17:00,26.7 +2025-01-21T18:00,22.7 +2025-01-21T19:00,24.2 +2025-01-21T20:00,20.0 +2025-01-21T21:00,15.2 +2025-01-21T22:00,16.4 +2025-01-21T23:00,21.5 +2025-01-22T00:00,21.5 +2025-01-22T01:00,20.0 +2025-01-22T02:00,18.0 +2025-01-22T03:00,17.2 +2025-01-22T04:00,18.3 +2025-01-22T05:00,23.9 +2025-01-22T06:00,23.1 +2025-01-22T07:00,21.7 +2025-01-22T08:00,30.4 +2025-01-22T09:00,27.1 +2025-01-22T10:00,28.1 +2025-01-22T11:00,26.2 +2025-01-22T12:00,27.7 +2025-01-22T13:00,19.5 +2025-01-22T14:00,25.5 +2025-01-22T15:00,34.3 +2025-01-22T16:00,24.0 +2025-01-22T17:00,23.0 +2025-01-22T18:00,19.0 +2025-01-22T19:00,19.9 +2025-01-22T20:00,19.3 +2025-01-22T21:00,17.8 +2025-01-22T22:00,19.4 +2025-01-22T23:00,23.2 +2025-01-23T00:00,20.8 +2025-01-23T01:00,21.7 +2025-01-23T02:00,13.8 +2025-01-23T03:00,19.3 +2025-01-23T04:00,17.5 +2025-01-23T05:00,21.9 +2025-01-23T06:00,25.3 +2025-01-23T07:00,21.4 +2025-01-23T08:00,28.9 +2025-01-23T09:00,25.2 +2025-01-23T10:00,26.1 +2025-01-23T11:00,23.3 +2025-01-23T12:00,30.2 +2025-01-23T13:00,24.1 +2025-01-23T14:00,26.0 +2025-01-23T15:00,27.5 +2025-01-23T16:00,24.8 +2025-01-23T17:00,21.3 +2025-01-23T18:00,22.1 +2025-01-23T19:00,23.0 +2025-01-23T20:00,19.2 +2025-01-23T21:00,21.1 +2025-01-23T22:00,21.0 +2025-01-23T23:00,13.0 +2025-01-24T00:00,21.2 +2025-01-24T01:00,17.8 +2025-01-24T02:00,19.4 +2025-01-24T03:00,16.4 +2025-01-24T04:00,18.4 +2025-01-24T05:00,20.9 +2025-01-24T06:00,26.9 +2025-01-24T07:00,26.7 +2025-01-24T08:00,26.2 +2025-01-24T09:00,23.0 +2025-01-24T10:00,22.5 +2025-01-24T11:00,29.7 +2025-01-24T12:00,29.6 +2025-01-24T13:00,25.3 +2025-01-24T14:00,19.6 +2025-01-24T15:00,23.8 +2025-01-24T16:00,24.8 +2025-01-24T17:00,18.4 +2025-01-24T18:00,20.0 +2025-01-24T19:00,22.7 +2025-01-24T20:00,21.4 +2025-01-24T21:00,17.9 +2025-01-24T22:00,24.0 +2025-01-24T23:00,19.6 +2025-01-25T00:00,20.7 +2025-01-25T01:00,18.2 +2025-01-25T02:00,17.0 +2025-01-25T03:00,18.7 +2025-01-25T04:00,21.5 +2025-01-25T05:00,23.5 +2025-01-25T06:00,21.6 +2025-01-25T07:00,19.6 +2025-01-25T08:00,24.8 +2025-01-25T09:00,21.9 +2025-01-25T10:00,26.4 +2025-01-25T11:00,21.9 +2025-01-25T12:00,24.0 +2025-01-25T13:00,30.2 +2025-01-25T14:00,25.3 +2025-01-25T15:00,22.2 +2025-01-25T16:00,21.5 +2025-01-25T17:00,19.9 +2025-01-25T18:00,21.5 +2025-01-25T19:00,23.7 +2025-01-25T20:00,20.6 +2025-01-25T21:00,15.7 +2025-01-25T22:00,20.1 +2025-01-25T23:00,18.8 +2025-01-26T00:00,19.3 +2025-01-26T01:00,18.6 +2025-01-26T02:00,18.9 +2025-01-26T03:00,18.1 +2025-01-26T04:00,22.6 +2025-01-26T05:00,20.9 +2025-01-26T06:00,24.9 +2025-01-26T07:00,25.0 +2025-01-26T08:00,21.8 +2025-01-26T09:00,22.3 +2025-01-26T10:00,22.5 +2025-01-26T11:00,26.0 +2025-01-26T12:00,26.7 +2025-01-26T13:00,26.7 +2025-01-26T14:00,25.3 +2025-01-26T15:00,24.6 +2025-01-26T16:00,26.8 +2025-01-26T17:00,20.7 +2025-01-26T18:00,23.5 +2025-01-26T19:00,21.4 +2025-01-26T20:00,22.7 +2025-01-26T21:00,18.2 +2025-01-26T22:00,19.2 +2025-01-26T23:00,17.7 +2025-01-27T00:00,22.9 +2025-01-27T01:00,16.4 +2025-01-27T02:00,20.3 +2025-01-27T03:00,25.2 +2025-01-27T04:00,23.1 +2025-01-27T05:00,19.2 +2025-01-27T06:00,23.4 +2025-01-27T07:00,20.6 +2025-01-27T08:00,29.0 +2025-01-27T09:00,26.1 +2025-01-27T10:00,25.4 +2025-01-27T11:00,28.4 +2025-01-27T12:00,25.6 +2025-01-27T13:00,27.4 +2025-01-27T14:00,28.0 +2025-01-27T15:00,25.0 +2025-01-27T16:00,22.7 +2025-01-27T17:00,24.5 +2025-01-27T18:00,24.3 +2025-01-27T19:00,22.6 +2025-01-27T20:00,23.7 +2025-01-27T21:00,17.1 +2025-01-27T22:00,22.9 +2025-01-27T23:00,18.0 +2025-01-28T00:00,20.0 +2025-01-28T01:00,16.2 +2025-01-28T02:00,18.9 +2025-01-28T03:00,19.4 +2025-01-28T04:00,15.2 +2025-01-28T05:00,21.8 +2025-01-28T06:00,20.9 +2025-01-28T07:00,25.1 +2025-01-28T08:00,27.1 +2025-01-28T09:00,24.4 +2025-01-28T10:00,28.8 +2025-01-28T11:00,24.2 +2025-01-28T12:00,26.7 +2025-01-28T13:00,27.6 +2025-01-28T14:00,29.6 +2025-01-28T15:00,25.7 +2025-01-28T16:00,15.6 +2025-01-28T17:00,23.6 +2025-01-28T18:00,22.4 +2025-01-28T19:00,23.2 +2025-01-28T20:00,21.4 +2025-01-28T21:00,19.5 +2025-01-28T22:00,22.0 +2025-01-28T23:00,17.2 +2025-01-29T00:00,16.0 +2025-01-29T01:00,20.9 +2025-01-29T02:00,18.1 +2025-01-29T03:00,20.7 +2025-01-29T04:00,18.3 +2025-01-29T05:00,24.3 +2025-01-29T06:00,26.4 +2025-01-29T07:00,24.1 +2025-01-29T08:00,23.3 +2025-01-29T09:00,33.5 +2025-01-29T10:00,22.9 +2025-01-29T11:00,27.3 +2025-01-29T12:00,27.6 +2025-01-29T13:00,27.2 +2025-01-29T14:00,23.8 +2025-01-29T15:00,28.5 +2025-01-29T16:00,22.3 +2025-01-29T17:00,23.7 +2025-01-29T18:00,23.4 +2025-01-29T19:00,21.9 +2025-01-29T20:00,19.8 +2025-01-29T21:00,22.3 +2025-01-29T22:00,17.9 +2025-01-29T23:00,17.9 +2025-01-30T00:00,17.4 +2025-01-30T01:00,25.8 +2025-01-30T02:00,18.9 +2025-01-30T03:00,16.9 +2025-01-30T04:00,22.6 +2025-01-30T05:00,20.3 +2025-01-30T06:00,21.1 +2025-01-30T07:00,26.1 +2025-01-30T08:00,25.2 +2025-01-30T09:00,29.2 +2025-01-30T10:00,18.6 +2025-01-30T11:00,22.6 +2025-01-30T12:00,27.2 +2025-01-30T13:00,28.2 +2025-01-30T14:00,32.1 +2025-01-30T15:00,25.6 +2025-01-30T16:00,22.5 +2025-01-30T17:00,22.4 +2025-01-30T18:00,19.2 +2025-01-30T19:00,18.5 +2025-01-30T20:00,23.1 +2025-01-30T21:00,18.6 +2025-01-30T22:00,16.6 +2025-01-30T23:00,19.7 +2025-01-31T00:00,18.9 +2025-01-31T01:00,17.4 +2025-01-31T02:00,19.2 +2025-01-31T03:00,15.2 +2025-01-31T04:00,25.9 +2025-01-31T05:00,18.7 +2025-01-31T06:00,28.0 +2025-01-31T07:00,23.0 +2025-01-31T08:00,21.8 +2025-01-31T09:00,19.9 +2025-01-31T10:00,22.6 +2025-01-31T11:00,22.1 +2025-01-31T12:00,24.0 +2025-01-31T13:00,28.4 +2025-01-31T14:00,27.5 +2025-01-31T15:00,22.0 +2025-01-31T16:00,24.2 +2025-01-31T17:00,22.3 +2025-01-31T18:00,22.0 +2025-01-31T19:00,24.5 +2025-01-31T20:00,18.8 +2025-01-31T21:00,15.1 +2025-01-31T22:00,16.6 +2025-01-31T23:00,18.8 +2025-02-01T00:00,19.9 +2025-02-01T01:00,23.0 +2025-02-01T02:00,17.9 +2025-02-01T03:00,18.3 +2025-02-01T04:00,20.5 +2025-02-01T05:00,19.6 +2025-02-01T06:00,24.5 +2025-02-01T07:00,24.6 +2025-02-01T08:00,26.0 +2025-02-01T09:00,25.7 +2025-02-01T10:00,27.5 +2025-02-01T11:00,26.4 +2025-02-01T12:00,26.8 +2025-02-01T13:00,27.1 +2025-02-01T14:00,23.1 +2025-02-01T15:00,25.3 +2025-02-01T16:00,16.7 +2025-02-01T17:00,27.4 +2025-02-01T18:00,27.1 +2025-02-01T19:00,24.4 +2025-02-01T20:00,20.4 +2025-02-01T21:00,20.4 +2025-02-01T22:00,16.1 +2025-02-01T23:00,13.2 +2025-02-02T00:00,17.1 +2025-02-02T01:00,15.3 +2025-02-02T02:00,21.4 +2025-02-02T03:00,20.7 +2025-02-02T04:00,19.3 +2025-02-02T05:00,16.9 +2025-02-02T06:00,18.3 +2025-02-02T07:00,23.0 +2025-02-02T08:00,21.5 +2025-02-02T09:00,29.0 +2025-02-02T10:00,23.6 +2025-02-02T11:00,31.2 +2025-02-02T12:00,27.7 +2025-02-02T13:00,24.2 +2025-02-02T14:00,21.9 +2025-02-02T15:00,25.8 +2025-02-02T16:00,24.7 +2025-02-02T17:00,20.1 +2025-02-02T18:00,21.6 +2025-02-02T19:00,16.4 +2025-02-02T20:00,23.6 +2025-02-02T21:00,16.8 +2025-02-02T22:00,13.9 +2025-02-02T23:00,19.2 +2025-02-03T00:00,17.0 +2025-02-03T01:00,15.6 +2025-02-03T02:00,19.6 +2025-02-03T03:00,19.2 +2025-02-03T04:00,15.7 +2025-02-03T05:00,22.1 +2025-02-03T06:00,20.3 +2025-02-03T07:00,21.7 +2025-02-03T08:00,24.0 +2025-02-03T09:00,22.1 +2025-02-03T10:00,27.9 +2025-02-03T11:00,31.0 +2025-02-03T12:00,26.3 +2025-02-03T13:00,26.7 +2025-02-03T14:00,22.5 +2025-02-03T15:00,22.0 +2025-02-03T16:00,23.5 +2025-02-03T17:00,21.9 +2025-02-03T18:00,18.7 +2025-02-03T19:00,20.7 +2025-02-03T20:00,19.5 +2025-02-03T21:00,16.0 +2025-02-03T22:00,17.8 +2025-02-03T23:00,18.8 +2025-02-04T00:00,15.8 +2025-02-04T01:00,20.6 +2025-02-04T02:00,19.2 +2025-02-04T03:00,18.0 +2025-02-04T04:00,20.3 +2025-02-04T05:00,21.0 +2025-02-04T06:00,19.4 +2025-02-04T07:00,25.7 +2025-02-04T08:00,22.9 +2025-02-04T09:00,25.4 +2025-02-04T10:00,32.3 +2025-02-04T11:00,26.1 +2025-02-04T12:00,31.1 +2025-02-04T13:00,26.2 +2025-02-04T14:00,24.4 +2025-02-04T15:00,27.5 +2025-02-04T16:00,25.8 +2025-02-04T17:00,23.1 +2025-02-04T18:00,18.9 +2025-02-04T19:00,20.4 +2025-02-04T20:00,18.8 +2025-02-04T21:00,18.3 +2025-02-04T22:00,19.4 +2025-02-04T23:00,17.8 +2025-02-05T00:00,16.1 +2025-02-05T01:00,16.4 +2025-02-05T02:00,20.2 +2025-02-05T03:00,13.7 +2025-02-05T04:00,19.4 +2025-02-05T05:00,19.8 +2025-02-05T06:00,23.2 +2025-02-05T07:00,27.1 +2025-02-05T08:00,26.0 +2025-02-05T09:00,26.5 +2025-02-05T10:00,20.4 +2025-02-05T11:00,26.1 +2025-02-05T12:00,27.5 +2025-02-05T13:00,28.4 +2025-02-05T14:00,27.0 +2025-02-05T15:00,25.9 +2025-02-05T16:00,24.3 +2025-02-05T17:00,20.1 +2025-02-05T18:00,20.0 +2025-02-05T19:00,21.2 +2025-02-05T20:00,24.0 +2025-02-05T21:00,23.0 +2025-02-05T22:00,20.6 +2025-02-05T23:00,15.4 +2025-02-06T00:00,17.4 +2025-02-06T01:00,21.6 +2025-02-06T02:00,18.3 +2025-02-06T03:00,19.8 +2025-02-06T04:00,20.8 +2025-02-06T05:00,20.4 +2025-02-06T06:00,21.1 +2025-02-06T07:00,25.4 +2025-02-06T08:00,28.2 +2025-02-06T09:00,25.5 +2025-02-06T10:00,24.5 +2025-02-06T11:00,28.0 +2025-02-06T12:00,21.3 +2025-02-06T13:00,21.2 +2025-02-06T14:00,27.2 +2025-02-06T15:00,28.4 +2025-02-06T16:00,20.6 +2025-02-06T17:00,20.0 +2025-02-06T18:00,19.1 +2025-02-06T19:00,19.2 +2025-02-06T20:00,22.1 +2025-02-06T21:00,18.8 +2025-02-06T22:00,16.9 +2025-02-06T23:00,15.0 +2025-02-07T00:00,15.9 +2025-02-07T01:00,18.3 +2025-02-07T02:00,15.1 +2025-02-07T03:00,22.0 +2025-02-07T04:00,21.2 +2025-02-07T05:00,24.9 +2025-02-07T06:00,20.8 +2025-02-07T07:00,20.4 +2025-02-07T08:00,21.3 +2025-02-07T09:00,24.8 +2025-02-07T10:00,23.0 +2025-02-07T11:00,24.5 +2025-02-07T12:00,18.2 +2025-02-07T13:00,29.7 +2025-02-07T14:00,25.9 +2025-02-07T15:00,23.3 +2025-02-07T16:00,23.0 +2025-02-07T17:00,23.6 +2025-02-07T18:00,20.9 +2025-02-07T19:00,25.7 +2025-02-07T20:00,21.1 +2025-02-07T21:00,20.6 +2025-02-07T22:00,21.1 +2025-02-07T23:00,22.1 +2025-02-08T00:00,18.5 +2025-02-08T01:00,19.0 +2025-02-08T02:00,15.0 +2025-02-08T03:00,16.2 +2025-02-08T04:00,20.1 +2025-02-08T05:00,16.6 +2025-02-08T06:00,19.1 +2025-02-08T07:00,26.2 +2025-02-08T08:00,23.0 +2025-02-08T09:00,21.8 +2025-02-08T10:00,28.9 +2025-02-08T11:00,27.0 +2025-02-08T12:00,25.3 +2025-02-08T13:00,24.7 +2025-02-08T14:00,25.1 +2025-02-08T15:00,26.8 +2025-02-08T16:00,18.8 +2025-02-08T17:00,19.9 +2025-02-08T18:00,21.3 +2025-02-08T19:00,26.8 +2025-02-08T20:00,20.5 +2025-02-08T21:00,15.2 +2025-02-08T22:00,17.8 +2025-02-08T23:00,19.3 +2025-02-09T00:00,13.6 +2025-02-09T01:00,18.3 +2025-02-09T02:00,18.2 +2025-02-09T03:00,18.9 +2025-02-09T04:00,17.7 +2025-02-09T05:00,22.3 +2025-02-09T06:00,22.9 +2025-02-09T07:00,23.0 +2025-02-09T08:00,25.4 +2025-02-09T09:00,21.6 +2025-02-09T10:00,22.6 +2025-02-09T11:00,29.6 +2025-02-09T12:00,22.4 +2025-02-09T13:00,25.8 +2025-02-09T14:00,25.7 +2025-02-09T15:00,20.2 +2025-02-09T16:00,25.3 +2025-02-09T17:00,25.3 +2025-02-09T18:00,18.9 +2025-02-09T19:00,21.4 +2025-02-09T20:00,13.6 +2025-02-09T21:00,14.9 +2025-02-09T22:00,17.7 +2025-02-09T23:00,17.3 +2025-02-10T00:00,18.3 +2025-02-10T01:00,19.3 +2025-02-10T02:00,16.1 +2025-02-10T03:00,12.1 +2025-02-10T04:00,19.3 +2025-02-10T05:00,21.2 +2025-02-10T06:00,20.8 +2025-02-10T07:00,22.5 +2025-02-10T08:00,27.1 +2025-02-10T09:00,24.8 +2025-02-10T10:00,26.9 +2025-02-10T11:00,24.7 +2025-02-10T12:00,28.9 +2025-02-10T13:00,27.3 +2025-02-10T14:00,21.4 +2025-02-10T15:00,20.9 +2025-02-10T16:00,21.6 +2025-02-10T17:00,18.7 +2025-02-10T18:00,18.9 +2025-02-10T19:00,19.7 +2025-02-10T20:00,19.6 +2025-02-10T21:00,20.9 +2025-02-10T22:00,13.6 +2025-02-10T23:00,17.4 +2025-02-11T00:00,19.1 +2025-02-11T01:00,11.9 +2025-02-11T02:00,17.8 +2025-02-11T03:00,15.3 +2025-02-11T04:00,18.4 +2025-02-11T05:00,17.4 +2025-02-11T06:00,16.4 +2025-02-11T07:00,21.9 +2025-02-11T08:00,22.6 +2025-02-11T09:00,26.5 +2025-02-11T10:00,27.7 +2025-02-11T11:00,25.2 +2025-02-11T12:00,27.0 +2025-02-11T13:00,21.3 +2025-02-11T14:00,22.9 +2025-02-11T15:00,24.2 +2025-02-11T16:00,20.4 +2025-02-11T17:00,16.6 +2025-02-11T18:00,20.9 +2025-02-11T19:00,22.1 +2025-02-11T20:00,19.2 +2025-02-11T21:00,18.0 +2025-02-11T22:00,17.3 +2025-02-11T23:00,16.5 +2025-02-12T00:00,12.9 +2025-02-12T01:00,17.3 +2025-02-12T02:00,15.9 +2025-02-12T03:00,18.9 +2025-02-12T04:00,18.1 +2025-02-12T05:00,18.8 +2025-02-12T06:00,19.2 +2025-02-12T07:00,19.0 +2025-02-12T08:00,23.2 +2025-02-12T09:00,21.2 +2025-02-12T10:00,22.1 +2025-02-12T11:00,21.8 +2025-02-12T12:00,24.5 +2025-02-12T13:00,25.5 +2025-02-12T14:00,22.4 +2025-02-12T15:00,22.2 +2025-02-12T16:00,23.4 +2025-02-12T17:00,30.6 +2025-02-12T18:00,20.2 +2025-02-12T19:00,17.2 +2025-02-12T20:00,18.1 +2025-02-12T21:00,16.4 +2025-02-12T22:00,16.2 +2025-02-12T23:00,13.8 +2025-02-13T00:00,19.4 +2025-02-13T01:00,20.2 +2025-02-13T02:00,16.8 +2025-02-13T03:00,18.5 +2025-02-13T04:00,18.7 +2025-02-13T05:00,17.4 +2025-02-13T06:00,18.6 +2025-02-13T07:00,24.8 +2025-02-13T08:00,21.0 +2025-02-13T09:00,22.7 +2025-02-13T10:00,23.4 +2025-02-13T11:00,20.2 +2025-02-13T12:00,25.3 +2025-02-13T13:00,27.7 +2025-02-13T14:00,22.3 +2025-02-13T15:00,22.7 +2025-02-13T16:00,25.3 +2025-02-13T17:00,19.8 +2025-02-13T18:00,22.6 +2025-02-13T19:00,17.6 +2025-02-13T20:00,15.4 +2025-02-13T21:00,14.6 +2025-02-13T22:00,17.7 +2025-02-13T23:00,14.6 +2025-02-14T00:00,15.7 +2025-02-14T01:00,19.6 +2025-02-14T02:00,9.6 +2025-02-14T03:00,16.9 +2025-02-14T04:00,21.8 +2025-02-14T05:00,13.8 +2025-02-14T06:00,20.1 +2025-02-14T07:00,19.6 +2025-02-14T08:00,24.7 +2025-02-14T09:00,21.7 +2025-02-14T10:00,24.0 +2025-02-14T11:00,21.9 +2025-02-14T12:00,24.8 +2025-02-14T13:00,22.6 +2025-02-14T14:00,24.8 +2025-02-14T15:00,24.5 +2025-02-14T16:00,25.6 +2025-02-14T17:00,23.0 +2025-02-14T18:00,19.7 +2025-02-14T19:00,19.7 +2025-02-14T20:00,14.5 +2025-02-14T21:00,21.4 +2025-02-14T22:00,15.4 +2025-02-14T23:00,14.4 +2025-02-15T00:00,16.5 +2025-02-15T01:00,16.6 +2025-02-15T02:00,17.9 +2025-02-15T03:00,20.8 +2025-02-15T04:00,17.4 +2025-02-15T05:00,21.5 +2025-02-15T06:00,19.6 +2025-02-15T07:00,19.8 +2025-02-15T08:00,24.1 +2025-02-15T09:00,24.3 +2025-02-15T10:00,22.5 +2025-02-15T11:00,24.8 +2025-02-15T12:00,23.0 +2025-02-15T13:00,23.9 +2025-02-15T14:00,24.8 +2025-02-15T15:00,22.2 +2025-02-15T16:00,18.3 +2025-02-15T17:00,18.8 +2025-02-15T18:00,17.9 +2025-02-15T19:00,20.2 +2025-02-15T20:00,17.3 +2025-02-15T21:00,15.5 +2025-02-15T22:00,20.7 +2025-02-15T23:00,18.0 +2025-02-16T00:00,20.2 +2025-02-16T01:00,21.1 +2025-02-16T02:00,15.7 +2025-02-16T03:00,20.6 +2025-02-16T04:00,24.0 +2025-02-16T05:00,21.4 +2025-02-16T06:00,21.1 +2025-02-16T07:00,17.4 +2025-02-16T08:00,22.6 +2025-02-16T09:00,24.1 +2025-02-16T10:00,28.3 +2025-02-16T11:00,27.9 +2025-02-16T12:00,23.0 +2025-02-16T13:00,20.8 +2025-02-16T14:00,22.3 +2025-02-16T15:00,23.0 +2025-02-16T16:00,23.4 +2025-02-16T17:00,18.2 +2025-02-16T18:00,18.0 +2025-02-16T19:00,20.1 +2025-02-16T20:00,18.2 +2025-02-16T21:00,14.6 +2025-02-16T22:00,17.6 +2025-02-16T23:00,17.8 +2025-02-17T00:00,14.4 +2025-02-17T01:00,10.4 +2025-02-17T02:00,19.7 +2025-02-17T03:00,14.2 +2025-02-17T04:00,18.2 +2025-02-17T05:00,17.3 +2025-02-17T06:00,19.4 +2025-02-17T07:00,22.9 +2025-02-17T08:00,22.6 +2025-02-17T09:00,24.1 +2025-02-17T10:00,20.6 +2025-02-17T11:00,23.8 +2025-02-17T12:00,23.2 +2025-02-17T13:00,22.5 +2025-02-17T14:00,25.0 +2025-02-17T15:00,20.9 +2025-02-17T16:00,19.8 +2025-02-17T17:00,18.9 +2025-02-17T18:00,19.1 +2025-02-17T19:00,23.3 +2025-02-17T20:00,18.2 +2025-02-17T21:00,16.1 +2025-02-17T22:00,15.8 +2025-02-17T23:00,17.5 +2025-02-18T00:00,15.5 +2025-02-18T01:00,14.5 +2025-02-18T02:00,17.1 +2025-02-18T03:00,17.1 +2025-02-18T04:00,19.5 +2025-02-18T05:00,17.5 +2025-02-18T06:00,18.3 +2025-02-18T07:00,23.1 +2025-02-18T08:00,26.8 +2025-02-18T09:00,19.9 +2025-02-18T10:00,25.0 +2025-02-18T11:00,25.7 +2025-02-18T12:00,21.9 +2025-02-18T13:00,28.6 +2025-02-18T14:00,25.6 +2025-02-18T15:00,26.6 +2025-02-18T16:00,24.5 +2025-02-18T17:00,21.3 +2025-02-18T18:00,20.8 +2025-02-18T19:00,17.4 +2025-02-18T20:00,16.4 +2025-02-18T21:00,16.8 +2025-02-18T22:00,16.7 +2025-02-18T23:00,18.3 +2025-02-19T00:00,17.9 +2025-02-19T01:00,15.4 +2025-02-19T02:00,16.9 +2025-02-19T03:00,19.1 +2025-02-19T04:00,24.8 +2025-02-19T05:00,19.9 +2025-02-19T06:00,23.2 +2025-02-19T07:00,23.0 +2025-02-19T08:00,22.5 +2025-02-19T09:00,22.8 +2025-02-19T10:00,22.0 +2025-02-19T11:00,23.8 +2025-02-19T12:00,22.7 +2025-02-19T13:00,25.0 +2025-02-19T14:00,23.3 +2025-02-19T15:00,19.4 +2025-02-19T16:00,24.1 +2025-02-19T17:00,26.2 +2025-02-19T18:00,22.9 +2025-02-19T19:00,20.0 +2025-02-19T20:00,12.4 +2025-02-19T21:00,17.5 +2025-02-19T22:00,19.9 +2025-02-19T23:00,18.6 +2025-02-20T00:00,14.3 +2025-02-20T01:00,18.0 +2025-02-20T02:00,17.7 +2025-02-20T03:00,16.4 +2025-02-20T04:00,18.5 +2025-02-20T05:00,21.4 +2025-02-20T06:00,21.9 +2025-02-20T07:00,19.1 +2025-02-20T08:00,22.3 +2025-02-20T09:00,19.6 +2025-02-20T10:00,23.1 +2025-02-20T11:00,20.9 +2025-02-20T12:00,27.0 +2025-02-20T13:00,26.8 +2025-02-20T14:00,25.3 +2025-02-20T15:00,22.7 +2025-02-20T16:00,21.5 +2025-02-20T17:00,22.4 +2025-02-20T18:00,17.5 +2025-02-20T19:00,24.5 +2025-02-20T20:00,17.2 +2025-02-20T21:00,16.2 +2025-02-20T22:00,20.0 +2025-02-20T23:00,15.7 +2025-02-21T00:00,16.4 +2025-02-21T01:00,15.7 +2025-02-21T02:00,12.7 +2025-02-21T03:00,19.3 +2025-02-21T04:00,17.0 +2025-02-21T05:00,18.1 +2025-02-21T06:00,22.2 +2025-02-21T07:00,20.2 +2025-02-21T08:00,24.5 +2025-02-21T09:00,19.3 +2025-02-21T10:00,20.9 +2025-02-21T11:00,20.3 +2025-02-21T12:00,24.6 +2025-02-21T13:00,26.3 +2025-02-21T14:00,24.5 +2025-02-21T15:00,22.9 +2025-02-21T16:00,22.7 +2025-02-21T17:00,18.9 +2025-02-21T18:00,22.3 +2025-02-21T19:00,20.4 +2025-02-21T20:00,23.9 +2025-02-21T21:00,17.5 +2025-02-21T22:00,20.4 +2025-02-21T23:00,17.6 +2025-02-22T00:00,16.1 +2025-02-22T01:00,19.5 +2025-02-22T02:00,12.3 +2025-02-22T03:00,14.5 +2025-02-22T04:00,15.3 +2025-02-22T05:00,17.9 +2025-02-22T06:00,18.1 +2025-02-22T07:00,21.7 +2025-02-22T08:00,21.1 +2025-02-22T09:00,20.1 +2025-02-22T10:00,25.5 +2025-02-22T11:00,27.3 +2025-02-22T12:00,25.5 +2025-02-22T13:00,23.5 +2025-02-22T14:00,26.4 +2025-02-22T15:00,23.9 +2025-02-22T16:00,18.8 +2025-02-22T17:00,19.0 +2025-02-22T18:00,17.6 +2025-02-22T19:00,16.9 +2025-02-22T20:00,14.6 +2025-02-22T21:00,12.5 +2025-02-22T22:00,12.7 +2025-02-22T23:00,21.0 +2025-02-23T00:00,15.1 +2025-02-23T01:00,13.1 +2025-02-23T02:00,16.0 +2025-02-23T03:00,16.8 +2025-02-23T04:00,17.5 +2025-02-23T05:00,18.9 +2025-02-23T06:00,19.1 +2025-02-23T07:00,26.2 +2025-02-23T08:00,22.4 +2025-02-23T09:00,23.8 +2025-02-23T10:00,22.7 +2025-02-23T11:00,22.5 +2025-02-23T12:00,23.3 +2025-02-23T13:00,21.4 +2025-02-23T14:00,20.8 +2025-02-23T15:00,23.9 +2025-02-23T16:00,16.4 +2025-02-23T17:00,22.7 +2025-02-23T18:00,22.4 +2025-02-23T19:00,16.2 +2025-02-23T20:00,16.9 +2025-02-23T21:00,15.5 +2025-02-23T22:00,16.7 +2025-02-23T23:00,15.6 +2025-02-24T00:00,12.9 +2025-02-24T01:00,17.9 +2025-02-24T02:00,15.5 +2025-02-24T03:00,15.4 +2025-02-24T04:00,18.3 +2025-02-24T05:00,16.5 +2025-02-24T06:00,16.6 +2025-02-24T07:00,23.2 +2025-02-24T08:00,21.0 +2025-02-24T09:00,26.9 +2025-02-24T10:00,21.1 +2025-02-24T11:00,27.0 +2025-02-24T12:00,23.6 +2025-02-24T13:00,19.5 +2025-02-24T14:00,24.1 +2025-02-24T15:00,24.6 +2025-02-24T16:00,23.8 +2025-02-24T17:00,17.9 +2025-02-24T18:00,21.9 +2025-02-24T19:00,13.6 +2025-02-24T20:00,18.5 +2025-02-24T21:00,17.2 +2025-02-24T22:00,22.3 +2025-02-24T23:00,16.8 +2025-02-25T00:00,11.2 +2025-02-25T01:00,15.0 +2025-02-25T02:00,15.5 +2025-02-25T03:00,14.4 +2025-02-25T04:00,16.2 +2025-02-25T05:00,20.0 +2025-02-25T06:00,17.5 +2025-02-25T07:00,21.0 +2025-02-25T08:00,21.1 +2025-02-25T09:00,22.7 +2025-02-25T10:00,18.8 +2025-02-25T11:00,22.3 +2025-02-25T12:00,22.7 +2025-02-25T13:00,23.2 +2025-02-25T14:00,21.7 +2025-02-25T15:00,18.2 +2025-02-25T16:00,15.4 +2025-02-25T17:00,22.0 +2025-02-25T18:00,15.4 +2025-02-25T19:00,16.0 +2025-02-25T20:00,17.7 +2025-02-25T21:00,18.9 +2025-02-25T22:00,11.4 +2025-02-25T23:00,10.9 +2025-02-26T00:00,18.5 +2025-02-26T01:00,13.5 +2025-02-26T02:00,13.0 +2025-02-26T03:00,15.9 +2025-02-26T04:00,17.0 +2025-02-26T05:00,18.8 +2025-02-26T06:00,18.0 +2025-02-26T07:00,19.8 +2025-02-26T08:00,23.4 +2025-02-26T09:00,23.0 +2025-02-26T10:00,18.7 +2025-02-26T11:00,26.8 +2025-02-26T12:00,25.0 +2025-02-26T13:00,25.5 +2025-02-26T14:00,25.5 +2025-02-26T15:00,22.7 +2025-02-26T16:00,19.3 +2025-02-26T17:00,19.3 +2025-02-26T18:00,21.9 +2025-02-26T19:00,17.8 +2025-02-26T20:00,16.9 +2025-02-26T21:00,16.0 +2025-02-26T22:00,16.7 +2025-02-26T23:00,13.8 +2025-02-27T00:00,16.6 +2025-02-27T01:00,15.8 +2025-02-27T02:00,18.1 +2025-02-27T03:00,16.6 +2025-02-27T04:00,16.0 +2025-02-27T05:00,16.5 +2025-02-27T06:00,17.5 +2025-02-27T07:00,20.3 +2025-02-27T08:00,23.6 +2025-02-27T09:00,21.8 +2025-02-27T10:00,19.7 +2025-02-27T11:00,27.6 +2025-02-27T12:00,18.9 +2025-02-27T13:00,21.1 +2025-02-27T14:00,25.8 +2025-02-27T15:00,17.3 +2025-02-27T16:00,18.9 +2025-02-27T17:00,17.3 +2025-02-27T18:00,17.5 +2025-02-27T19:00,15.3 +2025-02-27T20:00,16.9 +2025-02-27T21:00,20.7 +2025-02-27T22:00,12.2 +2025-02-27T23:00,12.5 +2025-02-28T00:00,15.3 +2025-02-28T01:00,16.4 +2025-02-28T02:00,14.4 +2025-02-28T03:00,21.4 +2025-02-28T04:00,21.0 +2025-02-28T05:00,16.7 +2025-02-28T06:00,23.1 +2025-02-28T07:00,22.6 +2025-02-28T08:00,22.4 +2025-02-28T09:00,19.8 +2025-02-28T10:00,19.4 +2025-02-28T11:00,22.9 +2025-02-28T12:00,22.9 +2025-02-28T13:00,18.3 +2025-02-28T14:00,23.8 +2025-02-28T15:00,22.8 +2025-02-28T16:00,23.0 +2025-02-28T17:00,15.3 +2025-02-28T18:00,14.6 +2025-02-28T19:00,14.9 +2025-02-28T20:00,22.3 +2025-02-28T21:00,16.7 +2025-02-28T22:00,17.5 +2025-02-28T23:00,15.5 +2025-03-01T00:00,13.6 +2025-03-01T01:00,16.9 +2025-03-01T02:00,14.3 +2025-03-01T03:00,15.6 +2025-03-01T04:00,19.9 +2025-03-01T05:00,16.9 +2025-03-01T06:00,22.9 +2025-03-01T07:00,18.3 +2025-03-01T08:00,17.3 +2025-03-01T09:00,22.6 +2025-03-01T10:00,22.7 +2025-03-01T11:00,21.7 +2025-03-01T12:00,20.6 +2025-03-01T13:00,24.7 +2025-03-01T14:00,22.8 +2025-03-01T15:00,22.4 +2025-03-01T16:00,24.9 +2025-03-01T17:00,18.2 +2025-03-01T18:00,19.6 +2025-03-01T19:00,18.8 +2025-03-01T20:00,15.3 +2025-03-01T21:00,16.0 +2025-03-01T22:00,16.1 +2025-03-01T23:00,15.2 +2025-03-02T00:00,14.0 +2025-03-02T01:00,14.1 +2025-03-02T02:00,17.5 +2025-03-02T03:00,15.7 +2025-03-02T04:00,19.5 +2025-03-02T05:00,19.0 +2025-03-02T06:00,16.7 +2025-03-02T07:00,19.9 +2025-03-02T08:00,22.0 +2025-03-02T09:00,24.9 +2025-03-02T10:00,23.3 +2025-03-02T11:00,22.8 +2025-03-02T12:00,24.0 +2025-03-02T13:00,22.9 +2025-03-02T14:00,23.3 +2025-03-02T15:00,20.3 +2025-03-02T16:00,18.5 +2025-03-02T17:00,19.6 +2025-03-02T18:00,16.0 +2025-03-02T19:00,13.7 +2025-03-02T20:00,14.0 +2025-03-02T21:00,17.6 +2025-03-02T22:00,20.2 +2025-03-02T23:00,13.1 +2025-03-03T00:00,14.3 +2025-03-03T01:00,21.0 +2025-03-03T02:00,15.9 +2025-03-03T03:00,17.6 +2025-03-03T04:00,15.3 +2025-03-03T05:00,19.8 +2025-03-03T06:00,21.8 +2025-03-03T07:00,16.9 +2025-03-03T08:00,19.1 +2025-03-03T09:00,17.9 +2025-03-03T10:00,21.5 +2025-03-03T11:00,21.4 +2025-03-03T12:00,24.8 +2025-03-03T13:00,22.7 +2025-03-03T14:00,20.6 +2025-03-03T15:00,16.6 +2025-03-03T16:00,21.4 +2025-03-03T17:00,17.7 +2025-03-03T18:00,17.2 +2025-03-03T19:00,16.2 +2025-03-03T20:00,17.3 +2025-03-03T21:00,14.6 +2025-03-03T22:00,14.9 +2025-03-03T23:00,12.7 +2025-03-04T00:00,12.6 +2025-03-04T01:00,13.5 +2025-03-04T02:00,12.9 +2025-03-04T03:00,19.5 +2025-03-04T04:00,15.9 +2025-03-04T05:00,15.6 +2025-03-04T06:00,14.5 +2025-03-04T07:00,18.6 +2025-03-04T08:00,17.0 +2025-03-04T09:00,20.3 +2025-03-04T10:00,24.6 +2025-03-04T11:00,21.8 +2025-03-04T12:00,23.7 +2025-03-04T13:00,22.9 +2025-03-04T14:00,19.4 +2025-03-04T15:00,22.1 +2025-03-04T16:00,19.0 +2025-03-04T17:00,22.1 +2025-03-04T18:00,18.6 +2025-03-04T19:00,14.5 +2025-03-04T20:00,13.3 +2025-03-04T21:00,18.5 +2025-03-04T22:00,13.7 +2025-03-04T23:00,12.3 +2025-03-05T00:00,13.7 +2025-03-05T01:00,14.1 +2025-03-05T02:00,16.9 +2025-03-05T03:00,18.2 +2025-03-05T04:00,16.9 +2025-03-05T05:00,21.3 +2025-03-05T06:00,19.8 +2025-03-05T07:00,14.0 +2025-03-05T08:00,19.7 +2025-03-05T09:00,20.2 +2025-03-05T10:00,23.0 +2025-03-05T11:00,23.6 +2025-03-05T12:00,21.9 +2025-03-05T13:00,26.7 +2025-03-05T14:00,18.9 +2025-03-05T15:00,23.1 +2025-03-05T16:00,20.3 +2025-03-05T17:00,21.2 +2025-03-05T18:00,18.6 +2025-03-05T19:00,19.9 +2025-03-05T20:00,16.1 +2025-03-05T21:00,13.4 +2025-03-05T22:00,11.7 +2025-03-05T23:00,15.7 +2025-03-06T00:00,9.1 +2025-03-06T01:00,8.6 +2025-03-06T02:00,15.0 +2025-03-06T03:00,17.9 +2025-03-06T04:00,17.5 +2025-03-06T05:00,13.9 +2025-03-06T06:00,21.0 +2025-03-06T07:00,19.5 +2025-03-06T08:00,23.0 +2025-03-06T09:00,25.9 +2025-03-06T10:00,18.8 +2025-03-06T11:00,23.7 +2025-03-06T12:00,27.1 +2025-03-06T13:00,26.5 +2025-03-06T14:00,19.8 +2025-03-06T15:00,22.8 +2025-03-06T16:00,19.3 +2025-03-06T17:00,15.7 +2025-03-06T18:00,19.2 +2025-03-06T19:00,16.9 +2025-03-06T20:00,14.0 +2025-03-06T21:00,17.1 +2025-03-06T22:00,17.8 +2025-03-06T23:00,9.5 +2025-03-07T00:00,10.7 +2025-03-07T01:00,12.1 +2025-03-07T02:00,18.9 +2025-03-07T03:00,12.8 +2025-03-07T04:00,19.8 +2025-03-07T05:00,20.0 +2025-03-07T06:00,17.7 +2025-03-07T07:00,21.0 +2025-03-07T08:00,22.2 +2025-03-07T09:00,18.5 +2025-03-07T10:00,19.6 +2025-03-07T11:00,15.4 +2025-03-07T12:00,22.5 +2025-03-07T13:00,21.9 +2025-03-07T14:00,21.1 +2025-03-07T15:00,23.0 +2025-03-07T16:00,19.9 +2025-03-07T17:00,20.7 +2025-03-07T18:00,17.8 +2025-03-07T19:00,20.2 +2025-03-07T20:00,16.1 +2025-03-07T21:00,15.0 +2025-03-07T22:00,17.5 +2025-03-07T23:00,19.0 +2025-03-08T00:00,14.7 +2025-03-08T01:00,12.8 +2025-03-08T02:00,15.0 +2025-03-08T03:00,12.4 +2025-03-08T04:00,22.0 +2025-03-08T05:00,14.6 +2025-03-08T06:00,19.0 +2025-03-08T07:00,16.2 +2025-03-08T08:00,24.5 +2025-03-08T09:00,20.8 +2025-03-08T10:00,23.3 +2025-03-08T11:00,22.7 +2025-03-08T12:00,24.0 +2025-03-08T13:00,20.8 +2025-03-08T14:00,24.4 +2025-03-08T15:00,22.7 +2025-03-08T16:00,20.5 +2025-03-08T17:00,17.8 +2025-03-08T18:00,18.3 +2025-03-08T19:00,20.9 +2025-03-08T20:00,14.9 +2025-03-08T21:00,15.7 +2025-03-08T22:00,17.7 +2025-03-08T23:00,15.3 +2025-03-09T00:00,17.2 +2025-03-09T01:00,13.5 +2025-03-09T02:00,17.3 +2025-03-09T03:00,12.8 +2025-03-09T04:00,18.0 +2025-03-09T05:00,16.4 +2025-03-09T06:00,18.6 +2025-03-09T07:00,16.1 +2025-03-09T08:00,20.9 +2025-03-09T09:00,23.3 +2025-03-09T10:00,27.1 +2025-03-09T11:00,23.5 +2025-03-09T12:00,20.7 +2025-03-09T13:00,23.8 +2025-03-09T14:00,21.9 +2025-03-09T15:00,21.5 +2025-03-09T16:00,18.2 +2025-03-09T17:00,19.7 +2025-03-09T18:00,19.0 +2025-03-09T19:00,18.3 +2025-03-09T20:00,11.4 +2025-03-09T21:00,16.1 +2025-03-09T22:00,16.5 +2025-03-09T23:00,12.1 +2025-03-10T00:00,13.4 +2025-03-10T01:00,7.7 +2025-03-10T02:00,9.8 +2025-03-10T03:00,14.9 +2025-03-10T04:00,16.0 +2025-03-10T05:00,13.4 +2025-03-10T06:00,21.6 +2025-03-10T07:00,23.1 +2025-03-10T08:00,21.1 +2025-03-10T09:00,20.4 +2025-03-10T10:00,26.9 +2025-03-10T11:00,19.1 +2025-03-10T12:00,22.2 +2025-03-10T13:00,15.5 +2025-03-10T14:00,23.7 +2025-03-10T15:00,23.7 +2025-03-10T16:00,14.5 +2025-03-10T17:00,20.3 +2025-03-10T18:00,17.4 +2025-03-10T19:00,21.1 +2025-03-10T20:00,13.5 +2025-03-10T21:00,11.2 +2025-03-10T22:00,11.1 +2025-03-10T23:00,11.0 +2025-03-11T00:00,12.3 +2025-03-11T01:00,15.6 +2025-03-11T02:00,13.9 +2025-03-11T03:00,14.2 +2025-03-11T04:00,16.5 +2025-03-11T05:00,16.1 +2025-03-11T06:00,14.9 +2025-03-11T07:00,18.3 +2025-03-11T08:00,17.3 +2025-03-11T09:00,16.0 +2025-03-11T10:00,21.3 +2025-03-11T11:00,21.9 +2025-03-11T12:00,20.2 +2025-03-11T13:00,21.2 +2025-03-11T14:00,20.2 +2025-03-11T15:00,23.3 +2025-03-11T16:00,12.8 +2025-03-11T17:00,19.7 +2025-03-11T18:00,14.4 +2025-03-11T19:00,16.8 +2025-03-11T20:00,14.9 +2025-03-11T21:00,14.9 +2025-03-11T22:00,18.4 +2025-03-11T23:00,15.1 +2025-03-12T00:00,18.1 +2025-03-12T01:00,18.1 +2025-03-12T02:00,10.2 +2025-03-12T03:00,17.2 +2025-03-12T04:00,17.2 +2025-03-12T05:00,20.1 +2025-03-12T06:00,13.7 +2025-03-12T07:00,17.4 +2025-03-12T08:00,23.5 +2025-03-12T09:00,19.7 +2025-03-12T10:00,19.9 +2025-03-12T11:00,24.1 +2025-03-12T12:00,21.0 +2025-03-12T13:00,21.0 +2025-03-12T14:00,24.8 +2025-03-12T15:00,22.1 +2025-03-12T16:00,14.5 +2025-03-12T17:00,15.8 +2025-03-12T18:00,17.0 +2025-03-12T19:00,14.4 +2025-03-12T20:00,17.8 +2025-03-12T21:00,14.5 +2025-03-12T22:00,12.7 +2025-03-12T23:00,13.4 +2025-03-13T00:00,16.0 +2025-03-13T01:00,13.4 +2025-03-13T02:00,14.5 +2025-03-13T03:00,13.4 +2025-03-13T04:00,17.4 +2025-03-13T05:00,18.1 +2025-03-13T06:00,16.5 +2025-03-13T07:00,20.0 +2025-03-13T08:00,21.2 +2025-03-13T09:00,19.9 +2025-03-13T10:00,17.3 +2025-03-13T11:00,24.4 +2025-03-13T12:00,20.1 +2025-03-13T13:00,18.6 +2025-03-13T14:00,19.4 +2025-03-13T15:00,19.8 +2025-03-13T16:00,17.5 +2025-03-13T17:00,20.4 +2025-03-13T18:00,16.1 +2025-03-13T19:00,14.6 +2025-03-13T20:00,17.0 +2025-03-13T21:00,18.3 +2025-03-13T22:00,15.0 +2025-03-13T23:00,13.7 +2025-03-14T00:00,9.9 +2025-03-14T01:00,14.4 +2025-03-14T02:00,14.3 +2025-03-14T03:00,15.5 +2025-03-14T04:00,13.2 +2025-03-14T05:00,15.9 +2025-03-14T06:00,17.8 +2025-03-14T07:00,22.5 +2025-03-14T08:00,14.3 +2025-03-14T09:00,20.0 +2025-03-14T10:00,23.0 +2025-03-14T11:00,24.0 +2025-03-14T12:00,16.8 +2025-03-14T13:00,22.4 +2025-03-14T14:00,23.2 +2025-03-14T15:00,15.3 +2025-03-14T16:00,20.9 +2025-03-14T17:00,21.4 +2025-03-14T18:00,14.4 +2025-03-14T19:00,13.3 +2025-03-14T20:00,19.5 +2025-03-14T21:00,13.9 +2025-03-14T22:00,15.0 +2025-03-14T23:00,10.5 +2025-03-15T00:00,11.7 +2025-03-15T01:00,9.3 +2025-03-15T02:00,13.9 +2025-03-15T03:00,17.6 +2025-03-15T04:00,16.5 +2025-03-15T05:00,16.3 +2025-03-15T06:00,16.8 +2025-03-15T07:00,22.9 +2025-03-15T08:00,18.7 +2025-03-15T09:00,20.7 +2025-03-15T10:00,24.7 +2025-03-15T11:00,22.0 +2025-03-15T12:00,24.9 +2025-03-15T13:00,21.1 +2025-03-15T14:00,24.6 +2025-03-15T15:00,20.2 +2025-03-15T16:00,21.1 +2025-03-15T17:00,13.9 +2025-03-15T18:00,15.4 +2025-03-15T19:00,12.8 +2025-03-15T20:00,12.0 +2025-03-15T21:00,17.3 +2025-03-15T22:00,14.2 +2025-03-15T23:00,11.2 +2025-03-16T00:00,6.8 +2025-03-16T01:00,18.1 +2025-03-16T02:00,7.6 +2025-03-16T03:00,17.6 +2025-03-16T04:00,15.6 +2025-03-16T05:00,14.7 +2025-03-16T06:00,21.7 +2025-03-16T07:00,19.2 +2025-03-16T08:00,20.1 +2025-03-16T09:00,20.0 +2025-03-16T10:00,20.8 +2025-03-16T11:00,22.3 +2025-03-16T12:00,20.3 +2025-03-16T13:00,21.5 +2025-03-16T14:00,21.7 +2025-03-16T15:00,14.3 +2025-03-16T16:00,18.9 +2025-03-16T17:00,13.6 +2025-03-16T18:00,16.1 +2025-03-16T19:00,12.3 +2025-03-16T20:00,17.5 +2025-03-16T21:00,9.7 +2025-03-16T22:00,16.3 +2025-03-16T23:00,10.9 +2025-03-17T00:00,12.4 +2025-03-17T01:00,13.4 +2025-03-17T02:00,14.1 +2025-03-17T03:00,16.7 +2025-03-17T04:00,13.8 +2025-03-17T05:00,15.6 +2025-03-17T06:00,14.1 +2025-03-17T07:00,18.3 +2025-03-17T08:00,18.6 +2025-03-17T09:00,17.1 +2025-03-17T10:00,16.7 +2025-03-17T11:00,19.8 +2025-03-17T12:00,18.9 +2025-03-17T13:00,18.1 +2025-03-17T14:00,23.0 +2025-03-17T15:00,20.4 +2025-03-17T16:00,13.2 +2025-03-17T17:00,14.4 +2025-03-17T18:00,12.4 +2025-03-17T19:00,13.0 +2025-03-17T20:00,9.8 +2025-03-17T21:00,7.9 +2025-03-17T22:00,9.3 +2025-03-17T23:00,18.0 +2025-03-18T00:00,17.1 +2025-03-18T01:00,16.2 +2025-03-18T02:00,8.5 +2025-03-18T03:00,16.1 +2025-03-18T04:00,20.3 +2025-03-18T05:00,16.9 +2025-03-18T06:00,16.5 +2025-03-18T07:00,23.9 +2025-03-18T08:00,19.5 +2025-03-18T09:00,18.2 +2025-03-18T10:00,22.5 +2025-03-18T11:00,22.1 +2025-03-18T12:00,22.6 +2025-03-18T13:00,18.4 +2025-03-18T14:00,20.1 +2025-03-18T15:00,20.5 +2025-03-18T16:00,24.3 +2025-03-18T17:00,18.7 +2025-03-18T18:00,17.8 +2025-03-18T19:00,16.1 +2025-03-18T20:00,12.0 +2025-03-18T21:00,10.8 +2025-03-18T22:00,13.4 +2025-03-18T23:00,8.6 +2025-03-19T00:00,11.3 +2025-03-19T01:00,13.0 +2025-03-19T02:00,9.2 +2025-03-19T03:00,17.7 +2025-03-19T04:00,17.1 +2025-03-19T05:00,18.9 +2025-03-19T06:00,15.0 +2025-03-19T07:00,22.4 +2025-03-19T08:00,13.9 +2025-03-19T09:00,20.0 +2025-03-19T10:00,20.4 +2025-03-19T11:00,20.0 +2025-03-19T12:00,19.4 +2025-03-19T13:00,23.3 +2025-03-19T14:00,22.2 +2025-03-19T15:00,14.6 +2025-03-19T16:00,19.5 +2025-03-19T17:00,15.8 +2025-03-19T18:00,13.8 +2025-03-19T19:00,10.8 +2025-03-19T20:00,14.7 +2025-03-19T21:00,18.0 +2025-03-19T22:00,13.0 +2025-03-19T23:00,10.0 +2025-03-20T00:00,12.6 +2025-03-20T01:00,12.1 +2025-03-20T02:00,11.5 +2025-03-20T03:00,14.3 +2025-03-20T04:00,12.9 +2025-03-20T05:00,11.4 +2025-03-20T06:00,13.3 +2025-03-20T07:00,21.4 +2025-03-20T08:00,23.4 +2025-03-20T09:00,17.6 +2025-03-20T10:00,21.1 +2025-03-20T11:00,20.9 +2025-03-20T12:00,16.0 +2025-03-20T13:00,19.8 +2025-03-20T14:00,22.5 +2025-03-20T15:00,21.1 +2025-03-20T16:00,18.5 +2025-03-20T17:00,16.7 +2025-03-20T18:00,13.1 +2025-03-20T19:00,14.3 +2025-03-20T20:00,16.5 +2025-03-20T21:00,9.3 +2025-03-20T22:00,13.7 +2025-03-20T23:00,11.4 +2025-03-21T00:00,13.2 +2025-03-21T01:00,12.5 +2025-03-21T02:00,13.4 +2025-03-21T03:00,10.1 +2025-03-21T04:00,14.8 +2025-03-21T05:00,14.0 +2025-03-21T06:00,19.3 +2025-03-21T07:00,15.9 +2025-03-21T08:00,13.0 +2025-03-21T09:00,16.3 +2025-03-21T10:00,17.6 +2025-03-21T11:00,19.9 +2025-03-21T12:00,20.8 +2025-03-21T13:00,22.0 +2025-03-21T14:00,19.2 +2025-03-21T15:00,18.2 +2025-03-21T16:00,17.2 +2025-03-21T17:00,15.1 +2025-03-21T18:00,22.6 +2025-03-21T19:00,15.8 +2025-03-21T20:00,12.5 +2025-03-21T21:00,12.5 +2025-03-21T22:00,7.5 +2025-03-21T23:00,15.2 +2025-03-22T00:00,11.4 +2025-03-22T01:00,8.8 +2025-03-22T02:00,9.7 +2025-03-22T03:00,15.0 +2025-03-22T04:00,13.2 +2025-03-22T05:00,15.2 +2025-03-22T06:00,13.8 +2025-03-22T07:00,17.0 +2025-03-22T08:00,18.6 +2025-03-22T09:00,18.3 +2025-03-22T10:00,15.3 +2025-03-22T11:00,20.4 +2025-03-22T12:00,18.5 +2025-03-22T13:00,22.9 +2025-03-22T14:00,18.9 +2025-03-22T15:00,19.3 +2025-03-22T16:00,13.8 +2025-03-22T17:00,18.4 +2025-03-22T18:00,13.8 +2025-03-22T19:00,11.4 +2025-03-22T20:00,13.3 +2025-03-22T21:00,17.9 +2025-03-22T22:00,12.0 +2025-03-22T23:00,11.5 +2025-03-23T00:00,8.3 +2025-03-23T01:00,8.7 +2025-03-23T02:00,17.5 +2025-03-23T03:00,13.6 +2025-03-23T04:00,8.4 +2025-03-23T05:00,12.9 +2025-03-23T06:00,16.1 +2025-03-23T07:00,17.4 +2025-03-23T08:00,19.1 +2025-03-23T09:00,16.2 +2025-03-23T10:00,22.2 +2025-03-23T11:00,21.2 +2025-03-23T12:00,17.0 +2025-03-23T13:00,14.0 +2025-03-23T14:00,18.2 +2025-03-23T15:00,20.2 +2025-03-23T16:00,20.7 +2025-03-23T17:00,14.7 +2025-03-23T18:00,10.4 +2025-03-23T19:00,14.5 +2025-03-23T20:00,18.2 +2025-03-23T21:00,13.6 +2025-03-23T22:00,11.5 +2025-03-23T23:00,15.2 +2025-03-24T00:00,11.2 +2025-03-24T01:00,9.3 +2025-03-24T02:00,7.7 +2025-03-24T03:00,11.9 +2025-03-24T04:00,13.1 +2025-03-24T05:00,15.9 +2025-03-24T06:00,15.1 +2025-03-24T07:00,15.3 +2025-03-24T08:00,16.6 +2025-03-24T09:00,22.5 +2025-03-24T10:00,20.8 +2025-03-24T11:00,21.3 +2025-03-24T12:00,19.4 +2025-03-24T13:00,19.0 +2025-03-24T14:00,20.3 +2025-03-24T15:00,17.1 +2025-03-24T16:00,18.0 +2025-03-24T17:00,12.5 +2025-03-24T18:00,17.4 +2025-03-24T19:00,11.2 +2025-03-24T20:00,19.1 +2025-03-24T21:00,10.9 +2025-03-24T22:00,16.7 +2025-03-24T23:00,17.1 +2025-03-25T00:00,13.9 +2025-03-25T01:00,12.8 +2025-03-25T02:00,15.2 +2025-03-25T03:00,13.0 +2025-03-25T04:00,13.1 +2025-03-25T05:00,15.4 +2025-03-25T06:00,16.5 +2025-03-25T07:00,13.2 +2025-03-25T08:00,18.8 +2025-03-25T09:00,16.9 +2025-03-25T10:00,20.0 +2025-03-25T11:00,18.7 +2025-03-25T12:00,18.0 +2025-03-25T13:00,16.0 +2025-03-25T14:00,16.0 +2025-03-25T15:00,15.1 +2025-03-25T16:00,15.0 +2025-03-25T17:00,21.7 +2025-03-25T18:00,12.2 +2025-03-25T19:00,13.4 +2025-03-25T20:00,13.5 +2025-03-25T21:00,15.2 +2025-03-25T22:00,13.4 +2025-03-25T23:00,16.4 +2025-03-26T00:00,7.0 +2025-03-26T01:00,12.4 +2025-03-26T02:00,12.1 +2025-03-26T03:00,12.3 +2025-03-26T04:00,13.2 +2025-03-26T05:00,11.9 +2025-03-26T06:00,15.8 +2025-03-26T07:00,16.3 +2025-03-26T08:00,15.5 +2025-03-26T09:00,16.4 +2025-03-26T10:00,21.2 +2025-03-26T11:00,11.3 +2025-03-26T12:00,18.4 +2025-03-26T13:00,23.1 +2025-03-26T14:00,17.8 +2025-03-26T15:00,21.1 +2025-03-26T16:00,13.7 +2025-03-26T17:00,21.2 +2025-03-26T18:00,12.5 +2025-03-26T19:00,14.8 +2025-03-26T20:00,13.0 +2025-03-26T21:00,10.5 +2025-03-26T22:00,11.4 +2025-03-26T23:00,12.6 +2025-03-27T00:00,6.0 +2025-03-27T01:00,15.1 +2025-03-27T02:00,13.0 +2025-03-27T03:00,17.1 +2025-03-27T04:00,13.5 +2025-03-27T05:00,16.2 +2025-03-27T06:00,12.6 +2025-03-27T07:00,11.0 +2025-03-27T08:00,21.2 +2025-03-27T09:00,21.9 +2025-03-27T10:00,23.5 +2025-03-27T11:00,19.4 +2025-03-27T12:00,15.2 +2025-03-27T13:00,16.1 +2025-03-27T14:00,20.0 +2025-03-27T15:00,17.1 +2025-03-27T16:00,16.2 +2025-03-27T17:00,21.0 +2025-03-27T18:00,14.4 +2025-03-27T19:00,11.6 +2025-03-27T20:00,15.8 +2025-03-27T21:00,11.1 +2025-03-27T22:00,9.1 +2025-03-27T23:00,14.4 +2025-03-28T00:00,6.4 +2025-03-28T01:00,12.3 +2025-03-28T02:00,10.1 +2025-03-28T03:00,15.3 +2025-03-28T04:00,12.3 +2025-03-28T05:00,13.6 +2025-03-28T06:00,17.2 +2025-03-28T07:00,16.1 +2025-03-28T08:00,16.3 +2025-03-28T09:00,16.1 +2025-03-28T10:00,20.7 +2025-03-28T11:00,18.2 +2025-03-28T12:00,21.3 +2025-03-28T13:00,15.7 +2025-03-28T14:00,20.1 +2025-03-28T15:00,18.2 +2025-03-28T16:00,18.8 +2025-03-28T17:00,19.6 +2025-03-28T18:00,8.7 +2025-03-28T19:00,12.2 +2025-03-28T20:00,13.7 +2025-03-28T21:00,10.1 +2025-03-28T22:00,11.2 +2025-03-28T23:00,11.1 +2025-03-29T00:00,7.0 +2025-03-29T01:00,15.2 +2025-03-29T02:00,16.0 +2025-03-29T03:00,10.7 +2025-03-29T04:00,11.3 +2025-03-29T05:00,11.3 +2025-03-29T06:00,12.3 +2025-03-29T07:00,12.6 +2025-03-29T08:00,18.1 +2025-03-29T09:00,17.2 +2025-03-29T10:00,18.5 +2025-03-29T11:00,20.8 +2025-03-29T12:00,20.7 +2025-03-29T13:00,20.9 +2025-03-29T14:00,22.3 +2025-03-29T15:00,21.7 +2025-03-29T16:00,16.2 +2025-03-29T17:00,19.1 +2025-03-29T18:00,18.3 +2025-03-29T19:00,14.0 +2025-03-29T20:00,13.5 +2025-03-29T21:00,7.1 +2025-03-29T22:00,14.8 +2025-03-29T23:00,11.3 +2025-03-30T00:00,12.6 +2025-03-30T01:00,7.0 +2025-03-30T02:00,9.7 +2025-03-30T03:00,17.2 +2025-03-30T04:00,14.4 +2025-03-30T05:00,11.8 +2025-03-30T06:00,17.4 +2025-03-30T07:00,19.3 +2025-03-30T08:00,17.3 +2025-03-30T09:00,14.8 +2025-03-30T10:00,16.8 +2025-03-30T11:00,16.8 +2025-03-30T12:00,14.0 +2025-03-30T13:00,18.5 +2025-03-30T14:00,14.1 +2025-03-30T15:00,18.5 +2025-03-30T16:00,20.2 +2025-03-30T17:00,15.0 +2025-03-30T18:00,15.2 +2025-03-30T19:00,13.1 +2025-03-30T20:00,14.7 +2025-03-30T21:00,8.5 +2025-03-30T22:00,16.6 +2025-03-30T23:00,11.1 +2025-03-31T00:00,9.4 +2025-03-31T01:00,3.5 +2025-03-31T02:00,13.5 +2025-03-31T03:00,11.6 +2025-03-31T04:00,13.9 +2025-03-31T05:00,14.1 +2025-03-31T06:00,11.0 +2025-03-31T07:00,20.5 +2025-03-31T08:00,16.0 +2025-03-31T09:00,12.3 +2025-03-31T10:00,10.1 +2025-03-31T11:00,16.6 +2025-03-31T12:00,17.5 +2025-03-31T13:00,18.2 +2025-03-31T14:00,20.7 +2025-03-31T15:00,16.0 +2025-03-31T16:00,18.1 +2025-03-31T17:00,13.2 +2025-03-31T18:00,18.0 +2025-03-31T19:00,14.7 +2025-03-31T20:00,11.4 +2025-03-31T21:00,10.6 +2025-03-31T22:00,14.3 +2025-03-31T23:00,11.0 +2025-04-01T00:00,9.4 +2025-04-01T01:00,12.8 +2025-04-01T02:00,12.5 +2025-04-01T03:00,11.8 +2025-04-01T04:00,10.3 +2025-04-01T05:00,12.3 +2025-04-01T06:00,17.0 +2025-04-01T07:00,14.5 +2025-04-01T08:00,21.3 +2025-04-01T09:00,17.5 +2025-04-01T10:00,14.7 +2025-04-01T11:00,17.2 +2025-04-01T12:00,14.0 +2025-04-01T13:00,15.4 +2025-04-01T14:00,12.5 +2025-04-01T15:00,15.6 +2025-04-01T16:00,10.9 +2025-04-01T17:00,12.3 +2025-04-01T18:00,15.2 +2025-04-01T19:00,14.8 +2025-04-01T20:00,12.9 +2025-04-01T21:00,14.1 +2025-04-01T22:00,12.3 +2025-04-01T23:00,7.3 +2025-04-02T00:00,7.9 +2025-04-02T01:00,12.5 +2025-04-02T02:00,12.4 +2025-04-02T03:00,11.6 +2025-04-02T04:00,10.2 +2025-04-02T05:00,10.4 +2025-04-02T06:00,13.9 +2025-04-02T07:00,14.5 +2025-04-02T08:00,19.6 +2025-04-02T09:00,13.3 +2025-04-02T10:00,20.4 +2025-04-02T11:00,16.5 +2025-04-02T12:00,19.4 +2025-04-02T13:00,21.1 +2025-04-02T14:00,21.2 +2025-04-02T15:00,19.4 +2025-04-02T16:00,14.2 +2025-04-02T17:00,19.0 +2025-04-02T18:00,12.0 +2025-04-02T19:00,10.8 +2025-04-02T20:00,13.5 +2025-04-02T21:00,14.0 +2025-04-02T22:00,11.8 +2025-04-02T23:00,10.4 +2025-04-03T00:00,8.5 +2025-04-03T01:00,14.3 +2025-04-03T02:00,12.0 +2025-04-03T03:00,9.0 +2025-04-03T04:00,14.9 +2025-04-03T05:00,10.6 +2025-04-03T06:00,16.5 +2025-04-03T07:00,17.5 +2025-04-03T08:00,11.2 +2025-04-03T09:00,16.3 +2025-04-03T10:00,16.7 +2025-04-03T11:00,16.1 +2025-04-03T12:00,19.4 +2025-04-03T13:00,17.1 +2025-04-03T14:00,21.4 +2025-04-03T15:00,13.5 +2025-04-03T16:00,15.0 +2025-04-03T17:00,15.6 +2025-04-03T18:00,8.9 +2025-04-03T19:00,12.4 +2025-04-03T20:00,15.0 +2025-04-03T21:00,10.8 +2025-04-03T22:00,8.0 +2025-04-03T23:00,13.1 +2025-04-04T00:00,9.1 +2025-04-04T01:00,10.3 +2025-04-04T02:00,9.4 +2025-04-04T03:00,11.0 +2025-04-04T04:00,15.0 +2025-04-04T05:00,11.3 +2025-04-04T06:00,17.6 +2025-04-04T07:00,14.6 +2025-04-04T08:00,16.6 +2025-04-04T09:00,21.1 +2025-04-04T10:00,16.7 +2025-04-04T11:00,16.5 +2025-04-04T12:00,16.5 +2025-04-04T13:00,19.8 +2025-04-04T14:00,19.2 +2025-04-04T15:00,15.3 +2025-04-04T16:00,15.0 +2025-04-04T17:00,15.0 +2025-04-04T18:00,11.9 +2025-04-04T19:00,12.4 +2025-04-04T20:00,9.8 +2025-04-04T21:00,11.1 +2025-04-04T22:00,13.6 +2025-04-04T23:00,8.8 +2025-04-05T00:00,5.9 +2025-04-05T01:00,8.1 +2025-04-05T02:00,15.6 +2025-04-05T03:00,10.5 +2025-04-05T04:00,14.2 +2025-04-05T05:00,14.5 +2025-04-05T06:00,11.0 +2025-04-05T07:00,14.5 +2025-04-05T08:00,12.7 +2025-04-05T09:00,15.0 +2025-04-05T10:00,15.7 +2025-04-05T11:00,15.9 +2025-04-05T12:00,21.0 +2025-04-05T13:00,18.6 +2025-04-05T14:00,18.2 +2025-04-05T15:00,14.1 +2025-04-05T16:00,12.5 +2025-04-05T17:00,15.7 +2025-04-05T18:00,18.1 +2025-04-05T19:00,10.5 +2025-04-05T20:00,6.3 +2025-04-05T21:00,7.8 +2025-04-05T22:00,7.8 +2025-04-05T23:00,11.9 +2025-04-06T00:00,4.2 +2025-04-06T01:00,7.5 +2025-04-06T02:00,10.2 +2025-04-06T03:00,9.1 +2025-04-06T04:00,10.8 +2025-04-06T05:00,12.9 +2025-04-06T06:00,10.9 +2025-04-06T07:00,13.4 +2025-04-06T08:00,12.9 +2025-04-06T09:00,13.2 +2025-04-06T10:00,16.7 +2025-04-06T11:00,14.5 +2025-04-06T12:00,15.8 +2025-04-06T13:00,14.0 +2025-04-06T14:00,15.7 +2025-04-06T15:00,16.7 +2025-04-06T16:00,14.0 +2025-04-06T17:00,16.0 +2025-04-06T18:00,16.7 +2025-04-06T19:00,9.4 +2025-04-06T20:00,9.1 +2025-04-06T21:00,10.3 +2025-04-06T22:00,10.4 +2025-04-06T23:00,8.6 +2025-04-07T00:00,5.5 +2025-04-07T01:00,6.5 +2025-04-07T02:00,6.0 +2025-04-07T03:00,7.5 +2025-04-07T04:00,17.6 +2025-04-07T05:00,12.7 +2025-04-07T06:00,14.5 +2025-04-07T07:00,13.7 +2025-04-07T08:00,12.0 +2025-04-07T09:00,20.4 +2025-04-07T10:00,18.4 +2025-04-07T11:00,16.7 +2025-04-07T12:00,18.1 +2025-04-07T13:00,13.4 +2025-04-07T14:00,16.1 +2025-04-07T15:00,14.8 +2025-04-07T16:00,14.9 +2025-04-07T17:00,13.5 +2025-04-07T18:00,14.9 +2025-04-07T19:00,15.6 +2025-04-07T20:00,9.6 +2025-04-07T21:00,15.9 +2025-04-07T22:00,7.9 +2025-04-07T23:00,6.5 +2025-04-08T00:00,10.0 +2025-04-08T01:00,12.5 +2025-04-08T02:00,8.3 +2025-04-08T03:00,7.1 +2025-04-08T04:00,12.0 +2025-04-08T05:00,15.4 +2025-04-08T06:00,12.5 +2025-04-08T07:00,15.0 +2025-04-08T08:00,14.7 +2025-04-08T09:00,17.5 +2025-04-08T10:00,18.6 +2025-04-08T11:00,20.3 +2025-04-08T12:00,16.3 +2025-04-08T13:00,16.0 +2025-04-08T14:00,14.2 +2025-04-08T15:00,8.2 +2025-04-08T16:00,17.9 +2025-04-08T17:00,10.0 +2025-04-08T18:00,11.0 +2025-04-08T19:00,9.6 +2025-04-08T20:00,9.5 +2025-04-08T21:00,4.3 +2025-04-08T22:00,8.0 +2025-04-08T23:00,7.1 +2025-04-09T00:00,11.2 +2025-04-09T01:00,10.9 +2025-04-09T02:00,11.6 +2025-04-09T03:00,11.0 +2025-04-09T04:00,8.9 +2025-04-09T05:00,9.4 +2025-04-09T06:00,16.1 +2025-04-09T07:00,11.2 +2025-04-09T08:00,16.2 +2025-04-09T09:00,15.5 +2025-04-09T10:00,13.5 +2025-04-09T11:00,18.0 +2025-04-09T12:00,16.8 +2025-04-09T13:00,14.9 +2025-04-09T14:00,18.1 +2025-04-09T15:00,11.8 +2025-04-09T16:00,17.9 +2025-04-09T17:00,13.4 +2025-04-09T18:00,12.0 +2025-04-09T19:00,11.2 +2025-04-09T20:00,7.5 +2025-04-09T21:00,12.0 +2025-04-09T22:00,12.5 +2025-04-09T23:00,4.9 +2025-04-10T00:00,8.9 +2025-04-10T01:00,9.2 +2025-04-10T02:00,7.4 +2025-04-10T03:00,12.7 +2025-04-10T04:00,12.6 +2025-04-10T05:00,12.7 +2025-04-10T06:00,13.7 +2025-04-10T07:00,16.2 +2025-04-10T08:00,14.5 +2025-04-10T09:00,14.2 +2025-04-10T10:00,17.6 +2025-04-10T11:00,11.6 +2025-04-10T12:00,15.3 +2025-04-10T13:00,22.0 +2025-04-10T14:00,13.7 +2025-04-10T15:00,17.7 +2025-04-10T16:00,12.3 +2025-04-10T17:00,10.9 +2025-04-10T18:00,15.5 +2025-04-10T19:00,13.7 +2025-04-10T20:00,7.0 +2025-04-10T21:00,13.1 +2025-04-10T22:00,5.8 +2025-04-10T23:00,6.8 +2025-04-11T00:00,7.8 +2025-04-11T01:00,4.8 +2025-04-11T02:00,9.3 +2025-04-11T03:00,8.3 +2025-04-11T04:00,7.8 +2025-04-11T05:00,11.6 +2025-04-11T06:00,13.8 +2025-04-11T07:00,13.4 +2025-04-11T08:00,18.2 +2025-04-11T09:00,17.3 +2025-04-11T10:00,20.6 +2025-04-11T11:00,19.2 +2025-04-11T12:00,16.5 +2025-04-11T13:00,19.1 +2025-04-11T14:00,15.3 +2025-04-11T15:00,17.4 +2025-04-11T16:00,17.4 +2025-04-11T17:00,13.9 +2025-04-11T18:00,11.6 +2025-04-11T19:00,11.7 +2025-04-11T20:00,10.8 +2025-04-11T21:00,5.8 +2025-04-11T22:00,10.2 +2025-04-11T23:00,6.0 +2025-04-12T00:00,12.2 +2025-04-12T01:00,9.3 +2025-04-12T02:00,12.4 +2025-04-12T03:00,15.4 +2025-04-12T04:00,9.4 +2025-04-12T05:00,13.1 +2025-04-12T06:00,15.8 +2025-04-12T07:00,18.5 +2025-04-12T08:00,18.4 +2025-04-12T09:00,11.9 +2025-04-12T10:00,15.6 +2025-04-12T11:00,21.9 +2025-04-12T12:00,16.3 +2025-04-12T13:00,16.0 +2025-04-12T14:00,15.6 +2025-04-12T15:00,15.6 +2025-04-12T16:00,18.8 +2025-04-12T17:00,10.0 +2025-04-12T18:00,11.5 +2025-04-12T19:00,8.6 +2025-04-12T20:00,9.2 +2025-04-12T21:00,11.0 +2025-04-12T22:00,6.4 +2025-04-12T23:00,6.3 +2025-04-13T00:00,9.2 +2025-04-13T01:00,7.3 +2025-04-13T02:00,10.1 +2025-04-13T03:00,11.3 +2025-04-13T04:00,13.4 +2025-04-13T05:00,10.9 +2025-04-13T06:00,10.9 +2025-04-13T07:00,11.9 +2025-04-13T08:00,16.8 +2025-04-13T09:00,18.3 +2025-04-13T10:00,16.4 +2025-04-13T11:00,11.8 +2025-04-13T12:00,16.4 +2025-04-13T13:00,11.0 +2025-04-13T14:00,14.7 +2025-04-13T15:00,15.0 +2025-04-13T16:00,13.9 +2025-04-13T17:00,13.9 +2025-04-13T18:00,15.7 +2025-04-13T19:00,8.4 +2025-04-13T20:00,16.8 +2025-04-13T21:00,7.9 +2025-04-13T22:00,10.2 +2025-04-13T23:00,11.7 +2025-04-14T00:00,10.2 +2025-04-14T01:00,6.4 +2025-04-14T02:00,10.1 +2025-04-14T03:00,7.2 +2025-04-14T04:00,6.6 +2025-04-14T05:00,12.1 +2025-04-14T06:00,14.8 +2025-04-14T07:00,14.9 +2025-04-14T08:00,14.8 +2025-04-14T09:00,12.0 +2025-04-14T10:00,14.8 +2025-04-14T11:00,16.7 +2025-04-14T12:00,12.4 +2025-04-14T13:00,10.7 +2025-04-14T14:00,16.0 +2025-04-14T15:00,15.6 +2025-04-14T16:00,14.2 +2025-04-14T17:00,15.0 +2025-04-14T18:00,10.4 +2025-04-14T19:00,11.6 +2025-04-14T20:00,9.0 +2025-04-14T21:00,8.7 +2025-04-14T22:00,9.0 +2025-04-14T23:00,6.9 +2025-04-15T00:00,6.6 +2025-04-15T01:00,4.4 +2025-04-15T02:00,5.7 +2025-04-15T03:00,5.9 +2025-04-15T04:00,10.7 +2025-04-15T05:00,7.0 +2025-04-15T06:00,9.2 +2025-04-15T07:00,10.8 +2025-04-15T08:00,11.1 +2025-04-15T09:00,13.3 +2025-04-15T10:00,18.4 +2025-04-15T11:00,12.2 +2025-04-15T12:00,14.8 +2025-04-15T13:00,16.5 +2025-04-15T14:00,15.4 +2025-04-15T15:00,18.2 +2025-04-15T16:00,18.1 +2025-04-15T17:00,16.6 +2025-04-15T18:00,6.5 +2025-04-15T19:00,12.3 +2025-04-15T20:00,4.4 +2025-04-15T21:00,8.7 +2025-04-15T22:00,7.9 +2025-04-15T23:00,5.0 +2025-04-16T00:00,7.8 +2025-04-16T01:00,11.9 +2025-04-16T02:00,16.0 +2025-04-16T03:00,9.5 +2025-04-16T04:00,9.1 +2025-04-16T05:00,13.8 +2025-04-16T06:00,13.3 +2025-04-16T07:00,10.2 +2025-04-16T08:00,16.6 +2025-04-16T09:00,15.9 +2025-04-16T10:00,18.7 +2025-04-16T11:00,14.2 +2025-04-16T12:00,15.9 +2025-04-16T13:00,14.4 +2025-04-16T14:00,18.5 +2025-04-16T15:00,11.0 +2025-04-16T16:00,11.6 +2025-04-16T17:00,10.4 +2025-04-16T18:00,6.2 +2025-04-16T19:00,12.4 +2025-04-16T20:00,13.8 +2025-04-16T21:00,3.0 +2025-04-16T22:00,7.0 +2025-04-16T23:00,10.4 +2025-04-17T00:00,9.4 +2025-04-17T01:00,9.0 +2025-04-17T02:00,6.1 +2025-04-17T03:00,11.0 +2025-04-17T04:00,15.2 +2025-04-17T05:00,11.1 +2025-04-17T06:00,9.8 +2025-04-17T07:00,14.1 +2025-04-17T08:00,15.0 +2025-04-17T09:00,14.4 +2025-04-17T10:00,16.0 +2025-04-17T11:00,17.3 +2025-04-17T12:00,16.2 +2025-04-17T13:00,13.9 +2025-04-17T14:00,9.6 +2025-04-17T15:00,16.5 +2025-04-17T16:00,15.7 +2025-04-17T17:00,10.7 +2025-04-17T18:00,10.4 +2025-04-17T19:00,9.7 +2025-04-17T20:00,12.6 +2025-04-17T21:00,5.0 +2025-04-17T22:00,8.6 +2025-04-17T23:00,5.9 +2025-04-18T00:00,12.3 +2025-04-18T01:00,7.5 +2025-04-18T02:00,4.6 +2025-04-18T03:00,6.1 +2025-04-18T04:00,7.2 +2025-04-18T05:00,11.1 +2025-04-18T06:00,10.8 +2025-04-18T07:00,11.9 +2025-04-18T08:00,18.8 +2025-04-18T09:00,10.9 +2025-04-18T10:00,18.2 +2025-04-18T11:00,15.1 +2025-04-18T12:00,16.8 +2025-04-18T13:00,16.1 +2025-04-18T14:00,14.7 +2025-04-18T15:00,11.0 +2025-04-18T16:00,11.9 +2025-04-18T17:00,14.2 +2025-04-18T18:00,15.6 +2025-04-18T19:00,8.9 +2025-04-18T20:00,10.2 +2025-04-18T21:00,7.5 +2025-04-18T22:00,4.9 +2025-04-18T23:00,7.6 +2025-04-19T00:00,5.4 +2025-04-19T01:00,5.1 +2025-04-19T02:00,8.9 +2025-04-19T03:00,6.7 +2025-04-19T04:00,7.4 +2025-04-19T05:00,8.8 +2025-04-19T06:00,9.0 +2025-04-19T07:00,13.4 +2025-04-19T08:00,14.6 +2025-04-19T09:00,12.8 +2025-04-19T10:00,13.5 +2025-04-19T11:00,11.7 +2025-04-19T12:00,21.7 +2025-04-19T13:00,15.4 +2025-04-19T14:00,17.3 +2025-04-19T15:00,14.6 +2025-04-19T16:00,8.2 +2025-04-19T17:00,9.1 +2025-04-19T18:00,9.4 +2025-04-19T19:00,7.7 +2025-04-19T20:00,5.3 +2025-04-19T21:00,6.8 +2025-04-19T22:00,8.4 +2025-04-19T23:00,7.2 +2025-04-20T00:00,8.1 +2025-04-20T01:00,6.5 +2025-04-20T02:00,10.5 +2025-04-20T03:00,7.7 +2025-04-20T04:00,6.1 +2025-04-20T05:00,7.9 +2025-04-20T06:00,8.9 +2025-04-20T07:00,16.4 +2025-04-20T08:00,10.4 +2025-04-20T09:00,10.7 +2025-04-20T10:00,16.6 +2025-04-20T11:00,9.4 +2025-04-20T12:00,16.9 +2025-04-20T13:00,12.9 +2025-04-20T14:00,10.6 +2025-04-20T15:00,15.1 +2025-04-20T16:00,13.7 +2025-04-20T17:00,11.5 +2025-04-20T18:00,12.7 +2025-04-20T19:00,10.3 +2025-04-20T20:00,7.9 +2025-04-20T21:00,7.4 +2025-04-20T22:00,13.1 +2025-04-20T23:00,6.4 +2025-04-21T00:00,8.0 +2025-04-21T01:00,7.6 +2025-04-21T02:00,4.9 +2025-04-21T03:00,6.2 +2025-04-21T04:00,10.3 +2025-04-21T05:00,12.0 +2025-04-21T06:00,12.5 +2025-04-21T07:00,13.0 +2025-04-21T08:00,13.8 +2025-04-21T09:00,12.5 +2025-04-21T10:00,14.4 +2025-04-21T11:00,13.6 +2025-04-21T12:00,15.0 +2025-04-21T13:00,14.0 +2025-04-21T14:00,8.2 +2025-04-21T15:00,13.0 +2025-04-21T16:00,15.4 +2025-04-21T17:00,8.2 +2025-04-21T18:00,13.8 +2025-04-21T19:00,10.9 +2025-04-21T20:00,9.4 +2025-04-21T21:00,7.9 +2025-04-21T22:00,9.8 +2025-04-21T23:00,3.2 +2025-04-22T00:00,6.0 +2025-04-22T01:00,8.0 +2025-04-22T02:00,11.0 +2025-04-22T03:00,11.3 +2025-04-22T04:00,10.2 +2025-04-22T05:00,9.7 +2025-04-22T06:00,12.4 +2025-04-22T07:00,11.7 +2025-04-22T08:00,16.8 +2025-04-22T09:00,8.9 +2025-04-22T10:00,10.5 +2025-04-22T11:00,14.9 +2025-04-22T12:00,17.1 +2025-04-22T13:00,15.8 +2025-04-22T14:00,14.0 +2025-04-22T15:00,17.2 +2025-04-22T16:00,13.3 +2025-04-22T17:00,12.4 +2025-04-22T18:00,7.5 +2025-04-22T19:00,6.6 +2025-04-22T20:00,15.3 +2025-04-22T21:00,9.5 +2025-04-22T22:00,11.8 +2025-04-22T23:00,6.8 +2025-04-23T00:00,10.5 +2025-04-23T01:00,7.6 +2025-04-23T02:00,6.3 +2025-04-23T03:00,5.4 +2025-04-23T04:00,5.7 +2025-04-23T05:00,4.7 +2025-04-23T06:00,8.8 +2025-04-23T07:00,10.5 +2025-04-23T08:00,14.4 +2025-04-23T09:00,14.5 +2025-04-23T10:00,12.1 +2025-04-23T11:00,13.2 +2025-04-23T12:00,15.9 +2025-04-23T13:00,12.9 +2025-04-23T14:00,14.8 +2025-04-23T15:00,13.0 +2025-04-23T16:00,6.8 +2025-04-23T17:00,9.2 +2025-04-23T18:00,11.8 +2025-04-23T19:00,11.6 +2025-04-23T20:00,6.6 +2025-04-23T21:00,7.7 +2025-04-23T22:00,5.6 +2025-04-23T23:00,3.3 +2025-04-24T00:00,4.4 +2025-04-24T01:00,5.2 +2025-04-24T02:00,4.4 +2025-04-24T03:00,5.9 +2025-04-24T04:00,11.6 +2025-04-24T05:00,5.5 +2025-04-24T06:00,5.1 +2025-04-24T07:00,10.1 +2025-04-24T08:00,8.7 +2025-04-24T09:00,9.5 +2025-04-24T10:00,16.2 +2025-04-24T11:00,9.3 +2025-04-24T12:00,16.4 +2025-04-24T13:00,10.1 +2025-04-24T14:00,14.6 +2025-04-24T15:00,15.3 +2025-04-24T16:00,9.6 +2025-04-24T17:00,1.5 +2025-04-24T18:00,14.5 +2025-04-24T19:00,8.7 +2025-04-24T20:00,5.3 +2025-04-24T21:00,5.4 +2025-04-24T22:00,7.4 +2025-04-24T23:00,7.4 +2025-04-25T00:00,9.8 +2025-04-25T01:00,6.1 +2025-04-25T02:00,6.6 +2025-04-25T03:00,8.1 +2025-04-25T04:00,13.2 +2025-04-25T05:00,5.8 +2025-04-25T06:00,7.5 +2025-04-25T07:00,12.3 +2025-04-25T08:00,11.4 +2025-04-25T09:00,16.2 +2025-04-25T10:00,15.8 +2025-04-25T11:00,11.8 +2025-04-25T12:00,15.4 +2025-04-25T13:00,16.9 +2025-04-25T14:00,11.7 +2025-04-25T15:00,17.4 +2025-04-25T16:00,8.9 +2025-04-25T17:00,8.5 +2025-04-25T18:00,15.4 +2025-04-25T19:00,9.2 +2025-04-25T20:00,7.0 +2025-04-25T21:00,8.3 +2025-04-25T22:00,6.1 +2025-04-25T23:00,3.7 +2025-04-26T00:00,2.9 +2025-04-26T01:00,5.8 +2025-04-26T02:00,8.3 +2025-04-26T03:00,8.6 +2025-04-26T04:00,4.9 +2025-04-26T05:00,12.3 +2025-04-26T06:00,6.0 +2025-04-26T07:00,11.7 +2025-04-26T08:00,8.2 +2025-04-26T09:00,16.4 +2025-04-26T10:00,10.7 +2025-04-26T11:00,12.4 +2025-04-26T12:00,13.4 +2025-04-26T13:00,13.1 +2025-04-26T14:00,14.9 +2025-04-26T15:00,13.5 +2025-04-26T16:00,13.6 +2025-04-26T17:00,10.6 +2025-04-26T18:00,12.9 +2025-04-26T19:00,8.1 +2025-04-26T20:00,7.5 +2025-04-26T21:00,8.9 +2025-04-26T22:00,2.3 +2025-04-26T23:00,6.2 +2025-04-27T00:00,11.0 +2025-04-27T01:00,8.6 +2025-04-27T02:00,8.6 +2025-04-27T03:00,5.7 +2025-04-27T04:00,6.5 +2025-04-27T05:00,12.7 +2025-04-27T06:00,9.2 +2025-04-27T07:00,10.0 +2025-04-27T08:00,11.4 +2025-04-27T09:00,12.4 +2025-04-27T10:00,14.4 +2025-04-27T11:00,11.0 +2025-04-27T12:00,14.6 +2025-04-27T13:00,14.1 +2025-04-27T14:00,15.2 +2025-04-27T15:00,9.4 +2025-04-27T16:00,10.7 +2025-04-27T17:00,11.3 +2025-04-27T18:00,12.9 +2025-04-27T19:00,10.3 +2025-04-27T20:00,6.9 +2025-04-27T21:00,4.7 +2025-04-27T22:00,5.0 +2025-04-27T23:00,3.8 +2025-04-28T00:00,10.2 +2025-04-28T01:00,3.3 +2025-04-28T02:00,8.0 +2025-04-28T03:00,3.2 +2025-04-28T04:00,10.1 +2025-04-28T05:00,8.3 +2025-04-28T06:00,7.5 +2025-04-28T07:00,12.7 +2025-04-28T08:00,9.6 +2025-04-28T09:00,13.9 +2025-04-28T10:00,14.4 +2025-04-28T11:00,10.0 +2025-04-28T12:00,18.4 +2025-04-28T13:00,17.0 +2025-04-28T14:00,12.3 +2025-04-28T15:00,10.4 +2025-04-28T16:00,10.0 +2025-04-28T17:00,9.9 +2025-04-28T18:00,13.8 +2025-04-28T19:00,6.5 +2025-04-28T20:00,5.9 +2025-04-28T21:00,5.4 +2025-04-28T22:00,12.1 +2025-04-28T23:00,5.8 +2025-04-29T00:00,3.1 +2025-04-29T01:00,4.2 +2025-04-29T02:00,4.8 +2025-04-29T03:00,4.8 +2025-04-29T04:00,6.8 +2025-04-29T05:00,7.2 +2025-04-29T06:00,11.5 +2025-04-29T07:00,9.8 +2025-04-29T08:00,8.9 +2025-04-29T09:00,12.6 +2025-04-29T10:00,14.7 +2025-04-29T11:00,14.1 +2025-04-29T12:00,17.0 +2025-04-29T13:00,10.6 +2025-04-29T14:00,12.2 +2025-04-29T15:00,12.6 +2025-04-29T16:00,16.9 +2025-04-29T17:00,9.5 +2025-04-29T18:00,11.6 +2025-04-29T19:00,8.8 +2025-04-29T20:00,7.5 +2025-04-29T21:00,5.8 +2025-04-29T22:00,4.9 +2025-04-29T23:00,4.7 +2025-04-30T00:00,3.4 +2025-04-30T01:00,6.8 +2025-04-30T02:00,6.7 +2025-04-30T03:00,8.5 +2025-04-30T04:00,7.0 +2025-04-30T05:00,9.9 +2025-04-30T06:00,8.3 +2025-04-30T07:00,9.2 +2025-04-30T08:00,13.1 +2025-04-30T09:00,11.9 +2025-04-30T10:00,12.2 +2025-04-30T11:00,14.7 +2025-04-30T12:00,19.1 +2025-04-30T13:00,13.9 +2025-04-30T14:00,16.4 +2025-04-30T15:00,15.7 +2025-04-30T16:00,9.6 +2025-04-30T17:00,13.4 +2025-04-30T18:00,10.4 +2025-04-30T19:00,6.6 +2025-04-30T20:00,2.5 +2025-04-30T21:00,5.9 +2025-04-30T22:00,7.0 +2025-04-30T23:00,5.3 +2025-05-01T00:00,8.7 +2025-05-01T01:00,10.3 +2025-05-01T02:00,3.3 +2025-05-01T03:00,6.3 +2025-05-01T04:00,6.8 +2025-05-01T05:00,12.1 +2025-05-01T06:00,8.5 +2025-05-01T07:00,8.8 +2025-05-01T08:00,11.1 +2025-05-01T09:00,8.6 +2025-05-01T10:00,8.3 +2025-05-01T11:00,10.7 +2025-05-01T12:00,15.3 +2025-05-01T13:00,10.1 +2025-05-01T14:00,16.7 +2025-05-01T15:00,13.8 +2025-05-01T16:00,11.8 +2025-05-01T17:00,6.3 +2025-05-01T18:00,9.4 +2025-05-01T19:00,7.8 +2025-05-01T20:00,7.3 +2025-05-01T21:00,10.1 +2025-05-01T22:00,3.5 +2025-05-01T23:00,2.9 +2025-05-02T00:00,2.6 +2025-05-02T01:00,4.4 +2025-05-02T02:00,8.9 +2025-05-02T03:00,7.0 +2025-05-02T04:00,10.1 +2025-05-02T05:00,9.1 +2025-05-02T06:00,13.1 +2025-05-02T07:00,9.9 +2025-05-02T08:00,12.2 +2025-05-02T09:00,15.2 +2025-05-02T10:00,12.8 +2025-05-02T11:00,15.1 +2025-05-02T12:00,14.2 +2025-05-02T13:00,13.2 +2025-05-02T14:00,13.5 +2025-05-02T15:00,11.0 +2025-05-02T16:00,17.1 +2025-05-02T17:00,9.7 +2025-05-02T18:00,6.8 +2025-05-02T19:00,5.1 +2025-05-02T20:00,9.7 +2025-05-02T21:00,8.7 +2025-05-02T22:00,4.6 +2025-05-02T23:00,1.0 +2025-05-03T00:00,2.7 +2025-05-03T01:00,7.8 +2025-05-03T02:00,5.2 +2025-05-03T03:00,1.1 +2025-05-03T04:00,7.2 +2025-05-03T05:00,8.4 +2025-05-03T06:00,9.7 +2025-05-03T07:00,9.5 +2025-05-03T08:00,11.5 +2025-05-03T09:00,9.8 +2025-05-03T10:00,15.6 +2025-05-03T11:00,7.7 +2025-05-03T12:00,12.0 +2025-05-03T13:00,12.0 +2025-05-03T14:00,17.9 +2025-05-03T15:00,12.0 +2025-05-03T16:00,12.2 +2025-05-03T17:00,9.6 +2025-05-03T18:00,10.0 +2025-05-03T19:00,5.8 +2025-05-03T20:00,11.1 +2025-05-03T21:00,1.8 +2025-05-03T22:00,7.0 +2025-05-03T23:00,4.0 +2025-05-04T00:00,1.0 +2025-05-04T01:00,2.2 +2025-05-04T02:00,3.1 +2025-05-04T03:00,6.2 +2025-05-04T04:00,11.6 +2025-05-04T05:00,9.7 +2025-05-04T06:00,9.4 +2025-05-04T07:00,15.2 +2025-05-04T08:00,13.4 +2025-05-04T09:00,10.5 +2025-05-04T10:00,9.4 +2025-05-04T11:00,13.3 +2025-05-04T12:00,10.5 +2025-05-04T13:00,13.2 +2025-05-04T14:00,10.6 +2025-05-04T15:00,12.7 +2025-05-04T16:00,15.2 +2025-05-04T17:00,9.7 +2025-05-04T18:00,10.1 +2025-05-04T19:00,8.5 +2025-05-04T20:00,5.6 +2025-05-04T21:00,7.6 +2025-05-04T22:00,5.6 +2025-05-04T23:00,7.6 +2025-05-05T00:00,11.9 +2025-05-05T01:00,6.1 +2025-05-05T02:00,9.4 +2025-05-05T03:00,6.6 +2025-05-05T04:00,5.0 +2025-05-05T05:00,5.0 +2025-05-05T06:00,5.8 +2025-05-05T07:00,11.8 +2025-05-05T08:00,13.8 +2025-05-05T09:00,9.1 +2025-05-05T10:00,15.6 +2025-05-05T11:00,15.5 +2025-05-05T12:00,10.7 +2025-05-05T13:00,11.7 +2025-05-05T14:00,8.2 +2025-05-05T15:00,11.0 +2025-05-05T16:00,9.3 +2025-05-05T17:00,10.3 +2025-05-05T18:00,7.9 +2025-05-05T19:00,10.4 +2025-05-05T20:00,6.0 +2025-05-05T21:00,8.3 +2025-05-05T22:00,8.8 +2025-05-05T23:00,4.8 +2025-05-06T00:00,1.1 +2025-05-06T01:00,5.1 +2025-05-06T02:00,2.7 +2025-05-06T03:00,2.4 +2025-05-06T04:00,6.0 +2025-05-06T05:00,5.0 +2025-05-06T06:00,11.6 +2025-05-06T07:00,8.3 +2025-05-06T08:00,13.8 +2025-05-06T09:00,13.7 +2025-05-06T10:00,11.9 +2025-05-06T11:00,11.0 +2025-05-06T12:00,12.3 +2025-05-06T13:00,14.4 +2025-05-06T14:00,16.5 +2025-05-06T15:00,9.0 +2025-05-06T16:00,10.9 +2025-05-06T17:00,12.7 +2025-05-06T18:00,8.4 +2025-05-06T19:00,8.9 +2025-05-06T20:00,6.5 +2025-05-06T21:00,7.0 +2025-05-06T22:00,8.1 +2025-05-06T23:00,4.0 +2025-05-07T00:00,3.4 +2025-05-07T01:00,3.0 +2025-05-07T02:00,7.2 +2025-05-07T03:00,2.0 +2025-05-07T04:00,10.1 +2025-05-07T05:00,8.0 +2025-05-07T06:00,6.0 +2025-05-07T07:00,11.0 +2025-05-07T08:00,9.5 +2025-05-07T09:00,12.7 +2025-05-07T10:00,12.1 +2025-05-07T11:00,14.7 +2025-05-07T12:00,14.3 +2025-05-07T13:00,13.6 +2025-05-07T14:00,16.6 +2025-05-07T15:00,7.9 +2025-05-07T16:00,11.5 +2025-05-07T17:00,6.5 +2025-05-07T18:00,6.9 +2025-05-07T19:00,11.0 +2025-05-07T20:00,9.5 +2025-05-07T21:00,6.0 +2025-05-07T22:00,6.3 +2025-05-07T23:00,6.7 +2025-05-08T00:00,2.3 +2025-05-08T01:00,1.0 +2025-05-08T02:00,4.2 +2025-05-08T03:00,7.7 +2025-05-08T04:00,4.1 +2025-05-08T05:00,9.3 +2025-05-08T06:00,7.4 +2025-05-08T07:00,15.5 +2025-05-08T08:00,12.7 +2025-05-08T09:00,7.9 +2025-05-08T10:00,10.9 +2025-05-08T11:00,11.0 +2025-05-08T12:00,9.2 +2025-05-08T13:00,11.6 +2025-05-08T14:00,12.4 +2025-05-08T15:00,14.2 +2025-05-08T16:00,9.0 +2025-05-08T17:00,12.5 +2025-05-08T18:00,6.6 +2025-05-08T19:00,8.0 +2025-05-08T20:00,6.8 +2025-05-08T21:00,1.0 +2025-05-08T22:00,1.8 +2025-05-08T23:00,6.9 +2025-05-09T00:00,11.2 +2025-05-09T01:00,6.8 +2025-05-09T02:00,5.3 +2025-05-09T03:00,3.6 +2025-05-09T04:00,6.1 +2025-05-09T05:00,8.2 +2025-05-09T06:00,9.3 +2025-05-09T07:00,8.5 +2025-05-09T08:00,7.2 +2025-05-09T09:00,11.7 +2025-05-09T10:00,11.6 +2025-05-09T11:00,15.3 +2025-05-09T12:00,15.4 +2025-05-09T13:00,9.5 +2025-05-09T14:00,10.8 +2025-05-09T15:00,10.5 +2025-05-09T16:00,12.0 +2025-05-09T17:00,5.9 +2025-05-09T18:00,8.9 +2025-05-09T19:00,9.5 +2025-05-09T20:00,8.0 +2025-05-09T21:00,9.8 +2025-05-09T22:00,1.0 +2025-05-09T23:00,5.0 +2025-05-10T00:00,4.6 +2025-05-10T01:00,4.5 +2025-05-10T02:00,8.9 +2025-05-10T03:00,6.3 +2025-05-10T04:00,9.3 +2025-05-10T05:00,7.2 +2025-05-10T06:00,9.8 +2025-05-10T07:00,7.0 +2025-05-10T08:00,13.4 +2025-05-10T09:00,13.5 +2025-05-10T10:00,15.8 +2025-05-10T11:00,13.3 +2025-05-10T12:00,11.5 +2025-05-10T13:00,14.1 +2025-05-10T14:00,12.4 +2025-05-10T15:00,12.4 +2025-05-10T16:00,10.0 +2025-05-10T17:00,7.1 +2025-05-10T18:00,13.2 +2025-05-10T19:00,9.8 +2025-05-10T20:00,11.0 +2025-05-10T21:00,7.0 +2025-05-10T22:00,3.3 +2025-05-10T23:00,1.0 +2025-05-11T00:00,4.6 +2025-05-11T01:00,4.3 +2025-05-11T02:00,4.0 +2025-05-11T03:00,4.9 +2025-05-11T04:00,4.2 +2025-05-11T05:00,8.1 +2025-05-11T06:00,4.8 +2025-05-11T07:00,9.5 +2025-05-11T08:00,12.0 +2025-05-11T09:00,13.1 +2025-05-11T10:00,12.6 +2025-05-11T11:00,13.4 +2025-05-11T12:00,11.8 +2025-05-11T13:00,15.5 +2025-05-11T14:00,13.4 +2025-05-11T15:00,12.0 +2025-05-11T16:00,7.4 +2025-05-11T17:00,8.4 +2025-05-11T18:00,9.7 +2025-05-11T19:00,3.4 +2025-05-11T20:00,9.1 +2025-05-11T21:00,1.5 +2025-05-11T22:00,4.4 +2025-05-11T23:00,3.0 +2025-05-12T00:00,1.0 +2025-05-12T01:00,4.1 +2025-05-12T02:00,2.3 +2025-05-12T03:00,2.9 +2025-05-12T04:00,5.7 +2025-05-12T05:00,11.0 +2025-05-12T06:00,9.5 +2025-05-12T07:00,6.4 +2025-05-12T08:00,13.6 +2025-05-12T09:00,9.0 +2025-05-12T10:00,11.2 +2025-05-12T11:00,15.3 +2025-05-12T12:00,13.7 +2025-05-12T13:00,11.6 +2025-05-12T14:00,11.0 +2025-05-12T15:00,9.9 +2025-05-12T16:00,12.9 +2025-05-12T17:00,12.0 +2025-05-12T18:00,6.3 +2025-05-12T19:00,3.5 +2025-05-12T20:00,2.4 +2025-05-12T21:00,6.0 +2025-05-12T22:00,2.8 +2025-05-12T23:00,1.0 +2025-05-13T00:00,2.7 +2025-05-13T01:00,2.9 +2025-05-13T02:00,5.3 +2025-05-13T03:00,2.0 +2025-05-13T04:00,4.8 +2025-05-13T05:00,2.2 +2025-05-13T06:00,6.3 +2025-05-13T07:00,10.3 +2025-05-13T08:00,8.3 +2025-05-13T09:00,13.5 +2025-05-13T10:00,12.1 +2025-05-13T11:00,15.1 +2025-05-13T12:00,12.6 +2025-05-13T13:00,15.3 +2025-05-13T14:00,14.3 +2025-05-13T15:00,8.8 +2025-05-13T16:00,10.1 +2025-05-13T17:00,9.0 +2025-05-13T18:00,5.5 +2025-05-13T19:00,6.9 +2025-05-13T20:00,5.3 +2025-05-13T21:00,7.0 +2025-05-13T22:00,3.7 +2025-05-13T23:00,6.2 +2025-05-14T00:00,5.9 +2025-05-14T01:00,2.8 +2025-05-14T02:00,2.9 +2025-05-14T03:00,4.2 +2025-05-14T04:00,1.2 +2025-05-14T05:00,12.6 +2025-05-14T06:00,8.8 +2025-05-14T07:00,9.3 +2025-05-14T08:00,10.0 +2025-05-14T09:00,12.1 +2025-05-14T10:00,11.4 +2025-05-14T11:00,12.4 +2025-05-14T12:00,10.0 +2025-05-14T13:00,11.3 +2025-05-14T14:00,13.1 +2025-05-14T15:00,12.2 +2025-05-14T16:00,6.5 +2025-05-14T17:00,5.4 +2025-05-14T18:00,14.2 +2025-05-14T19:00,8.2 +2025-05-14T20:00,6.0 +2025-05-14T21:00,6.6 +2025-05-14T22:00,1.9 +2025-05-14T23:00,1.0 +2025-05-15T00:00,5.2 +2025-05-15T01:00,2.0 +2025-05-15T02:00,8.6 +2025-05-15T03:00,3.7 +2025-05-15T04:00,9.6 +2025-05-15T05:00,1.6 +2025-05-15T06:00,4.4 +2025-05-15T07:00,5.0 +2025-05-15T08:00,10.1 +2025-05-15T09:00,12.0 +2025-05-15T10:00,13.4 +2025-05-15T11:00,18.3 +2025-05-15T12:00,6.8 +2025-05-15T13:00,10.1 +2025-05-15T14:00,8.5 +2025-05-15T15:00,10.4 +2025-05-15T16:00,12.5 +2025-05-15T17:00,3.9 +2025-05-15T18:00,6.5 +2025-05-15T19:00,10.0 +2025-05-15T20:00,6.3 +2025-05-15T21:00,4.0 +2025-05-15T22:00,1.0 +2025-05-15T23:00,4.3 +2025-05-16T00:00,4.6 +2025-05-16T01:00,3.8 +2025-05-16T02:00,4.2 +2025-05-16T03:00,6.4 +2025-05-16T04:00,5.7 +2025-05-16T05:00,7.2 +2025-05-16T06:00,6.4 +2025-05-16T07:00,12.8 +2025-05-16T08:00,10.3 +2025-05-16T09:00,9.8 +2025-05-16T10:00,13.6 +2025-05-16T11:00,13.3 +2025-05-16T12:00,12.1 +2025-05-16T13:00,13.2 +2025-05-16T14:00,9.1 +2025-05-16T15:00,11.3 +2025-05-16T16:00,10.6 +2025-05-16T17:00,3.0 +2025-05-16T18:00,6.5 +2025-05-16T19:00,7.6 +2025-05-16T20:00,7.9 +2025-05-16T21:00,4.2 +2025-05-16T22:00,4.2 +2025-05-16T23:00,5.2 +2025-05-17T00:00,6.1 +2025-05-17T01:00,2.9 +2025-05-17T02:00,6.9 +2025-05-17T03:00,6.5 +2025-05-17T04:00,8.9 +2025-05-17T05:00,4.5 +2025-05-17T06:00,11.8 +2025-05-17T07:00,10.6 +2025-05-17T08:00,8.9 +2025-05-17T09:00,6.5 +2025-05-17T10:00,11.0 +2025-05-17T11:00,11.9 +2025-05-17T12:00,13.3 +2025-05-17T13:00,13.7 +2025-05-17T14:00,13.9 +2025-05-17T15:00,10.2 +2025-05-17T16:00,12.8 +2025-05-17T17:00,8.5 +2025-05-17T18:00,7.6 +2025-05-17T19:00,7.0 +2025-05-17T20:00,8.0 +2025-05-17T21:00,1.9 +2025-05-17T22:00,6.1 +2025-05-17T23:00,2.0 +2025-05-18T00:00,6.2 +2025-05-18T01:00,4.2 +2025-05-18T02:00,4.7 +2025-05-18T03:00,5.0 +2025-05-18T04:00,4.9 +2025-05-18T05:00,8.3 +2025-05-18T06:00,6.5 +2025-05-18T07:00,5.1 +2025-05-18T08:00,8.7 +2025-05-18T09:00,8.6 +2025-05-18T10:00,14.0 +2025-05-18T11:00,12.1 +2025-05-18T12:00,15.0 +2025-05-18T13:00,9.2 +2025-05-18T14:00,9.8 +2025-05-18T15:00,7.0 +2025-05-18T16:00,12.4 +2025-05-18T17:00,7.1 +2025-05-18T18:00,8.9 +2025-05-18T19:00,3.3 +2025-05-18T20:00,4.8 +2025-05-18T21:00,2.1 +2025-05-18T22:00,5.4 +2025-05-18T23:00,4.3 +2025-05-19T00:00,3.0 +2025-05-19T01:00,4.4 +2025-05-19T02:00,9.9 +2025-05-19T03:00,2.9 +2025-05-19T04:00,4.9 +2025-05-19T05:00,8.6 +2025-05-19T06:00,4.7 +2025-05-19T07:00,10.5 +2025-05-19T08:00,6.9 +2025-05-19T09:00,11.9 +2025-05-19T10:00,17.0 +2025-05-19T11:00,8.2 +2025-05-19T12:00,14.3 +2025-05-19T13:00,11.9 +2025-05-19T14:00,12.7 +2025-05-19T15:00,8.1 +2025-05-19T16:00,9.1 +2025-05-19T17:00,9.9 +2025-05-19T18:00,1.0 +2025-05-19T19:00,1.0 +2025-05-19T20:00,2.7 +2025-05-19T21:00,5.7 +2025-05-19T22:00,2.1 +2025-05-19T23:00,4.5 +2025-05-20T00:00,5.2 +2025-05-20T01:00,3.9 +2025-05-20T02:00,1.0 +2025-05-20T03:00,5.6 +2025-05-20T04:00,2.7 +2025-05-20T05:00,9.6 +2025-05-20T06:00,7.5 +2025-05-20T07:00,7.0 +2025-05-20T08:00,3.7 +2025-05-20T09:00,10.1 +2025-05-20T10:00,6.6 +2025-05-20T11:00,7.6 +2025-05-20T12:00,16.0 +2025-05-20T13:00,9.8 +2025-05-20T14:00,10.8 +2025-05-20T15:00,11.3 +2025-05-20T16:00,7.4 +2025-05-20T17:00,7.9 +2025-05-20T18:00,5.3 +2025-05-20T19:00,8.8 +2025-05-20T20:00,4.7 +2025-05-20T21:00,3.1 +2025-05-20T22:00,2.4 +2025-05-20T23:00,4.3 +2025-05-21T00:00,2.6 +2025-05-21T01:00,1.0 +2025-05-21T02:00,4.1 +2025-05-21T03:00,5.2 +2025-05-21T04:00,4.5 +2025-05-21T05:00,2.8 +2025-05-21T06:00,4.3 +2025-05-21T07:00,8.2 +2025-05-21T08:00,7.3 +2025-05-21T09:00,10.2 +2025-05-21T10:00,10.9 +2025-05-21T11:00,11.8 +2025-05-21T12:00,11.7 +2025-05-21T13:00,13.1 +2025-05-21T14:00,13.1 +2025-05-21T15:00,9.3 +2025-05-21T16:00,5.1 +2025-05-21T17:00,7.0 +2025-05-21T18:00,6.8 +2025-05-21T19:00,3.3 +2025-05-21T20:00,7.3 +2025-05-21T21:00,4.5 +2025-05-21T22:00,3.7 +2025-05-21T23:00,3.5 +2025-05-22T00:00,6.5 +2025-05-22T01:00,3.4 +2025-05-22T02:00,7.1 +2025-05-22T03:00,8.8 +2025-05-22T04:00,5.0 +2025-05-22T05:00,7.2 +2025-05-22T06:00,7.8 +2025-05-22T07:00,4.1 +2025-05-22T08:00,10.3 +2025-05-22T09:00,7.4 +2025-05-22T10:00,5.8 +2025-05-22T11:00,6.1 +2025-05-22T12:00,10.5 +2025-05-22T13:00,9.6 +2025-05-22T14:00,11.9 +2025-05-22T15:00,13.7 +2025-05-22T16:00,6.1 +2025-05-22T17:00,3.9 +2025-05-22T18:00,11.7 +2025-05-22T19:00,4.4 +2025-05-22T20:00,5.1 +2025-05-22T21:00,4.7 +2025-05-22T22:00,3.7 +2025-05-22T23:00,6.5 +2025-05-23T00:00,1.0 +2025-05-23T01:00,1.0 +2025-05-23T02:00,8.7 +2025-05-23T03:00,5.2 +2025-05-23T04:00,3.1 +2025-05-23T05:00,4.5 +2025-05-23T06:00,5.2 +2025-05-23T07:00,7.7 +2025-05-23T08:00,7.4 +2025-05-23T09:00,14.2 +2025-05-23T10:00,9.9 +2025-05-23T11:00,10.3 +2025-05-23T12:00,11.4 +2025-05-23T13:00,14.1 +2025-05-23T14:00,8.6 +2025-05-23T15:00,8.4 +2025-05-23T16:00,9.0 +2025-05-23T17:00,8.3 +2025-05-23T18:00,8.5 +2025-05-23T19:00,3.5 +2025-05-23T20:00,2.6 +2025-05-23T21:00,2.0 +2025-05-23T22:00,4.4 +2025-05-23T23:00,3.1 +2025-05-24T00:00,2.3 +2025-05-24T01:00,1.0 +2025-05-24T02:00,7.7 +2025-05-24T03:00,3.2 +2025-05-24T04:00,4.6 +2025-05-24T05:00,4.8 +2025-05-24T06:00,7.6 +2025-05-24T07:00,5.2 +2025-05-24T08:00,9.3 +2025-05-24T09:00,10.6 +2025-05-24T10:00,9.8 +2025-05-24T11:00,9.6 +2025-05-24T12:00,14.9 +2025-05-24T13:00,7.4 +2025-05-24T14:00,11.5 +2025-05-24T15:00,8.5 +2025-05-24T16:00,11.6 +2025-05-24T17:00,6.4 +2025-05-24T18:00,12.7 +2025-05-24T19:00,6.4 +2025-05-24T20:00,5.2 +2025-05-24T21:00,1.7 +2025-05-24T22:00,2.5 +2025-05-24T23:00,2.0 +2025-05-25T00:00,4.0 +2025-05-25T01:00,1.9 +2025-05-25T02:00,4.0 +2025-05-25T03:00,5.4 +2025-05-25T04:00,3.7 +2025-05-25T05:00,4.5 +2025-05-25T06:00,8.1 +2025-05-25T07:00,11.8 +2025-05-25T08:00,9.8 +2025-05-25T09:00,11.7 +2025-05-25T10:00,12.7 +2025-05-25T11:00,8.0 +2025-05-25T12:00,14.3 +2025-05-25T13:00,10.5 +2025-05-25T14:00,9.6 +2025-05-25T15:00,12.2 +2025-05-25T16:00,11.8 +2025-05-25T17:00,8.0 +2025-05-25T18:00,11.6 +2025-05-25T19:00,8.3 +2025-05-25T20:00,3.2 +2025-05-25T21:00,5.6 +2025-05-25T22:00,3.1 +2025-05-25T23:00,3.4 +2025-05-26T00:00,3.2 +2025-05-26T01:00,2.5 +2025-05-26T02:00,5.7 +2025-05-26T03:00,6.8 +2025-05-26T04:00,7.8 +2025-05-26T05:00,3.5 +2025-05-26T06:00,6.2 +2025-05-26T07:00,7.6 +2025-05-26T08:00,12.6 +2025-05-26T09:00,9.2 +2025-05-26T10:00,5.9 +2025-05-26T11:00,9.4 +2025-05-26T12:00,8.9 +2025-05-26T13:00,11.7 +2025-05-26T14:00,9.4 +2025-05-26T15:00,9.5 +2025-05-26T16:00,10.7 +2025-05-26T17:00,9.9 +2025-05-26T18:00,4.8 +2025-05-26T19:00,6.4 +2025-05-26T20:00,7.3 +2025-05-26T21:00,8.6 +2025-05-26T22:00,6.0 +2025-05-26T23:00,6.4 +2025-05-27T00:00,4.5 +2025-05-27T01:00,3.5 +2025-05-27T02:00,6.9 +2025-05-27T03:00,5.3 +2025-05-27T04:00,10.0 +2025-05-27T05:00,8.7 +2025-05-27T06:00,1.0 +2025-05-27T07:00,4.2 +2025-05-27T08:00,9.5 +2025-05-27T09:00,9.2 +2025-05-27T10:00,9.1 +2025-05-27T11:00,15.6 +2025-05-27T12:00,15.5 +2025-05-27T13:00,10.1 +2025-05-27T14:00,8.5 +2025-05-27T15:00,9.0 +2025-05-27T16:00,6.1 +2025-05-27T17:00,7.5 +2025-05-27T18:00,7.3 +2025-05-27T19:00,9.6 +2025-05-27T20:00,7.2 +2025-05-27T21:00,3.3 +2025-05-27T22:00,2.3 +2025-05-27T23:00,3.6 +2025-05-28T00:00,1.0 +2025-05-28T01:00,1.0 +2025-05-28T02:00,2.6 +2025-05-28T03:00,2.5 +2025-05-28T04:00,2.7 +2025-05-28T05:00,3.7 +2025-05-28T06:00,5.4 +2025-05-28T07:00,7.6 +2025-05-28T08:00,5.3 +2025-05-28T09:00,11.4 +2025-05-28T10:00,14.2 +2025-05-28T11:00,14.1 +2025-05-28T12:00,12.6 +2025-05-28T13:00,11.2 +2025-05-28T14:00,9.3 +2025-05-28T15:00,9.9 +2025-05-28T16:00,9.9 +2025-05-28T17:00,13.9 +2025-05-28T18:00,8.2 +2025-05-28T19:00,3.5 +2025-05-28T20:00,1.0 +2025-05-28T21:00,3.9 +2025-05-28T22:00,1.1 +2025-05-28T23:00,1.4 +2025-05-29T00:00,6.4 +2025-05-29T01:00,1.0 +2025-05-29T02:00,4.0 +2025-05-29T03:00,5.4 +2025-05-29T04:00,8.2 +2025-05-29T05:00,7.9 +2025-05-29T06:00,5.3 +2025-05-29T07:00,9.6 +2025-05-29T08:00,11.6 +2025-05-29T09:00,13.3 +2025-05-29T10:00,8.2 +2025-05-29T11:00,10.2 +2025-05-29T12:00,4.5 +2025-05-29T13:00,12.4 +2025-05-29T14:00,10.4 +2025-05-29T15:00,6.2 +2025-05-29T16:00,5.5 +2025-05-29T17:00,4.8 +2025-05-29T18:00,4.8 +2025-05-29T19:00,8.4 +2025-05-29T20:00,5.6 +2025-05-29T21:00,6.3 +2025-05-29T22:00,1.4 +2025-05-29T23:00,3.5 +2025-05-30T00:00,1.0 +2025-05-30T01:00,5.5 +2025-05-30T02:00,4.1 +2025-05-30T03:00,3.2 +2025-05-30T04:00,4.1 +2025-05-30T05:00,3.0 +2025-05-30T06:00,1.0 +2025-05-30T07:00,5.5 +2025-05-30T08:00,9.9 +2025-05-30T09:00,8.7 +2025-05-30T10:00,10.2 +2025-05-30T11:00,12.7 +2025-05-30T12:00,10.2 +2025-05-30T13:00,11.2 +2025-05-30T14:00,13.5 +2025-05-30T15:00,7.4 +2025-05-30T16:00,5.1 +2025-05-30T17:00,9.5 +2025-05-30T18:00,6.5 +2025-05-30T19:00,5.3 +2025-05-30T20:00,3.6 +2025-05-30T21:00,1.9 +2025-05-30T22:00,1.0 +2025-05-30T23:00,2.6 +2025-05-31T00:00,1.0 +2025-05-31T01:00,2.9 +2025-05-31T02:00,1.5 +2025-05-31T03:00,4.6 +2025-05-31T04:00,1.8 +2025-05-31T05:00,7.0 +2025-05-31T06:00,4.4 +2025-05-31T07:00,4.3 +2025-05-31T08:00,6.6 +2025-05-31T09:00,11.6 +2025-05-31T10:00,10.6 +2025-05-31T11:00,4.4 +2025-05-31T12:00,11.6 +2025-05-31T13:00,12.0 +2025-05-31T14:00,11.1 +2025-05-31T15:00,7.1 +2025-05-31T16:00,7.3 +2025-05-31T17:00,4.8 +2025-05-31T18:00,10.3 +2025-05-31T19:00,1.0 +2025-05-31T20:00,4.4 +2025-05-31T21:00,4.6 +2025-05-31T22:00,2.6 +2025-05-31T23:00,4.1 +2025-06-01T00:00,1.0 +2025-06-01T01:00,1.7 +2025-06-01T02:00,3.5 +2025-06-01T03:00,5.5 +2025-06-01T04:00,1.0 +2025-06-01T05:00,3.0 +2025-06-01T06:00,7.6 +2025-06-01T07:00,8.7 +2025-06-01T08:00,11.4 +2025-06-01T09:00,10.5 +2025-06-01T10:00,8.6 +2025-06-01T11:00,10.5 +2025-06-01T12:00,8.4 +2025-06-01T13:00,8.1 +2025-06-01T14:00,6.8 +2025-06-01T15:00,6.4 +2025-06-01T16:00,10.1 +2025-06-01T17:00,10.1 +2025-06-01T18:00,5.8 +2025-06-01T19:00,5.2 +2025-06-01T20:00,7.4 +2025-06-01T21:00,2.9 +2025-06-01T22:00,5.0 +2025-06-01T23:00,1.0 +2025-06-02T00:00,1.0 +2025-06-02T01:00,5.4 +2025-06-02T02:00,3.4 +2025-06-02T03:00,1.0 +2025-06-02T04:00,5.8 +2025-06-02T05:00,3.3 +2025-06-02T06:00,6.8 +2025-06-02T07:00,8.0 +2025-06-02T08:00,10.9 +2025-06-02T09:00,9.9 +2025-06-02T10:00,7.6 +2025-06-02T11:00,8.7 +2025-06-02T12:00,12.2 +2025-06-02T13:00,9.8 +2025-06-02T14:00,7.8 +2025-06-02T15:00,7.0 +2025-06-02T16:00,9.6 +2025-06-02T17:00,12.7 +2025-06-02T18:00,9.5 +2025-06-02T19:00,5.2 +2025-06-02T20:00,2.9 +2025-06-02T21:00,2.1 +2025-06-02T22:00,3.9 +2025-06-02T23:00,1.0 +2025-06-03T00:00,6.2 +2025-06-03T01:00,2.4 +2025-06-03T02:00,1.0 +2025-06-03T03:00,4.1 +2025-06-03T04:00,2.2 +2025-06-03T05:00,1.0 +2025-06-03T06:00,2.0 +2025-06-03T07:00,7.0 +2025-06-03T08:00,3.8 +2025-06-03T09:00,2.0 +2025-06-03T10:00,10.8 +2025-06-03T11:00,7.9 +2025-06-03T12:00,10.2 +2025-06-03T13:00,12.0 +2025-06-03T14:00,7.0 +2025-06-03T15:00,3.9 +2025-06-03T16:00,10.7 +2025-06-03T17:00,10.2 +2025-06-03T18:00,8.7 +2025-06-03T19:00,7.7 +2025-06-03T20:00,3.8 +2025-06-03T21:00,8.1 +2025-06-03T22:00,1.0 +2025-06-03T23:00,4.6 +2025-06-04T00:00,4.8 +2025-06-04T01:00,1.0 +2025-06-04T02:00,5.7 +2025-06-04T03:00,7.0 +2025-06-04T04:00,8.5 +2025-06-04T05:00,3.0 +2025-06-04T06:00,6.5 +2025-06-04T07:00,5.7 +2025-06-04T08:00,8.5 +2025-06-04T09:00,8.9 +2025-06-04T10:00,11.4 +2025-06-04T11:00,8.6 +2025-06-04T12:00,6.6 +2025-06-04T13:00,10.3 +2025-06-04T14:00,9.2 +2025-06-04T15:00,2.4 +2025-06-04T16:00,11.1 +2025-06-04T17:00,8.1 +2025-06-04T18:00,4.0 +2025-06-04T19:00,5.5 +2025-06-04T20:00,6.3 +2025-06-04T21:00,4.3 +2025-06-04T22:00,5.1 +2025-06-04T23:00,5.2 +2025-06-05T00:00,2.8 +2025-06-05T01:00,3.2 +2025-06-05T02:00,6.2 +2025-06-05T03:00,1.0 +2025-06-05T04:00,8.3 +2025-06-05T05:00,6.3 +2025-06-05T06:00,5.5 +2025-06-05T07:00,5.7 +2025-06-05T08:00,5.3 +2025-06-05T09:00,8.8 +2025-06-05T10:00,10.6 +2025-06-05T11:00,12.9 +2025-06-05T12:00,8.5 +2025-06-05T13:00,9.7 +2025-06-05T14:00,5.1 +2025-06-05T15:00,9.0 +2025-06-05T16:00,7.8 +2025-06-05T17:00,13.7 +2025-06-05T18:00,4.5 +2025-06-05T19:00,3.1 +2025-06-05T20:00,1.0 +2025-06-05T21:00,1.0 +2025-06-05T22:00,1.5 +2025-06-05T23:00,1.0 +2025-06-06T00:00,1.0 +2025-06-06T01:00,1.9 +2025-06-06T02:00,4.1 +2025-06-06T03:00,3.9 +2025-06-06T04:00,1.0 +2025-06-06T05:00,1.0 +2025-06-06T06:00,2.7 +2025-06-06T07:00,10.5 +2025-06-06T08:00,8.9 +2025-06-06T09:00,11.8 +2025-06-06T10:00,11.0 +2025-06-06T11:00,7.9 +2025-06-06T12:00,11.1 +2025-06-06T13:00,8.7 +2025-06-06T14:00,6.5 +2025-06-06T15:00,6.0 +2025-06-06T16:00,11.6 +2025-06-06T17:00,8.3 +2025-06-06T18:00,9.3 +2025-06-06T19:00,5.4 +2025-06-06T20:00,1.1 +2025-06-06T21:00,3.6 +2025-06-06T22:00,2.7 +2025-06-06T23:00,1.0 +2025-06-07T00:00,9.4 +2025-06-07T01:00,1.2 +2025-06-07T02:00,1.5 +2025-06-07T03:00,1.6 +2025-06-07T04:00,6.0 +2025-06-07T05:00,5.5 +2025-06-07T06:00,1.0 +2025-06-07T07:00,4.6 +2025-06-07T08:00,7.4 +2025-06-07T09:00,11.7 +2025-06-07T10:00,9.4 +2025-06-07T11:00,10.2 +2025-06-07T12:00,8.9 +2025-06-07T13:00,11.4 +2025-06-07T14:00,9.1 +2025-06-07T15:00,5.1 +2025-06-07T16:00,6.7 +2025-06-07T17:00,6.2 +2025-06-07T18:00,1.0 +2025-06-07T19:00,1.4 +2025-06-07T20:00,3.5 +2025-06-07T21:00,2.4 +2025-06-07T22:00,2.1 +2025-06-07T23:00,1.0 +2025-06-08T00:00,3.3 +2025-06-08T01:00,4.3 +2025-06-08T02:00,1.0 +2025-06-08T03:00,4.3 +2025-06-08T04:00,1.0 +2025-06-08T05:00,5.1 +2025-06-08T06:00,4.7 +2025-06-08T07:00,6.5 +2025-06-08T08:00,4.4 +2025-06-08T09:00,9.3 +2025-06-08T10:00,10.4 +2025-06-08T11:00,12.1 +2025-06-08T12:00,8.8 +2025-06-08T13:00,8.3 +2025-06-08T14:00,9.0 +2025-06-08T15:00,11.3 +2025-06-08T16:00,7.0 +2025-06-08T17:00,10.3 +2025-06-08T18:00,3.1 +2025-06-08T19:00,3.0 +2025-06-08T20:00,5.3 +2025-06-08T21:00,1.0 +2025-06-08T22:00,1.0 +2025-06-08T23:00,2.8 +2025-06-09T00:00,6.5 +2025-06-09T01:00,1.4 +2025-06-09T02:00,2.8 +2025-06-09T03:00,4.3 +2025-06-09T04:00,5.5 +2025-06-09T05:00,2.8 +2025-06-09T06:00,4.5 +2025-06-09T07:00,8.3 +2025-06-09T08:00,9.4 +2025-06-09T09:00,5.0 +2025-06-09T10:00,13.9 +2025-06-09T11:00,10.5 +2025-06-09T12:00,8.8 +2025-06-09T13:00,8.8 +2025-06-09T14:00,7.1 +2025-06-09T15:00,9.5 +2025-06-09T16:00,8.9 +2025-06-09T17:00,1.0 +2025-06-09T18:00,5.2 +2025-06-09T19:00,6.7 +2025-06-09T20:00,1.0 +2025-06-09T21:00,1.0 +2025-06-09T22:00,1.0 +2025-06-09T23:00,1.0 +2025-06-10T00:00,1.0 +2025-06-10T01:00,1.0 +2025-06-10T02:00,4.1 +2025-06-10T03:00,5.2 +2025-06-10T04:00,1.0 +2025-06-10T05:00,5.0 +2025-06-10T06:00,5.7 +2025-06-10T07:00,6.9 +2025-06-10T08:00,8.5 +2025-06-10T09:00,8.8 +2025-06-10T10:00,11.8 +2025-06-10T11:00,8.3 +2025-06-10T12:00,9.5 +2025-06-10T13:00,13.5 +2025-06-10T14:00,7.7 +2025-06-10T15:00,6.1 +2025-06-10T16:00,5.4 +2025-06-10T17:00,4.2 +2025-06-10T18:00,4.7 +2025-06-10T19:00,2.7 +2025-06-10T20:00,7.4 +2025-06-10T21:00,3.3 +2025-06-10T22:00,2.1 +2025-06-10T23:00,1.0 +2025-06-11T00:00,4.1 +2025-06-11T01:00,4.9 +2025-06-11T02:00,1.8 +2025-06-11T03:00,1.0 +2025-06-11T04:00,2.7 +2025-06-11T05:00,4.9 +2025-06-11T06:00,8.2 +2025-06-11T07:00,2.1 +2025-06-11T08:00,10.9 +2025-06-11T09:00,8.6 +2025-06-11T10:00,5.4 +2025-06-11T11:00,12.0 +2025-06-11T12:00,5.4 +2025-06-11T13:00,8.5 +2025-06-11T14:00,11.0 +2025-06-11T15:00,12.6 +2025-06-11T16:00,6.6 +2025-06-11T17:00,5.6 +2025-06-11T18:00,8.7 +2025-06-11T19:00,6.0 +2025-06-11T20:00,1.0 +2025-06-11T21:00,3.6 +2025-06-11T22:00,4.2 +2025-06-11T23:00,1.0 +2025-06-12T00:00,3.9 +2025-06-12T01:00,1.0 +2025-06-12T02:00,1.7 +2025-06-12T03:00,3.9 +2025-06-12T04:00,4.7 +2025-06-12T05:00,1.7 +2025-06-12T06:00,6.7 +2025-06-12T07:00,2.8 +2025-06-12T08:00,3.8 +2025-06-12T09:00,5.9 +2025-06-12T10:00,9.1 +2025-06-12T11:00,8.8 +2025-06-12T12:00,10.6 +2025-06-12T13:00,9.5 +2025-06-12T14:00,9.7 +2025-06-12T15:00,7.8 +2025-06-12T16:00,8.7 +2025-06-12T17:00,4.9 +2025-06-12T18:00,4.8 +2025-06-12T19:00,2.2 +2025-06-12T20:00,4.3 +2025-06-12T21:00,3.4 +2025-06-12T22:00,1.0 +2025-06-12T23:00,5.4 +2025-06-13T00:00,2.4 +2025-06-13T01:00,1.0 +2025-06-13T02:00,1.0 +2025-06-13T03:00,1.0 +2025-06-13T04:00,1.0 +2025-06-13T05:00,3.6 +2025-06-13T06:00,6.7 +2025-06-13T07:00,5.9 +2025-06-13T08:00,14.8 +2025-06-13T09:00,3.9 +2025-06-13T10:00,7.7 +2025-06-13T11:00,6.1 +2025-06-13T12:00,9.8 +2025-06-13T13:00,11.4 +2025-06-13T14:00,8.1 +2025-06-13T15:00,5.9 +2025-06-13T16:00,8.1 +2025-06-13T17:00,11.6 +2025-06-13T18:00,5.6 +2025-06-13T19:00,1.0 +2025-06-13T20:00,1.1 +2025-06-13T21:00,6.9 +2025-06-13T22:00,1.0 +2025-06-13T23:00,3.4 +2025-06-14T00:00,1.4 +2025-06-14T01:00,4.6 +2025-06-14T02:00,3.5 +2025-06-14T03:00,4.3 +2025-06-14T04:00,5.1 +2025-06-14T05:00,8.6 +2025-06-14T06:00,9.7 +2025-06-14T07:00,5.8 +2025-06-14T08:00,11.4 +2025-06-14T09:00,12.6 +2025-06-14T10:00,6.8 +2025-06-14T11:00,9.2 +2025-06-14T12:00,6.6 +2025-06-14T13:00,10.8 +2025-06-14T14:00,4.5 +2025-06-14T15:00,3.7 +2025-06-14T16:00,6.4 +2025-06-14T17:00,7.5 +2025-06-14T18:00,1.0 +2025-06-14T19:00,2.5 +2025-06-14T20:00,2.4 +2025-06-14T21:00,3.4 +2025-06-14T22:00,1.0 +2025-06-14T23:00,4.1 +2025-06-15T00:00,1.0 +2025-06-15T01:00,1.0 +2025-06-15T02:00,1.0 +2025-06-15T03:00,1.2 +2025-06-15T04:00,1.0 +2025-06-15T05:00,5.6 +2025-06-15T06:00,2.2 +2025-06-15T07:00,9.3 +2025-06-15T08:00,7.7 +2025-06-15T09:00,9.8 +2025-06-15T10:00,6.5 +2025-06-15T11:00,11.3 +2025-06-15T12:00,10.5 +2025-06-15T13:00,6.5 +2025-06-15T14:00,10.3 +2025-06-15T15:00,7.4 +2025-06-15T16:00,6.2 +2025-06-15T17:00,3.8 +2025-06-15T18:00,8.2 +2025-06-15T19:00,10.1 +2025-06-15T20:00,1.3 +2025-06-15T21:00,2.2 +2025-06-15T22:00,4.1 +2025-06-15T23:00,6.3 +2025-06-16T00:00,4.0 +2025-06-16T01:00,1.0 +2025-06-16T02:00,2.9 +2025-06-16T03:00,3.1 +2025-06-16T04:00,1.0 +2025-06-16T05:00,5.5 +2025-06-16T06:00,1.0 +2025-06-16T07:00,3.4 +2025-06-16T08:00,5.1 +2025-06-16T09:00,9.5 +2025-06-16T10:00,9.5 +2025-06-16T11:00,9.4 +2025-06-16T12:00,10.4 +2025-06-16T13:00,8.6 +2025-06-16T14:00,12.0 +2025-06-16T15:00,11.6 +2025-06-16T16:00,8.8 +2025-06-16T17:00,3.6 +2025-06-16T18:00,3.2 +2025-06-16T19:00,5.9 +2025-06-16T20:00,1.0 +2025-06-16T21:00,6.8 +2025-06-16T22:00,1.0 +2025-06-16T23:00,5.2 +2025-06-17T00:00,1.0 +2025-06-17T01:00,5.8 +2025-06-17T02:00,1.0 +2025-06-17T03:00,6.0 +2025-06-17T04:00,5.6 +2025-06-17T05:00,3.1 +2025-06-17T06:00,3.7 +2025-06-17T07:00,7.4 +2025-06-17T08:00,8.8 +2025-06-17T09:00,7.6 +2025-06-17T10:00,10.7 +2025-06-17T11:00,8.8 +2025-06-17T12:00,10.5 +2025-06-17T13:00,14.7 +2025-06-17T14:00,9.8 +2025-06-17T15:00,11.9 +2025-06-17T16:00,5.4 +2025-06-17T17:00,5.6 +2025-06-17T18:00,8.6 +2025-06-17T19:00,4.4 +2025-06-17T20:00,3.1 +2025-06-17T21:00,2.8 +2025-06-17T22:00,2.8 +2025-06-17T23:00,2.9 +2025-06-18T00:00,6.1 +2025-06-18T01:00,2.3 +2025-06-18T02:00,1.0 +2025-06-18T03:00,4.0 +2025-06-18T04:00,3.5 +2025-06-18T05:00,2.1 +2025-06-18T06:00,4.8 +2025-06-18T07:00,4.3 +2025-06-18T08:00,8.5 +2025-06-18T09:00,8.4 +2025-06-18T10:00,9.1 +2025-06-18T11:00,8.4 +2025-06-18T12:00,8.0 +2025-06-18T13:00,10.0 +2025-06-18T14:00,9.0 +2025-06-18T15:00,10.1 +2025-06-18T16:00,7.8 +2025-06-18T17:00,1.0 +2025-06-18T18:00,1.0 +2025-06-18T19:00,3.3 +2025-06-18T20:00,1.0 +2025-06-18T21:00,1.9 +2025-06-18T22:00,1.0 +2025-06-18T23:00,1.5 +2025-06-19T00:00,1.2 +2025-06-19T01:00,3.3 +2025-06-19T02:00,2.4 +2025-06-19T03:00,1.0 +2025-06-19T04:00,3.8 +2025-06-19T05:00,4.0 +2025-06-19T06:00,1.9 +2025-06-19T07:00,2.9 +2025-06-19T08:00,5.5 +2025-06-19T09:00,9.9 +2025-06-19T10:00,10.4 +2025-06-19T11:00,11.1 +2025-06-19T12:00,5.4 +2025-06-19T13:00,10.8 +2025-06-19T14:00,10.2 +2025-06-19T15:00,6.2 +2025-06-19T16:00,3.5 +2025-06-19T17:00,8.0 +2025-06-19T18:00,8.6 +2025-06-19T19:00,1.2 +2025-06-19T20:00,3.1 +2025-06-19T21:00,5.2 +2025-06-19T22:00,2.0 +2025-06-19T23:00,2.9 +2025-06-20T00:00,1.0 +2025-06-20T01:00,1.0 +2025-06-20T02:00,2.7 +2025-06-20T03:00,6.1 +2025-06-20T04:00,4.7 +2025-06-20T05:00,8.5 +2025-06-20T06:00,6.1 +2025-06-20T07:00,10.1 +2025-06-20T08:00,9.1 +2025-06-20T09:00,9.3 +2025-06-20T10:00,9.6 +2025-06-20T11:00,6.5 +2025-06-20T12:00,8.0 +2025-06-20T13:00,8.3 +2025-06-20T14:00,7.1 +2025-06-20T15:00,6.2 +2025-06-20T16:00,6.0 +2025-06-20T17:00,6.4 +2025-06-20T18:00,3.8 +2025-06-20T19:00,6.3 +2025-06-20T20:00,5.3 +2025-06-20T21:00,6.2 +2025-06-20T22:00,5.1 +2025-06-20T23:00,1.4 +2025-06-21T00:00,1.0 +2025-06-21T01:00,4.6 +2025-06-21T02:00,3.6 +2025-06-21T03:00,1.6 +2025-06-21T04:00,1.0 +2025-06-21T05:00,4.9 +2025-06-21T06:00,7.0 +2025-06-21T07:00,7.6 +2025-06-21T08:00,7.1 +2025-06-21T09:00,11.2 +2025-06-21T10:00,6.9 +2025-06-21T11:00,5.3 +2025-06-21T12:00,7.4 +2025-06-21T13:00,7.7 +2025-06-21T14:00,7.3 +2025-06-21T15:00,6.5 +2025-06-21T16:00,7.0 +2025-06-21T17:00,2.0 +2025-06-21T18:00,7.6 +2025-06-21T19:00,3.4 +2025-06-21T20:00,3.1 +2025-06-21T21:00,1.0 +2025-06-21T22:00,1.0 +2025-06-21T23:00,1.0 +2025-06-22T00:00,1.0 +2025-06-22T01:00,3.4 +2025-06-22T02:00,4.0 +2025-06-22T03:00,4.0 +2025-06-22T04:00,1.4 +2025-06-22T05:00,4.6 +2025-06-22T06:00,3.3 +2025-06-22T07:00,5.8 +2025-06-22T08:00,9.5 +2025-06-22T09:00,7.6 +2025-06-22T10:00,8.1 +2025-06-22T11:00,6.9 +2025-06-22T12:00,11.4 +2025-06-22T13:00,10.2 +2025-06-22T14:00,10.7 +2025-06-22T15:00,8.8 +2025-06-22T16:00,4.9 +2025-06-22T17:00,7.8 +2025-06-22T18:00,7.8 +2025-06-22T19:00,2.9 +2025-06-22T20:00,3.5 +2025-06-22T21:00,1.0 +2025-06-22T22:00,4.3 +2025-06-22T23:00,1.0 +2025-06-23T00:00,3.3 +2025-06-23T01:00,1.8 +2025-06-23T02:00,1.0 +2025-06-23T03:00,2.4 +2025-06-23T04:00,1.0 +2025-06-23T05:00,2.5 +2025-06-23T06:00,7.2 +2025-06-23T07:00,2.0 +2025-06-23T08:00,9.5 +2025-06-23T09:00,6.2 +2025-06-23T10:00,5.4 +2025-06-23T11:00,9.8 +2025-06-23T12:00,13.1 +2025-06-23T13:00,12.7 +2025-06-23T14:00,10.0 +2025-06-23T15:00,9.0 +2025-06-23T16:00,9.7 +2025-06-23T17:00,3.8 +2025-06-23T18:00,6.1 +2025-06-23T19:00,2.1 +2025-06-23T20:00,2.0 +2025-06-23T21:00,7.0 +2025-06-23T22:00,3.9 +2025-06-23T23:00,2.2 +2025-06-24T00:00,1.0 +2025-06-24T01:00,2.7 +2025-06-24T02:00,5.7 +2025-06-24T03:00,1.0 +2025-06-24T04:00,2.0 +2025-06-24T05:00,3.2 +2025-06-24T06:00,2.8 +2025-06-24T07:00,9.0 +2025-06-24T08:00,9.5 +2025-06-24T09:00,2.1 +2025-06-24T10:00,6.6 +2025-06-24T11:00,12.2 +2025-06-24T12:00,11.2 +2025-06-24T13:00,14.2 +2025-06-24T14:00,8.2 +2025-06-24T15:00,13.3 +2025-06-24T16:00,10.4 +2025-06-24T17:00,6.1 +2025-06-24T18:00,4.6 +2025-06-24T19:00,3.4 +2025-06-24T20:00,10.0 +2025-06-24T21:00,4.2 +2025-06-24T22:00,3.3 +2025-06-24T23:00,1.0 +2025-06-25T00:00,2.3 +2025-06-25T01:00,3.5 +2025-06-25T02:00,1.0 +2025-06-25T03:00,5.3 +2025-06-25T04:00,2.4 +2025-06-25T05:00,7.7 +2025-06-25T06:00,2.9 +2025-06-25T07:00,11.2 +2025-06-25T08:00,2.2 +2025-06-25T09:00,11.1 +2025-06-25T10:00,10.5 +2025-06-25T11:00,6.8 +2025-06-25T12:00,11.3 +2025-06-25T13:00,6.7 +2025-06-25T14:00,8.3 +2025-06-25T15:00,5.9 +2025-06-25T16:00,7.1 +2025-06-25T17:00,5.2 +2025-06-25T18:00,8.0 +2025-06-25T19:00,5.0 +2025-06-25T20:00,4.4 +2025-06-25T21:00,1.1 +2025-06-25T22:00,2.7 +2025-06-25T23:00,1.0 +2025-06-26T00:00,1.5 +2025-06-26T01:00,1.0 +2025-06-26T02:00,1.3 +2025-06-26T03:00,1.0 +2025-06-26T04:00,2.9 +2025-06-26T05:00,4.7 +2025-06-26T06:00,4.8 +2025-06-26T07:00,6.2 +2025-06-26T08:00,9.2 +2025-06-26T09:00,4.8 +2025-06-26T10:00,7.1 +2025-06-26T11:00,7.0 +2025-06-26T12:00,7.8 +2025-06-26T13:00,12.8 +2025-06-26T14:00,7.6 +2025-06-26T15:00,9.8 +2025-06-26T16:00,4.1 +2025-06-26T17:00,5.5 +2025-06-26T18:00,8.8 +2025-06-26T19:00,3.7 +2025-06-26T20:00,2.2 +2025-06-26T21:00,1.4 +2025-06-26T22:00,2.6 +2025-06-26T23:00,2.9 +2025-06-27T00:00,1.0 +2025-06-27T01:00,1.2 +2025-06-27T02:00,4.2 +2025-06-27T03:00,2.2 +2025-06-27T04:00,2.4 +2025-06-27T05:00,4.5 +2025-06-27T06:00,6.5 +2025-06-27T07:00,7.2 +2025-06-27T08:00,4.3 +2025-06-27T09:00,10.4 +2025-06-27T10:00,8.7 +2025-06-27T11:00,6.6 +2025-06-27T12:00,10.5 +2025-06-27T13:00,11.0 +2025-06-27T14:00,10.0 +2025-06-27T15:00,8.9 +2025-06-27T16:00,4.6 +2025-06-27T17:00,9.4 +2025-06-27T18:00,5.3 +2025-06-27T19:00,6.5 +2025-06-27T20:00,1.0 +2025-06-27T21:00,1.4 +2025-06-27T22:00,2.6 +2025-06-27T23:00,3.5 +2025-06-28T00:00,2.9 +2025-06-28T01:00,1.0 +2025-06-28T02:00,1.0 +2025-06-28T03:00,2.4 +2025-06-28T04:00,2.8 +2025-06-28T05:00,9.1 +2025-06-28T06:00,9.1 +2025-06-28T07:00,9.1 +2025-06-28T08:00,4.6 +2025-06-28T09:00,7.2 +2025-06-28T10:00,8.8 +2025-06-28T11:00,9.3 +2025-06-28T12:00,9.7 +2025-06-28T13:00,7.2 +2025-06-28T14:00,5.9 +2025-06-28T15:00,5.3 +2025-06-28T16:00,2.8 +2025-06-28T17:00,5.6 +2025-06-28T18:00,4.7 +2025-06-28T19:00,5.1 +2025-06-28T20:00,3.6 +2025-06-28T21:00,2.5 +2025-06-28T22:00,1.0 +2025-06-28T23:00,3.0 +2025-06-29T00:00,1.3 +2025-06-29T01:00,1.0 +2025-06-29T02:00,8.4 +2025-06-29T03:00,3.4 +2025-06-29T04:00,1.0 +2025-06-29T05:00,4.3 +2025-06-29T06:00,7.2 +2025-06-29T07:00,2.8 +2025-06-29T08:00,7.8 +2025-06-29T09:00,7.9 +2025-06-29T10:00,10.9 +2025-06-29T11:00,6.8 +2025-06-29T12:00,8.1 +2025-06-29T13:00,12.2 +2025-06-29T14:00,7.2 +2025-06-29T15:00,2.8 +2025-06-29T16:00,10.1 +2025-06-29T17:00,7.8 +2025-06-29T18:00,7.7 +2025-06-29T19:00,4.9 +2025-06-29T20:00,4.0 +2025-06-29T21:00,1.1 +2025-06-29T22:00,1.0 +2025-06-29T23:00,3.3 +2025-06-30T00:00,1.0 +2025-06-30T01:00,3.0 +2025-06-30T02:00,4.7 +2025-06-30T03:00,2.0 +2025-06-30T04:00,1.4 +2025-06-30T05:00,3.1 +2025-06-30T06:00,4.0 +2025-06-30T07:00,3.1 +2025-06-30T08:00,3.0 +2025-06-30T09:00,9.2 +2025-06-30T10:00,9.0 +2025-06-30T11:00,4.8 +2025-06-30T12:00,7.4 +2025-06-30T13:00,3.1 +2025-06-30T14:00,5.5 +2025-06-30T15:00,8.4 +2025-06-30T16:00,2.7 +2025-06-30T17:00,6.3 +2025-06-30T18:00,4.2 +2025-06-30T19:00,2.5 +2025-06-30T20:00,3.0 +2025-06-30T21:00,4.4 +2025-06-30T22:00,2.5 +2025-06-30T23:00,2.9 +2025-07-01T00:00,1.0 +2025-07-01T01:00,2.8 +2025-07-01T02:00,1.0 +2025-07-01T03:00,2.6 +2025-07-01T04:00,3.7 +2025-07-01T05:00,2.8 +2025-07-01T06:00,9.1 +2025-07-01T07:00,3.5 +2025-07-01T08:00,4.1 +2025-07-01T09:00,6.6 +2025-07-01T10:00,7.3 +2025-07-01T11:00,14.8 +2025-07-01T12:00,8.3 +2025-07-01T13:00,10.7 +2025-07-01T14:00,10.2 +2025-07-01T15:00,10.4 +2025-07-01T16:00,9.3 +2025-07-01T17:00,8.9 +2025-07-01T18:00,8.0 +2025-07-01T19:00,8.3 +2025-07-01T20:00,3.1 +2025-07-01T21:00,4.4 +2025-07-01T22:00,4.4 +2025-07-01T23:00,1.9 +2025-07-02T00:00,1.0 +2025-07-02T01:00,1.8 +2025-07-02T02:00,1.0 +2025-07-02T03:00,3.1 +2025-07-02T04:00,4.7 +2025-07-02T05:00,1.7 +2025-07-02T06:00,5.6 +2025-07-02T07:00,5.7 +2025-07-02T08:00,9.0 +2025-07-02T09:00,7.5 +2025-07-02T10:00,12.4 +2025-07-02T11:00,8.4 +2025-07-02T12:00,7.9 +2025-07-02T13:00,9.0 +2025-07-02T14:00,7.1 +2025-07-02T15:00,6.0 +2025-07-02T16:00,6.8 +2025-07-02T17:00,2.8 +2025-07-02T18:00,9.4 +2025-07-02T19:00,1.0 +2025-07-02T20:00,2.5 +2025-07-02T21:00,2.0 +2025-07-02T22:00,1.5 +2025-07-02T23:00,1.0 +2025-07-03T00:00,1.2 +2025-07-03T01:00,7.2 +2025-07-03T02:00,1.4 +2025-07-03T03:00,1.9 +2025-07-03T04:00,10.5 +2025-07-03T05:00,3.5 +2025-07-03T06:00,3.6 +2025-07-03T07:00,5.1 +2025-07-03T08:00,6.5 +2025-07-03T09:00,5.8 +2025-07-03T10:00,5.7 +2025-07-03T11:00,8.9 +2025-07-03T12:00,6.5 +2025-07-03T13:00,10.1 +2025-07-03T14:00,5.1 +2025-07-03T15:00,7.6 +2025-07-03T16:00,9.4 +2025-07-03T17:00,7.7 +2025-07-03T18:00,6.3 +2025-07-03T19:00,1.6 +2025-07-03T20:00,2.9 +2025-07-03T21:00,1.0 +2025-07-03T22:00,1.0 +2025-07-03T23:00,4.2 +2025-07-04T00:00,1.0 +2025-07-04T01:00,1.5 +2025-07-04T02:00,3.8 +2025-07-04T03:00,2.6 +2025-07-04T04:00,7.4 +2025-07-04T05:00,5.5 +2025-07-04T06:00,3.6 +2025-07-04T07:00,3.6 +2025-07-04T08:00,8.4 +2025-07-04T09:00,8.4 +2025-07-04T10:00,8.2 +2025-07-04T11:00,5.1 +2025-07-04T12:00,6.3 +2025-07-04T13:00,8.9 +2025-07-04T14:00,10.2 +2025-07-04T15:00,8.7 +2025-07-04T16:00,9.3 +2025-07-04T17:00,5.7 +2025-07-04T18:00,2.4 +2025-07-04T19:00,9.4 +2025-07-04T20:00,1.0 +2025-07-04T21:00,2.3 +2025-07-04T22:00,1.0 +2025-07-04T23:00,6.1 +2025-07-05T00:00,4.0 +2025-07-05T01:00,1.0 +2025-07-05T02:00,5.0 +2025-07-05T03:00,2.5 +2025-07-05T04:00,1.0 +2025-07-05T05:00,6.1 +2025-07-05T06:00,2.3 +2025-07-05T07:00,4.7 +2025-07-05T08:00,9.8 +2025-07-05T09:00,10.6 +2025-07-05T10:00,7.3 +2025-07-05T11:00,11.0 +2025-07-05T12:00,9.6 +2025-07-05T13:00,8.5 +2025-07-05T14:00,7.6 +2025-07-05T15:00,9.2 +2025-07-05T16:00,8.6 +2025-07-05T17:00,5.0 +2025-07-05T18:00,1.1 +2025-07-05T19:00,1.0 +2025-07-05T20:00,1.9 +2025-07-05T21:00,6.1 +2025-07-05T22:00,1.0 +2025-07-05T23:00,1.0 +2025-07-06T00:00,5.9 +2025-07-06T01:00,1.0 +2025-07-06T02:00,5.9 +2025-07-06T03:00,6.0 +2025-07-06T04:00,1.0 +2025-07-06T05:00,3.7 +2025-07-06T06:00,5.0 +2025-07-06T07:00,4.1 +2025-07-06T08:00,8.3 +2025-07-06T09:00,9.3 +2025-07-06T10:00,7.6 +2025-07-06T11:00,4.8 +2025-07-06T12:00,9.6 +2025-07-06T13:00,10.3 +2025-07-06T14:00,5.0 +2025-07-06T15:00,9.3 +2025-07-06T16:00,5.6 +2025-07-06T17:00,7.9 +2025-07-06T18:00,3.4 +2025-07-06T19:00,1.0 +2025-07-06T20:00,4.0 +2025-07-06T21:00,1.0 +2025-07-06T22:00,1.0 +2025-07-06T23:00,1.0 +2025-07-07T00:00,1.0 +2025-07-07T01:00,1.6 +2025-07-07T02:00,1.1 +2025-07-07T03:00,8.1 +2025-07-07T04:00,1.0 +2025-07-07T05:00,1.5 +2025-07-07T06:00,6.8 +2025-07-07T07:00,8.1 +2025-07-07T08:00,1.8 +2025-07-07T09:00,8.3 +2025-07-07T10:00,9.1 +2025-07-07T11:00,10.5 +2025-07-07T12:00,9.3 +2025-07-07T13:00,4.6 +2025-07-07T14:00,4.7 +2025-07-07T15:00,5.9 +2025-07-07T16:00,5.1 +2025-07-07T17:00,6.1 +2025-07-07T18:00,1.9 +2025-07-07T19:00,5.9 +2025-07-07T20:00,2.5 +2025-07-07T21:00,5.9 +2025-07-07T22:00,1.0 +2025-07-07T23:00,3.1 +2025-07-08T00:00,1.0 +2025-07-08T01:00,2.6 +2025-07-08T02:00,1.0 +2025-07-08T03:00,6.8 +2025-07-08T04:00,1.0 +2025-07-08T05:00,5.5 +2025-07-08T06:00,9.4 +2025-07-08T07:00,10.5 +2025-07-08T08:00,6.4 +2025-07-08T09:00,5.6 +2025-07-08T10:00,5.4 +2025-07-08T11:00,12.1 +2025-07-08T12:00,6.3 +2025-07-08T13:00,10.7 +2025-07-08T14:00,11.3 +2025-07-08T15:00,8.2 +2025-07-08T16:00,10.7 +2025-07-08T17:00,8.0 +2025-07-08T18:00,6.3 +2025-07-08T19:00,1.0 +2025-07-08T20:00,5.0 +2025-07-08T21:00,3.1 +2025-07-08T22:00,1.0 +2025-07-08T23:00,1.0 +2025-07-09T00:00,1.0 +2025-07-09T01:00,1.0 +2025-07-09T02:00,1.7 +2025-07-09T03:00,4.2 +2025-07-09T04:00,5.8 +2025-07-09T05:00,5.8 +2025-07-09T06:00,9.0 +2025-07-09T07:00,9.0 +2025-07-09T08:00,7.9 +2025-07-09T09:00,11.1 +2025-07-09T10:00,8.2 +2025-07-09T11:00,7.5 +2025-07-09T12:00,7.2 +2025-07-09T13:00,10.3 +2025-07-09T14:00,3.3 +2025-07-09T15:00,8.8 +2025-07-09T16:00,5.0 +2025-07-09T17:00,7.8 +2025-07-09T18:00,3.1 +2025-07-09T19:00,5.6 +2025-07-09T20:00,5.7 +2025-07-09T21:00,4.0 +2025-07-09T22:00,2.0 +2025-07-09T23:00,2.7 +2025-07-10T00:00,1.4 +2025-07-10T01:00,5.0 +2025-07-10T02:00,2.2 +2025-07-10T03:00,4.5 +2025-07-10T04:00,1.0 +2025-07-10T05:00,1.0 +2025-07-10T06:00,5.5 +2025-07-10T07:00,11.1 +2025-07-10T08:00,3.5 +2025-07-10T09:00,10.6 +2025-07-10T10:00,3.5 +2025-07-10T11:00,7.0 +2025-07-10T12:00,10.4 +2025-07-10T13:00,6.7 +2025-07-10T14:00,10.2 +2025-07-10T15:00,5.3 +2025-07-10T16:00,2.1 +2025-07-10T17:00,6.4 +2025-07-10T18:00,4.2 +2025-07-10T19:00,1.0 +2025-07-10T20:00,2.2 +2025-07-10T21:00,4.1 +2025-07-10T22:00,1.0 +2025-07-10T23:00,1.0 +2025-07-11T00:00,3.1 +2025-07-11T01:00,2.9 +2025-07-11T02:00,1.0 +2025-07-11T03:00,1.3 +2025-07-11T04:00,3.8 +2025-07-11T05:00,2.7 +2025-07-11T06:00,3.6 +2025-07-11T07:00,8.5 +2025-07-11T08:00,2.8 +2025-07-11T09:00,12.8 +2025-07-11T10:00,9.0 +2025-07-11T11:00,7.4 +2025-07-11T12:00,12.8 +2025-07-11T13:00,12.3 +2025-07-11T14:00,11.7 +2025-07-11T15:00,5.6 +2025-07-11T16:00,7.0 +2025-07-11T17:00,4.6 +2025-07-11T18:00,5.2 +2025-07-11T19:00,6.6 +2025-07-11T20:00,8.0 +2025-07-11T21:00,1.0 +2025-07-11T22:00,5.7 +2025-07-11T23:00,1.0 +2025-07-12T00:00,1.0 +2025-07-12T01:00,1.0 +2025-07-12T02:00,1.0 +2025-07-12T03:00,1.6 +2025-07-12T04:00,9.4 +2025-07-12T05:00,3.0 +2025-07-12T06:00,7.3 +2025-07-12T07:00,6.6 +2025-07-12T08:00,4.6 +2025-07-12T09:00,9.0 +2025-07-12T10:00,5.4 +2025-07-12T11:00,10.5 +2025-07-12T12:00,10.0 +2025-07-12T13:00,7.6 +2025-07-12T14:00,10.3 +2025-07-12T15:00,6.9 +2025-07-12T16:00,8.6 +2025-07-12T17:00,2.9 +2025-07-12T18:00,1.0 +2025-07-12T19:00,2.8 +2025-07-12T20:00,1.7 +2025-07-12T21:00,1.0 +2025-07-12T22:00,1.7 +2025-07-12T23:00,1.0 +2025-07-13T00:00,4.5 +2025-07-13T01:00,1.0 +2025-07-13T02:00,2.8 +2025-07-13T03:00,1.0 +2025-07-13T04:00,2.3 +2025-07-13T05:00,4.1 +2025-07-13T06:00,8.1 +2025-07-13T07:00,3.2 +2025-07-13T08:00,8.8 +2025-07-13T09:00,8.9 +2025-07-13T10:00,8.9 +2025-07-13T11:00,4.2 +2025-07-13T12:00,10.9 +2025-07-13T13:00,10.2 +2025-07-13T14:00,5.9 +2025-07-13T15:00,7.7 +2025-07-13T16:00,5.7 +2025-07-13T17:00,11.5 +2025-07-13T18:00,4.2 +2025-07-13T19:00,5.6 +2025-07-13T20:00,2.6 +2025-07-13T21:00,1.0 +2025-07-13T22:00,2.7 +2025-07-13T23:00,1.0 +2025-07-14T00:00,1.0 +2025-07-14T01:00,3.2 +2025-07-14T02:00,1.3 +2025-07-14T03:00,1.0 +2025-07-14T04:00,2.7 +2025-07-14T05:00,4.4 +2025-07-14T06:00,4.4 +2025-07-14T07:00,7.3 +2025-07-14T08:00,6.3 +2025-07-14T09:00,9.8 +2025-07-14T10:00,7.6 +2025-07-14T11:00,8.2 +2025-07-14T12:00,10.3 +2025-07-14T13:00,11.7 +2025-07-14T14:00,8.3 +2025-07-14T15:00,7.0 +2025-07-14T16:00,3.6 +2025-07-14T17:00,6.9 +2025-07-14T18:00,4.6 +2025-07-14T19:00,2.8 +2025-07-14T20:00,4.2 +2025-07-14T21:00,5.4 +2025-07-14T22:00,7.6 +2025-07-14T23:00,1.0 +2025-07-15T00:00,1.0 +2025-07-15T01:00,3.8 +2025-07-15T02:00,1.0 +2025-07-15T03:00,5.9 +2025-07-15T04:00,4.1 +2025-07-15T05:00,5.8 +2025-07-15T06:00,3.2 +2025-07-15T07:00,6.0 +2025-07-15T08:00,7.8 +2025-07-15T09:00,2.9 +2025-07-15T10:00,9.2 +2025-07-15T11:00,10.7 +2025-07-15T12:00,10.0 +2025-07-15T13:00,9.7 +2025-07-15T14:00,9.1 +2025-07-15T15:00,7.8 +2025-07-15T16:00,9.0 +2025-07-15T17:00,3.8 +2025-07-15T18:00,6.5 +2025-07-15T19:00,3.1 +2025-07-15T20:00,2.1 +2025-07-15T21:00,1.0 +2025-07-15T22:00,1.0 +2025-07-15T23:00,1.6 +2025-07-16T00:00,1.0 +2025-07-16T01:00,1.0 +2025-07-16T02:00,1.6 +2025-07-16T03:00,1.0 +2025-07-16T04:00,4.4 +2025-07-16T05:00,8.2 +2025-07-16T06:00,4.0 +2025-07-16T07:00,4.7 +2025-07-16T08:00,9.7 +2025-07-16T09:00,4.8 +2025-07-16T10:00,8.4 +2025-07-16T11:00,10.1 +2025-07-16T12:00,6.7 +2025-07-16T13:00,6.7 +2025-07-16T14:00,7.5 +2025-07-16T15:00,8.8 +2025-07-16T16:00,4.5 +2025-07-16T17:00,5.7 +2025-07-16T18:00,2.4 +2025-07-16T19:00,4.5 +2025-07-16T20:00,9.0 +2025-07-16T21:00,5.3 +2025-07-16T22:00,3.0 +2025-07-16T23:00,1.6 +2025-07-17T00:00,1.0 +2025-07-17T01:00,1.0 +2025-07-17T02:00,6.8 +2025-07-17T03:00,1.0 +2025-07-17T04:00,5.5 +2025-07-17T05:00,2.6 +2025-07-17T06:00,8.8 +2025-07-17T07:00,7.1 +2025-07-17T08:00,12.6 +2025-07-17T09:00,13.3 +2025-07-17T10:00,9.7 +2025-07-17T11:00,9.5 +2025-07-17T12:00,12.9 +2025-07-17T13:00,6.9 +2025-07-17T14:00,8.8 +2025-07-17T15:00,9.1 +2025-07-17T16:00,4.4 +2025-07-17T17:00,7.9 +2025-07-17T18:00,6.0 +2025-07-17T19:00,1.0 +2025-07-17T20:00,4.5 +2025-07-17T21:00,1.0 +2025-07-17T22:00,1.0 +2025-07-17T23:00,1.0 +2025-07-18T00:00,1.0 +2025-07-18T01:00,1.0 +2025-07-18T02:00,1.9 +2025-07-18T03:00,4.7 +2025-07-18T04:00,1.4 +2025-07-18T05:00,3.8 +2025-07-18T06:00,5.1 +2025-07-18T07:00,7.6 +2025-07-18T08:00,4.7 +2025-07-18T09:00,9.6 +2025-07-18T10:00,4.8 +2025-07-18T11:00,9.6 +2025-07-18T12:00,7.6 +2025-07-18T13:00,6.8 +2025-07-18T14:00,10.0 +2025-07-18T15:00,12.1 +2025-07-18T16:00,8.9 +2025-07-18T17:00,6.4 +2025-07-18T18:00,9.0 +2025-07-18T19:00,1.0 +2025-07-18T20:00,3.6 +2025-07-18T21:00,6.8 +2025-07-18T22:00,1.7 +2025-07-18T23:00,2.6 +2025-07-19T00:00,4.3 +2025-07-19T01:00,1.0 +2025-07-19T02:00,5.4 +2025-07-19T03:00,6.1 +2025-07-19T04:00,1.5 +2025-07-19T05:00,3.2 +2025-07-19T06:00,10.0 +2025-07-19T07:00,7.5 +2025-07-19T08:00,8.9 +2025-07-19T09:00,7.7 +2025-07-19T10:00,9.5 +2025-07-19T11:00,10.4 +2025-07-19T12:00,9.8 +2025-07-19T13:00,13.2 +2025-07-19T14:00,9.7 +2025-07-19T15:00,3.4 +2025-07-19T16:00,8.1 +2025-07-19T17:00,1.8 +2025-07-19T18:00,5.3 +2025-07-19T19:00,1.8 +2025-07-19T20:00,5.8 +2025-07-19T21:00,1.1 +2025-07-19T22:00,4.2 +2025-07-19T23:00,3.4 +2025-07-20T00:00,1.0 +2025-07-20T01:00,3.6 +2025-07-20T02:00,3.8 +2025-07-20T03:00,1.0 +2025-07-20T04:00,1.0 +2025-07-20T05:00,4.6 +2025-07-20T06:00,7.2 +2025-07-20T07:00,7.0 +2025-07-20T08:00,11.5 +2025-07-20T09:00,8.3 +2025-07-20T10:00,8.9 +2025-07-20T11:00,11.3 +2025-07-20T12:00,11.7 +2025-07-20T13:00,7.9 +2025-07-20T14:00,11.4 +2025-07-20T15:00,12.4 +2025-07-20T16:00,10.8 +2025-07-20T17:00,11.8 +2025-07-20T18:00,5.6 +2025-07-20T19:00,2.3 +2025-07-20T20:00,8.5 +2025-07-20T21:00,4.3 +2025-07-20T22:00,5.4 +2025-07-20T23:00,1.3 +2025-07-21T00:00,2.4 +2025-07-21T01:00,3.8 +2025-07-21T02:00,4.2 +2025-07-21T03:00,2.4 +2025-07-21T04:00,3.0 +2025-07-21T05:00,4.4 +2025-07-21T06:00,7.9 +2025-07-21T07:00,5.4 +2025-07-21T08:00,8.4 +2025-07-21T09:00,5.1 +2025-07-21T10:00,8.2 +2025-07-21T11:00,11.9 +2025-07-21T12:00,10.2 +2025-07-21T13:00,8.5 +2025-07-21T14:00,7.3 +2025-07-21T15:00,9.6 +2025-07-21T16:00,4.6 +2025-07-21T17:00,4.8 +2025-07-21T18:00,8.9 +2025-07-21T19:00,4.3 +2025-07-21T20:00,4.4 +2025-07-21T21:00,2.4 +2025-07-21T22:00,3.5 +2025-07-21T23:00,1.0 +2025-07-22T00:00,1.0 +2025-07-22T01:00,2.7 +2025-07-22T02:00,1.0 +2025-07-22T03:00,1.0 +2025-07-22T04:00,4.8 +2025-07-22T05:00,3.6 +2025-07-22T06:00,6.5 +2025-07-22T07:00,8.0 +2025-07-22T08:00,4.3 +2025-07-22T09:00,8.1 +2025-07-22T10:00,6.8 +2025-07-22T11:00,10.2 +2025-07-22T12:00,14.2 +2025-07-22T13:00,14.6 +2025-07-22T14:00,9.7 +2025-07-22T15:00,6.9 +2025-07-22T16:00,4.8 +2025-07-22T17:00,4.3 +2025-07-22T18:00,6.5 +2025-07-22T19:00,2.0 +2025-07-22T20:00,3.2 +2025-07-22T21:00,1.5 +2025-07-22T22:00,2.9 +2025-07-22T23:00,1.0 +2025-07-23T00:00,1.0 +2025-07-23T01:00,3.7 +2025-07-23T02:00,2.6 +2025-07-23T03:00,3.2 +2025-07-23T04:00,5.4 +2025-07-23T05:00,6.8 +2025-07-23T06:00,6.7 +2025-07-23T07:00,5.9 +2025-07-23T08:00,8.1 +2025-07-23T09:00,7.3 +2025-07-23T10:00,5.9 +2025-07-23T11:00,8.2 +2025-07-23T12:00,7.7 +2025-07-23T13:00,15.5 +2025-07-23T14:00,13.0 +2025-07-23T15:00,10.1 +2025-07-23T16:00,9.1 +2025-07-23T17:00,9.6 +2025-07-23T18:00,3.8 +2025-07-23T19:00,6.9 +2025-07-23T20:00,4.3 +2025-07-23T21:00,2.5 +2025-07-23T22:00,1.0 +2025-07-23T23:00,1.0 +2025-07-24T00:00,1.0 +2025-07-24T01:00,6.3 +2025-07-24T02:00,4.0 +2025-07-24T03:00,2.0 +2025-07-24T04:00,4.6 +2025-07-24T05:00,5.6 +2025-07-24T06:00,8.7 +2025-07-24T07:00,9.8 +2025-07-24T08:00,6.6 +2025-07-24T09:00,8.1 +2025-07-24T10:00,7.8 +2025-07-24T11:00,7.7 +2025-07-24T12:00,7.4 +2025-07-24T13:00,7.2 +2025-07-24T14:00,8.3 +2025-07-24T15:00,5.4 +2025-07-24T16:00,10.2 +2025-07-24T17:00,5.8 +2025-07-24T18:00,2.6 +2025-07-24T19:00,4.7 +2025-07-24T20:00,5.5 +2025-07-24T21:00,4.4 +2025-07-24T22:00,1.0 +2025-07-24T23:00,1.0 +2025-07-25T00:00,1.0 +2025-07-25T01:00,1.0 +2025-07-25T02:00,5.6 +2025-07-25T03:00,1.0 +2025-07-25T04:00,3.9 +2025-07-25T05:00,5.8 +2025-07-25T06:00,2.8 +2025-07-25T07:00,4.7 +2025-07-25T08:00,7.2 +2025-07-25T09:00,8.3 +2025-07-25T10:00,6.0 +2025-07-25T11:00,9.6 +2025-07-25T12:00,8.9 +2025-07-25T13:00,9.3 +2025-07-25T14:00,9.9 +2025-07-25T15:00,13.0 +2025-07-25T16:00,8.5 +2025-07-25T17:00,3.8 +2025-07-25T18:00,6.2 +2025-07-25T19:00,2.6 +2025-07-25T20:00,5.8 +2025-07-25T21:00,1.5 +2025-07-25T22:00,1.0 +2025-07-25T23:00,3.2 +2025-07-26T00:00,3.6 +2025-07-26T01:00,1.0 +2025-07-26T02:00,4.8 +2025-07-26T03:00,2.8 +2025-07-26T04:00,3.1 +2025-07-26T05:00,6.3 +2025-07-26T06:00,4.2 +2025-07-26T07:00,4.6 +2025-07-26T08:00,11.2 +2025-07-26T09:00,8.0 +2025-07-26T10:00,5.3 +2025-07-26T11:00,10.6 +2025-07-26T12:00,7.4 +2025-07-26T13:00,12.4 +2025-07-26T14:00,10.0 +2025-07-26T15:00,7.8 +2025-07-26T16:00,7.9 +2025-07-26T17:00,8.4 +2025-07-26T18:00,7.5 +2025-07-26T19:00,6.7 +2025-07-26T20:00,4.1 +2025-07-26T21:00,1.0 +2025-07-26T22:00,1.8 +2025-07-26T23:00,1.0 +2025-07-27T00:00,3.5 +2025-07-27T01:00,3.2 +2025-07-27T02:00,1.0 +2025-07-27T03:00,1.8 +2025-07-27T04:00,2.2 +2025-07-27T05:00,1.4 +2025-07-27T06:00,1.1 +2025-07-27T07:00,6.9 +2025-07-27T08:00,9.5 +2025-07-27T09:00,8.9 +2025-07-27T10:00,12.9 +2025-07-27T11:00,12.6 +2025-07-27T12:00,16.7 +2025-07-27T13:00,8.8 +2025-07-27T14:00,10.4 +2025-07-27T15:00,12.5 +2025-07-27T16:00,5.4 +2025-07-27T17:00,8.2 +2025-07-27T18:00,8.4 +2025-07-27T19:00,3.8 +2025-07-27T20:00,1.0 +2025-07-27T21:00,1.0 +2025-07-27T22:00,2.4 +2025-07-27T23:00,5.6 +2025-07-28T00:00,4.2 +2025-07-28T01:00,1.0 +2025-07-28T02:00,2.6 +2025-07-28T03:00,4.8 +2025-07-28T04:00,6.4 +2025-07-28T05:00,6.4 +2025-07-28T06:00,4.1 +2025-07-28T07:00,3.3 diff --git a/agents/evals/fixtures/cases/line-timeseries-matplotlib-renamed/case.json b/agents/evals/fixtures/cases/line-timeseries-matplotlib-renamed/case.json new file mode 100644 index 0000000000..f58188d3ee --- /dev/null +++ b/agents/evals/fixtures/cases/line-timeseries-matplotlib-renamed/case.json @@ -0,0 +1,25 @@ +{ + "spec_id": "line-timeseries", + "library": "matplotlib", + "locale": "de", + "perturbation": "renamed", + "bindings": [ + { + "role": "date", + "column": "Messdatum" + }, + { + "role": "value", + "column": "Feinstaub PM2,5 (µg/m³)" + } + ], + "expected": "accepted", + "tags": [ + "time-series", + "renamed", + "synthetic", + "renamed-headers", + "non-ascii-headers" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 1010, renamed)" +} diff --git a/agents/evals/fixtures/cases/line-timeseries-matplotlib-renamed/data.csv b/agents/evals/fixtures/cases/line-timeseries-matplotlib-renamed/data.csv new file mode 100644 index 0000000000..1acececa25 --- /dev/null +++ b/agents/evals/fixtures/cases/line-timeseries-matplotlib-renamed/data.csv @@ -0,0 +1,366 @@ +Messdatum,"Feinstaub PM2,5 (µg/m³)" +2025-01-01,17.9 +2025-01-02,24.6 +2025-01-03,22.3 +2025-01-04,19.7 +2025-01-05,24.6 +2025-01-06,18.5 +2025-01-07,24.3 +2025-01-08,27.0 +2025-01-09,19.5 +2025-01-10,23.5 +2025-01-11,22.1 +2025-01-12,18.0 +2025-01-13,23.4 +2025-01-14,17.7 +2025-01-15,23.4 +2025-01-16,27.7 +2025-01-17,25.0 +2025-01-18,25.4 +2025-01-19,27.6 +2025-01-20,21.4 +2025-01-21,27.6 +2025-01-22,23.7 +2025-01-23,15.1 +2025-01-24,21.3 +2025-01-25,19.2 +2025-01-26,20.5 +2025-01-27,22.6 +2025-01-28,19.9 +2025-01-29,19.4 +2025-01-30,22.3 +2025-01-31,23.3 +2025-02-01,16.0 +2025-02-02,23.0 +2025-02-03,24.3 +2025-02-04,19.1 +2025-02-05,24.0 +2025-02-06,26.4 +2025-02-07,21.2 +2025-02-08,21.2 +2025-02-09,19.0 +2025-02-10,19.3 +2025-02-11,22.2 +2025-02-12,17.0 +2025-02-13,21.7 +2025-02-14,22.9 +2025-02-15,23.2 +2025-02-16,17.4 +2025-02-17,15.9 +2025-02-18,24.8 +2025-02-19,15.1 +2025-02-20,18.2 +2025-02-21,18.8 +2025-02-22,20.0 +2025-02-23,19.5 +2025-02-24,16.1 +2025-02-25,19.4 +2025-02-26,14.9 +2025-02-27,16.9 +2025-02-28,13.7 +2025-03-01,16.2 +2025-03-02,17.4 +2025-03-03,17.6 +2025-03-04,18.8 +2025-03-05,18.1 +2025-03-06,14.9 +2025-03-07,21.0 +2025-03-08,18.6 +2025-03-09,19.7 +2025-03-10,21.0 +2025-03-11,18.8 +2025-03-12,15.6 +2025-03-13,21.5 +2025-03-14,19.8 +2025-03-15,20.0 +2025-03-16,13.3 +2025-03-17,18.1 +2025-03-18,19.4 +2025-03-19,18.5 +2025-03-20,11.2 +2025-03-21,13.9 +2025-03-22,14.1 +2025-03-23,17.1 +2025-03-24,17.4 +2025-03-25,16.5 +2025-03-26,12.9 +2025-03-27,17.8 +2025-03-28,12.5 +2025-03-29,13.4 +2025-03-30,17.2 +2025-03-31,14.9 +2025-04-01,13.2 +2025-04-02,11.7 +2025-04-03,12.6 +2025-04-04,13.2 +2025-04-05,13.4 +2025-04-06,13.9 +2025-04-07,12.0 +2025-04-08,12.9 +2025-04-09,14.9 +2025-04-10,14.9 +2025-04-11,14.0 +2025-04-12,11.7 +2025-04-13,17.6 +2025-04-14,13.3 +2025-04-15,13.7 +2025-04-16,14.3 +2025-04-17,12.6 +2025-04-18,6.9 +2025-04-19,15.9 +2025-04-20,9.3 +2025-04-21,12.4 +2025-04-22,11.9 +2025-04-23,9.2 +2025-04-24,14.0 +2025-04-25,10.5 +2025-04-26,3.5 +2025-04-27,13.9 +2025-04-28,9.8 +2025-04-29,12.6 +2025-04-30,10.1 +2025-05-01,8.7 +2025-05-02,8.4 +2025-05-03,7.9 +2025-05-04,11.6 +2025-05-05,10.4 +2025-05-06,8.5 +2025-05-07,4.8 +2025-05-08,6.6 +2025-05-09,5.8 +2025-05-10,8.1 +2025-05-11,7.7 +2025-05-12,3.0 +2025-05-13,11.8 +2025-05-14,2.0 +2025-05-15,4.9 +2025-05-16,5.6 +2025-05-17,13.2 +2025-05-18,5.6 +2025-05-19,8.5 +2025-05-20,10.2 +2025-05-21,8.9 +2025-05-22,13.2 +2025-05-23,9.8 +2025-05-24,11.2 +2025-05-25,10.2 +2025-05-26,11.0 +2025-05-27,2.7 +2025-05-28,8.0 +2025-05-29,4.9 +2025-05-30,6.1 +2025-05-31,8.3 +2025-06-01,5.0 +2025-06-02,5.5 +2025-06-03,1.0 +2025-06-04,5.8 +2025-06-05,13.9 +2025-06-06,1.0 +2025-06-07,6.7 +2025-06-08,2.8 +2025-06-09,6.8 +2025-06-10,7.7 +2025-06-11,1.8 +2025-06-12,5.2 +2025-06-13,6.9 +2025-06-14,9.8 +2025-06-15,3.7 +2025-06-16,5.5 +2025-06-17,9.5 +2025-06-18,7.0 +2025-06-19,2.0 +2025-06-20,10.5 +2025-06-21,5.8 +2025-06-22,9.9 +2025-06-23,8.1 +2025-06-24,9.7 +2025-06-25,6.0 +2025-06-26,1.0 +2025-06-27,10.1 +2025-06-28,5.7 +2025-06-29,5.4 +2025-06-30,1.7 +2025-07-01,1.0 +2025-07-02,4.1 +2025-07-03,9.5 +2025-07-04,6.5 +2025-07-05,6.7 +2025-07-06,6.0 +2025-07-07,6.6 +2025-07-08,6.2 +2025-07-09,1.0 +2025-07-10,3.9 +2025-07-11,3.2 +2025-07-12,7.3 +2025-07-13,8.5 +2025-07-14,5.7 +2025-07-15,1.0 +2025-07-16,5.3 +2025-07-17,2.0 +2025-07-18,5.3 +2025-07-19,11.1 +2025-07-20,1.0 +2025-07-21,5.9 +2025-07-22,7.5 +2025-07-23,10.8 +2025-07-24,4.7 +2025-07-25,3.9 +2025-07-26,5.6 +2025-07-27,4.3 +2025-07-28,6.9 +2025-07-29,7.3 +2025-07-30,11.5 +2025-07-31,6.4 +2025-08-01,3.3 +2025-08-02,4.5 +2025-08-03,5.9 +2025-08-04,8.8 +2025-08-05,4.1 +2025-08-06,1.0 +2025-08-07,4.9 +2025-08-08,6.5 +2025-08-09,2.7 +2025-08-10,7.3 +2025-08-11,14.3 +2025-08-12,4.8 +2025-08-13,9.0 +2025-08-14,7.6 +2025-08-15,9.1 +2025-08-16,9.1 +2025-08-17,1.0 +2025-08-18,5.4 +2025-08-19,10.8 +2025-08-20,11.0 +2025-08-21,5.4 +2025-08-22,7.8 +2025-08-23,4.6 +2025-08-24,7.1 +2025-08-25,10.3 +2025-08-26,10.0 +2025-08-27,8.1 +2025-08-28,10.8 +2025-08-29,6.1 +2025-08-30,12.0 +2025-08-31,12.1 +2025-09-01,10.2 +2025-09-02,8.0 +2025-09-03,8.6 +2025-09-04,6.4 +2025-09-05,10.7 +2025-09-06,9.6 +2025-09-07,16.1 +2025-09-08,15.1 +2025-09-09,10.9 +2025-09-10,12.6 +2025-09-11,8.1 +2025-09-12,9.8 +2025-09-13,10.3 +2025-09-14,15.2 +2025-09-15,6.7 +2025-09-16,13.8 +2025-09-17,15.9 +2025-09-18,15.9 +2025-09-19,12.7 +2025-09-20,11.9 +2025-09-21,11.2 +2025-09-22,12.6 +2025-09-23,10.3 +2025-09-24,15.6 +2025-09-25,15.9 +2025-09-26,16.0 +2025-09-27,15.7 +2025-09-28,16.3 +2025-09-29,17.1 +2025-09-30,13.0 +2025-10-01,9.4 +2025-10-02,13.8 +2025-10-03,15.5 +2025-10-04,16.7 +2025-10-05,7.5 +2025-10-06,15.5 +2025-10-07,14.6 +2025-10-08,8.4 +2025-10-09,12.4 +2025-10-10,14.0 +2025-10-11,19.5 +2025-10-12,16.5 +2025-10-13,16.2 +2025-10-14,20.3 +2025-10-15,13.1 +2025-10-16,11.8 +2025-10-17,16.5 +2025-10-18,17.6 +2025-10-19,14.6 +2025-10-20,17.0 +2025-10-21,23.6 +2025-10-22,13.7 +2025-10-23,22.0 +2025-10-24,20.6 +2025-10-25,19.7 +2025-10-26,16.0 +2025-10-27,16.8 +2025-10-28,20.3 +2025-10-29,22.0 +2025-10-30,12.7 +2025-10-31,22.1 +2025-11-01,15.8 +2025-11-02,14.0 +2025-11-03,18.2 +2025-11-04,22.0 +2025-11-05,19.9 +2025-11-06,14.6 +2025-11-07,18.6 +2025-11-08,23.5 +2025-11-09,18.2 +2025-11-10,21.3 +2025-11-11,19.6 +2025-11-12,21.4 +2025-11-13,24.2 +2025-11-14,23.5 +2025-11-15,24.8 +2025-11-16,20.7 +2025-11-17,15.9 +2025-11-18,22.3 +2025-11-19,18.0 +2025-11-20,19.9 +2025-11-21,27.6 +2025-11-22,20.2 +2025-11-23,21.4 +2025-11-24,19.1 +2025-11-25,24.8 +2025-11-26,26.6 +2025-11-27,20.4 +2025-11-28,18.0 +2025-11-29,22.4 +2025-11-30,22.0 +2025-12-01,26.8 +2025-12-02,23.8 +2025-12-03,25.2 +2025-12-04,19.9 +2025-12-05,25.3 +2025-12-06,27.0 +2025-12-07,22.7 +2025-12-08,27.2 +2025-12-09,21.1 +2025-12-10,26.7 +2025-12-11,20.8 +2025-12-12,23.9 +2025-12-13,25.4 +2025-12-14,26.1 +2025-12-15,22.2 +2025-12-16,22.4 +2025-12-17,28.7 +2025-12-18,26.0 +2025-12-19,19.5 +2025-12-20,25.6 +2025-12-21,20.2 +2025-12-22,16.5 +2025-12-23,23.7 +2025-12-24,21.2 +2025-12-25,20.3 +2025-12-26,21.8 +2025-12-27,20.9 +2025-12-28,33.7 +2025-12-29,24.7 +2025-12-30,19.7 +2025-12-31,20.3 diff --git a/agents/evals/fixtures/cases/line-timeseries-matplotlib-x10/case.json b/agents/evals/fixtures/cases/line-timeseries-matplotlib-x10/case.json new file mode 100644 index 0000000000..f8372d5c8d --- /dev/null +++ b/agents/evals/fixtures/cases/line-timeseries-matplotlib-x10/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "line-timeseries", + "library": "matplotlib", + "locale": "en", + "perturbation": "x10", + "bindings": [ + { + "role": "date", + "column": "Date" + }, + { + "role": "value", + "column": "PM2.5 (µg/m³)" + } + ], + "expected": "accepted", + "tags": [ + "time-series", + "x10", + "synthetic", + "scaled-values" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 1010, x10)" +} diff --git a/agents/evals/fixtures/cases/line-timeseries-matplotlib-x10/data.csv b/agents/evals/fixtures/cases/line-timeseries-matplotlib-x10/data.csv new file mode 100644 index 0000000000..d69098f184 --- /dev/null +++ b/agents/evals/fixtures/cases/line-timeseries-matplotlib-x10/data.csv @@ -0,0 +1,366 @@ +Date,PM2.5 (µg/m³) +2025-01-01,179.0 +2025-01-02,246.1 +2025-01-03,223.2 +2025-01-04,197.2 +2025-01-05,246.4 +2025-01-06,184.6 +2025-01-07,242.9 +2025-01-08,269.7 +2025-01-09,195.4 +2025-01-10,235.3 +2025-01-11,221.1 +2025-01-12,180.4 +2025-01-13,233.7 +2025-01-14,176.8 +2025-01-15,233.5 +2025-01-16,277.1 +2025-01-17,249.7 +2025-01-18,253.6 +2025-01-19,276.5 +2025-01-20,214.0 +2025-01-21,275.9 +2025-01-22,237.2 +2025-01-23,150.9 +2025-01-24,213.1 +2025-01-25,192.2 +2025-01-26,204.9 +2025-01-27,225.5 +2025-01-28,198.6 +2025-01-29,193.8 +2025-01-30,222.6 +2025-01-31,232.6 +2025-02-01,159.6 +2025-02-02,229.7 +2025-02-03,242.6 +2025-02-04,191.1 +2025-02-05,239.6 +2025-02-06,264.2 +2025-02-07,211.6 +2025-02-08,211.5 +2025-02-09,190.3 +2025-02-10,193.0 +2025-02-11,222.4 +2025-02-12,170.5 +2025-02-13,216.9 +2025-02-14,229.4 +2025-02-15,232.5 +2025-02-16,173.6 +2025-02-17,158.6 +2025-02-18,247.5 +2025-02-19,150.8 +2025-02-20,181.6 +2025-02-21,188.4 +2025-02-22,200.1 +2025-02-23,194.6 +2025-02-24,161.2 +2025-02-25,193.6 +2025-02-26,149.2 +2025-02-27,169.4 +2025-02-28,136.7 +2025-03-01,161.8 +2025-03-02,173.7 +2025-03-03,176.3 +2025-03-04,187.9 +2025-03-05,181.3 +2025-03-06,149.2 +2025-03-07,210.2 +2025-03-08,186.1 +2025-03-09,196.5 +2025-03-10,209.8 +2025-03-11,187.5 +2025-03-12,155.9 +2025-03-13,215.2 +2025-03-14,198.3 +2025-03-15,199.9 +2025-03-16,133.0 +2025-03-17,181.2 +2025-03-18,194.2 +2025-03-19,184.7 +2025-03-20,112.3 +2025-03-21,139.4 +2025-03-22,141.1 +2025-03-23,170.6 +2025-03-24,173.6 +2025-03-25,164.8 +2025-03-26,129.1 +2025-03-27,177.8 +2025-03-28,125.2 +2025-03-29,134.4 +2025-03-30,172.4 +2025-03-31,149.0 +2025-04-01,132.3 +2025-04-02,117.2 +2025-04-03,125.5 +2025-04-04,132.0 +2025-04-05,134.3 +2025-04-06,138.8 +2025-04-07,119.8 +2025-04-08,129.4 +2025-04-09,149.4 +2025-04-10,148.6 +2025-04-11,139.6 +2025-04-12,117.2 +2025-04-13,176.2 +2025-04-14,132.7 +2025-04-15,136.6 +2025-04-16,142.8 +2025-04-17,125.7 +2025-04-18,69.5 +2025-04-19,159.4 +2025-04-20,93.1 +2025-04-21,123.7 +2025-04-22,118.5 +2025-04-23,91.6 +2025-04-24,139.6 +2025-04-25,104.9 +2025-04-26,35.3 +2025-04-27,139.0 +2025-04-28,98.0 +2025-04-29,125.8 +2025-04-30,101.2 +2025-05-01,87.1 +2025-05-02,84.3 +2025-05-03,79.1 +2025-05-04,115.6 +2025-05-05,103.8 +2025-05-06,85.3 +2025-05-07,48.1 +2025-05-08,66.0 +2025-05-09,58.0 +2025-05-10,80.6 +2025-05-11,76.7 +2025-05-12,29.9 +2025-05-13,117.9 +2025-05-14,19.5 +2025-05-15,49.1 +2025-05-16,56.2 +2025-05-17,132.2 +2025-05-18,56.4 +2025-05-19,85.2 +2025-05-20,101.8 +2025-05-21,89.2 +2025-05-22,131.5 +2025-05-23,98.2 +2025-05-24,112.2 +2025-05-25,101.7 +2025-05-26,110.4 +2025-05-27,26.9 +2025-05-28,80.0 +2025-05-29,49.5 +2025-05-30,61.1 +2025-05-31,83.2 +2025-06-01,50.0 +2025-06-02,54.5 +2025-06-03,10.0 +2025-06-04,58.3 +2025-06-05,138.9 +2025-06-06,10.0 +2025-06-07,66.6 +2025-06-08,28.5 +2025-06-09,67.7 +2025-06-10,76.6 +2025-06-11,18.3 +2025-06-12,51.6 +2025-06-13,68.6 +2025-06-14,98.0 +2025-06-15,37.1 +2025-06-16,54.6 +2025-06-17,94.7 +2025-06-18,70.2 +2025-06-19,19.5 +2025-06-20,104.6 +2025-06-21,57.7 +2025-06-22,99.1 +2025-06-23,81.2 +2025-06-24,96.8 +2025-06-25,59.9 +2025-06-26,10.0 +2025-06-27,101.3 +2025-06-28,57.2 +2025-06-29,54.3 +2025-06-30,17.4 +2025-07-01,10.0 +2025-07-02,40.9 +2025-07-03,94.6 +2025-07-04,64.7 +2025-07-05,67.4 +2025-07-06,59.6 +2025-07-07,66.4 +2025-07-08,61.8 +2025-07-09,10.0 +2025-07-10,39.3 +2025-07-11,31.6 +2025-07-12,73.1 +2025-07-13,84.7 +2025-07-14,57.3 +2025-07-15,10.0 +2025-07-16,52.8 +2025-07-17,20.4 +2025-07-18,53.1 +2025-07-19,110.5 +2025-07-20,10.0 +2025-07-21,58.9 +2025-07-22,75.3 +2025-07-23,108.3 +2025-07-24,46.7 +2025-07-25,39.4 +2025-07-26,56.4 +2025-07-27,43.1 +2025-07-28,68.7 +2025-07-29,73.1 +2025-07-30,115.3 +2025-07-31,64.3 +2025-08-01,33.0 +2025-08-02,45.4 +2025-08-03,58.8 +2025-08-04,87.6 +2025-08-05,40.9 +2025-08-06,10.0 +2025-08-07,48.8 +2025-08-08,65.4 +2025-08-09,26.8 +2025-08-10,72.6 +2025-08-11,142.5 +2025-08-12,47.6 +2025-08-13,90.2 +2025-08-14,75.6 +2025-08-15,90.9 +2025-08-16,90.8 +2025-08-17,10.0 +2025-08-18,53.7 +2025-08-19,107.8 +2025-08-20,109.7 +2025-08-21,53.8 +2025-08-22,77.6 +2025-08-23,45.9 +2025-08-24,71.1 +2025-08-25,102.7 +2025-08-26,99.7 +2025-08-27,81.4 +2025-08-28,108.3 +2025-08-29,60.8 +2025-08-30,119.9 +2025-08-31,121.0 +2025-09-01,101.8 +2025-09-02,79.5 +2025-09-03,85.9 +2025-09-04,64.1 +2025-09-05,107.1 +2025-09-06,96.4 +2025-09-07,160.7 +2025-09-08,150.6 +2025-09-09,109.3 +2025-09-10,126.2 +2025-09-11,80.5 +2025-09-12,98.0 +2025-09-13,102.9 +2025-09-14,151.9 +2025-09-15,67.2 +2025-09-16,137.7 +2025-09-17,159.1 +2025-09-18,159.2 +2025-09-19,126.9 +2025-09-20,119.1 +2025-09-21,111.9 +2025-09-22,125.6 +2025-09-23,103.0 +2025-09-24,155.7 +2025-09-25,159.4 +2025-09-26,159.9 +2025-09-27,157.2 +2025-09-28,162.9 +2025-09-29,171.0 +2025-09-30,129.9 +2025-10-01,94.1 +2025-10-02,137.8 +2025-10-03,155.3 +2025-10-04,167.5 +2025-10-05,74.5 +2025-10-06,154.8 +2025-10-07,146.0 +2025-10-08,84.2 +2025-10-09,124.1 +2025-10-10,140.0 +2025-10-11,194.7 +2025-10-12,165.4 +2025-10-13,161.8 +2025-10-14,202.7 +2025-10-15,131.1 +2025-10-16,118.3 +2025-10-17,165.4 +2025-10-18,175.5 +2025-10-19,145.6 +2025-10-20,170.0 +2025-10-21,235.5 +2025-10-22,137.0 +2025-10-23,219.8 +2025-10-24,205.5 +2025-10-25,197.4 +2025-10-26,160.3 +2025-10-27,168.2 +2025-10-28,203.4 +2025-10-29,219.9 +2025-10-30,127.5 +2025-10-31,221.2 +2025-11-01,157.8 +2025-11-02,140.4 +2025-11-03,181.8 +2025-11-04,219.6 +2025-11-05,198.9 +2025-11-06,146.4 +2025-11-07,185.6 +2025-11-08,234.7 +2025-11-09,181.6 +2025-11-10,213.1 +2025-11-11,195.7 +2025-11-12,214.2 +2025-11-13,241.9 +2025-11-14,234.8 +2025-11-15,247.8 +2025-11-16,207.2 +2025-11-17,159.5 +2025-11-18,223.2 +2025-11-19,179.9 +2025-11-20,199.2 +2025-11-21,275.8 +2025-11-22,202.0 +2025-11-23,214.3 +2025-11-24,191.3 +2025-11-25,248.5 +2025-11-26,265.6 +2025-11-27,203.9 +2025-11-28,179.6 +2025-11-29,223.6 +2025-11-30,220.3 +2025-12-01,268.2 +2025-12-02,238.3 +2025-12-03,252.4 +2025-12-04,198.7 +2025-12-05,252.7 +2025-12-06,270.2 +2025-12-07,226.7 +2025-12-08,271.8 +2025-12-09,210.9 +2025-12-10,266.6 +2025-12-11,207.8 +2025-12-12,239.0 +2025-12-13,254.4 +2025-12-14,260.7 +2025-12-15,221.9 +2025-12-16,223.7 +2025-12-17,286.5 +2025-12-18,259.7 +2025-12-19,194.6 +2025-12-20,256.0 +2025-12-21,202.3 +2025-12-22,165.2 +2025-12-23,237.0 +2025-12-24,211.8 +2025-12-25,203.4 +2025-12-26,218.4 +2025-12-27,209.3 +2025-12-28,336.9 +2025-12-29,247.4 +2025-12-30,196.6 +2025-12-31,202.6 diff --git a/agents/evals/fixtures/cases/line-timeseries-seaborn-date/case.json b/agents/evals/fixtures/cases/line-timeseries-seaborn-date/case.json new file mode 100644 index 0000000000..abce2257de --- /dev/null +++ b/agents/evals/fixtures/cases/line-timeseries-seaborn-date/case.json @@ -0,0 +1,26 @@ +{ + "spec_id": "line-timeseries", + "library": "seaborn", + "locale": "en", + "perturbation": "date", + "bindings": [ + { + "role": "date", + "column": "Date" + }, + { + "role": "value", + "column": "PM2.5 (µg/m³)" + } + ], + "expected": "accepted", + "tags": [ + "time-series", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "date-axis" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 1010, date)" +} diff --git a/agents/evals/fixtures/cases/line-timeseries-seaborn-date/data.csv b/agents/evals/fixtures/cases/line-timeseries-seaborn-date/data.csv new file mode 100644 index 0000000000..47cb7354f5 --- /dev/null +++ b/agents/evals/fixtures/cases/line-timeseries-seaborn-date/data.csv @@ -0,0 +1,366 @@ +Date,Validated On,PM2.5 (µg/m³) +01.01.2025,2025-01-03,17.9 +02.01.2025,2025-01-04,24.6 +03.01.2025,2025-01-05,22.3 +04.01.2025,2025-01-06,19.7 +05.01.2025,2025-01-07,24.6 +06.01.2025,2025-01-08,18.5 +07.01.2025,2025-01-09,24.3 +08.01.2025,2025-01-10,27.0 +09.01.2025,2025-01-11,19.5 +10.01.2025,2025-01-12,23.5 +11.01.2025,2025-01-13,22.1 +12.01.2025,2025-01-14,18.0 +13.01.2025,2025-01-15,23.4 +14.01.2025,2025-01-16,17.7 +15.01.2025,2025-01-17,23.4 +16.01.2025,2025-01-18,27.7 +17.01.2025,2025-01-19,25.0 +18.01.2025,2025-01-20,25.4 +19.01.2025,2025-01-21,27.6 +20.01.2025,2025-01-22,21.4 +21.01.2025,2025-01-23,27.6 +22.01.2025,2025-01-24,23.7 +23.01.2025,2025-01-25,15.1 +24.01.2025,2025-01-26,21.3 +25.01.2025,2025-01-27,19.2 +26.01.2025,2025-01-28,20.5 +27.01.2025,2025-01-29,22.6 +28.01.2025,2025-01-30,19.9 +29.01.2025,2025-01-31,19.4 +30.01.2025,2025-02-01,22.3 +31.01.2025,2025-02-02,23.3 +01.02.2025,2025-02-03,16.0 +02.02.2025,2025-02-04,23.0 +03.02.2025,2025-02-05,24.3 +04.02.2025,2025-02-06,19.1 +05.02.2025,2025-02-07,24.0 +06.02.2025,2025-02-08,26.4 +07.02.2025,2025-02-09,21.2 +08.02.2025,2025-02-10,21.2 +09.02.2025,2025-02-11,19.0 +10.02.2025,2025-02-12,19.3 +11.02.2025,2025-02-13,22.2 +12.02.2025,2025-02-14,17.0 +13.02.2025,2025-02-15,21.7 +14.02.2025,2025-02-16,22.9 +15.02.2025,2025-02-17,23.2 +16.02.2025,2025-02-18,17.4 +17.02.2025,2025-02-19,15.9 +18.02.2025,2025-02-20,24.8 +19.02.2025,2025-02-21,15.1 +20.02.2025,2025-02-22,18.2 +21.02.2025,2025-02-23,18.8 +22.02.2025,2025-02-24,20.0 +23.02.2025,2025-02-25,19.5 +24.02.2025,2025-02-26,16.1 +25.02.2025,2025-02-27,19.4 +26.02.2025,2025-02-28,14.9 +27.02.2025,2025-03-01,16.9 +28.02.2025,2025-03-02,13.7 +01.03.2025,2025-03-03,16.2 +02.03.2025,2025-03-04,17.4 +03.03.2025,2025-03-05,17.6 +04.03.2025,2025-03-06,18.8 +05.03.2025,2025-03-07,18.1 +06.03.2025,2025-03-08,14.9 +07.03.2025,2025-03-09,21.0 +08.03.2025,2025-03-10,18.6 +09.03.2025,2025-03-11,19.7 +10.03.2025,2025-03-12,21.0 +11.03.2025,2025-03-13,18.8 +12.03.2025,2025-03-14,15.6 +13.03.2025,2025-03-15,21.5 +14.03.2025,2025-03-16,19.8 +15.03.2025,2025-03-17,20.0 +16.03.2025,2025-03-18,13.3 +17.03.2025,2025-03-19,18.1 +18.03.2025,2025-03-20,19.4 +19.03.2025,2025-03-21,18.5 +20.03.2025,2025-03-22,11.2 +21.03.2025,2025-03-23,13.9 +22.03.2025,2025-03-24,14.1 +23.03.2025,2025-03-25,17.1 +24.03.2025,2025-03-26,17.4 +25.03.2025,2025-03-27,16.5 +26.03.2025,2025-03-28,12.9 +27.03.2025,2025-03-29,17.8 +28.03.2025,2025-03-30,12.5 +29.03.2025,2025-03-31,13.4 +30.03.2025,2025-04-01,17.2 +31.03.2025,2025-04-02,14.9 +01.04.2025,2025-04-03,13.2 +02.04.2025,2025-04-04,11.7 +03.04.2025,2025-04-05,12.6 +04.04.2025,2025-04-06,13.2 +05.04.2025,2025-04-07,13.4 +06.04.2025,2025-04-08,13.9 +07.04.2025,2025-04-09,12.0 +08.04.2025,2025-04-10,12.9 +09.04.2025,2025-04-11,14.9 +10.04.2025,2025-04-12,14.9 +11.04.2025,2025-04-13,14.0 +12.04.2025,2025-04-14,11.7 +13.04.2025,2025-04-15,17.6 +14.04.2025,2025-04-16,13.3 +15.04.2025,2025-04-17,13.7 +16.04.2025,2025-04-18,14.3 +17.04.2025,2025-04-19,12.6 +18.04.2025,2025-04-20,6.9 +19.04.2025,2025-04-21,15.9 +20.04.2025,2025-04-22,9.3 +21.04.2025,2025-04-23,12.4 +22.04.2025,2025-04-24,11.9 +23.04.2025,2025-04-25,9.2 +24.04.2025,2025-04-26,14.0 +25.04.2025,2025-04-27,10.5 +26.04.2025,2025-04-28,3.5 +27.04.2025,2025-04-29,13.9 +28.04.2025,2025-04-30,9.8 +29.04.2025,2025-05-01,12.6 +30.04.2025,2025-05-02,10.1 +01.05.2025,2025-05-03,8.7 +02.05.2025,2025-05-04,8.4 +03.05.2025,2025-05-05,7.9 +04.05.2025,2025-05-06,11.6 +05.05.2025,2025-05-07,10.4 +06.05.2025,2025-05-08,8.5 +07.05.2025,2025-05-09,4.8 +08.05.2025,2025-05-10,6.6 +09.05.2025,2025-05-11,5.8 +10.05.2025,2025-05-12,8.1 +11.05.2025,2025-05-13,7.7 +12.05.2025,2025-05-14,3.0 +13.05.2025,2025-05-15,11.8 +14.05.2025,2025-05-16,2.0 +15.05.2025,2025-05-17,4.9 +16.05.2025,2025-05-18,5.6 +17.05.2025,2025-05-19,13.2 +18.05.2025,2025-05-20,5.6 +19.05.2025,2025-05-21,8.5 +20.05.2025,2025-05-22,10.2 +21.05.2025,2025-05-23,8.9 +22.05.2025,2025-05-24,13.2 +23.05.2025,2025-05-25,9.8 +24.05.2025,2025-05-26,11.2 +25.05.2025,2025-05-27,10.2 +26.05.2025,2025-05-28,11.0 +27.05.2025,2025-05-29,2.7 +28.05.2025,2025-05-30,8.0 +29.05.2025,2025-05-31,4.9 +30.05.2025,2025-06-01,6.1 +31.05.2025,2025-06-02,8.3 +01.06.2025,2025-06-03,5.0 +02.06.2025,2025-06-04,5.5 +03.06.2025,2025-06-05,1.0 +04.06.2025,2025-06-06,5.8 +05.06.2025,2025-06-07,13.9 +06.06.2025,2025-06-08,1.0 +07.06.2025,2025-06-09,6.7 +08.06.2025,2025-06-10,2.8 +09.06.2025,2025-06-11,6.8 +10.06.2025,2025-06-12,7.7 +11.06.2025,2025-06-13,1.8 +12.06.2025,2025-06-14,5.2 +13.06.2025,2025-06-15,6.9 +14.06.2025,2025-06-16,9.8 +15.06.2025,2025-06-17,3.7 +16.06.2025,2025-06-18,5.5 +17.06.2025,2025-06-19,9.5 +18.06.2025,2025-06-20,7.0 +19.06.2025,2025-06-21,2.0 +20.06.2025,2025-06-22,10.5 +21.06.2025,2025-06-23,5.8 +22.06.2025,2025-06-24,9.9 +23.06.2025,2025-06-25,8.1 +24.06.2025,2025-06-26,9.7 +25.06.2025,2025-06-27,6.0 +26.06.2025,2025-06-28,1.0 +27.06.2025,2025-06-29,10.1 +28.06.2025,2025-06-30,5.7 +29.06.2025,2025-07-01,5.4 +30.06.2025,2025-07-02,1.7 +01.07.2025,2025-07-03,1.0 +02.07.2025,2025-07-04,4.1 +03.07.2025,2025-07-05,9.5 +04.07.2025,2025-07-06,6.5 +05.07.2025,2025-07-07,6.7 +06.07.2025,2025-07-08,6.0 +07.07.2025,2025-07-09,6.6 +08.07.2025,2025-07-10,6.2 +09.07.2025,2025-07-11,1.0 +10.07.2025,2025-07-12,3.9 +11.07.2025,2025-07-13,3.2 +12.07.2025,2025-07-14,7.3 +13.07.2025,2025-07-15,8.5 +14.07.2025,2025-07-16,5.7 +15.07.2025,2025-07-17,1.0 +16.07.2025,2025-07-18,5.3 +17.07.2025,2025-07-19,2.0 +18.07.2025,2025-07-20,5.3 +19.07.2025,2025-07-21,11.1 +20.07.2025,2025-07-22,1.0 +21.07.2025,2025-07-23,5.9 +22.07.2025,2025-07-24,7.5 +23.07.2025,2025-07-25,10.8 +24.07.2025,2025-07-26,4.7 +25.07.2025,2025-07-27,3.9 +26.07.2025,2025-07-28,5.6 +27.07.2025,2025-07-29,4.3 +28.07.2025,2025-07-30,6.9 +29.07.2025,2025-07-31,7.3 +30.07.2025,2025-08-01,11.5 +31.07.2025,2025-08-02,6.4 +01.08.2025,2025-08-03,3.3 +02.08.2025,2025-08-04,4.5 +03.08.2025,2025-08-05,5.9 +04.08.2025,2025-08-06,8.8 +05.08.2025,2025-08-07,4.1 +06.08.2025,2025-08-08,1.0 +07.08.2025,2025-08-09,4.9 +08.08.2025,2025-08-10,6.5 +09.08.2025,2025-08-11,2.7 +10.08.2025,2025-08-12,7.3 +11.08.2025,2025-08-13,14.3 +12.08.2025,2025-08-14,4.8 +13.08.2025,2025-08-15,9.0 +14.08.2025,2025-08-16,7.6 +15.08.2025,2025-08-17,9.1 +16.08.2025,2025-08-18,9.1 +17.08.2025,2025-08-19,1.0 +18.08.2025,2025-08-20,5.4 +19.08.2025,2025-08-21,10.8 +20.08.2025,2025-08-22,11.0 +21.08.2025,2025-08-23,5.4 +22.08.2025,2025-08-24,7.8 +23.08.2025,2025-08-25,4.6 +24.08.2025,2025-08-26,7.1 +25.08.2025,2025-08-27,10.3 +26.08.2025,2025-08-28,10.0 +27.08.2025,2025-08-29,8.1 +28.08.2025,2025-08-30,10.8 +29.08.2025,2025-08-31,6.1 +30.08.2025,2025-09-01,12.0 +31.08.2025,2025-09-02,12.1 +01.09.2025,2025-09-03,10.2 +02.09.2025,2025-09-04,8.0 +03.09.2025,2025-09-05,8.6 +04.09.2025,2025-09-06,6.4 +05.09.2025,2025-09-07,10.7 +06.09.2025,2025-09-08,9.6 +07.09.2025,2025-09-09,16.1 +08.09.2025,2025-09-10,15.1 +09.09.2025,2025-09-11,10.9 +10.09.2025,2025-09-12,12.6 +11.09.2025,2025-09-13,8.1 +12.09.2025,2025-09-14,9.8 +13.09.2025,2025-09-15,10.3 +14.09.2025,2025-09-16,15.2 +15.09.2025,2025-09-17,6.7 +16.09.2025,2025-09-18,13.8 +17.09.2025,2025-09-19,15.9 +18.09.2025,2025-09-20,15.9 +19.09.2025,2025-09-21,12.7 +20.09.2025,2025-09-22,11.9 +21.09.2025,2025-09-23,11.2 +22.09.2025,2025-09-24,12.6 +23.09.2025,2025-09-25,10.3 +24.09.2025,2025-09-26,15.6 +25.09.2025,2025-09-27,15.9 +26.09.2025,2025-09-28,16.0 +27.09.2025,2025-09-29,15.7 +28.09.2025,2025-09-30,16.3 +29.09.2025,2025-10-01,17.1 +30.09.2025,2025-10-02,13.0 +01.10.2025,2025-10-03,9.4 +02.10.2025,2025-10-04,13.8 +03.10.2025,2025-10-05,15.5 +04.10.2025,2025-10-06,16.7 +05.10.2025,2025-10-07,7.5 +06.10.2025,2025-10-08,15.5 +07.10.2025,2025-10-09,14.6 +08.10.2025,2025-10-10,8.4 +09.10.2025,2025-10-11,12.4 +10.10.2025,2025-10-12,14.0 +11.10.2025,2025-10-13,19.5 +12.10.2025,2025-10-14,16.5 +13.10.2025,2025-10-15,16.2 +14.10.2025,2025-10-16,20.3 +15.10.2025,2025-10-17,13.1 +16.10.2025,2025-10-18,11.8 +17.10.2025,2025-10-19,16.5 +18.10.2025,2025-10-20,17.6 +19.10.2025,2025-10-21,14.6 +20.10.2025,2025-10-22,17.0 +21.10.2025,2025-10-23,23.6 +22.10.2025,2025-10-24,13.7 +23.10.2025,2025-10-25,22.0 +24.10.2025,2025-10-26,20.6 +25.10.2025,2025-10-27,19.7 +26.10.2025,2025-10-28,16.0 +27.10.2025,2025-10-29,16.8 +28.10.2025,2025-10-30,20.3 +29.10.2025,2025-10-31,22.0 +30.10.2025,2025-11-01,12.7 +31.10.2025,2025-11-02,22.1 +01.11.2025,2025-11-03,15.8 +02.11.2025,2025-11-04,14.0 +03.11.2025,2025-11-05,18.2 +04.11.2025,2025-11-06,22.0 +05.11.2025,2025-11-07,19.9 +06.11.2025,2025-11-08,14.6 +07.11.2025,2025-11-09,18.6 +08.11.2025,2025-11-10,23.5 +09.11.2025,2025-11-11,18.2 +10.11.2025,2025-11-12,21.3 +11.11.2025,2025-11-13,19.6 +12.11.2025,2025-11-14,21.4 +13.11.2025,2025-11-15,24.2 +14.11.2025,2025-11-16,23.5 +15.11.2025,2025-11-17,24.8 +16.11.2025,2025-11-18,20.7 +17.11.2025,2025-11-19,15.9 +18.11.2025,2025-11-20,22.3 +19.11.2025,2025-11-21,18.0 +20.11.2025,2025-11-22,19.9 +21.11.2025,2025-11-23,27.6 +22.11.2025,2025-11-24,20.2 +23.11.2025,2025-11-25,21.4 +24.11.2025,2025-11-26,19.1 +25.11.2025,2025-11-27,24.8 +26.11.2025,2025-11-28,26.6 +27.11.2025,2025-11-29,20.4 +28.11.2025,2025-11-30,18.0 +29.11.2025,2025-12-01,22.4 +30.11.2025,2025-12-02,22.0 +01.12.2025,2025-12-03,26.8 +02.12.2025,2025-12-04,23.8 +03.12.2025,2025-12-05,25.2 +04.12.2025,2025-12-06,19.9 +05.12.2025,2025-12-07,25.3 +06.12.2025,2025-12-08,27.0 +07.12.2025,2025-12-09,22.7 +08.12.2025,2025-12-10,27.2 +09.12.2025,2025-12-11,21.1 +10.12.2025,2025-12-12,26.7 +11.12.2025,2025-12-13,20.8 +12.12.2025,2025-12-14,23.9 +13.12.2025,2025-12-15,25.4 +14.12.2025,2025-12-16,26.1 +15.12.2025,2025-12-17,22.2 +16.12.2025,2025-12-18,22.4 +17.12.2025,2025-12-19,28.7 +18.12.2025,2025-12-20,26.0 +19.12.2025,2025-12-21,19.5 +20.12.2025,2025-12-22,25.6 +21.12.2025,2025-12-23,20.2 +22.12.2025,2025-12-24,16.5 +23.12.2025,2025-12-25,23.7 +24.12.2025,2025-12-26,21.2 +25.12.2025,2025-12-27,20.3 +26.12.2025,2025-12-28,21.8 +27.12.2025,2025-12-29,20.9 +28.12.2025,2025-12-30,33.7 +29.12.2025,2025-12-31,24.7 +30.12.2025,2026-01-01,19.7 +31.12.2025,2026-01-02,20.3 diff --git a/agents/evals/fixtures/cases/line-timeseries-seaborn-decimal-comma/case.json b/agents/evals/fixtures/cases/line-timeseries-seaborn-decimal-comma/case.json new file mode 100644 index 0000000000..e73540438f --- /dev/null +++ b/agents/evals/fixtures/cases/line-timeseries-seaborn-decimal-comma/case.json @@ -0,0 +1,25 @@ +{ + "spec_id": "line-timeseries", + "library": "seaborn", + "locale": "de", + "perturbation": "decimal-comma", + "bindings": [ + { + "role": "date", + "column": "Date" + }, + { + "role": "value", + "column": "PM2.5 (µg/m³)" + } + ], + "expected": "accepted", + "tags": [ + "time-series", + "decimal-comma", + "synthetic", + "semicolon", + "dd.mm.yyyy" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 1010, decimal-comma)" +} diff --git a/agents/evals/fixtures/cases/line-timeseries-seaborn-decimal-comma/data.csv b/agents/evals/fixtures/cases/line-timeseries-seaborn-decimal-comma/data.csv new file mode 100644 index 0000000000..df75a07f5c --- /dev/null +++ b/agents/evals/fixtures/cases/line-timeseries-seaborn-decimal-comma/data.csv @@ -0,0 +1,366 @@ +Date;PM2.5 (µg/m³) +01.01.2025;17,9 +02.01.2025;24,6 +03.01.2025;22,3 +04.01.2025;19,7 +05.01.2025;24,6 +06.01.2025;18,5 +07.01.2025;24,3 +08.01.2025;27,0 +09.01.2025;19,5 +10.01.2025;23,5 +11.01.2025;22,1 +12.01.2025;18,0 +13.01.2025;23,4 +14.01.2025;17,7 +15.01.2025;23,4 +16.01.2025;27,7 +17.01.2025;25,0 +18.01.2025;25,4 +19.01.2025;27,6 +20.01.2025;21,4 +21.01.2025;27,6 +22.01.2025;23,7 +23.01.2025;15,1 +24.01.2025;21,3 +25.01.2025;19,2 +26.01.2025;20,5 +27.01.2025;22,6 +28.01.2025;19,9 +29.01.2025;19,4 +30.01.2025;22,3 +31.01.2025;23,3 +01.02.2025;16,0 +02.02.2025;23,0 +03.02.2025;24,3 +04.02.2025;19,1 +05.02.2025;24,0 +06.02.2025;26,4 +07.02.2025;21,2 +08.02.2025;21,2 +09.02.2025;19,0 +10.02.2025;19,3 +11.02.2025;22,2 +12.02.2025;17,0 +13.02.2025;21,7 +14.02.2025;22,9 +15.02.2025;23,2 +16.02.2025;17,4 +17.02.2025;15,9 +18.02.2025;24,8 +19.02.2025;15,1 +20.02.2025;18,2 +21.02.2025;18,8 +22.02.2025;20,0 +23.02.2025;19,5 +24.02.2025;16,1 +25.02.2025;19,4 +26.02.2025;14,9 +27.02.2025;16,9 +28.02.2025;13,7 +01.03.2025;16,2 +02.03.2025;17,4 +03.03.2025;17,6 +04.03.2025;18,8 +05.03.2025;18,1 +06.03.2025;14,9 +07.03.2025;21,0 +08.03.2025;18,6 +09.03.2025;19,7 +10.03.2025;21,0 +11.03.2025;18,8 +12.03.2025;15,6 +13.03.2025;21,5 +14.03.2025;19,8 +15.03.2025;20,0 +16.03.2025;13,3 +17.03.2025;18,1 +18.03.2025;19,4 +19.03.2025;18,5 +20.03.2025;11,2 +21.03.2025;13,9 +22.03.2025;14,1 +23.03.2025;17,1 +24.03.2025;17,4 +25.03.2025;16,5 +26.03.2025;12,9 +27.03.2025;17,8 +28.03.2025;12,5 +29.03.2025;13,4 +30.03.2025;17,2 +31.03.2025;14,9 +01.04.2025;13,2 +02.04.2025;11,7 +03.04.2025;12,6 +04.04.2025;13,2 +05.04.2025;13,4 +06.04.2025;13,9 +07.04.2025;12,0 +08.04.2025;12,9 +09.04.2025;14,9 +10.04.2025;14,9 +11.04.2025;14,0 +12.04.2025;11,7 +13.04.2025;17,6 +14.04.2025;13,3 +15.04.2025;13,7 +16.04.2025;14,3 +17.04.2025;12,6 +18.04.2025;6,9 +19.04.2025;15,9 +20.04.2025;9,3 +21.04.2025;12,4 +22.04.2025;11,9 +23.04.2025;9,2 +24.04.2025;14,0 +25.04.2025;10,5 +26.04.2025;3,5 +27.04.2025;13,9 +28.04.2025;9,8 +29.04.2025;12,6 +30.04.2025;10,1 +01.05.2025;8,7 +02.05.2025;8,4 +03.05.2025;7,9 +04.05.2025;11,6 +05.05.2025;10,4 +06.05.2025;8,5 +07.05.2025;4,8 +08.05.2025;6,6 +09.05.2025;5,8 +10.05.2025;8,1 +11.05.2025;7,7 +12.05.2025;3,0 +13.05.2025;11,8 +14.05.2025;2,0 +15.05.2025;4,9 +16.05.2025;5,6 +17.05.2025;13,2 +18.05.2025;5,6 +19.05.2025;8,5 +20.05.2025;10,2 +21.05.2025;8,9 +22.05.2025;13,2 +23.05.2025;9,8 +24.05.2025;11,2 +25.05.2025;10,2 +26.05.2025;11,0 +27.05.2025;2,7 +28.05.2025;8,0 +29.05.2025;4,9 +30.05.2025;6,1 +31.05.2025;8,3 +01.06.2025;5,0 +02.06.2025;5,5 +03.06.2025;1,0 +04.06.2025;5,8 +05.06.2025;13,9 +06.06.2025;1,0 +07.06.2025;6,7 +08.06.2025;2,8 +09.06.2025;6,8 +10.06.2025;7,7 +11.06.2025;1,8 +12.06.2025;5,2 +13.06.2025;6,9 +14.06.2025;9,8 +15.06.2025;3,7 +16.06.2025;5,5 +17.06.2025;9,5 +18.06.2025;7,0 +19.06.2025;2,0 +20.06.2025;10,5 +21.06.2025;5,8 +22.06.2025;9,9 +23.06.2025;8,1 +24.06.2025;9,7 +25.06.2025;6,0 +26.06.2025;1,0 +27.06.2025;10,1 +28.06.2025;5,7 +29.06.2025;5,4 +30.06.2025;1,7 +01.07.2025;1,0 +02.07.2025;4,1 +03.07.2025;9,5 +04.07.2025;6,5 +05.07.2025;6,7 +06.07.2025;6,0 +07.07.2025;6,6 +08.07.2025;6,2 +09.07.2025;1,0 +10.07.2025;3,9 +11.07.2025;3,2 +12.07.2025;7,3 +13.07.2025;8,5 +14.07.2025;5,7 +15.07.2025;1,0 +16.07.2025;5,3 +17.07.2025;2,0 +18.07.2025;5,3 +19.07.2025;11,1 +20.07.2025;1,0 +21.07.2025;5,9 +22.07.2025;7,5 +23.07.2025;10,8 +24.07.2025;4,7 +25.07.2025;3,9 +26.07.2025;5,6 +27.07.2025;4,3 +28.07.2025;6,9 +29.07.2025;7,3 +30.07.2025;11,5 +31.07.2025;6,4 +01.08.2025;3,3 +02.08.2025;4,5 +03.08.2025;5,9 +04.08.2025;8,8 +05.08.2025;4,1 +06.08.2025;1,0 +07.08.2025;4,9 +08.08.2025;6,5 +09.08.2025;2,7 +10.08.2025;7,3 +11.08.2025;14,3 +12.08.2025;4,8 +13.08.2025;9,0 +14.08.2025;7,6 +15.08.2025;9,1 +16.08.2025;9,1 +17.08.2025;1,0 +18.08.2025;5,4 +19.08.2025;10,8 +20.08.2025;11,0 +21.08.2025;5,4 +22.08.2025;7,8 +23.08.2025;4,6 +24.08.2025;7,1 +25.08.2025;10,3 +26.08.2025;10,0 +27.08.2025;8,1 +28.08.2025;10,8 +29.08.2025;6,1 +30.08.2025;12,0 +31.08.2025;12,1 +01.09.2025;10,2 +02.09.2025;8,0 +03.09.2025;8,6 +04.09.2025;6,4 +05.09.2025;10,7 +06.09.2025;9,6 +07.09.2025;16,1 +08.09.2025;15,1 +09.09.2025;10,9 +10.09.2025;12,6 +11.09.2025;8,1 +12.09.2025;9,8 +13.09.2025;10,3 +14.09.2025;15,2 +15.09.2025;6,7 +16.09.2025;13,8 +17.09.2025;15,9 +18.09.2025;15,9 +19.09.2025;12,7 +20.09.2025;11,9 +21.09.2025;11,2 +22.09.2025;12,6 +23.09.2025;10,3 +24.09.2025;15,6 +25.09.2025;15,9 +26.09.2025;16,0 +27.09.2025;15,7 +28.09.2025;16,3 +29.09.2025;17,1 +30.09.2025;13,0 +01.10.2025;9,4 +02.10.2025;13,8 +03.10.2025;15,5 +04.10.2025;16,7 +05.10.2025;7,5 +06.10.2025;15,5 +07.10.2025;14,6 +08.10.2025;8,4 +09.10.2025;12,4 +10.10.2025;14,0 +11.10.2025;19,5 +12.10.2025;16,5 +13.10.2025;16,2 +14.10.2025;20,3 +15.10.2025;13,1 +16.10.2025;11,8 +17.10.2025;16,5 +18.10.2025;17,6 +19.10.2025;14,6 +20.10.2025;17,0 +21.10.2025;23,6 +22.10.2025;13,7 +23.10.2025;22,0 +24.10.2025;20,6 +25.10.2025;19,7 +26.10.2025;16,0 +27.10.2025;16,8 +28.10.2025;20,3 +29.10.2025;22,0 +30.10.2025;12,7 +31.10.2025;22,1 +01.11.2025;15,8 +02.11.2025;14,0 +03.11.2025;18,2 +04.11.2025;22,0 +05.11.2025;19,9 +06.11.2025;14,6 +07.11.2025;18,6 +08.11.2025;23,5 +09.11.2025;18,2 +10.11.2025;21,3 +11.11.2025;19,6 +12.11.2025;21,4 +13.11.2025;24,2 +14.11.2025;23,5 +15.11.2025;24,8 +16.11.2025;20,7 +17.11.2025;15,9 +18.11.2025;22,3 +19.11.2025;18,0 +20.11.2025;19,9 +21.11.2025;27,6 +22.11.2025;20,2 +23.11.2025;21,4 +24.11.2025;19,1 +25.11.2025;24,8 +26.11.2025;26,6 +27.11.2025;20,4 +28.11.2025;18,0 +29.11.2025;22,4 +30.11.2025;22,0 +01.12.2025;26,8 +02.12.2025;23,8 +03.12.2025;25,2 +04.12.2025;19,9 +05.12.2025;25,3 +06.12.2025;27,0 +07.12.2025;22,7 +08.12.2025;27,2 +09.12.2025;21,1 +10.12.2025;26,7 +11.12.2025;20,8 +12.12.2025;23,9 +13.12.2025;25,4 +14.12.2025;26,1 +15.12.2025;22,2 +16.12.2025;22,4 +17.12.2025;28,7 +18.12.2025;26,0 +19.12.2025;19,5 +20.12.2025;25,6 +21.12.2025;20,2 +22.12.2025;16,5 +23.12.2025;23,7 +24.12.2025;21,2 +25.12.2025;20,3 +26.12.2025;21,8 +27.12.2025;20,9 +28.12.2025;33,7 +29.12.2025;24,7 +30.12.2025;19,7 +31.12.2025;20,3 diff --git a/agents/evals/fixtures/cases/line-timeseries-seaborn-n12/case.json b/agents/evals/fixtures/cases/line-timeseries-seaborn-n12/case.json new file mode 100644 index 0000000000..5bf2f4378f --- /dev/null +++ b/agents/evals/fixtures/cases/line-timeseries-seaborn-n12/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "line-timeseries", + "library": "seaborn", + "locale": "en", + "perturbation": "n12", + "bindings": [ + { + "role": "date", + "column": "Date" + }, + { + "role": "value", + "column": "PM2.5 (µg/m³)" + } + ], + "expected": "accepted", + "tags": [ + "time-series", + "n12", + "synthetic", + "small" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 1010, n12)" +} diff --git a/agents/evals/fixtures/cases/line-timeseries-seaborn-n12/data.csv b/agents/evals/fixtures/cases/line-timeseries-seaborn-n12/data.csv new file mode 100644 index 0000000000..d71bc31879 --- /dev/null +++ b/agents/evals/fixtures/cases/line-timeseries-seaborn-n12/data.csv @@ -0,0 +1,13 @@ +Date,PM2.5 (µg/m³) +2025-01-01,18.7 +2025-01-02,20.3 +2025-01-03,22.9 +2025-01-04,21.5 +2025-01-05,19.6 +2025-01-06,26.1 +2025-01-07,18.5 +2025-01-08,25.4 +2025-01-09,20.1 +2025-01-10,27.9 +2025-01-11,22.7 +2025-01-12,24.6 diff --git a/agents/evals/fixtures/cases/line-timeseries-seaborn-n5000/case.json b/agents/evals/fixtures/cases/line-timeseries-seaborn-n5000/case.json new file mode 100644 index 0000000000..e06b1721c5 --- /dev/null +++ b/agents/evals/fixtures/cases/line-timeseries-seaborn-n5000/case.json @@ -0,0 +1,25 @@ +{ + "spec_id": "line-timeseries", + "library": "seaborn", + "locale": "en", + "perturbation": "n5000", + "bindings": [ + { + "role": "date", + "column": "Date" + }, + { + "role": "value", + "column": "PM2.5 (µg/m³)" + } + ], + "expected": "accepted", + "tags": [ + "time-series", + "n5000", + "synthetic", + "large", + "smoke" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 1010, n5000)" +} diff --git a/agents/evals/fixtures/cases/line-timeseries-seaborn-n5000/data.csv b/agents/evals/fixtures/cases/line-timeseries-seaborn-n5000/data.csv new file mode 100644 index 0000000000..9b339924b8 --- /dev/null +++ b/agents/evals/fixtures/cases/line-timeseries-seaborn-n5000/data.csv @@ -0,0 +1,5001 @@ +Date,PM2.5 (µg/m³) +2025-01-01T00:00,16.6 +2025-01-01T01:00,22.5 +2025-01-01T02:00,19.2 +2025-01-01T03:00,20.8 +2025-01-01T04:00,23.7 +2025-01-01T05:00,21.5 +2025-01-01T06:00,23.7 +2025-01-01T07:00,21.9 +2025-01-01T08:00,26.5 +2025-01-01T09:00,26.8 +2025-01-01T10:00,29.7 +2025-01-01T11:00,27.3 +2025-01-01T12:00,27.1 +2025-01-01T13:00,23.3 +2025-01-01T14:00,31.7 +2025-01-01T15:00,28.3 +2025-01-01T16:00,24.5 +2025-01-01T17:00,21.8 +2025-01-01T18:00,20.5 +2025-01-01T19:00,20.9 +2025-01-01T20:00,22.5 +2025-01-01T21:00,20.7 +2025-01-01T22:00,19.7 +2025-01-01T23:00,15.8 +2025-01-02T00:00,21.1 +2025-01-02T01:00,19.2 +2025-01-02T02:00,21.2 +2025-01-02T03:00,20.0 +2025-01-02T04:00,23.1 +2025-01-02T05:00,22.8 +2025-01-02T06:00,18.6 +2025-01-02T07:00,23.9 +2025-01-02T08:00,25.1 +2025-01-02T09:00,29.1 +2025-01-02T10:00,28.4 +2025-01-02T11:00,22.5 +2025-01-02T12:00,27.4 +2025-01-02T13:00,22.6 +2025-01-02T14:00,28.5 +2025-01-02T15:00,29.7 +2025-01-02T16:00,26.8 +2025-01-02T17:00,28.3 +2025-01-02T18:00,18.6 +2025-01-02T19:00,21.4 +2025-01-02T20:00,18.0 +2025-01-02T21:00,21.2 +2025-01-02T22:00,16.6 +2025-01-02T23:00,19.8 +2025-01-03T00:00,16.6 +2025-01-03T01:00,20.8 +2025-01-03T02:00,22.8 +2025-01-03T03:00,22.4 +2025-01-03T04:00,15.4 +2025-01-03T05:00,22.6 +2025-01-03T06:00,24.8 +2025-01-03T07:00,23.8 +2025-01-03T08:00,26.5 +2025-01-03T09:00,25.1 +2025-01-03T10:00,26.5 +2025-01-03T11:00,27.0 +2025-01-03T12:00,23.2 +2025-01-03T13:00,28.1 +2025-01-03T14:00,21.1 +2025-01-03T15:00,28.5 +2025-01-03T16:00,25.2 +2025-01-03T17:00,22.9 +2025-01-03T18:00,23.5 +2025-01-03T19:00,24.8 +2025-01-03T20:00,21.9 +2025-01-03T21:00,20.4 +2025-01-03T22:00,20.6 +2025-01-03T23:00,15.9 +2025-01-04T00:00,15.6 +2025-01-04T01:00,19.6 +2025-01-04T02:00,18.9 +2025-01-04T03:00,15.7 +2025-01-04T04:00,19.6 +2025-01-04T05:00,17.5 +2025-01-04T06:00,20.6 +2025-01-04T07:00,21.3 +2025-01-04T08:00,28.0 +2025-01-04T09:00,24.2 +2025-01-04T10:00,25.1 +2025-01-04T11:00,26.8 +2025-01-04T12:00,27.4 +2025-01-04T13:00,27.9 +2025-01-04T14:00,25.9 +2025-01-04T15:00,28.1 +2025-01-04T16:00,26.0 +2025-01-04T17:00,23.5 +2025-01-04T18:00,22.4 +2025-01-04T19:00,23.4 +2025-01-04T20:00,19.4 +2025-01-04T21:00,20.4 +2025-01-04T22:00,17.9 +2025-01-04T23:00,19.7 +2025-01-05T00:00,18.1 +2025-01-05T01:00,18.6 +2025-01-05T02:00,21.4 +2025-01-05T03:00,20.6 +2025-01-05T04:00,20.6 +2025-01-05T05:00,19.6 +2025-01-05T06:00,24.6 +2025-01-05T07:00,26.3 +2025-01-05T08:00,23.5 +2025-01-05T09:00,20.3 +2025-01-05T10:00,21.9 +2025-01-05T11:00,23.9 +2025-01-05T12:00,30.3 +2025-01-05T13:00,23.6 +2025-01-05T14:00,29.7 +2025-01-05T15:00,28.8 +2025-01-05T16:00,24.9 +2025-01-05T17:00,23.5 +2025-01-05T18:00,23.4 +2025-01-05T19:00,21.6 +2025-01-05T20:00,16.3 +2025-01-05T21:00,19.0 +2025-01-05T22:00,21.5 +2025-01-05T23:00,21.1 +2025-01-06T00:00,22.4 +2025-01-06T01:00,18.8 +2025-01-06T02:00,22.3 +2025-01-06T03:00,18.7 +2025-01-06T04:00,16.7 +2025-01-06T05:00,19.0 +2025-01-06T06:00,22.9 +2025-01-06T07:00,24.7 +2025-01-06T08:00,24.2 +2025-01-06T09:00,26.7 +2025-01-06T10:00,27.9 +2025-01-06T11:00,26.1 +2025-01-06T12:00,28.9 +2025-01-06T13:00,26.2 +2025-01-06T14:00,27.5 +2025-01-06T15:00,25.4 +2025-01-06T16:00,26.4 +2025-01-06T17:00,23.7 +2025-01-06T18:00,23.5 +2025-01-06T19:00,18.8 +2025-01-06T20:00,20.2 +2025-01-06T21:00,18.2 +2025-01-06T22:00,16.1 +2025-01-06T23:00,17.4 +2025-01-07T00:00,25.8 +2025-01-07T01:00,19.2 +2025-01-07T02:00,17.2 +2025-01-07T03:00,19.3 +2025-01-07T04:00,22.7 +2025-01-07T05:00,19.5 +2025-01-07T06:00,26.4 +2025-01-07T07:00,25.6 +2025-01-07T08:00,27.3 +2025-01-07T09:00,21.9 +2025-01-07T10:00,28.4 +2025-01-07T11:00,28.6 +2025-01-07T12:00,32.7 +2025-01-07T13:00,30.1 +2025-01-07T14:00,23.3 +2025-01-07T15:00,24.2 +2025-01-07T16:00,23.3 +2025-01-07T17:00,25.9 +2025-01-07T18:00,27.7 +2025-01-07T19:00,21.7 +2025-01-07T20:00,20.8 +2025-01-07T21:00,21.4 +2025-01-07T22:00,16.2 +2025-01-07T23:00,14.6 +2025-01-08T00:00,17.5 +2025-01-08T01:00,16.8 +2025-01-08T02:00,15.0 +2025-01-08T03:00,18.4 +2025-01-08T04:00,22.6 +2025-01-08T05:00,20.4 +2025-01-08T06:00,19.9 +2025-01-08T07:00,28.4 +2025-01-08T08:00,25.6 +2025-01-08T09:00,29.5 +2025-01-08T10:00,26.3 +2025-01-08T11:00,24.4 +2025-01-08T12:00,25.3 +2025-01-08T13:00,30.8 +2025-01-08T14:00,28.3 +2025-01-08T15:00,27.7 +2025-01-08T16:00,24.2 +2025-01-08T17:00,20.7 +2025-01-08T18:00,23.5 +2025-01-08T19:00,20.8 +2025-01-08T20:00,24.8 +2025-01-08T21:00,19.4 +2025-01-08T22:00,15.6 +2025-01-08T23:00,21.9 +2025-01-09T00:00,15.4 +2025-01-09T01:00,23.2 +2025-01-09T02:00,17.4 +2025-01-09T03:00,19.9 +2025-01-09T04:00,21.5 +2025-01-09T05:00,18.1 +2025-01-09T06:00,22.3 +2025-01-09T07:00,31.2 +2025-01-09T08:00,24.5 +2025-01-09T09:00,23.2 +2025-01-09T10:00,27.8 +2025-01-09T11:00,24.5 +2025-01-09T12:00,25.6 +2025-01-09T13:00,21.3 +2025-01-09T14:00,21.4 +2025-01-09T15:00,27.2 +2025-01-09T16:00,22.9 +2025-01-09T17:00,27.8 +2025-01-09T18:00,18.9 +2025-01-09T19:00,17.0 +2025-01-09T20:00,25.1 +2025-01-09T21:00,17.7 +2025-01-09T22:00,20.0 +2025-01-09T23:00,19.3 +2025-01-10T00:00,18.8 +2025-01-10T01:00,20.5 +2025-01-10T02:00,20.4 +2025-01-10T03:00,21.6 +2025-01-10T04:00,17.8 +2025-01-10T05:00,22.4 +2025-01-10T06:00,24.1 +2025-01-10T07:00,25.8 +2025-01-10T08:00,25.9 +2025-01-10T09:00,26.9 +2025-01-10T10:00,28.9 +2025-01-10T11:00,27.6 +2025-01-10T12:00,27.7 +2025-01-10T13:00,25.8 +2025-01-10T14:00,23.3 +2025-01-10T15:00,28.0 +2025-01-10T16:00,22.5 +2025-01-10T17:00,26.7 +2025-01-10T18:00,23.4 +2025-01-10T19:00,22.8 +2025-01-10T20:00,18.1 +2025-01-10T21:00,15.2 +2025-01-10T22:00,20.8 +2025-01-10T23:00,18.0 +2025-01-11T00:00,22.0 +2025-01-11T01:00,16.4 +2025-01-11T02:00,18.4 +2025-01-11T03:00,16.6 +2025-01-11T04:00,21.2 +2025-01-11T05:00,28.4 +2025-01-11T06:00,21.5 +2025-01-11T07:00,27.3 +2025-01-11T08:00,23.3 +2025-01-11T09:00,26.5 +2025-01-11T10:00,27.1 +2025-01-11T11:00,28.4 +2025-01-11T12:00,29.1 +2025-01-11T13:00,25.0 +2025-01-11T14:00,26.1 +2025-01-11T15:00,23.1 +2025-01-11T16:00,25.4 +2025-01-11T17:00,23.4 +2025-01-11T18:00,26.8 +2025-01-11T19:00,21.1 +2025-01-11T20:00,18.6 +2025-01-11T21:00,22.6 +2025-01-11T22:00,20.4 +2025-01-11T23:00,20.2 +2025-01-12T00:00,17.0 +2025-01-12T01:00,23.3 +2025-01-12T02:00,22.6 +2025-01-12T03:00,17.7 +2025-01-12T04:00,22.9 +2025-01-12T05:00,22.0 +2025-01-12T06:00,25.8 +2025-01-12T07:00,19.5 +2025-01-12T08:00,27.4 +2025-01-12T09:00,25.2 +2025-01-12T10:00,24.3 +2025-01-12T11:00,22.1 +2025-01-12T12:00,27.1 +2025-01-12T13:00,28.6 +2025-01-12T14:00,28.8 +2025-01-12T15:00,29.4 +2025-01-12T16:00,24.4 +2025-01-12T17:00,24.0 +2025-01-12T18:00,20.9 +2025-01-12T19:00,22.8 +2025-01-12T20:00,21.0 +2025-01-12T21:00,18.3 +2025-01-12T22:00,20.7 +2025-01-12T23:00,20.1 +2025-01-13T00:00,21.5 +2025-01-13T01:00,21.4 +2025-01-13T02:00,18.1 +2025-01-13T03:00,21.5 +2025-01-13T04:00,20.6 +2025-01-13T05:00,23.6 +2025-01-13T06:00,20.1 +2025-01-13T07:00,27.2 +2025-01-13T08:00,25.3 +2025-01-13T09:00,26.4 +2025-01-13T10:00,24.8 +2025-01-13T11:00,29.1 +2025-01-13T12:00,26.6 +2025-01-13T13:00,25.4 +2025-01-13T14:00,22.2 +2025-01-13T15:00,25.3 +2025-01-13T16:00,23.5 +2025-01-13T17:00,25.9 +2025-01-13T18:00,23.6 +2025-01-13T19:00,19.1 +2025-01-13T20:00,23.8 +2025-01-13T21:00,21.5 +2025-01-13T22:00,23.2 +2025-01-13T23:00,18.5 +2025-01-14T00:00,12.9 +2025-01-14T01:00,21.5 +2025-01-14T02:00,19.4 +2025-01-14T03:00,19.5 +2025-01-14T04:00,22.9 +2025-01-14T05:00,19.5 +2025-01-14T06:00,23.8 +2025-01-14T07:00,21.4 +2025-01-14T08:00,24.5 +2025-01-14T09:00,25.3 +2025-01-14T10:00,27.2 +2025-01-14T11:00,27.0 +2025-01-14T12:00,24.6 +2025-01-14T13:00,27.2 +2025-01-14T14:00,29.6 +2025-01-14T15:00,23.1 +2025-01-14T16:00,25.0 +2025-01-14T17:00,21.2 +2025-01-14T18:00,23.2 +2025-01-14T19:00,22.5 +2025-01-14T20:00,23.0 +2025-01-14T21:00,20.5 +2025-01-14T22:00,17.4 +2025-01-14T23:00,15.6 +2025-01-15T00:00,19.9 +2025-01-15T01:00,15.3 +2025-01-15T02:00,22.5 +2025-01-15T03:00,20.4 +2025-01-15T04:00,20.0 +2025-01-15T05:00,21.0 +2025-01-15T06:00,23.0 +2025-01-15T07:00,21.9 +2025-01-15T08:00,24.7 +2025-01-15T09:00,23.8 +2025-01-15T10:00,26.8 +2025-01-15T11:00,27.0 +2025-01-15T12:00,28.4 +2025-01-15T13:00,29.3 +2025-01-15T14:00,25.9 +2025-01-15T15:00,24.3 +2025-01-15T16:00,20.0 +2025-01-15T17:00,24.0 +2025-01-15T18:00,25.9 +2025-01-15T19:00,18.7 +2025-01-15T20:00,26.1 +2025-01-15T21:00,16.9 +2025-01-15T22:00,19.9 +2025-01-15T23:00,16.4 +2025-01-16T00:00,17.2 +2025-01-16T01:00,21.6 +2025-01-16T02:00,20.8 +2025-01-16T03:00,19.7 +2025-01-16T04:00,24.4 +2025-01-16T05:00,20.5 +2025-01-16T06:00,27.4 +2025-01-16T07:00,22.2 +2025-01-16T08:00,26.4 +2025-01-16T09:00,23.0 +2025-01-16T10:00,27.3 +2025-01-16T11:00,27.1 +2025-01-16T12:00,25.8 +2025-01-16T13:00,24.5 +2025-01-16T14:00,28.2 +2025-01-16T15:00,23.5 +2025-01-16T16:00,29.6 +2025-01-16T17:00,24.2 +2025-01-16T18:00,25.6 +2025-01-16T19:00,21.6 +2025-01-16T20:00,20.7 +2025-01-16T21:00,16.7 +2025-01-16T22:00,17.9 +2025-01-16T23:00,14.4 +2025-01-17T00:00,21.0 +2025-01-17T01:00,14.0 +2025-01-17T02:00,23.3 +2025-01-17T03:00,21.5 +2025-01-17T04:00,19.5 +2025-01-17T05:00,20.5 +2025-01-17T06:00,22.9 +2025-01-17T07:00,21.7 +2025-01-17T08:00,26.2 +2025-01-17T09:00,26.0 +2025-01-17T10:00,26.9 +2025-01-17T11:00,33.9 +2025-01-17T12:00,28.2 +2025-01-17T13:00,28.7 +2025-01-17T14:00,25.3 +2025-01-17T15:00,23.2 +2025-01-17T16:00,21.7 +2025-01-17T17:00,24.8 +2025-01-17T18:00,23.6 +2025-01-17T19:00,21.9 +2025-01-17T20:00,20.4 +2025-01-17T21:00,23.1 +2025-01-17T22:00,18.4 +2025-01-17T23:00,16.4 +2025-01-18T00:00,20.6 +2025-01-18T01:00,20.2 +2025-01-18T02:00,19.4 +2025-01-18T03:00,17.6 +2025-01-18T04:00,19.8 +2025-01-18T05:00,16.4 +2025-01-18T06:00,25.2 +2025-01-18T07:00,23.7 +2025-01-18T08:00,25.0 +2025-01-18T09:00,27.1 +2025-01-18T10:00,30.0 +2025-01-18T11:00,29.0 +2025-01-18T12:00,24.8 +2025-01-18T13:00,22.3 +2025-01-18T14:00,23.3 +2025-01-18T15:00,28.0 +2025-01-18T16:00,26.1 +2025-01-18T17:00,26.9 +2025-01-18T18:00,24.6 +2025-01-18T19:00,25.6 +2025-01-18T20:00,23.2 +2025-01-18T21:00,24.9 +2025-01-18T22:00,18.3 +2025-01-18T23:00,17.7 +2025-01-19T00:00,18.2 +2025-01-19T01:00,19.5 +2025-01-19T02:00,13.9 +2025-01-19T03:00,20.6 +2025-01-19T04:00,18.8 +2025-01-19T05:00,23.1 +2025-01-19T06:00,20.3 +2025-01-19T07:00,22.8 +2025-01-19T08:00,21.7 +2025-01-19T09:00,28.0 +2025-01-19T10:00,25.3 +2025-01-19T11:00,28.8 +2025-01-19T12:00,22.9 +2025-01-19T13:00,29.2 +2025-01-19T14:00,27.0 +2025-01-19T15:00,25.6 +2025-01-19T16:00,28.1 +2025-01-19T17:00,25.6 +2025-01-19T18:00,24.0 +2025-01-19T19:00,23.0 +2025-01-19T20:00,20.1 +2025-01-19T21:00,18.7 +2025-01-19T22:00,19.6 +2025-01-19T23:00,22.4 +2025-01-20T00:00,15.0 +2025-01-20T01:00,22.1 +2025-01-20T02:00,21.2 +2025-01-20T03:00,22.0 +2025-01-20T04:00,21.1 +2025-01-20T05:00,24.1 +2025-01-20T06:00,20.5 +2025-01-20T07:00,22.1 +2025-01-20T08:00,25.7 +2025-01-20T09:00,28.3 +2025-01-20T10:00,28.5 +2025-01-20T11:00,28.4 +2025-01-20T12:00,29.9 +2025-01-20T13:00,25.8 +2025-01-20T14:00,27.0 +2025-01-20T15:00,29.1 +2025-01-20T16:00,28.5 +2025-01-20T17:00,23.6 +2025-01-20T18:00,25.3 +2025-01-20T19:00,24.5 +2025-01-20T20:00,22.7 +2025-01-20T21:00,18.0 +2025-01-20T22:00,19.4 +2025-01-20T23:00,21.2 +2025-01-21T00:00,18.6 +2025-01-21T01:00,15.9 +2025-01-21T02:00,21.7 +2025-01-21T03:00,17.4 +2025-01-21T04:00,19.8 +2025-01-21T05:00,23.6 +2025-01-21T06:00,24.4 +2025-01-21T07:00,20.3 +2025-01-21T08:00,26.8 +2025-01-21T09:00,25.9 +2025-01-21T10:00,23.2 +2025-01-21T11:00,26.1 +2025-01-21T12:00,29.0 +2025-01-21T13:00,23.8 +2025-01-21T14:00,28.3 +2025-01-21T15:00,28.0 +2025-01-21T16:00,23.9 +2025-01-21T17:00,26.7 +2025-01-21T18:00,22.7 +2025-01-21T19:00,24.2 +2025-01-21T20:00,20.0 +2025-01-21T21:00,15.2 +2025-01-21T22:00,16.4 +2025-01-21T23:00,21.5 +2025-01-22T00:00,21.5 +2025-01-22T01:00,20.0 +2025-01-22T02:00,18.0 +2025-01-22T03:00,17.2 +2025-01-22T04:00,18.3 +2025-01-22T05:00,23.9 +2025-01-22T06:00,23.1 +2025-01-22T07:00,21.7 +2025-01-22T08:00,30.4 +2025-01-22T09:00,27.1 +2025-01-22T10:00,28.1 +2025-01-22T11:00,26.2 +2025-01-22T12:00,27.7 +2025-01-22T13:00,19.5 +2025-01-22T14:00,25.5 +2025-01-22T15:00,34.3 +2025-01-22T16:00,24.0 +2025-01-22T17:00,23.0 +2025-01-22T18:00,19.0 +2025-01-22T19:00,19.9 +2025-01-22T20:00,19.3 +2025-01-22T21:00,17.8 +2025-01-22T22:00,19.4 +2025-01-22T23:00,23.2 +2025-01-23T00:00,20.8 +2025-01-23T01:00,21.7 +2025-01-23T02:00,13.8 +2025-01-23T03:00,19.3 +2025-01-23T04:00,17.5 +2025-01-23T05:00,21.9 +2025-01-23T06:00,25.3 +2025-01-23T07:00,21.4 +2025-01-23T08:00,28.9 +2025-01-23T09:00,25.2 +2025-01-23T10:00,26.1 +2025-01-23T11:00,23.3 +2025-01-23T12:00,30.2 +2025-01-23T13:00,24.1 +2025-01-23T14:00,26.0 +2025-01-23T15:00,27.5 +2025-01-23T16:00,24.8 +2025-01-23T17:00,21.3 +2025-01-23T18:00,22.1 +2025-01-23T19:00,23.0 +2025-01-23T20:00,19.2 +2025-01-23T21:00,21.1 +2025-01-23T22:00,21.0 +2025-01-23T23:00,13.0 +2025-01-24T00:00,21.2 +2025-01-24T01:00,17.8 +2025-01-24T02:00,19.4 +2025-01-24T03:00,16.4 +2025-01-24T04:00,18.4 +2025-01-24T05:00,20.9 +2025-01-24T06:00,26.9 +2025-01-24T07:00,26.7 +2025-01-24T08:00,26.2 +2025-01-24T09:00,23.0 +2025-01-24T10:00,22.5 +2025-01-24T11:00,29.7 +2025-01-24T12:00,29.6 +2025-01-24T13:00,25.3 +2025-01-24T14:00,19.6 +2025-01-24T15:00,23.8 +2025-01-24T16:00,24.8 +2025-01-24T17:00,18.4 +2025-01-24T18:00,20.0 +2025-01-24T19:00,22.7 +2025-01-24T20:00,21.4 +2025-01-24T21:00,17.9 +2025-01-24T22:00,24.0 +2025-01-24T23:00,19.6 +2025-01-25T00:00,20.7 +2025-01-25T01:00,18.2 +2025-01-25T02:00,17.0 +2025-01-25T03:00,18.7 +2025-01-25T04:00,21.5 +2025-01-25T05:00,23.5 +2025-01-25T06:00,21.6 +2025-01-25T07:00,19.6 +2025-01-25T08:00,24.8 +2025-01-25T09:00,21.9 +2025-01-25T10:00,26.4 +2025-01-25T11:00,21.9 +2025-01-25T12:00,24.0 +2025-01-25T13:00,30.2 +2025-01-25T14:00,25.3 +2025-01-25T15:00,22.2 +2025-01-25T16:00,21.5 +2025-01-25T17:00,19.9 +2025-01-25T18:00,21.5 +2025-01-25T19:00,23.7 +2025-01-25T20:00,20.6 +2025-01-25T21:00,15.7 +2025-01-25T22:00,20.1 +2025-01-25T23:00,18.8 +2025-01-26T00:00,19.3 +2025-01-26T01:00,18.6 +2025-01-26T02:00,18.9 +2025-01-26T03:00,18.1 +2025-01-26T04:00,22.6 +2025-01-26T05:00,20.9 +2025-01-26T06:00,24.9 +2025-01-26T07:00,25.0 +2025-01-26T08:00,21.8 +2025-01-26T09:00,22.3 +2025-01-26T10:00,22.5 +2025-01-26T11:00,26.0 +2025-01-26T12:00,26.7 +2025-01-26T13:00,26.7 +2025-01-26T14:00,25.3 +2025-01-26T15:00,24.6 +2025-01-26T16:00,26.8 +2025-01-26T17:00,20.7 +2025-01-26T18:00,23.5 +2025-01-26T19:00,21.4 +2025-01-26T20:00,22.7 +2025-01-26T21:00,18.2 +2025-01-26T22:00,19.2 +2025-01-26T23:00,17.7 +2025-01-27T00:00,22.9 +2025-01-27T01:00,16.4 +2025-01-27T02:00,20.3 +2025-01-27T03:00,25.2 +2025-01-27T04:00,23.1 +2025-01-27T05:00,19.2 +2025-01-27T06:00,23.4 +2025-01-27T07:00,20.6 +2025-01-27T08:00,29.0 +2025-01-27T09:00,26.1 +2025-01-27T10:00,25.4 +2025-01-27T11:00,28.4 +2025-01-27T12:00,25.6 +2025-01-27T13:00,27.4 +2025-01-27T14:00,28.0 +2025-01-27T15:00,25.0 +2025-01-27T16:00,22.7 +2025-01-27T17:00,24.5 +2025-01-27T18:00,24.3 +2025-01-27T19:00,22.6 +2025-01-27T20:00,23.7 +2025-01-27T21:00,17.1 +2025-01-27T22:00,22.9 +2025-01-27T23:00,18.0 +2025-01-28T00:00,20.0 +2025-01-28T01:00,16.2 +2025-01-28T02:00,18.9 +2025-01-28T03:00,19.4 +2025-01-28T04:00,15.2 +2025-01-28T05:00,21.8 +2025-01-28T06:00,20.9 +2025-01-28T07:00,25.1 +2025-01-28T08:00,27.1 +2025-01-28T09:00,24.4 +2025-01-28T10:00,28.8 +2025-01-28T11:00,24.2 +2025-01-28T12:00,26.7 +2025-01-28T13:00,27.6 +2025-01-28T14:00,29.6 +2025-01-28T15:00,25.7 +2025-01-28T16:00,15.6 +2025-01-28T17:00,23.6 +2025-01-28T18:00,22.4 +2025-01-28T19:00,23.2 +2025-01-28T20:00,21.4 +2025-01-28T21:00,19.5 +2025-01-28T22:00,22.0 +2025-01-28T23:00,17.2 +2025-01-29T00:00,16.0 +2025-01-29T01:00,20.9 +2025-01-29T02:00,18.1 +2025-01-29T03:00,20.7 +2025-01-29T04:00,18.3 +2025-01-29T05:00,24.3 +2025-01-29T06:00,26.4 +2025-01-29T07:00,24.1 +2025-01-29T08:00,23.3 +2025-01-29T09:00,33.5 +2025-01-29T10:00,22.9 +2025-01-29T11:00,27.3 +2025-01-29T12:00,27.6 +2025-01-29T13:00,27.2 +2025-01-29T14:00,23.8 +2025-01-29T15:00,28.5 +2025-01-29T16:00,22.3 +2025-01-29T17:00,23.7 +2025-01-29T18:00,23.4 +2025-01-29T19:00,21.9 +2025-01-29T20:00,19.8 +2025-01-29T21:00,22.3 +2025-01-29T22:00,17.9 +2025-01-29T23:00,17.9 +2025-01-30T00:00,17.4 +2025-01-30T01:00,25.8 +2025-01-30T02:00,18.9 +2025-01-30T03:00,16.9 +2025-01-30T04:00,22.6 +2025-01-30T05:00,20.3 +2025-01-30T06:00,21.1 +2025-01-30T07:00,26.1 +2025-01-30T08:00,25.2 +2025-01-30T09:00,29.2 +2025-01-30T10:00,18.6 +2025-01-30T11:00,22.6 +2025-01-30T12:00,27.2 +2025-01-30T13:00,28.2 +2025-01-30T14:00,32.1 +2025-01-30T15:00,25.6 +2025-01-30T16:00,22.5 +2025-01-30T17:00,22.4 +2025-01-30T18:00,19.2 +2025-01-30T19:00,18.5 +2025-01-30T20:00,23.1 +2025-01-30T21:00,18.6 +2025-01-30T22:00,16.6 +2025-01-30T23:00,19.7 +2025-01-31T00:00,18.9 +2025-01-31T01:00,17.4 +2025-01-31T02:00,19.2 +2025-01-31T03:00,15.2 +2025-01-31T04:00,25.9 +2025-01-31T05:00,18.7 +2025-01-31T06:00,28.0 +2025-01-31T07:00,23.0 +2025-01-31T08:00,21.8 +2025-01-31T09:00,19.9 +2025-01-31T10:00,22.6 +2025-01-31T11:00,22.1 +2025-01-31T12:00,24.0 +2025-01-31T13:00,28.4 +2025-01-31T14:00,27.5 +2025-01-31T15:00,22.0 +2025-01-31T16:00,24.2 +2025-01-31T17:00,22.3 +2025-01-31T18:00,22.0 +2025-01-31T19:00,24.5 +2025-01-31T20:00,18.8 +2025-01-31T21:00,15.1 +2025-01-31T22:00,16.6 +2025-01-31T23:00,18.8 +2025-02-01T00:00,19.9 +2025-02-01T01:00,23.0 +2025-02-01T02:00,17.9 +2025-02-01T03:00,18.3 +2025-02-01T04:00,20.5 +2025-02-01T05:00,19.6 +2025-02-01T06:00,24.5 +2025-02-01T07:00,24.6 +2025-02-01T08:00,26.0 +2025-02-01T09:00,25.7 +2025-02-01T10:00,27.5 +2025-02-01T11:00,26.4 +2025-02-01T12:00,26.8 +2025-02-01T13:00,27.1 +2025-02-01T14:00,23.1 +2025-02-01T15:00,25.3 +2025-02-01T16:00,16.7 +2025-02-01T17:00,27.4 +2025-02-01T18:00,27.1 +2025-02-01T19:00,24.4 +2025-02-01T20:00,20.4 +2025-02-01T21:00,20.4 +2025-02-01T22:00,16.1 +2025-02-01T23:00,13.2 +2025-02-02T00:00,17.1 +2025-02-02T01:00,15.3 +2025-02-02T02:00,21.4 +2025-02-02T03:00,20.7 +2025-02-02T04:00,19.3 +2025-02-02T05:00,16.9 +2025-02-02T06:00,18.3 +2025-02-02T07:00,23.0 +2025-02-02T08:00,21.5 +2025-02-02T09:00,29.0 +2025-02-02T10:00,23.6 +2025-02-02T11:00,31.2 +2025-02-02T12:00,27.7 +2025-02-02T13:00,24.2 +2025-02-02T14:00,21.9 +2025-02-02T15:00,25.8 +2025-02-02T16:00,24.7 +2025-02-02T17:00,20.1 +2025-02-02T18:00,21.6 +2025-02-02T19:00,16.4 +2025-02-02T20:00,23.6 +2025-02-02T21:00,16.8 +2025-02-02T22:00,13.9 +2025-02-02T23:00,19.2 +2025-02-03T00:00,17.0 +2025-02-03T01:00,15.6 +2025-02-03T02:00,19.6 +2025-02-03T03:00,19.2 +2025-02-03T04:00,15.7 +2025-02-03T05:00,22.1 +2025-02-03T06:00,20.3 +2025-02-03T07:00,21.7 +2025-02-03T08:00,24.0 +2025-02-03T09:00,22.1 +2025-02-03T10:00,27.9 +2025-02-03T11:00,31.0 +2025-02-03T12:00,26.3 +2025-02-03T13:00,26.7 +2025-02-03T14:00,22.5 +2025-02-03T15:00,22.0 +2025-02-03T16:00,23.5 +2025-02-03T17:00,21.9 +2025-02-03T18:00,18.7 +2025-02-03T19:00,20.7 +2025-02-03T20:00,19.5 +2025-02-03T21:00,16.0 +2025-02-03T22:00,17.8 +2025-02-03T23:00,18.8 +2025-02-04T00:00,15.8 +2025-02-04T01:00,20.6 +2025-02-04T02:00,19.2 +2025-02-04T03:00,18.0 +2025-02-04T04:00,20.3 +2025-02-04T05:00,21.0 +2025-02-04T06:00,19.4 +2025-02-04T07:00,25.7 +2025-02-04T08:00,22.9 +2025-02-04T09:00,25.4 +2025-02-04T10:00,32.3 +2025-02-04T11:00,26.1 +2025-02-04T12:00,31.1 +2025-02-04T13:00,26.2 +2025-02-04T14:00,24.4 +2025-02-04T15:00,27.5 +2025-02-04T16:00,25.8 +2025-02-04T17:00,23.1 +2025-02-04T18:00,18.9 +2025-02-04T19:00,20.4 +2025-02-04T20:00,18.8 +2025-02-04T21:00,18.3 +2025-02-04T22:00,19.4 +2025-02-04T23:00,17.8 +2025-02-05T00:00,16.1 +2025-02-05T01:00,16.4 +2025-02-05T02:00,20.2 +2025-02-05T03:00,13.7 +2025-02-05T04:00,19.4 +2025-02-05T05:00,19.8 +2025-02-05T06:00,23.2 +2025-02-05T07:00,27.1 +2025-02-05T08:00,26.0 +2025-02-05T09:00,26.5 +2025-02-05T10:00,20.4 +2025-02-05T11:00,26.1 +2025-02-05T12:00,27.5 +2025-02-05T13:00,28.4 +2025-02-05T14:00,27.0 +2025-02-05T15:00,25.9 +2025-02-05T16:00,24.3 +2025-02-05T17:00,20.1 +2025-02-05T18:00,20.0 +2025-02-05T19:00,21.2 +2025-02-05T20:00,24.0 +2025-02-05T21:00,23.0 +2025-02-05T22:00,20.6 +2025-02-05T23:00,15.4 +2025-02-06T00:00,17.4 +2025-02-06T01:00,21.6 +2025-02-06T02:00,18.3 +2025-02-06T03:00,19.8 +2025-02-06T04:00,20.8 +2025-02-06T05:00,20.4 +2025-02-06T06:00,21.1 +2025-02-06T07:00,25.4 +2025-02-06T08:00,28.2 +2025-02-06T09:00,25.5 +2025-02-06T10:00,24.5 +2025-02-06T11:00,28.0 +2025-02-06T12:00,21.3 +2025-02-06T13:00,21.2 +2025-02-06T14:00,27.2 +2025-02-06T15:00,28.4 +2025-02-06T16:00,20.6 +2025-02-06T17:00,20.0 +2025-02-06T18:00,19.1 +2025-02-06T19:00,19.2 +2025-02-06T20:00,22.1 +2025-02-06T21:00,18.8 +2025-02-06T22:00,16.9 +2025-02-06T23:00,15.0 +2025-02-07T00:00,15.9 +2025-02-07T01:00,18.3 +2025-02-07T02:00,15.1 +2025-02-07T03:00,22.0 +2025-02-07T04:00,21.2 +2025-02-07T05:00,24.9 +2025-02-07T06:00,20.8 +2025-02-07T07:00,20.4 +2025-02-07T08:00,21.3 +2025-02-07T09:00,24.8 +2025-02-07T10:00,23.0 +2025-02-07T11:00,24.5 +2025-02-07T12:00,18.2 +2025-02-07T13:00,29.7 +2025-02-07T14:00,25.9 +2025-02-07T15:00,23.3 +2025-02-07T16:00,23.0 +2025-02-07T17:00,23.6 +2025-02-07T18:00,20.9 +2025-02-07T19:00,25.7 +2025-02-07T20:00,21.1 +2025-02-07T21:00,20.6 +2025-02-07T22:00,21.1 +2025-02-07T23:00,22.1 +2025-02-08T00:00,18.5 +2025-02-08T01:00,19.0 +2025-02-08T02:00,15.0 +2025-02-08T03:00,16.2 +2025-02-08T04:00,20.1 +2025-02-08T05:00,16.6 +2025-02-08T06:00,19.1 +2025-02-08T07:00,26.2 +2025-02-08T08:00,23.0 +2025-02-08T09:00,21.8 +2025-02-08T10:00,28.9 +2025-02-08T11:00,27.0 +2025-02-08T12:00,25.3 +2025-02-08T13:00,24.7 +2025-02-08T14:00,25.1 +2025-02-08T15:00,26.8 +2025-02-08T16:00,18.8 +2025-02-08T17:00,19.9 +2025-02-08T18:00,21.3 +2025-02-08T19:00,26.8 +2025-02-08T20:00,20.5 +2025-02-08T21:00,15.2 +2025-02-08T22:00,17.8 +2025-02-08T23:00,19.3 +2025-02-09T00:00,13.6 +2025-02-09T01:00,18.3 +2025-02-09T02:00,18.2 +2025-02-09T03:00,18.9 +2025-02-09T04:00,17.7 +2025-02-09T05:00,22.3 +2025-02-09T06:00,22.9 +2025-02-09T07:00,23.0 +2025-02-09T08:00,25.4 +2025-02-09T09:00,21.6 +2025-02-09T10:00,22.6 +2025-02-09T11:00,29.6 +2025-02-09T12:00,22.4 +2025-02-09T13:00,25.8 +2025-02-09T14:00,25.7 +2025-02-09T15:00,20.2 +2025-02-09T16:00,25.3 +2025-02-09T17:00,25.3 +2025-02-09T18:00,18.9 +2025-02-09T19:00,21.4 +2025-02-09T20:00,13.6 +2025-02-09T21:00,14.9 +2025-02-09T22:00,17.7 +2025-02-09T23:00,17.3 +2025-02-10T00:00,18.3 +2025-02-10T01:00,19.3 +2025-02-10T02:00,16.1 +2025-02-10T03:00,12.1 +2025-02-10T04:00,19.3 +2025-02-10T05:00,21.2 +2025-02-10T06:00,20.8 +2025-02-10T07:00,22.5 +2025-02-10T08:00,27.1 +2025-02-10T09:00,24.8 +2025-02-10T10:00,26.9 +2025-02-10T11:00,24.7 +2025-02-10T12:00,28.9 +2025-02-10T13:00,27.3 +2025-02-10T14:00,21.4 +2025-02-10T15:00,20.9 +2025-02-10T16:00,21.6 +2025-02-10T17:00,18.7 +2025-02-10T18:00,18.9 +2025-02-10T19:00,19.7 +2025-02-10T20:00,19.6 +2025-02-10T21:00,20.9 +2025-02-10T22:00,13.6 +2025-02-10T23:00,17.4 +2025-02-11T00:00,19.1 +2025-02-11T01:00,11.9 +2025-02-11T02:00,17.8 +2025-02-11T03:00,15.3 +2025-02-11T04:00,18.4 +2025-02-11T05:00,17.4 +2025-02-11T06:00,16.4 +2025-02-11T07:00,21.9 +2025-02-11T08:00,22.6 +2025-02-11T09:00,26.5 +2025-02-11T10:00,27.7 +2025-02-11T11:00,25.2 +2025-02-11T12:00,27.0 +2025-02-11T13:00,21.3 +2025-02-11T14:00,22.9 +2025-02-11T15:00,24.2 +2025-02-11T16:00,20.4 +2025-02-11T17:00,16.6 +2025-02-11T18:00,20.9 +2025-02-11T19:00,22.1 +2025-02-11T20:00,19.2 +2025-02-11T21:00,18.0 +2025-02-11T22:00,17.3 +2025-02-11T23:00,16.5 +2025-02-12T00:00,12.9 +2025-02-12T01:00,17.3 +2025-02-12T02:00,15.9 +2025-02-12T03:00,18.9 +2025-02-12T04:00,18.1 +2025-02-12T05:00,18.8 +2025-02-12T06:00,19.2 +2025-02-12T07:00,19.0 +2025-02-12T08:00,23.2 +2025-02-12T09:00,21.2 +2025-02-12T10:00,22.1 +2025-02-12T11:00,21.8 +2025-02-12T12:00,24.5 +2025-02-12T13:00,25.5 +2025-02-12T14:00,22.4 +2025-02-12T15:00,22.2 +2025-02-12T16:00,23.4 +2025-02-12T17:00,30.6 +2025-02-12T18:00,20.2 +2025-02-12T19:00,17.2 +2025-02-12T20:00,18.1 +2025-02-12T21:00,16.4 +2025-02-12T22:00,16.2 +2025-02-12T23:00,13.8 +2025-02-13T00:00,19.4 +2025-02-13T01:00,20.2 +2025-02-13T02:00,16.8 +2025-02-13T03:00,18.5 +2025-02-13T04:00,18.7 +2025-02-13T05:00,17.4 +2025-02-13T06:00,18.6 +2025-02-13T07:00,24.8 +2025-02-13T08:00,21.0 +2025-02-13T09:00,22.7 +2025-02-13T10:00,23.4 +2025-02-13T11:00,20.2 +2025-02-13T12:00,25.3 +2025-02-13T13:00,27.7 +2025-02-13T14:00,22.3 +2025-02-13T15:00,22.7 +2025-02-13T16:00,25.3 +2025-02-13T17:00,19.8 +2025-02-13T18:00,22.6 +2025-02-13T19:00,17.6 +2025-02-13T20:00,15.4 +2025-02-13T21:00,14.6 +2025-02-13T22:00,17.7 +2025-02-13T23:00,14.6 +2025-02-14T00:00,15.7 +2025-02-14T01:00,19.6 +2025-02-14T02:00,9.6 +2025-02-14T03:00,16.9 +2025-02-14T04:00,21.8 +2025-02-14T05:00,13.8 +2025-02-14T06:00,20.1 +2025-02-14T07:00,19.6 +2025-02-14T08:00,24.7 +2025-02-14T09:00,21.7 +2025-02-14T10:00,24.0 +2025-02-14T11:00,21.9 +2025-02-14T12:00,24.8 +2025-02-14T13:00,22.6 +2025-02-14T14:00,24.8 +2025-02-14T15:00,24.5 +2025-02-14T16:00,25.6 +2025-02-14T17:00,23.0 +2025-02-14T18:00,19.7 +2025-02-14T19:00,19.7 +2025-02-14T20:00,14.5 +2025-02-14T21:00,21.4 +2025-02-14T22:00,15.4 +2025-02-14T23:00,14.4 +2025-02-15T00:00,16.5 +2025-02-15T01:00,16.6 +2025-02-15T02:00,17.9 +2025-02-15T03:00,20.8 +2025-02-15T04:00,17.4 +2025-02-15T05:00,21.5 +2025-02-15T06:00,19.6 +2025-02-15T07:00,19.8 +2025-02-15T08:00,24.1 +2025-02-15T09:00,24.3 +2025-02-15T10:00,22.5 +2025-02-15T11:00,24.8 +2025-02-15T12:00,23.0 +2025-02-15T13:00,23.9 +2025-02-15T14:00,24.8 +2025-02-15T15:00,22.2 +2025-02-15T16:00,18.3 +2025-02-15T17:00,18.8 +2025-02-15T18:00,17.9 +2025-02-15T19:00,20.2 +2025-02-15T20:00,17.3 +2025-02-15T21:00,15.5 +2025-02-15T22:00,20.7 +2025-02-15T23:00,18.0 +2025-02-16T00:00,20.2 +2025-02-16T01:00,21.1 +2025-02-16T02:00,15.7 +2025-02-16T03:00,20.6 +2025-02-16T04:00,24.0 +2025-02-16T05:00,21.4 +2025-02-16T06:00,21.1 +2025-02-16T07:00,17.4 +2025-02-16T08:00,22.6 +2025-02-16T09:00,24.1 +2025-02-16T10:00,28.3 +2025-02-16T11:00,27.9 +2025-02-16T12:00,23.0 +2025-02-16T13:00,20.8 +2025-02-16T14:00,22.3 +2025-02-16T15:00,23.0 +2025-02-16T16:00,23.4 +2025-02-16T17:00,18.2 +2025-02-16T18:00,18.0 +2025-02-16T19:00,20.1 +2025-02-16T20:00,18.2 +2025-02-16T21:00,14.6 +2025-02-16T22:00,17.6 +2025-02-16T23:00,17.8 +2025-02-17T00:00,14.4 +2025-02-17T01:00,10.4 +2025-02-17T02:00,19.7 +2025-02-17T03:00,14.2 +2025-02-17T04:00,18.2 +2025-02-17T05:00,17.3 +2025-02-17T06:00,19.4 +2025-02-17T07:00,22.9 +2025-02-17T08:00,22.6 +2025-02-17T09:00,24.1 +2025-02-17T10:00,20.6 +2025-02-17T11:00,23.8 +2025-02-17T12:00,23.2 +2025-02-17T13:00,22.5 +2025-02-17T14:00,25.0 +2025-02-17T15:00,20.9 +2025-02-17T16:00,19.8 +2025-02-17T17:00,18.9 +2025-02-17T18:00,19.1 +2025-02-17T19:00,23.3 +2025-02-17T20:00,18.2 +2025-02-17T21:00,16.1 +2025-02-17T22:00,15.8 +2025-02-17T23:00,17.5 +2025-02-18T00:00,15.5 +2025-02-18T01:00,14.5 +2025-02-18T02:00,17.1 +2025-02-18T03:00,17.1 +2025-02-18T04:00,19.5 +2025-02-18T05:00,17.5 +2025-02-18T06:00,18.3 +2025-02-18T07:00,23.1 +2025-02-18T08:00,26.8 +2025-02-18T09:00,19.9 +2025-02-18T10:00,25.0 +2025-02-18T11:00,25.7 +2025-02-18T12:00,21.9 +2025-02-18T13:00,28.6 +2025-02-18T14:00,25.6 +2025-02-18T15:00,26.6 +2025-02-18T16:00,24.5 +2025-02-18T17:00,21.3 +2025-02-18T18:00,20.8 +2025-02-18T19:00,17.4 +2025-02-18T20:00,16.4 +2025-02-18T21:00,16.8 +2025-02-18T22:00,16.7 +2025-02-18T23:00,18.3 +2025-02-19T00:00,17.9 +2025-02-19T01:00,15.4 +2025-02-19T02:00,16.9 +2025-02-19T03:00,19.1 +2025-02-19T04:00,24.8 +2025-02-19T05:00,19.9 +2025-02-19T06:00,23.2 +2025-02-19T07:00,23.0 +2025-02-19T08:00,22.5 +2025-02-19T09:00,22.8 +2025-02-19T10:00,22.0 +2025-02-19T11:00,23.8 +2025-02-19T12:00,22.7 +2025-02-19T13:00,25.0 +2025-02-19T14:00,23.3 +2025-02-19T15:00,19.4 +2025-02-19T16:00,24.1 +2025-02-19T17:00,26.2 +2025-02-19T18:00,22.9 +2025-02-19T19:00,20.0 +2025-02-19T20:00,12.4 +2025-02-19T21:00,17.5 +2025-02-19T22:00,19.9 +2025-02-19T23:00,18.6 +2025-02-20T00:00,14.3 +2025-02-20T01:00,18.0 +2025-02-20T02:00,17.7 +2025-02-20T03:00,16.4 +2025-02-20T04:00,18.5 +2025-02-20T05:00,21.4 +2025-02-20T06:00,21.9 +2025-02-20T07:00,19.1 +2025-02-20T08:00,22.3 +2025-02-20T09:00,19.6 +2025-02-20T10:00,23.1 +2025-02-20T11:00,20.9 +2025-02-20T12:00,27.0 +2025-02-20T13:00,26.8 +2025-02-20T14:00,25.3 +2025-02-20T15:00,22.7 +2025-02-20T16:00,21.5 +2025-02-20T17:00,22.4 +2025-02-20T18:00,17.5 +2025-02-20T19:00,24.5 +2025-02-20T20:00,17.2 +2025-02-20T21:00,16.2 +2025-02-20T22:00,20.0 +2025-02-20T23:00,15.7 +2025-02-21T00:00,16.4 +2025-02-21T01:00,15.7 +2025-02-21T02:00,12.7 +2025-02-21T03:00,19.3 +2025-02-21T04:00,17.0 +2025-02-21T05:00,18.1 +2025-02-21T06:00,22.2 +2025-02-21T07:00,20.2 +2025-02-21T08:00,24.5 +2025-02-21T09:00,19.3 +2025-02-21T10:00,20.9 +2025-02-21T11:00,20.3 +2025-02-21T12:00,24.6 +2025-02-21T13:00,26.3 +2025-02-21T14:00,24.5 +2025-02-21T15:00,22.9 +2025-02-21T16:00,22.7 +2025-02-21T17:00,18.9 +2025-02-21T18:00,22.3 +2025-02-21T19:00,20.4 +2025-02-21T20:00,23.9 +2025-02-21T21:00,17.5 +2025-02-21T22:00,20.4 +2025-02-21T23:00,17.6 +2025-02-22T00:00,16.1 +2025-02-22T01:00,19.5 +2025-02-22T02:00,12.3 +2025-02-22T03:00,14.5 +2025-02-22T04:00,15.3 +2025-02-22T05:00,17.9 +2025-02-22T06:00,18.1 +2025-02-22T07:00,21.7 +2025-02-22T08:00,21.1 +2025-02-22T09:00,20.1 +2025-02-22T10:00,25.5 +2025-02-22T11:00,27.3 +2025-02-22T12:00,25.5 +2025-02-22T13:00,23.5 +2025-02-22T14:00,26.4 +2025-02-22T15:00,23.9 +2025-02-22T16:00,18.8 +2025-02-22T17:00,19.0 +2025-02-22T18:00,17.6 +2025-02-22T19:00,16.9 +2025-02-22T20:00,14.6 +2025-02-22T21:00,12.5 +2025-02-22T22:00,12.7 +2025-02-22T23:00,21.0 +2025-02-23T00:00,15.1 +2025-02-23T01:00,13.1 +2025-02-23T02:00,16.0 +2025-02-23T03:00,16.8 +2025-02-23T04:00,17.5 +2025-02-23T05:00,18.9 +2025-02-23T06:00,19.1 +2025-02-23T07:00,26.2 +2025-02-23T08:00,22.4 +2025-02-23T09:00,23.8 +2025-02-23T10:00,22.7 +2025-02-23T11:00,22.5 +2025-02-23T12:00,23.3 +2025-02-23T13:00,21.4 +2025-02-23T14:00,20.8 +2025-02-23T15:00,23.9 +2025-02-23T16:00,16.4 +2025-02-23T17:00,22.7 +2025-02-23T18:00,22.4 +2025-02-23T19:00,16.2 +2025-02-23T20:00,16.9 +2025-02-23T21:00,15.5 +2025-02-23T22:00,16.7 +2025-02-23T23:00,15.6 +2025-02-24T00:00,12.9 +2025-02-24T01:00,17.9 +2025-02-24T02:00,15.5 +2025-02-24T03:00,15.4 +2025-02-24T04:00,18.3 +2025-02-24T05:00,16.5 +2025-02-24T06:00,16.6 +2025-02-24T07:00,23.2 +2025-02-24T08:00,21.0 +2025-02-24T09:00,26.9 +2025-02-24T10:00,21.1 +2025-02-24T11:00,27.0 +2025-02-24T12:00,23.6 +2025-02-24T13:00,19.5 +2025-02-24T14:00,24.1 +2025-02-24T15:00,24.6 +2025-02-24T16:00,23.8 +2025-02-24T17:00,17.9 +2025-02-24T18:00,21.9 +2025-02-24T19:00,13.6 +2025-02-24T20:00,18.5 +2025-02-24T21:00,17.2 +2025-02-24T22:00,22.3 +2025-02-24T23:00,16.8 +2025-02-25T00:00,11.2 +2025-02-25T01:00,15.0 +2025-02-25T02:00,15.5 +2025-02-25T03:00,14.4 +2025-02-25T04:00,16.2 +2025-02-25T05:00,20.0 +2025-02-25T06:00,17.5 +2025-02-25T07:00,21.0 +2025-02-25T08:00,21.1 +2025-02-25T09:00,22.7 +2025-02-25T10:00,18.8 +2025-02-25T11:00,22.3 +2025-02-25T12:00,22.7 +2025-02-25T13:00,23.2 +2025-02-25T14:00,21.7 +2025-02-25T15:00,18.2 +2025-02-25T16:00,15.4 +2025-02-25T17:00,22.0 +2025-02-25T18:00,15.4 +2025-02-25T19:00,16.0 +2025-02-25T20:00,17.7 +2025-02-25T21:00,18.9 +2025-02-25T22:00,11.4 +2025-02-25T23:00,10.9 +2025-02-26T00:00,18.5 +2025-02-26T01:00,13.5 +2025-02-26T02:00,13.0 +2025-02-26T03:00,15.9 +2025-02-26T04:00,17.0 +2025-02-26T05:00,18.8 +2025-02-26T06:00,18.0 +2025-02-26T07:00,19.8 +2025-02-26T08:00,23.4 +2025-02-26T09:00,23.0 +2025-02-26T10:00,18.7 +2025-02-26T11:00,26.8 +2025-02-26T12:00,25.0 +2025-02-26T13:00,25.5 +2025-02-26T14:00,25.5 +2025-02-26T15:00,22.7 +2025-02-26T16:00,19.3 +2025-02-26T17:00,19.3 +2025-02-26T18:00,21.9 +2025-02-26T19:00,17.8 +2025-02-26T20:00,16.9 +2025-02-26T21:00,16.0 +2025-02-26T22:00,16.7 +2025-02-26T23:00,13.8 +2025-02-27T00:00,16.6 +2025-02-27T01:00,15.8 +2025-02-27T02:00,18.1 +2025-02-27T03:00,16.6 +2025-02-27T04:00,16.0 +2025-02-27T05:00,16.5 +2025-02-27T06:00,17.5 +2025-02-27T07:00,20.3 +2025-02-27T08:00,23.6 +2025-02-27T09:00,21.8 +2025-02-27T10:00,19.7 +2025-02-27T11:00,27.6 +2025-02-27T12:00,18.9 +2025-02-27T13:00,21.1 +2025-02-27T14:00,25.8 +2025-02-27T15:00,17.3 +2025-02-27T16:00,18.9 +2025-02-27T17:00,17.3 +2025-02-27T18:00,17.5 +2025-02-27T19:00,15.3 +2025-02-27T20:00,16.9 +2025-02-27T21:00,20.7 +2025-02-27T22:00,12.2 +2025-02-27T23:00,12.5 +2025-02-28T00:00,15.3 +2025-02-28T01:00,16.4 +2025-02-28T02:00,14.4 +2025-02-28T03:00,21.4 +2025-02-28T04:00,21.0 +2025-02-28T05:00,16.7 +2025-02-28T06:00,23.1 +2025-02-28T07:00,22.6 +2025-02-28T08:00,22.4 +2025-02-28T09:00,19.8 +2025-02-28T10:00,19.4 +2025-02-28T11:00,22.9 +2025-02-28T12:00,22.9 +2025-02-28T13:00,18.3 +2025-02-28T14:00,23.8 +2025-02-28T15:00,22.8 +2025-02-28T16:00,23.0 +2025-02-28T17:00,15.3 +2025-02-28T18:00,14.6 +2025-02-28T19:00,14.9 +2025-02-28T20:00,22.3 +2025-02-28T21:00,16.7 +2025-02-28T22:00,17.5 +2025-02-28T23:00,15.5 +2025-03-01T00:00,13.6 +2025-03-01T01:00,16.9 +2025-03-01T02:00,14.3 +2025-03-01T03:00,15.6 +2025-03-01T04:00,19.9 +2025-03-01T05:00,16.9 +2025-03-01T06:00,22.9 +2025-03-01T07:00,18.3 +2025-03-01T08:00,17.3 +2025-03-01T09:00,22.6 +2025-03-01T10:00,22.7 +2025-03-01T11:00,21.7 +2025-03-01T12:00,20.6 +2025-03-01T13:00,24.7 +2025-03-01T14:00,22.8 +2025-03-01T15:00,22.4 +2025-03-01T16:00,24.9 +2025-03-01T17:00,18.2 +2025-03-01T18:00,19.6 +2025-03-01T19:00,18.8 +2025-03-01T20:00,15.3 +2025-03-01T21:00,16.0 +2025-03-01T22:00,16.1 +2025-03-01T23:00,15.2 +2025-03-02T00:00,14.0 +2025-03-02T01:00,14.1 +2025-03-02T02:00,17.5 +2025-03-02T03:00,15.7 +2025-03-02T04:00,19.5 +2025-03-02T05:00,19.0 +2025-03-02T06:00,16.7 +2025-03-02T07:00,19.9 +2025-03-02T08:00,22.0 +2025-03-02T09:00,24.9 +2025-03-02T10:00,23.3 +2025-03-02T11:00,22.8 +2025-03-02T12:00,24.0 +2025-03-02T13:00,22.9 +2025-03-02T14:00,23.3 +2025-03-02T15:00,20.3 +2025-03-02T16:00,18.5 +2025-03-02T17:00,19.6 +2025-03-02T18:00,16.0 +2025-03-02T19:00,13.7 +2025-03-02T20:00,14.0 +2025-03-02T21:00,17.6 +2025-03-02T22:00,20.2 +2025-03-02T23:00,13.1 +2025-03-03T00:00,14.3 +2025-03-03T01:00,21.0 +2025-03-03T02:00,15.9 +2025-03-03T03:00,17.6 +2025-03-03T04:00,15.3 +2025-03-03T05:00,19.8 +2025-03-03T06:00,21.8 +2025-03-03T07:00,16.9 +2025-03-03T08:00,19.1 +2025-03-03T09:00,17.9 +2025-03-03T10:00,21.5 +2025-03-03T11:00,21.4 +2025-03-03T12:00,24.8 +2025-03-03T13:00,22.7 +2025-03-03T14:00,20.6 +2025-03-03T15:00,16.6 +2025-03-03T16:00,21.4 +2025-03-03T17:00,17.7 +2025-03-03T18:00,17.2 +2025-03-03T19:00,16.2 +2025-03-03T20:00,17.3 +2025-03-03T21:00,14.6 +2025-03-03T22:00,14.9 +2025-03-03T23:00,12.7 +2025-03-04T00:00,12.6 +2025-03-04T01:00,13.5 +2025-03-04T02:00,12.9 +2025-03-04T03:00,19.5 +2025-03-04T04:00,15.9 +2025-03-04T05:00,15.6 +2025-03-04T06:00,14.5 +2025-03-04T07:00,18.6 +2025-03-04T08:00,17.0 +2025-03-04T09:00,20.3 +2025-03-04T10:00,24.6 +2025-03-04T11:00,21.8 +2025-03-04T12:00,23.7 +2025-03-04T13:00,22.9 +2025-03-04T14:00,19.4 +2025-03-04T15:00,22.1 +2025-03-04T16:00,19.0 +2025-03-04T17:00,22.1 +2025-03-04T18:00,18.6 +2025-03-04T19:00,14.5 +2025-03-04T20:00,13.3 +2025-03-04T21:00,18.5 +2025-03-04T22:00,13.7 +2025-03-04T23:00,12.3 +2025-03-05T00:00,13.7 +2025-03-05T01:00,14.1 +2025-03-05T02:00,16.9 +2025-03-05T03:00,18.2 +2025-03-05T04:00,16.9 +2025-03-05T05:00,21.3 +2025-03-05T06:00,19.8 +2025-03-05T07:00,14.0 +2025-03-05T08:00,19.7 +2025-03-05T09:00,20.2 +2025-03-05T10:00,23.0 +2025-03-05T11:00,23.6 +2025-03-05T12:00,21.9 +2025-03-05T13:00,26.7 +2025-03-05T14:00,18.9 +2025-03-05T15:00,23.1 +2025-03-05T16:00,20.3 +2025-03-05T17:00,21.2 +2025-03-05T18:00,18.6 +2025-03-05T19:00,19.9 +2025-03-05T20:00,16.1 +2025-03-05T21:00,13.4 +2025-03-05T22:00,11.7 +2025-03-05T23:00,15.7 +2025-03-06T00:00,9.1 +2025-03-06T01:00,8.6 +2025-03-06T02:00,15.0 +2025-03-06T03:00,17.9 +2025-03-06T04:00,17.5 +2025-03-06T05:00,13.9 +2025-03-06T06:00,21.0 +2025-03-06T07:00,19.5 +2025-03-06T08:00,23.0 +2025-03-06T09:00,25.9 +2025-03-06T10:00,18.8 +2025-03-06T11:00,23.7 +2025-03-06T12:00,27.1 +2025-03-06T13:00,26.5 +2025-03-06T14:00,19.8 +2025-03-06T15:00,22.8 +2025-03-06T16:00,19.3 +2025-03-06T17:00,15.7 +2025-03-06T18:00,19.2 +2025-03-06T19:00,16.9 +2025-03-06T20:00,14.0 +2025-03-06T21:00,17.1 +2025-03-06T22:00,17.8 +2025-03-06T23:00,9.5 +2025-03-07T00:00,10.7 +2025-03-07T01:00,12.1 +2025-03-07T02:00,18.9 +2025-03-07T03:00,12.8 +2025-03-07T04:00,19.8 +2025-03-07T05:00,20.0 +2025-03-07T06:00,17.7 +2025-03-07T07:00,21.0 +2025-03-07T08:00,22.2 +2025-03-07T09:00,18.5 +2025-03-07T10:00,19.6 +2025-03-07T11:00,15.4 +2025-03-07T12:00,22.5 +2025-03-07T13:00,21.9 +2025-03-07T14:00,21.1 +2025-03-07T15:00,23.0 +2025-03-07T16:00,19.9 +2025-03-07T17:00,20.7 +2025-03-07T18:00,17.8 +2025-03-07T19:00,20.2 +2025-03-07T20:00,16.1 +2025-03-07T21:00,15.0 +2025-03-07T22:00,17.5 +2025-03-07T23:00,19.0 +2025-03-08T00:00,14.7 +2025-03-08T01:00,12.8 +2025-03-08T02:00,15.0 +2025-03-08T03:00,12.4 +2025-03-08T04:00,22.0 +2025-03-08T05:00,14.6 +2025-03-08T06:00,19.0 +2025-03-08T07:00,16.2 +2025-03-08T08:00,24.5 +2025-03-08T09:00,20.8 +2025-03-08T10:00,23.3 +2025-03-08T11:00,22.7 +2025-03-08T12:00,24.0 +2025-03-08T13:00,20.8 +2025-03-08T14:00,24.4 +2025-03-08T15:00,22.7 +2025-03-08T16:00,20.5 +2025-03-08T17:00,17.8 +2025-03-08T18:00,18.3 +2025-03-08T19:00,20.9 +2025-03-08T20:00,14.9 +2025-03-08T21:00,15.7 +2025-03-08T22:00,17.7 +2025-03-08T23:00,15.3 +2025-03-09T00:00,17.2 +2025-03-09T01:00,13.5 +2025-03-09T02:00,17.3 +2025-03-09T03:00,12.8 +2025-03-09T04:00,18.0 +2025-03-09T05:00,16.4 +2025-03-09T06:00,18.6 +2025-03-09T07:00,16.1 +2025-03-09T08:00,20.9 +2025-03-09T09:00,23.3 +2025-03-09T10:00,27.1 +2025-03-09T11:00,23.5 +2025-03-09T12:00,20.7 +2025-03-09T13:00,23.8 +2025-03-09T14:00,21.9 +2025-03-09T15:00,21.5 +2025-03-09T16:00,18.2 +2025-03-09T17:00,19.7 +2025-03-09T18:00,19.0 +2025-03-09T19:00,18.3 +2025-03-09T20:00,11.4 +2025-03-09T21:00,16.1 +2025-03-09T22:00,16.5 +2025-03-09T23:00,12.1 +2025-03-10T00:00,13.4 +2025-03-10T01:00,7.7 +2025-03-10T02:00,9.8 +2025-03-10T03:00,14.9 +2025-03-10T04:00,16.0 +2025-03-10T05:00,13.4 +2025-03-10T06:00,21.6 +2025-03-10T07:00,23.1 +2025-03-10T08:00,21.1 +2025-03-10T09:00,20.4 +2025-03-10T10:00,26.9 +2025-03-10T11:00,19.1 +2025-03-10T12:00,22.2 +2025-03-10T13:00,15.5 +2025-03-10T14:00,23.7 +2025-03-10T15:00,23.7 +2025-03-10T16:00,14.5 +2025-03-10T17:00,20.3 +2025-03-10T18:00,17.4 +2025-03-10T19:00,21.1 +2025-03-10T20:00,13.5 +2025-03-10T21:00,11.2 +2025-03-10T22:00,11.1 +2025-03-10T23:00,11.0 +2025-03-11T00:00,12.3 +2025-03-11T01:00,15.6 +2025-03-11T02:00,13.9 +2025-03-11T03:00,14.2 +2025-03-11T04:00,16.5 +2025-03-11T05:00,16.1 +2025-03-11T06:00,14.9 +2025-03-11T07:00,18.3 +2025-03-11T08:00,17.3 +2025-03-11T09:00,16.0 +2025-03-11T10:00,21.3 +2025-03-11T11:00,21.9 +2025-03-11T12:00,20.2 +2025-03-11T13:00,21.2 +2025-03-11T14:00,20.2 +2025-03-11T15:00,23.3 +2025-03-11T16:00,12.8 +2025-03-11T17:00,19.7 +2025-03-11T18:00,14.4 +2025-03-11T19:00,16.8 +2025-03-11T20:00,14.9 +2025-03-11T21:00,14.9 +2025-03-11T22:00,18.4 +2025-03-11T23:00,15.1 +2025-03-12T00:00,18.1 +2025-03-12T01:00,18.1 +2025-03-12T02:00,10.2 +2025-03-12T03:00,17.2 +2025-03-12T04:00,17.2 +2025-03-12T05:00,20.1 +2025-03-12T06:00,13.7 +2025-03-12T07:00,17.4 +2025-03-12T08:00,23.5 +2025-03-12T09:00,19.7 +2025-03-12T10:00,19.9 +2025-03-12T11:00,24.1 +2025-03-12T12:00,21.0 +2025-03-12T13:00,21.0 +2025-03-12T14:00,24.8 +2025-03-12T15:00,22.1 +2025-03-12T16:00,14.5 +2025-03-12T17:00,15.8 +2025-03-12T18:00,17.0 +2025-03-12T19:00,14.4 +2025-03-12T20:00,17.8 +2025-03-12T21:00,14.5 +2025-03-12T22:00,12.7 +2025-03-12T23:00,13.4 +2025-03-13T00:00,16.0 +2025-03-13T01:00,13.4 +2025-03-13T02:00,14.5 +2025-03-13T03:00,13.4 +2025-03-13T04:00,17.4 +2025-03-13T05:00,18.1 +2025-03-13T06:00,16.5 +2025-03-13T07:00,20.0 +2025-03-13T08:00,21.2 +2025-03-13T09:00,19.9 +2025-03-13T10:00,17.3 +2025-03-13T11:00,24.4 +2025-03-13T12:00,20.1 +2025-03-13T13:00,18.6 +2025-03-13T14:00,19.4 +2025-03-13T15:00,19.8 +2025-03-13T16:00,17.5 +2025-03-13T17:00,20.4 +2025-03-13T18:00,16.1 +2025-03-13T19:00,14.6 +2025-03-13T20:00,17.0 +2025-03-13T21:00,18.3 +2025-03-13T22:00,15.0 +2025-03-13T23:00,13.7 +2025-03-14T00:00,9.9 +2025-03-14T01:00,14.4 +2025-03-14T02:00,14.3 +2025-03-14T03:00,15.5 +2025-03-14T04:00,13.2 +2025-03-14T05:00,15.9 +2025-03-14T06:00,17.8 +2025-03-14T07:00,22.5 +2025-03-14T08:00,14.3 +2025-03-14T09:00,20.0 +2025-03-14T10:00,23.0 +2025-03-14T11:00,24.0 +2025-03-14T12:00,16.8 +2025-03-14T13:00,22.4 +2025-03-14T14:00,23.2 +2025-03-14T15:00,15.3 +2025-03-14T16:00,20.9 +2025-03-14T17:00,21.4 +2025-03-14T18:00,14.4 +2025-03-14T19:00,13.3 +2025-03-14T20:00,19.5 +2025-03-14T21:00,13.9 +2025-03-14T22:00,15.0 +2025-03-14T23:00,10.5 +2025-03-15T00:00,11.7 +2025-03-15T01:00,9.3 +2025-03-15T02:00,13.9 +2025-03-15T03:00,17.6 +2025-03-15T04:00,16.5 +2025-03-15T05:00,16.3 +2025-03-15T06:00,16.8 +2025-03-15T07:00,22.9 +2025-03-15T08:00,18.7 +2025-03-15T09:00,20.7 +2025-03-15T10:00,24.7 +2025-03-15T11:00,22.0 +2025-03-15T12:00,24.9 +2025-03-15T13:00,21.1 +2025-03-15T14:00,24.6 +2025-03-15T15:00,20.2 +2025-03-15T16:00,21.1 +2025-03-15T17:00,13.9 +2025-03-15T18:00,15.4 +2025-03-15T19:00,12.8 +2025-03-15T20:00,12.0 +2025-03-15T21:00,17.3 +2025-03-15T22:00,14.2 +2025-03-15T23:00,11.2 +2025-03-16T00:00,6.8 +2025-03-16T01:00,18.1 +2025-03-16T02:00,7.6 +2025-03-16T03:00,17.6 +2025-03-16T04:00,15.6 +2025-03-16T05:00,14.7 +2025-03-16T06:00,21.7 +2025-03-16T07:00,19.2 +2025-03-16T08:00,20.1 +2025-03-16T09:00,20.0 +2025-03-16T10:00,20.8 +2025-03-16T11:00,22.3 +2025-03-16T12:00,20.3 +2025-03-16T13:00,21.5 +2025-03-16T14:00,21.7 +2025-03-16T15:00,14.3 +2025-03-16T16:00,18.9 +2025-03-16T17:00,13.6 +2025-03-16T18:00,16.1 +2025-03-16T19:00,12.3 +2025-03-16T20:00,17.5 +2025-03-16T21:00,9.7 +2025-03-16T22:00,16.3 +2025-03-16T23:00,10.9 +2025-03-17T00:00,12.4 +2025-03-17T01:00,13.4 +2025-03-17T02:00,14.1 +2025-03-17T03:00,16.7 +2025-03-17T04:00,13.8 +2025-03-17T05:00,15.6 +2025-03-17T06:00,14.1 +2025-03-17T07:00,18.3 +2025-03-17T08:00,18.6 +2025-03-17T09:00,17.1 +2025-03-17T10:00,16.7 +2025-03-17T11:00,19.8 +2025-03-17T12:00,18.9 +2025-03-17T13:00,18.1 +2025-03-17T14:00,23.0 +2025-03-17T15:00,20.4 +2025-03-17T16:00,13.2 +2025-03-17T17:00,14.4 +2025-03-17T18:00,12.4 +2025-03-17T19:00,13.0 +2025-03-17T20:00,9.8 +2025-03-17T21:00,7.9 +2025-03-17T22:00,9.3 +2025-03-17T23:00,18.0 +2025-03-18T00:00,17.1 +2025-03-18T01:00,16.2 +2025-03-18T02:00,8.5 +2025-03-18T03:00,16.1 +2025-03-18T04:00,20.3 +2025-03-18T05:00,16.9 +2025-03-18T06:00,16.5 +2025-03-18T07:00,23.9 +2025-03-18T08:00,19.5 +2025-03-18T09:00,18.2 +2025-03-18T10:00,22.5 +2025-03-18T11:00,22.1 +2025-03-18T12:00,22.6 +2025-03-18T13:00,18.4 +2025-03-18T14:00,20.1 +2025-03-18T15:00,20.5 +2025-03-18T16:00,24.3 +2025-03-18T17:00,18.7 +2025-03-18T18:00,17.8 +2025-03-18T19:00,16.1 +2025-03-18T20:00,12.0 +2025-03-18T21:00,10.8 +2025-03-18T22:00,13.4 +2025-03-18T23:00,8.6 +2025-03-19T00:00,11.3 +2025-03-19T01:00,13.0 +2025-03-19T02:00,9.2 +2025-03-19T03:00,17.7 +2025-03-19T04:00,17.1 +2025-03-19T05:00,18.9 +2025-03-19T06:00,15.0 +2025-03-19T07:00,22.4 +2025-03-19T08:00,13.9 +2025-03-19T09:00,20.0 +2025-03-19T10:00,20.4 +2025-03-19T11:00,20.0 +2025-03-19T12:00,19.4 +2025-03-19T13:00,23.3 +2025-03-19T14:00,22.2 +2025-03-19T15:00,14.6 +2025-03-19T16:00,19.5 +2025-03-19T17:00,15.8 +2025-03-19T18:00,13.8 +2025-03-19T19:00,10.8 +2025-03-19T20:00,14.7 +2025-03-19T21:00,18.0 +2025-03-19T22:00,13.0 +2025-03-19T23:00,10.0 +2025-03-20T00:00,12.6 +2025-03-20T01:00,12.1 +2025-03-20T02:00,11.5 +2025-03-20T03:00,14.3 +2025-03-20T04:00,12.9 +2025-03-20T05:00,11.4 +2025-03-20T06:00,13.3 +2025-03-20T07:00,21.4 +2025-03-20T08:00,23.4 +2025-03-20T09:00,17.6 +2025-03-20T10:00,21.1 +2025-03-20T11:00,20.9 +2025-03-20T12:00,16.0 +2025-03-20T13:00,19.8 +2025-03-20T14:00,22.5 +2025-03-20T15:00,21.1 +2025-03-20T16:00,18.5 +2025-03-20T17:00,16.7 +2025-03-20T18:00,13.1 +2025-03-20T19:00,14.3 +2025-03-20T20:00,16.5 +2025-03-20T21:00,9.3 +2025-03-20T22:00,13.7 +2025-03-20T23:00,11.4 +2025-03-21T00:00,13.2 +2025-03-21T01:00,12.5 +2025-03-21T02:00,13.4 +2025-03-21T03:00,10.1 +2025-03-21T04:00,14.8 +2025-03-21T05:00,14.0 +2025-03-21T06:00,19.3 +2025-03-21T07:00,15.9 +2025-03-21T08:00,13.0 +2025-03-21T09:00,16.3 +2025-03-21T10:00,17.6 +2025-03-21T11:00,19.9 +2025-03-21T12:00,20.8 +2025-03-21T13:00,22.0 +2025-03-21T14:00,19.2 +2025-03-21T15:00,18.2 +2025-03-21T16:00,17.2 +2025-03-21T17:00,15.1 +2025-03-21T18:00,22.6 +2025-03-21T19:00,15.8 +2025-03-21T20:00,12.5 +2025-03-21T21:00,12.5 +2025-03-21T22:00,7.5 +2025-03-21T23:00,15.2 +2025-03-22T00:00,11.4 +2025-03-22T01:00,8.8 +2025-03-22T02:00,9.7 +2025-03-22T03:00,15.0 +2025-03-22T04:00,13.2 +2025-03-22T05:00,15.2 +2025-03-22T06:00,13.8 +2025-03-22T07:00,17.0 +2025-03-22T08:00,18.6 +2025-03-22T09:00,18.3 +2025-03-22T10:00,15.3 +2025-03-22T11:00,20.4 +2025-03-22T12:00,18.5 +2025-03-22T13:00,22.9 +2025-03-22T14:00,18.9 +2025-03-22T15:00,19.3 +2025-03-22T16:00,13.8 +2025-03-22T17:00,18.4 +2025-03-22T18:00,13.8 +2025-03-22T19:00,11.4 +2025-03-22T20:00,13.3 +2025-03-22T21:00,17.9 +2025-03-22T22:00,12.0 +2025-03-22T23:00,11.5 +2025-03-23T00:00,8.3 +2025-03-23T01:00,8.7 +2025-03-23T02:00,17.5 +2025-03-23T03:00,13.6 +2025-03-23T04:00,8.4 +2025-03-23T05:00,12.9 +2025-03-23T06:00,16.1 +2025-03-23T07:00,17.4 +2025-03-23T08:00,19.1 +2025-03-23T09:00,16.2 +2025-03-23T10:00,22.2 +2025-03-23T11:00,21.2 +2025-03-23T12:00,17.0 +2025-03-23T13:00,14.0 +2025-03-23T14:00,18.2 +2025-03-23T15:00,20.2 +2025-03-23T16:00,20.7 +2025-03-23T17:00,14.7 +2025-03-23T18:00,10.4 +2025-03-23T19:00,14.5 +2025-03-23T20:00,18.2 +2025-03-23T21:00,13.6 +2025-03-23T22:00,11.5 +2025-03-23T23:00,15.2 +2025-03-24T00:00,11.2 +2025-03-24T01:00,9.3 +2025-03-24T02:00,7.7 +2025-03-24T03:00,11.9 +2025-03-24T04:00,13.1 +2025-03-24T05:00,15.9 +2025-03-24T06:00,15.1 +2025-03-24T07:00,15.3 +2025-03-24T08:00,16.6 +2025-03-24T09:00,22.5 +2025-03-24T10:00,20.8 +2025-03-24T11:00,21.3 +2025-03-24T12:00,19.4 +2025-03-24T13:00,19.0 +2025-03-24T14:00,20.3 +2025-03-24T15:00,17.1 +2025-03-24T16:00,18.0 +2025-03-24T17:00,12.5 +2025-03-24T18:00,17.4 +2025-03-24T19:00,11.2 +2025-03-24T20:00,19.1 +2025-03-24T21:00,10.9 +2025-03-24T22:00,16.7 +2025-03-24T23:00,17.1 +2025-03-25T00:00,13.9 +2025-03-25T01:00,12.8 +2025-03-25T02:00,15.2 +2025-03-25T03:00,13.0 +2025-03-25T04:00,13.1 +2025-03-25T05:00,15.4 +2025-03-25T06:00,16.5 +2025-03-25T07:00,13.2 +2025-03-25T08:00,18.8 +2025-03-25T09:00,16.9 +2025-03-25T10:00,20.0 +2025-03-25T11:00,18.7 +2025-03-25T12:00,18.0 +2025-03-25T13:00,16.0 +2025-03-25T14:00,16.0 +2025-03-25T15:00,15.1 +2025-03-25T16:00,15.0 +2025-03-25T17:00,21.7 +2025-03-25T18:00,12.2 +2025-03-25T19:00,13.4 +2025-03-25T20:00,13.5 +2025-03-25T21:00,15.2 +2025-03-25T22:00,13.4 +2025-03-25T23:00,16.4 +2025-03-26T00:00,7.0 +2025-03-26T01:00,12.4 +2025-03-26T02:00,12.1 +2025-03-26T03:00,12.3 +2025-03-26T04:00,13.2 +2025-03-26T05:00,11.9 +2025-03-26T06:00,15.8 +2025-03-26T07:00,16.3 +2025-03-26T08:00,15.5 +2025-03-26T09:00,16.4 +2025-03-26T10:00,21.2 +2025-03-26T11:00,11.3 +2025-03-26T12:00,18.4 +2025-03-26T13:00,23.1 +2025-03-26T14:00,17.8 +2025-03-26T15:00,21.1 +2025-03-26T16:00,13.7 +2025-03-26T17:00,21.2 +2025-03-26T18:00,12.5 +2025-03-26T19:00,14.8 +2025-03-26T20:00,13.0 +2025-03-26T21:00,10.5 +2025-03-26T22:00,11.4 +2025-03-26T23:00,12.6 +2025-03-27T00:00,6.0 +2025-03-27T01:00,15.1 +2025-03-27T02:00,13.0 +2025-03-27T03:00,17.1 +2025-03-27T04:00,13.5 +2025-03-27T05:00,16.2 +2025-03-27T06:00,12.6 +2025-03-27T07:00,11.0 +2025-03-27T08:00,21.2 +2025-03-27T09:00,21.9 +2025-03-27T10:00,23.5 +2025-03-27T11:00,19.4 +2025-03-27T12:00,15.2 +2025-03-27T13:00,16.1 +2025-03-27T14:00,20.0 +2025-03-27T15:00,17.1 +2025-03-27T16:00,16.2 +2025-03-27T17:00,21.0 +2025-03-27T18:00,14.4 +2025-03-27T19:00,11.6 +2025-03-27T20:00,15.8 +2025-03-27T21:00,11.1 +2025-03-27T22:00,9.1 +2025-03-27T23:00,14.4 +2025-03-28T00:00,6.4 +2025-03-28T01:00,12.3 +2025-03-28T02:00,10.1 +2025-03-28T03:00,15.3 +2025-03-28T04:00,12.3 +2025-03-28T05:00,13.6 +2025-03-28T06:00,17.2 +2025-03-28T07:00,16.1 +2025-03-28T08:00,16.3 +2025-03-28T09:00,16.1 +2025-03-28T10:00,20.7 +2025-03-28T11:00,18.2 +2025-03-28T12:00,21.3 +2025-03-28T13:00,15.7 +2025-03-28T14:00,20.1 +2025-03-28T15:00,18.2 +2025-03-28T16:00,18.8 +2025-03-28T17:00,19.6 +2025-03-28T18:00,8.7 +2025-03-28T19:00,12.2 +2025-03-28T20:00,13.7 +2025-03-28T21:00,10.1 +2025-03-28T22:00,11.2 +2025-03-28T23:00,11.1 +2025-03-29T00:00,7.0 +2025-03-29T01:00,15.2 +2025-03-29T02:00,16.0 +2025-03-29T03:00,10.7 +2025-03-29T04:00,11.3 +2025-03-29T05:00,11.3 +2025-03-29T06:00,12.3 +2025-03-29T07:00,12.6 +2025-03-29T08:00,18.1 +2025-03-29T09:00,17.2 +2025-03-29T10:00,18.5 +2025-03-29T11:00,20.8 +2025-03-29T12:00,20.7 +2025-03-29T13:00,20.9 +2025-03-29T14:00,22.3 +2025-03-29T15:00,21.7 +2025-03-29T16:00,16.2 +2025-03-29T17:00,19.1 +2025-03-29T18:00,18.3 +2025-03-29T19:00,14.0 +2025-03-29T20:00,13.5 +2025-03-29T21:00,7.1 +2025-03-29T22:00,14.8 +2025-03-29T23:00,11.3 +2025-03-30T00:00,12.6 +2025-03-30T01:00,7.0 +2025-03-30T02:00,9.7 +2025-03-30T03:00,17.2 +2025-03-30T04:00,14.4 +2025-03-30T05:00,11.8 +2025-03-30T06:00,17.4 +2025-03-30T07:00,19.3 +2025-03-30T08:00,17.3 +2025-03-30T09:00,14.8 +2025-03-30T10:00,16.8 +2025-03-30T11:00,16.8 +2025-03-30T12:00,14.0 +2025-03-30T13:00,18.5 +2025-03-30T14:00,14.1 +2025-03-30T15:00,18.5 +2025-03-30T16:00,20.2 +2025-03-30T17:00,15.0 +2025-03-30T18:00,15.2 +2025-03-30T19:00,13.1 +2025-03-30T20:00,14.7 +2025-03-30T21:00,8.5 +2025-03-30T22:00,16.6 +2025-03-30T23:00,11.1 +2025-03-31T00:00,9.4 +2025-03-31T01:00,3.5 +2025-03-31T02:00,13.5 +2025-03-31T03:00,11.6 +2025-03-31T04:00,13.9 +2025-03-31T05:00,14.1 +2025-03-31T06:00,11.0 +2025-03-31T07:00,20.5 +2025-03-31T08:00,16.0 +2025-03-31T09:00,12.3 +2025-03-31T10:00,10.1 +2025-03-31T11:00,16.6 +2025-03-31T12:00,17.5 +2025-03-31T13:00,18.2 +2025-03-31T14:00,20.7 +2025-03-31T15:00,16.0 +2025-03-31T16:00,18.1 +2025-03-31T17:00,13.2 +2025-03-31T18:00,18.0 +2025-03-31T19:00,14.7 +2025-03-31T20:00,11.4 +2025-03-31T21:00,10.6 +2025-03-31T22:00,14.3 +2025-03-31T23:00,11.0 +2025-04-01T00:00,9.4 +2025-04-01T01:00,12.8 +2025-04-01T02:00,12.5 +2025-04-01T03:00,11.8 +2025-04-01T04:00,10.3 +2025-04-01T05:00,12.3 +2025-04-01T06:00,17.0 +2025-04-01T07:00,14.5 +2025-04-01T08:00,21.3 +2025-04-01T09:00,17.5 +2025-04-01T10:00,14.7 +2025-04-01T11:00,17.2 +2025-04-01T12:00,14.0 +2025-04-01T13:00,15.4 +2025-04-01T14:00,12.5 +2025-04-01T15:00,15.6 +2025-04-01T16:00,10.9 +2025-04-01T17:00,12.3 +2025-04-01T18:00,15.2 +2025-04-01T19:00,14.8 +2025-04-01T20:00,12.9 +2025-04-01T21:00,14.1 +2025-04-01T22:00,12.3 +2025-04-01T23:00,7.3 +2025-04-02T00:00,7.9 +2025-04-02T01:00,12.5 +2025-04-02T02:00,12.4 +2025-04-02T03:00,11.6 +2025-04-02T04:00,10.2 +2025-04-02T05:00,10.4 +2025-04-02T06:00,13.9 +2025-04-02T07:00,14.5 +2025-04-02T08:00,19.6 +2025-04-02T09:00,13.3 +2025-04-02T10:00,20.4 +2025-04-02T11:00,16.5 +2025-04-02T12:00,19.4 +2025-04-02T13:00,21.1 +2025-04-02T14:00,21.2 +2025-04-02T15:00,19.4 +2025-04-02T16:00,14.2 +2025-04-02T17:00,19.0 +2025-04-02T18:00,12.0 +2025-04-02T19:00,10.8 +2025-04-02T20:00,13.5 +2025-04-02T21:00,14.0 +2025-04-02T22:00,11.8 +2025-04-02T23:00,10.4 +2025-04-03T00:00,8.5 +2025-04-03T01:00,14.3 +2025-04-03T02:00,12.0 +2025-04-03T03:00,9.0 +2025-04-03T04:00,14.9 +2025-04-03T05:00,10.6 +2025-04-03T06:00,16.5 +2025-04-03T07:00,17.5 +2025-04-03T08:00,11.2 +2025-04-03T09:00,16.3 +2025-04-03T10:00,16.7 +2025-04-03T11:00,16.1 +2025-04-03T12:00,19.4 +2025-04-03T13:00,17.1 +2025-04-03T14:00,21.4 +2025-04-03T15:00,13.5 +2025-04-03T16:00,15.0 +2025-04-03T17:00,15.6 +2025-04-03T18:00,8.9 +2025-04-03T19:00,12.4 +2025-04-03T20:00,15.0 +2025-04-03T21:00,10.8 +2025-04-03T22:00,8.0 +2025-04-03T23:00,13.1 +2025-04-04T00:00,9.1 +2025-04-04T01:00,10.3 +2025-04-04T02:00,9.4 +2025-04-04T03:00,11.0 +2025-04-04T04:00,15.0 +2025-04-04T05:00,11.3 +2025-04-04T06:00,17.6 +2025-04-04T07:00,14.6 +2025-04-04T08:00,16.6 +2025-04-04T09:00,21.1 +2025-04-04T10:00,16.7 +2025-04-04T11:00,16.5 +2025-04-04T12:00,16.5 +2025-04-04T13:00,19.8 +2025-04-04T14:00,19.2 +2025-04-04T15:00,15.3 +2025-04-04T16:00,15.0 +2025-04-04T17:00,15.0 +2025-04-04T18:00,11.9 +2025-04-04T19:00,12.4 +2025-04-04T20:00,9.8 +2025-04-04T21:00,11.1 +2025-04-04T22:00,13.6 +2025-04-04T23:00,8.8 +2025-04-05T00:00,5.9 +2025-04-05T01:00,8.1 +2025-04-05T02:00,15.6 +2025-04-05T03:00,10.5 +2025-04-05T04:00,14.2 +2025-04-05T05:00,14.5 +2025-04-05T06:00,11.0 +2025-04-05T07:00,14.5 +2025-04-05T08:00,12.7 +2025-04-05T09:00,15.0 +2025-04-05T10:00,15.7 +2025-04-05T11:00,15.9 +2025-04-05T12:00,21.0 +2025-04-05T13:00,18.6 +2025-04-05T14:00,18.2 +2025-04-05T15:00,14.1 +2025-04-05T16:00,12.5 +2025-04-05T17:00,15.7 +2025-04-05T18:00,18.1 +2025-04-05T19:00,10.5 +2025-04-05T20:00,6.3 +2025-04-05T21:00,7.8 +2025-04-05T22:00,7.8 +2025-04-05T23:00,11.9 +2025-04-06T00:00,4.2 +2025-04-06T01:00,7.5 +2025-04-06T02:00,10.2 +2025-04-06T03:00,9.1 +2025-04-06T04:00,10.8 +2025-04-06T05:00,12.9 +2025-04-06T06:00,10.9 +2025-04-06T07:00,13.4 +2025-04-06T08:00,12.9 +2025-04-06T09:00,13.2 +2025-04-06T10:00,16.7 +2025-04-06T11:00,14.5 +2025-04-06T12:00,15.8 +2025-04-06T13:00,14.0 +2025-04-06T14:00,15.7 +2025-04-06T15:00,16.7 +2025-04-06T16:00,14.0 +2025-04-06T17:00,16.0 +2025-04-06T18:00,16.7 +2025-04-06T19:00,9.4 +2025-04-06T20:00,9.1 +2025-04-06T21:00,10.3 +2025-04-06T22:00,10.4 +2025-04-06T23:00,8.6 +2025-04-07T00:00,5.5 +2025-04-07T01:00,6.5 +2025-04-07T02:00,6.0 +2025-04-07T03:00,7.5 +2025-04-07T04:00,17.6 +2025-04-07T05:00,12.7 +2025-04-07T06:00,14.5 +2025-04-07T07:00,13.7 +2025-04-07T08:00,12.0 +2025-04-07T09:00,20.4 +2025-04-07T10:00,18.4 +2025-04-07T11:00,16.7 +2025-04-07T12:00,18.1 +2025-04-07T13:00,13.4 +2025-04-07T14:00,16.1 +2025-04-07T15:00,14.8 +2025-04-07T16:00,14.9 +2025-04-07T17:00,13.5 +2025-04-07T18:00,14.9 +2025-04-07T19:00,15.6 +2025-04-07T20:00,9.6 +2025-04-07T21:00,15.9 +2025-04-07T22:00,7.9 +2025-04-07T23:00,6.5 +2025-04-08T00:00,10.0 +2025-04-08T01:00,12.5 +2025-04-08T02:00,8.3 +2025-04-08T03:00,7.1 +2025-04-08T04:00,12.0 +2025-04-08T05:00,15.4 +2025-04-08T06:00,12.5 +2025-04-08T07:00,15.0 +2025-04-08T08:00,14.7 +2025-04-08T09:00,17.5 +2025-04-08T10:00,18.6 +2025-04-08T11:00,20.3 +2025-04-08T12:00,16.3 +2025-04-08T13:00,16.0 +2025-04-08T14:00,14.2 +2025-04-08T15:00,8.2 +2025-04-08T16:00,17.9 +2025-04-08T17:00,10.0 +2025-04-08T18:00,11.0 +2025-04-08T19:00,9.6 +2025-04-08T20:00,9.5 +2025-04-08T21:00,4.3 +2025-04-08T22:00,8.0 +2025-04-08T23:00,7.1 +2025-04-09T00:00,11.2 +2025-04-09T01:00,10.9 +2025-04-09T02:00,11.6 +2025-04-09T03:00,11.0 +2025-04-09T04:00,8.9 +2025-04-09T05:00,9.4 +2025-04-09T06:00,16.1 +2025-04-09T07:00,11.2 +2025-04-09T08:00,16.2 +2025-04-09T09:00,15.5 +2025-04-09T10:00,13.5 +2025-04-09T11:00,18.0 +2025-04-09T12:00,16.8 +2025-04-09T13:00,14.9 +2025-04-09T14:00,18.1 +2025-04-09T15:00,11.8 +2025-04-09T16:00,17.9 +2025-04-09T17:00,13.4 +2025-04-09T18:00,12.0 +2025-04-09T19:00,11.2 +2025-04-09T20:00,7.5 +2025-04-09T21:00,12.0 +2025-04-09T22:00,12.5 +2025-04-09T23:00,4.9 +2025-04-10T00:00,8.9 +2025-04-10T01:00,9.2 +2025-04-10T02:00,7.4 +2025-04-10T03:00,12.7 +2025-04-10T04:00,12.6 +2025-04-10T05:00,12.7 +2025-04-10T06:00,13.7 +2025-04-10T07:00,16.2 +2025-04-10T08:00,14.5 +2025-04-10T09:00,14.2 +2025-04-10T10:00,17.6 +2025-04-10T11:00,11.6 +2025-04-10T12:00,15.3 +2025-04-10T13:00,22.0 +2025-04-10T14:00,13.7 +2025-04-10T15:00,17.7 +2025-04-10T16:00,12.3 +2025-04-10T17:00,10.9 +2025-04-10T18:00,15.5 +2025-04-10T19:00,13.7 +2025-04-10T20:00,7.0 +2025-04-10T21:00,13.1 +2025-04-10T22:00,5.8 +2025-04-10T23:00,6.8 +2025-04-11T00:00,7.8 +2025-04-11T01:00,4.8 +2025-04-11T02:00,9.3 +2025-04-11T03:00,8.3 +2025-04-11T04:00,7.8 +2025-04-11T05:00,11.6 +2025-04-11T06:00,13.8 +2025-04-11T07:00,13.4 +2025-04-11T08:00,18.2 +2025-04-11T09:00,17.3 +2025-04-11T10:00,20.6 +2025-04-11T11:00,19.2 +2025-04-11T12:00,16.5 +2025-04-11T13:00,19.1 +2025-04-11T14:00,15.3 +2025-04-11T15:00,17.4 +2025-04-11T16:00,17.4 +2025-04-11T17:00,13.9 +2025-04-11T18:00,11.6 +2025-04-11T19:00,11.7 +2025-04-11T20:00,10.8 +2025-04-11T21:00,5.8 +2025-04-11T22:00,10.2 +2025-04-11T23:00,6.0 +2025-04-12T00:00,12.2 +2025-04-12T01:00,9.3 +2025-04-12T02:00,12.4 +2025-04-12T03:00,15.4 +2025-04-12T04:00,9.4 +2025-04-12T05:00,13.1 +2025-04-12T06:00,15.8 +2025-04-12T07:00,18.5 +2025-04-12T08:00,18.4 +2025-04-12T09:00,11.9 +2025-04-12T10:00,15.6 +2025-04-12T11:00,21.9 +2025-04-12T12:00,16.3 +2025-04-12T13:00,16.0 +2025-04-12T14:00,15.6 +2025-04-12T15:00,15.6 +2025-04-12T16:00,18.8 +2025-04-12T17:00,10.0 +2025-04-12T18:00,11.5 +2025-04-12T19:00,8.6 +2025-04-12T20:00,9.2 +2025-04-12T21:00,11.0 +2025-04-12T22:00,6.4 +2025-04-12T23:00,6.3 +2025-04-13T00:00,9.2 +2025-04-13T01:00,7.3 +2025-04-13T02:00,10.1 +2025-04-13T03:00,11.3 +2025-04-13T04:00,13.4 +2025-04-13T05:00,10.9 +2025-04-13T06:00,10.9 +2025-04-13T07:00,11.9 +2025-04-13T08:00,16.8 +2025-04-13T09:00,18.3 +2025-04-13T10:00,16.4 +2025-04-13T11:00,11.8 +2025-04-13T12:00,16.4 +2025-04-13T13:00,11.0 +2025-04-13T14:00,14.7 +2025-04-13T15:00,15.0 +2025-04-13T16:00,13.9 +2025-04-13T17:00,13.9 +2025-04-13T18:00,15.7 +2025-04-13T19:00,8.4 +2025-04-13T20:00,16.8 +2025-04-13T21:00,7.9 +2025-04-13T22:00,10.2 +2025-04-13T23:00,11.7 +2025-04-14T00:00,10.2 +2025-04-14T01:00,6.4 +2025-04-14T02:00,10.1 +2025-04-14T03:00,7.2 +2025-04-14T04:00,6.6 +2025-04-14T05:00,12.1 +2025-04-14T06:00,14.8 +2025-04-14T07:00,14.9 +2025-04-14T08:00,14.8 +2025-04-14T09:00,12.0 +2025-04-14T10:00,14.8 +2025-04-14T11:00,16.7 +2025-04-14T12:00,12.4 +2025-04-14T13:00,10.7 +2025-04-14T14:00,16.0 +2025-04-14T15:00,15.6 +2025-04-14T16:00,14.2 +2025-04-14T17:00,15.0 +2025-04-14T18:00,10.4 +2025-04-14T19:00,11.6 +2025-04-14T20:00,9.0 +2025-04-14T21:00,8.7 +2025-04-14T22:00,9.0 +2025-04-14T23:00,6.9 +2025-04-15T00:00,6.6 +2025-04-15T01:00,4.4 +2025-04-15T02:00,5.7 +2025-04-15T03:00,5.9 +2025-04-15T04:00,10.7 +2025-04-15T05:00,7.0 +2025-04-15T06:00,9.2 +2025-04-15T07:00,10.8 +2025-04-15T08:00,11.1 +2025-04-15T09:00,13.3 +2025-04-15T10:00,18.4 +2025-04-15T11:00,12.2 +2025-04-15T12:00,14.8 +2025-04-15T13:00,16.5 +2025-04-15T14:00,15.4 +2025-04-15T15:00,18.2 +2025-04-15T16:00,18.1 +2025-04-15T17:00,16.6 +2025-04-15T18:00,6.5 +2025-04-15T19:00,12.3 +2025-04-15T20:00,4.4 +2025-04-15T21:00,8.7 +2025-04-15T22:00,7.9 +2025-04-15T23:00,5.0 +2025-04-16T00:00,7.8 +2025-04-16T01:00,11.9 +2025-04-16T02:00,16.0 +2025-04-16T03:00,9.5 +2025-04-16T04:00,9.1 +2025-04-16T05:00,13.8 +2025-04-16T06:00,13.3 +2025-04-16T07:00,10.2 +2025-04-16T08:00,16.6 +2025-04-16T09:00,15.9 +2025-04-16T10:00,18.7 +2025-04-16T11:00,14.2 +2025-04-16T12:00,15.9 +2025-04-16T13:00,14.4 +2025-04-16T14:00,18.5 +2025-04-16T15:00,11.0 +2025-04-16T16:00,11.6 +2025-04-16T17:00,10.4 +2025-04-16T18:00,6.2 +2025-04-16T19:00,12.4 +2025-04-16T20:00,13.8 +2025-04-16T21:00,3.0 +2025-04-16T22:00,7.0 +2025-04-16T23:00,10.4 +2025-04-17T00:00,9.4 +2025-04-17T01:00,9.0 +2025-04-17T02:00,6.1 +2025-04-17T03:00,11.0 +2025-04-17T04:00,15.2 +2025-04-17T05:00,11.1 +2025-04-17T06:00,9.8 +2025-04-17T07:00,14.1 +2025-04-17T08:00,15.0 +2025-04-17T09:00,14.4 +2025-04-17T10:00,16.0 +2025-04-17T11:00,17.3 +2025-04-17T12:00,16.2 +2025-04-17T13:00,13.9 +2025-04-17T14:00,9.6 +2025-04-17T15:00,16.5 +2025-04-17T16:00,15.7 +2025-04-17T17:00,10.7 +2025-04-17T18:00,10.4 +2025-04-17T19:00,9.7 +2025-04-17T20:00,12.6 +2025-04-17T21:00,5.0 +2025-04-17T22:00,8.6 +2025-04-17T23:00,5.9 +2025-04-18T00:00,12.3 +2025-04-18T01:00,7.5 +2025-04-18T02:00,4.6 +2025-04-18T03:00,6.1 +2025-04-18T04:00,7.2 +2025-04-18T05:00,11.1 +2025-04-18T06:00,10.8 +2025-04-18T07:00,11.9 +2025-04-18T08:00,18.8 +2025-04-18T09:00,10.9 +2025-04-18T10:00,18.2 +2025-04-18T11:00,15.1 +2025-04-18T12:00,16.8 +2025-04-18T13:00,16.1 +2025-04-18T14:00,14.7 +2025-04-18T15:00,11.0 +2025-04-18T16:00,11.9 +2025-04-18T17:00,14.2 +2025-04-18T18:00,15.6 +2025-04-18T19:00,8.9 +2025-04-18T20:00,10.2 +2025-04-18T21:00,7.5 +2025-04-18T22:00,4.9 +2025-04-18T23:00,7.6 +2025-04-19T00:00,5.4 +2025-04-19T01:00,5.1 +2025-04-19T02:00,8.9 +2025-04-19T03:00,6.7 +2025-04-19T04:00,7.4 +2025-04-19T05:00,8.8 +2025-04-19T06:00,9.0 +2025-04-19T07:00,13.4 +2025-04-19T08:00,14.6 +2025-04-19T09:00,12.8 +2025-04-19T10:00,13.5 +2025-04-19T11:00,11.7 +2025-04-19T12:00,21.7 +2025-04-19T13:00,15.4 +2025-04-19T14:00,17.3 +2025-04-19T15:00,14.6 +2025-04-19T16:00,8.2 +2025-04-19T17:00,9.1 +2025-04-19T18:00,9.4 +2025-04-19T19:00,7.7 +2025-04-19T20:00,5.3 +2025-04-19T21:00,6.8 +2025-04-19T22:00,8.4 +2025-04-19T23:00,7.2 +2025-04-20T00:00,8.1 +2025-04-20T01:00,6.5 +2025-04-20T02:00,10.5 +2025-04-20T03:00,7.7 +2025-04-20T04:00,6.1 +2025-04-20T05:00,7.9 +2025-04-20T06:00,8.9 +2025-04-20T07:00,16.4 +2025-04-20T08:00,10.4 +2025-04-20T09:00,10.7 +2025-04-20T10:00,16.6 +2025-04-20T11:00,9.4 +2025-04-20T12:00,16.9 +2025-04-20T13:00,12.9 +2025-04-20T14:00,10.6 +2025-04-20T15:00,15.1 +2025-04-20T16:00,13.7 +2025-04-20T17:00,11.5 +2025-04-20T18:00,12.7 +2025-04-20T19:00,10.3 +2025-04-20T20:00,7.9 +2025-04-20T21:00,7.4 +2025-04-20T22:00,13.1 +2025-04-20T23:00,6.4 +2025-04-21T00:00,8.0 +2025-04-21T01:00,7.6 +2025-04-21T02:00,4.9 +2025-04-21T03:00,6.2 +2025-04-21T04:00,10.3 +2025-04-21T05:00,12.0 +2025-04-21T06:00,12.5 +2025-04-21T07:00,13.0 +2025-04-21T08:00,13.8 +2025-04-21T09:00,12.5 +2025-04-21T10:00,14.4 +2025-04-21T11:00,13.6 +2025-04-21T12:00,15.0 +2025-04-21T13:00,14.0 +2025-04-21T14:00,8.2 +2025-04-21T15:00,13.0 +2025-04-21T16:00,15.4 +2025-04-21T17:00,8.2 +2025-04-21T18:00,13.8 +2025-04-21T19:00,10.9 +2025-04-21T20:00,9.4 +2025-04-21T21:00,7.9 +2025-04-21T22:00,9.8 +2025-04-21T23:00,3.2 +2025-04-22T00:00,6.0 +2025-04-22T01:00,8.0 +2025-04-22T02:00,11.0 +2025-04-22T03:00,11.3 +2025-04-22T04:00,10.2 +2025-04-22T05:00,9.7 +2025-04-22T06:00,12.4 +2025-04-22T07:00,11.7 +2025-04-22T08:00,16.8 +2025-04-22T09:00,8.9 +2025-04-22T10:00,10.5 +2025-04-22T11:00,14.9 +2025-04-22T12:00,17.1 +2025-04-22T13:00,15.8 +2025-04-22T14:00,14.0 +2025-04-22T15:00,17.2 +2025-04-22T16:00,13.3 +2025-04-22T17:00,12.4 +2025-04-22T18:00,7.5 +2025-04-22T19:00,6.6 +2025-04-22T20:00,15.3 +2025-04-22T21:00,9.5 +2025-04-22T22:00,11.8 +2025-04-22T23:00,6.8 +2025-04-23T00:00,10.5 +2025-04-23T01:00,7.6 +2025-04-23T02:00,6.3 +2025-04-23T03:00,5.4 +2025-04-23T04:00,5.7 +2025-04-23T05:00,4.7 +2025-04-23T06:00,8.8 +2025-04-23T07:00,10.5 +2025-04-23T08:00,14.4 +2025-04-23T09:00,14.5 +2025-04-23T10:00,12.1 +2025-04-23T11:00,13.2 +2025-04-23T12:00,15.9 +2025-04-23T13:00,12.9 +2025-04-23T14:00,14.8 +2025-04-23T15:00,13.0 +2025-04-23T16:00,6.8 +2025-04-23T17:00,9.2 +2025-04-23T18:00,11.8 +2025-04-23T19:00,11.6 +2025-04-23T20:00,6.6 +2025-04-23T21:00,7.7 +2025-04-23T22:00,5.6 +2025-04-23T23:00,3.3 +2025-04-24T00:00,4.4 +2025-04-24T01:00,5.2 +2025-04-24T02:00,4.4 +2025-04-24T03:00,5.9 +2025-04-24T04:00,11.6 +2025-04-24T05:00,5.5 +2025-04-24T06:00,5.1 +2025-04-24T07:00,10.1 +2025-04-24T08:00,8.7 +2025-04-24T09:00,9.5 +2025-04-24T10:00,16.2 +2025-04-24T11:00,9.3 +2025-04-24T12:00,16.4 +2025-04-24T13:00,10.1 +2025-04-24T14:00,14.6 +2025-04-24T15:00,15.3 +2025-04-24T16:00,9.6 +2025-04-24T17:00,1.5 +2025-04-24T18:00,14.5 +2025-04-24T19:00,8.7 +2025-04-24T20:00,5.3 +2025-04-24T21:00,5.4 +2025-04-24T22:00,7.4 +2025-04-24T23:00,7.4 +2025-04-25T00:00,9.8 +2025-04-25T01:00,6.1 +2025-04-25T02:00,6.6 +2025-04-25T03:00,8.1 +2025-04-25T04:00,13.2 +2025-04-25T05:00,5.8 +2025-04-25T06:00,7.5 +2025-04-25T07:00,12.3 +2025-04-25T08:00,11.4 +2025-04-25T09:00,16.2 +2025-04-25T10:00,15.8 +2025-04-25T11:00,11.8 +2025-04-25T12:00,15.4 +2025-04-25T13:00,16.9 +2025-04-25T14:00,11.7 +2025-04-25T15:00,17.4 +2025-04-25T16:00,8.9 +2025-04-25T17:00,8.5 +2025-04-25T18:00,15.4 +2025-04-25T19:00,9.2 +2025-04-25T20:00,7.0 +2025-04-25T21:00,8.3 +2025-04-25T22:00,6.1 +2025-04-25T23:00,3.7 +2025-04-26T00:00,2.9 +2025-04-26T01:00,5.8 +2025-04-26T02:00,8.3 +2025-04-26T03:00,8.6 +2025-04-26T04:00,4.9 +2025-04-26T05:00,12.3 +2025-04-26T06:00,6.0 +2025-04-26T07:00,11.7 +2025-04-26T08:00,8.2 +2025-04-26T09:00,16.4 +2025-04-26T10:00,10.7 +2025-04-26T11:00,12.4 +2025-04-26T12:00,13.4 +2025-04-26T13:00,13.1 +2025-04-26T14:00,14.9 +2025-04-26T15:00,13.5 +2025-04-26T16:00,13.6 +2025-04-26T17:00,10.6 +2025-04-26T18:00,12.9 +2025-04-26T19:00,8.1 +2025-04-26T20:00,7.5 +2025-04-26T21:00,8.9 +2025-04-26T22:00,2.3 +2025-04-26T23:00,6.2 +2025-04-27T00:00,11.0 +2025-04-27T01:00,8.6 +2025-04-27T02:00,8.6 +2025-04-27T03:00,5.7 +2025-04-27T04:00,6.5 +2025-04-27T05:00,12.7 +2025-04-27T06:00,9.2 +2025-04-27T07:00,10.0 +2025-04-27T08:00,11.4 +2025-04-27T09:00,12.4 +2025-04-27T10:00,14.4 +2025-04-27T11:00,11.0 +2025-04-27T12:00,14.6 +2025-04-27T13:00,14.1 +2025-04-27T14:00,15.2 +2025-04-27T15:00,9.4 +2025-04-27T16:00,10.7 +2025-04-27T17:00,11.3 +2025-04-27T18:00,12.9 +2025-04-27T19:00,10.3 +2025-04-27T20:00,6.9 +2025-04-27T21:00,4.7 +2025-04-27T22:00,5.0 +2025-04-27T23:00,3.8 +2025-04-28T00:00,10.2 +2025-04-28T01:00,3.3 +2025-04-28T02:00,8.0 +2025-04-28T03:00,3.2 +2025-04-28T04:00,10.1 +2025-04-28T05:00,8.3 +2025-04-28T06:00,7.5 +2025-04-28T07:00,12.7 +2025-04-28T08:00,9.6 +2025-04-28T09:00,13.9 +2025-04-28T10:00,14.4 +2025-04-28T11:00,10.0 +2025-04-28T12:00,18.4 +2025-04-28T13:00,17.0 +2025-04-28T14:00,12.3 +2025-04-28T15:00,10.4 +2025-04-28T16:00,10.0 +2025-04-28T17:00,9.9 +2025-04-28T18:00,13.8 +2025-04-28T19:00,6.5 +2025-04-28T20:00,5.9 +2025-04-28T21:00,5.4 +2025-04-28T22:00,12.1 +2025-04-28T23:00,5.8 +2025-04-29T00:00,3.1 +2025-04-29T01:00,4.2 +2025-04-29T02:00,4.8 +2025-04-29T03:00,4.8 +2025-04-29T04:00,6.8 +2025-04-29T05:00,7.2 +2025-04-29T06:00,11.5 +2025-04-29T07:00,9.8 +2025-04-29T08:00,8.9 +2025-04-29T09:00,12.6 +2025-04-29T10:00,14.7 +2025-04-29T11:00,14.1 +2025-04-29T12:00,17.0 +2025-04-29T13:00,10.6 +2025-04-29T14:00,12.2 +2025-04-29T15:00,12.6 +2025-04-29T16:00,16.9 +2025-04-29T17:00,9.5 +2025-04-29T18:00,11.6 +2025-04-29T19:00,8.8 +2025-04-29T20:00,7.5 +2025-04-29T21:00,5.8 +2025-04-29T22:00,4.9 +2025-04-29T23:00,4.7 +2025-04-30T00:00,3.4 +2025-04-30T01:00,6.8 +2025-04-30T02:00,6.7 +2025-04-30T03:00,8.5 +2025-04-30T04:00,7.0 +2025-04-30T05:00,9.9 +2025-04-30T06:00,8.3 +2025-04-30T07:00,9.2 +2025-04-30T08:00,13.1 +2025-04-30T09:00,11.9 +2025-04-30T10:00,12.2 +2025-04-30T11:00,14.7 +2025-04-30T12:00,19.1 +2025-04-30T13:00,13.9 +2025-04-30T14:00,16.4 +2025-04-30T15:00,15.7 +2025-04-30T16:00,9.6 +2025-04-30T17:00,13.4 +2025-04-30T18:00,10.4 +2025-04-30T19:00,6.6 +2025-04-30T20:00,2.5 +2025-04-30T21:00,5.9 +2025-04-30T22:00,7.0 +2025-04-30T23:00,5.3 +2025-05-01T00:00,8.7 +2025-05-01T01:00,10.3 +2025-05-01T02:00,3.3 +2025-05-01T03:00,6.3 +2025-05-01T04:00,6.8 +2025-05-01T05:00,12.1 +2025-05-01T06:00,8.5 +2025-05-01T07:00,8.8 +2025-05-01T08:00,11.1 +2025-05-01T09:00,8.6 +2025-05-01T10:00,8.3 +2025-05-01T11:00,10.7 +2025-05-01T12:00,15.3 +2025-05-01T13:00,10.1 +2025-05-01T14:00,16.7 +2025-05-01T15:00,13.8 +2025-05-01T16:00,11.8 +2025-05-01T17:00,6.3 +2025-05-01T18:00,9.4 +2025-05-01T19:00,7.8 +2025-05-01T20:00,7.3 +2025-05-01T21:00,10.1 +2025-05-01T22:00,3.5 +2025-05-01T23:00,2.9 +2025-05-02T00:00,2.6 +2025-05-02T01:00,4.4 +2025-05-02T02:00,8.9 +2025-05-02T03:00,7.0 +2025-05-02T04:00,10.1 +2025-05-02T05:00,9.1 +2025-05-02T06:00,13.1 +2025-05-02T07:00,9.9 +2025-05-02T08:00,12.2 +2025-05-02T09:00,15.2 +2025-05-02T10:00,12.8 +2025-05-02T11:00,15.1 +2025-05-02T12:00,14.2 +2025-05-02T13:00,13.2 +2025-05-02T14:00,13.5 +2025-05-02T15:00,11.0 +2025-05-02T16:00,17.1 +2025-05-02T17:00,9.7 +2025-05-02T18:00,6.8 +2025-05-02T19:00,5.1 +2025-05-02T20:00,9.7 +2025-05-02T21:00,8.7 +2025-05-02T22:00,4.6 +2025-05-02T23:00,1.0 +2025-05-03T00:00,2.7 +2025-05-03T01:00,7.8 +2025-05-03T02:00,5.2 +2025-05-03T03:00,1.1 +2025-05-03T04:00,7.2 +2025-05-03T05:00,8.4 +2025-05-03T06:00,9.7 +2025-05-03T07:00,9.5 +2025-05-03T08:00,11.5 +2025-05-03T09:00,9.8 +2025-05-03T10:00,15.6 +2025-05-03T11:00,7.7 +2025-05-03T12:00,12.0 +2025-05-03T13:00,12.0 +2025-05-03T14:00,17.9 +2025-05-03T15:00,12.0 +2025-05-03T16:00,12.2 +2025-05-03T17:00,9.6 +2025-05-03T18:00,10.0 +2025-05-03T19:00,5.8 +2025-05-03T20:00,11.1 +2025-05-03T21:00,1.8 +2025-05-03T22:00,7.0 +2025-05-03T23:00,4.0 +2025-05-04T00:00,1.0 +2025-05-04T01:00,2.2 +2025-05-04T02:00,3.1 +2025-05-04T03:00,6.2 +2025-05-04T04:00,11.6 +2025-05-04T05:00,9.7 +2025-05-04T06:00,9.4 +2025-05-04T07:00,15.2 +2025-05-04T08:00,13.4 +2025-05-04T09:00,10.5 +2025-05-04T10:00,9.4 +2025-05-04T11:00,13.3 +2025-05-04T12:00,10.5 +2025-05-04T13:00,13.2 +2025-05-04T14:00,10.6 +2025-05-04T15:00,12.7 +2025-05-04T16:00,15.2 +2025-05-04T17:00,9.7 +2025-05-04T18:00,10.1 +2025-05-04T19:00,8.5 +2025-05-04T20:00,5.6 +2025-05-04T21:00,7.6 +2025-05-04T22:00,5.6 +2025-05-04T23:00,7.6 +2025-05-05T00:00,11.9 +2025-05-05T01:00,6.1 +2025-05-05T02:00,9.4 +2025-05-05T03:00,6.6 +2025-05-05T04:00,5.0 +2025-05-05T05:00,5.0 +2025-05-05T06:00,5.8 +2025-05-05T07:00,11.8 +2025-05-05T08:00,13.8 +2025-05-05T09:00,9.1 +2025-05-05T10:00,15.6 +2025-05-05T11:00,15.5 +2025-05-05T12:00,10.7 +2025-05-05T13:00,11.7 +2025-05-05T14:00,8.2 +2025-05-05T15:00,11.0 +2025-05-05T16:00,9.3 +2025-05-05T17:00,10.3 +2025-05-05T18:00,7.9 +2025-05-05T19:00,10.4 +2025-05-05T20:00,6.0 +2025-05-05T21:00,8.3 +2025-05-05T22:00,8.8 +2025-05-05T23:00,4.8 +2025-05-06T00:00,1.1 +2025-05-06T01:00,5.1 +2025-05-06T02:00,2.7 +2025-05-06T03:00,2.4 +2025-05-06T04:00,6.0 +2025-05-06T05:00,5.0 +2025-05-06T06:00,11.6 +2025-05-06T07:00,8.3 +2025-05-06T08:00,13.8 +2025-05-06T09:00,13.7 +2025-05-06T10:00,11.9 +2025-05-06T11:00,11.0 +2025-05-06T12:00,12.3 +2025-05-06T13:00,14.4 +2025-05-06T14:00,16.5 +2025-05-06T15:00,9.0 +2025-05-06T16:00,10.9 +2025-05-06T17:00,12.7 +2025-05-06T18:00,8.4 +2025-05-06T19:00,8.9 +2025-05-06T20:00,6.5 +2025-05-06T21:00,7.0 +2025-05-06T22:00,8.1 +2025-05-06T23:00,4.0 +2025-05-07T00:00,3.4 +2025-05-07T01:00,3.0 +2025-05-07T02:00,7.2 +2025-05-07T03:00,2.0 +2025-05-07T04:00,10.1 +2025-05-07T05:00,8.0 +2025-05-07T06:00,6.0 +2025-05-07T07:00,11.0 +2025-05-07T08:00,9.5 +2025-05-07T09:00,12.7 +2025-05-07T10:00,12.1 +2025-05-07T11:00,14.7 +2025-05-07T12:00,14.3 +2025-05-07T13:00,13.6 +2025-05-07T14:00,16.6 +2025-05-07T15:00,7.9 +2025-05-07T16:00,11.5 +2025-05-07T17:00,6.5 +2025-05-07T18:00,6.9 +2025-05-07T19:00,11.0 +2025-05-07T20:00,9.5 +2025-05-07T21:00,6.0 +2025-05-07T22:00,6.3 +2025-05-07T23:00,6.7 +2025-05-08T00:00,2.3 +2025-05-08T01:00,1.0 +2025-05-08T02:00,4.2 +2025-05-08T03:00,7.7 +2025-05-08T04:00,4.1 +2025-05-08T05:00,9.3 +2025-05-08T06:00,7.4 +2025-05-08T07:00,15.5 +2025-05-08T08:00,12.7 +2025-05-08T09:00,7.9 +2025-05-08T10:00,10.9 +2025-05-08T11:00,11.0 +2025-05-08T12:00,9.2 +2025-05-08T13:00,11.6 +2025-05-08T14:00,12.4 +2025-05-08T15:00,14.2 +2025-05-08T16:00,9.0 +2025-05-08T17:00,12.5 +2025-05-08T18:00,6.6 +2025-05-08T19:00,8.0 +2025-05-08T20:00,6.8 +2025-05-08T21:00,1.0 +2025-05-08T22:00,1.8 +2025-05-08T23:00,6.9 +2025-05-09T00:00,11.2 +2025-05-09T01:00,6.8 +2025-05-09T02:00,5.3 +2025-05-09T03:00,3.6 +2025-05-09T04:00,6.1 +2025-05-09T05:00,8.2 +2025-05-09T06:00,9.3 +2025-05-09T07:00,8.5 +2025-05-09T08:00,7.2 +2025-05-09T09:00,11.7 +2025-05-09T10:00,11.6 +2025-05-09T11:00,15.3 +2025-05-09T12:00,15.4 +2025-05-09T13:00,9.5 +2025-05-09T14:00,10.8 +2025-05-09T15:00,10.5 +2025-05-09T16:00,12.0 +2025-05-09T17:00,5.9 +2025-05-09T18:00,8.9 +2025-05-09T19:00,9.5 +2025-05-09T20:00,8.0 +2025-05-09T21:00,9.8 +2025-05-09T22:00,1.0 +2025-05-09T23:00,5.0 +2025-05-10T00:00,4.6 +2025-05-10T01:00,4.5 +2025-05-10T02:00,8.9 +2025-05-10T03:00,6.3 +2025-05-10T04:00,9.3 +2025-05-10T05:00,7.2 +2025-05-10T06:00,9.8 +2025-05-10T07:00,7.0 +2025-05-10T08:00,13.4 +2025-05-10T09:00,13.5 +2025-05-10T10:00,15.8 +2025-05-10T11:00,13.3 +2025-05-10T12:00,11.5 +2025-05-10T13:00,14.1 +2025-05-10T14:00,12.4 +2025-05-10T15:00,12.4 +2025-05-10T16:00,10.0 +2025-05-10T17:00,7.1 +2025-05-10T18:00,13.2 +2025-05-10T19:00,9.8 +2025-05-10T20:00,11.0 +2025-05-10T21:00,7.0 +2025-05-10T22:00,3.3 +2025-05-10T23:00,1.0 +2025-05-11T00:00,4.6 +2025-05-11T01:00,4.3 +2025-05-11T02:00,4.0 +2025-05-11T03:00,4.9 +2025-05-11T04:00,4.2 +2025-05-11T05:00,8.1 +2025-05-11T06:00,4.8 +2025-05-11T07:00,9.5 +2025-05-11T08:00,12.0 +2025-05-11T09:00,13.1 +2025-05-11T10:00,12.6 +2025-05-11T11:00,13.4 +2025-05-11T12:00,11.8 +2025-05-11T13:00,15.5 +2025-05-11T14:00,13.4 +2025-05-11T15:00,12.0 +2025-05-11T16:00,7.4 +2025-05-11T17:00,8.4 +2025-05-11T18:00,9.7 +2025-05-11T19:00,3.4 +2025-05-11T20:00,9.1 +2025-05-11T21:00,1.5 +2025-05-11T22:00,4.4 +2025-05-11T23:00,3.0 +2025-05-12T00:00,1.0 +2025-05-12T01:00,4.1 +2025-05-12T02:00,2.3 +2025-05-12T03:00,2.9 +2025-05-12T04:00,5.7 +2025-05-12T05:00,11.0 +2025-05-12T06:00,9.5 +2025-05-12T07:00,6.4 +2025-05-12T08:00,13.6 +2025-05-12T09:00,9.0 +2025-05-12T10:00,11.2 +2025-05-12T11:00,15.3 +2025-05-12T12:00,13.7 +2025-05-12T13:00,11.6 +2025-05-12T14:00,11.0 +2025-05-12T15:00,9.9 +2025-05-12T16:00,12.9 +2025-05-12T17:00,12.0 +2025-05-12T18:00,6.3 +2025-05-12T19:00,3.5 +2025-05-12T20:00,2.4 +2025-05-12T21:00,6.0 +2025-05-12T22:00,2.8 +2025-05-12T23:00,1.0 +2025-05-13T00:00,2.7 +2025-05-13T01:00,2.9 +2025-05-13T02:00,5.3 +2025-05-13T03:00,2.0 +2025-05-13T04:00,4.8 +2025-05-13T05:00,2.2 +2025-05-13T06:00,6.3 +2025-05-13T07:00,10.3 +2025-05-13T08:00,8.3 +2025-05-13T09:00,13.5 +2025-05-13T10:00,12.1 +2025-05-13T11:00,15.1 +2025-05-13T12:00,12.6 +2025-05-13T13:00,15.3 +2025-05-13T14:00,14.3 +2025-05-13T15:00,8.8 +2025-05-13T16:00,10.1 +2025-05-13T17:00,9.0 +2025-05-13T18:00,5.5 +2025-05-13T19:00,6.9 +2025-05-13T20:00,5.3 +2025-05-13T21:00,7.0 +2025-05-13T22:00,3.7 +2025-05-13T23:00,6.2 +2025-05-14T00:00,5.9 +2025-05-14T01:00,2.8 +2025-05-14T02:00,2.9 +2025-05-14T03:00,4.2 +2025-05-14T04:00,1.2 +2025-05-14T05:00,12.6 +2025-05-14T06:00,8.8 +2025-05-14T07:00,9.3 +2025-05-14T08:00,10.0 +2025-05-14T09:00,12.1 +2025-05-14T10:00,11.4 +2025-05-14T11:00,12.4 +2025-05-14T12:00,10.0 +2025-05-14T13:00,11.3 +2025-05-14T14:00,13.1 +2025-05-14T15:00,12.2 +2025-05-14T16:00,6.5 +2025-05-14T17:00,5.4 +2025-05-14T18:00,14.2 +2025-05-14T19:00,8.2 +2025-05-14T20:00,6.0 +2025-05-14T21:00,6.6 +2025-05-14T22:00,1.9 +2025-05-14T23:00,1.0 +2025-05-15T00:00,5.2 +2025-05-15T01:00,2.0 +2025-05-15T02:00,8.6 +2025-05-15T03:00,3.7 +2025-05-15T04:00,9.6 +2025-05-15T05:00,1.6 +2025-05-15T06:00,4.4 +2025-05-15T07:00,5.0 +2025-05-15T08:00,10.1 +2025-05-15T09:00,12.0 +2025-05-15T10:00,13.4 +2025-05-15T11:00,18.3 +2025-05-15T12:00,6.8 +2025-05-15T13:00,10.1 +2025-05-15T14:00,8.5 +2025-05-15T15:00,10.4 +2025-05-15T16:00,12.5 +2025-05-15T17:00,3.9 +2025-05-15T18:00,6.5 +2025-05-15T19:00,10.0 +2025-05-15T20:00,6.3 +2025-05-15T21:00,4.0 +2025-05-15T22:00,1.0 +2025-05-15T23:00,4.3 +2025-05-16T00:00,4.6 +2025-05-16T01:00,3.8 +2025-05-16T02:00,4.2 +2025-05-16T03:00,6.4 +2025-05-16T04:00,5.7 +2025-05-16T05:00,7.2 +2025-05-16T06:00,6.4 +2025-05-16T07:00,12.8 +2025-05-16T08:00,10.3 +2025-05-16T09:00,9.8 +2025-05-16T10:00,13.6 +2025-05-16T11:00,13.3 +2025-05-16T12:00,12.1 +2025-05-16T13:00,13.2 +2025-05-16T14:00,9.1 +2025-05-16T15:00,11.3 +2025-05-16T16:00,10.6 +2025-05-16T17:00,3.0 +2025-05-16T18:00,6.5 +2025-05-16T19:00,7.6 +2025-05-16T20:00,7.9 +2025-05-16T21:00,4.2 +2025-05-16T22:00,4.2 +2025-05-16T23:00,5.2 +2025-05-17T00:00,6.1 +2025-05-17T01:00,2.9 +2025-05-17T02:00,6.9 +2025-05-17T03:00,6.5 +2025-05-17T04:00,8.9 +2025-05-17T05:00,4.5 +2025-05-17T06:00,11.8 +2025-05-17T07:00,10.6 +2025-05-17T08:00,8.9 +2025-05-17T09:00,6.5 +2025-05-17T10:00,11.0 +2025-05-17T11:00,11.9 +2025-05-17T12:00,13.3 +2025-05-17T13:00,13.7 +2025-05-17T14:00,13.9 +2025-05-17T15:00,10.2 +2025-05-17T16:00,12.8 +2025-05-17T17:00,8.5 +2025-05-17T18:00,7.6 +2025-05-17T19:00,7.0 +2025-05-17T20:00,8.0 +2025-05-17T21:00,1.9 +2025-05-17T22:00,6.1 +2025-05-17T23:00,2.0 +2025-05-18T00:00,6.2 +2025-05-18T01:00,4.2 +2025-05-18T02:00,4.7 +2025-05-18T03:00,5.0 +2025-05-18T04:00,4.9 +2025-05-18T05:00,8.3 +2025-05-18T06:00,6.5 +2025-05-18T07:00,5.1 +2025-05-18T08:00,8.7 +2025-05-18T09:00,8.6 +2025-05-18T10:00,14.0 +2025-05-18T11:00,12.1 +2025-05-18T12:00,15.0 +2025-05-18T13:00,9.2 +2025-05-18T14:00,9.8 +2025-05-18T15:00,7.0 +2025-05-18T16:00,12.4 +2025-05-18T17:00,7.1 +2025-05-18T18:00,8.9 +2025-05-18T19:00,3.3 +2025-05-18T20:00,4.8 +2025-05-18T21:00,2.1 +2025-05-18T22:00,5.4 +2025-05-18T23:00,4.3 +2025-05-19T00:00,3.0 +2025-05-19T01:00,4.4 +2025-05-19T02:00,9.9 +2025-05-19T03:00,2.9 +2025-05-19T04:00,4.9 +2025-05-19T05:00,8.6 +2025-05-19T06:00,4.7 +2025-05-19T07:00,10.5 +2025-05-19T08:00,6.9 +2025-05-19T09:00,11.9 +2025-05-19T10:00,17.0 +2025-05-19T11:00,8.2 +2025-05-19T12:00,14.3 +2025-05-19T13:00,11.9 +2025-05-19T14:00,12.7 +2025-05-19T15:00,8.1 +2025-05-19T16:00,9.1 +2025-05-19T17:00,9.9 +2025-05-19T18:00,1.0 +2025-05-19T19:00,1.0 +2025-05-19T20:00,2.7 +2025-05-19T21:00,5.7 +2025-05-19T22:00,2.1 +2025-05-19T23:00,4.5 +2025-05-20T00:00,5.2 +2025-05-20T01:00,3.9 +2025-05-20T02:00,1.0 +2025-05-20T03:00,5.6 +2025-05-20T04:00,2.7 +2025-05-20T05:00,9.6 +2025-05-20T06:00,7.5 +2025-05-20T07:00,7.0 +2025-05-20T08:00,3.7 +2025-05-20T09:00,10.1 +2025-05-20T10:00,6.6 +2025-05-20T11:00,7.6 +2025-05-20T12:00,16.0 +2025-05-20T13:00,9.8 +2025-05-20T14:00,10.8 +2025-05-20T15:00,11.3 +2025-05-20T16:00,7.4 +2025-05-20T17:00,7.9 +2025-05-20T18:00,5.3 +2025-05-20T19:00,8.8 +2025-05-20T20:00,4.7 +2025-05-20T21:00,3.1 +2025-05-20T22:00,2.4 +2025-05-20T23:00,4.3 +2025-05-21T00:00,2.6 +2025-05-21T01:00,1.0 +2025-05-21T02:00,4.1 +2025-05-21T03:00,5.2 +2025-05-21T04:00,4.5 +2025-05-21T05:00,2.8 +2025-05-21T06:00,4.3 +2025-05-21T07:00,8.2 +2025-05-21T08:00,7.3 +2025-05-21T09:00,10.2 +2025-05-21T10:00,10.9 +2025-05-21T11:00,11.8 +2025-05-21T12:00,11.7 +2025-05-21T13:00,13.1 +2025-05-21T14:00,13.1 +2025-05-21T15:00,9.3 +2025-05-21T16:00,5.1 +2025-05-21T17:00,7.0 +2025-05-21T18:00,6.8 +2025-05-21T19:00,3.3 +2025-05-21T20:00,7.3 +2025-05-21T21:00,4.5 +2025-05-21T22:00,3.7 +2025-05-21T23:00,3.5 +2025-05-22T00:00,6.5 +2025-05-22T01:00,3.4 +2025-05-22T02:00,7.1 +2025-05-22T03:00,8.8 +2025-05-22T04:00,5.0 +2025-05-22T05:00,7.2 +2025-05-22T06:00,7.8 +2025-05-22T07:00,4.1 +2025-05-22T08:00,10.3 +2025-05-22T09:00,7.4 +2025-05-22T10:00,5.8 +2025-05-22T11:00,6.1 +2025-05-22T12:00,10.5 +2025-05-22T13:00,9.6 +2025-05-22T14:00,11.9 +2025-05-22T15:00,13.7 +2025-05-22T16:00,6.1 +2025-05-22T17:00,3.9 +2025-05-22T18:00,11.7 +2025-05-22T19:00,4.4 +2025-05-22T20:00,5.1 +2025-05-22T21:00,4.7 +2025-05-22T22:00,3.7 +2025-05-22T23:00,6.5 +2025-05-23T00:00,1.0 +2025-05-23T01:00,1.0 +2025-05-23T02:00,8.7 +2025-05-23T03:00,5.2 +2025-05-23T04:00,3.1 +2025-05-23T05:00,4.5 +2025-05-23T06:00,5.2 +2025-05-23T07:00,7.7 +2025-05-23T08:00,7.4 +2025-05-23T09:00,14.2 +2025-05-23T10:00,9.9 +2025-05-23T11:00,10.3 +2025-05-23T12:00,11.4 +2025-05-23T13:00,14.1 +2025-05-23T14:00,8.6 +2025-05-23T15:00,8.4 +2025-05-23T16:00,9.0 +2025-05-23T17:00,8.3 +2025-05-23T18:00,8.5 +2025-05-23T19:00,3.5 +2025-05-23T20:00,2.6 +2025-05-23T21:00,2.0 +2025-05-23T22:00,4.4 +2025-05-23T23:00,3.1 +2025-05-24T00:00,2.3 +2025-05-24T01:00,1.0 +2025-05-24T02:00,7.7 +2025-05-24T03:00,3.2 +2025-05-24T04:00,4.6 +2025-05-24T05:00,4.8 +2025-05-24T06:00,7.6 +2025-05-24T07:00,5.2 +2025-05-24T08:00,9.3 +2025-05-24T09:00,10.6 +2025-05-24T10:00,9.8 +2025-05-24T11:00,9.6 +2025-05-24T12:00,14.9 +2025-05-24T13:00,7.4 +2025-05-24T14:00,11.5 +2025-05-24T15:00,8.5 +2025-05-24T16:00,11.6 +2025-05-24T17:00,6.4 +2025-05-24T18:00,12.7 +2025-05-24T19:00,6.4 +2025-05-24T20:00,5.2 +2025-05-24T21:00,1.7 +2025-05-24T22:00,2.5 +2025-05-24T23:00,2.0 +2025-05-25T00:00,4.0 +2025-05-25T01:00,1.9 +2025-05-25T02:00,4.0 +2025-05-25T03:00,5.4 +2025-05-25T04:00,3.7 +2025-05-25T05:00,4.5 +2025-05-25T06:00,8.1 +2025-05-25T07:00,11.8 +2025-05-25T08:00,9.8 +2025-05-25T09:00,11.7 +2025-05-25T10:00,12.7 +2025-05-25T11:00,8.0 +2025-05-25T12:00,14.3 +2025-05-25T13:00,10.5 +2025-05-25T14:00,9.6 +2025-05-25T15:00,12.2 +2025-05-25T16:00,11.8 +2025-05-25T17:00,8.0 +2025-05-25T18:00,11.6 +2025-05-25T19:00,8.3 +2025-05-25T20:00,3.2 +2025-05-25T21:00,5.6 +2025-05-25T22:00,3.1 +2025-05-25T23:00,3.4 +2025-05-26T00:00,3.2 +2025-05-26T01:00,2.5 +2025-05-26T02:00,5.7 +2025-05-26T03:00,6.8 +2025-05-26T04:00,7.8 +2025-05-26T05:00,3.5 +2025-05-26T06:00,6.2 +2025-05-26T07:00,7.6 +2025-05-26T08:00,12.6 +2025-05-26T09:00,9.2 +2025-05-26T10:00,5.9 +2025-05-26T11:00,9.4 +2025-05-26T12:00,8.9 +2025-05-26T13:00,11.7 +2025-05-26T14:00,9.4 +2025-05-26T15:00,9.5 +2025-05-26T16:00,10.7 +2025-05-26T17:00,9.9 +2025-05-26T18:00,4.8 +2025-05-26T19:00,6.4 +2025-05-26T20:00,7.3 +2025-05-26T21:00,8.6 +2025-05-26T22:00,6.0 +2025-05-26T23:00,6.4 +2025-05-27T00:00,4.5 +2025-05-27T01:00,3.5 +2025-05-27T02:00,6.9 +2025-05-27T03:00,5.3 +2025-05-27T04:00,10.0 +2025-05-27T05:00,8.7 +2025-05-27T06:00,1.0 +2025-05-27T07:00,4.2 +2025-05-27T08:00,9.5 +2025-05-27T09:00,9.2 +2025-05-27T10:00,9.1 +2025-05-27T11:00,15.6 +2025-05-27T12:00,15.5 +2025-05-27T13:00,10.1 +2025-05-27T14:00,8.5 +2025-05-27T15:00,9.0 +2025-05-27T16:00,6.1 +2025-05-27T17:00,7.5 +2025-05-27T18:00,7.3 +2025-05-27T19:00,9.6 +2025-05-27T20:00,7.2 +2025-05-27T21:00,3.3 +2025-05-27T22:00,2.3 +2025-05-27T23:00,3.6 +2025-05-28T00:00,1.0 +2025-05-28T01:00,1.0 +2025-05-28T02:00,2.6 +2025-05-28T03:00,2.5 +2025-05-28T04:00,2.7 +2025-05-28T05:00,3.7 +2025-05-28T06:00,5.4 +2025-05-28T07:00,7.6 +2025-05-28T08:00,5.3 +2025-05-28T09:00,11.4 +2025-05-28T10:00,14.2 +2025-05-28T11:00,14.1 +2025-05-28T12:00,12.6 +2025-05-28T13:00,11.2 +2025-05-28T14:00,9.3 +2025-05-28T15:00,9.9 +2025-05-28T16:00,9.9 +2025-05-28T17:00,13.9 +2025-05-28T18:00,8.2 +2025-05-28T19:00,3.5 +2025-05-28T20:00,1.0 +2025-05-28T21:00,3.9 +2025-05-28T22:00,1.1 +2025-05-28T23:00,1.4 +2025-05-29T00:00,6.4 +2025-05-29T01:00,1.0 +2025-05-29T02:00,4.0 +2025-05-29T03:00,5.4 +2025-05-29T04:00,8.2 +2025-05-29T05:00,7.9 +2025-05-29T06:00,5.3 +2025-05-29T07:00,9.6 +2025-05-29T08:00,11.6 +2025-05-29T09:00,13.3 +2025-05-29T10:00,8.2 +2025-05-29T11:00,10.2 +2025-05-29T12:00,4.5 +2025-05-29T13:00,12.4 +2025-05-29T14:00,10.4 +2025-05-29T15:00,6.2 +2025-05-29T16:00,5.5 +2025-05-29T17:00,4.8 +2025-05-29T18:00,4.8 +2025-05-29T19:00,8.4 +2025-05-29T20:00,5.6 +2025-05-29T21:00,6.3 +2025-05-29T22:00,1.4 +2025-05-29T23:00,3.5 +2025-05-30T00:00,1.0 +2025-05-30T01:00,5.5 +2025-05-30T02:00,4.1 +2025-05-30T03:00,3.2 +2025-05-30T04:00,4.1 +2025-05-30T05:00,3.0 +2025-05-30T06:00,1.0 +2025-05-30T07:00,5.5 +2025-05-30T08:00,9.9 +2025-05-30T09:00,8.7 +2025-05-30T10:00,10.2 +2025-05-30T11:00,12.7 +2025-05-30T12:00,10.2 +2025-05-30T13:00,11.2 +2025-05-30T14:00,13.5 +2025-05-30T15:00,7.4 +2025-05-30T16:00,5.1 +2025-05-30T17:00,9.5 +2025-05-30T18:00,6.5 +2025-05-30T19:00,5.3 +2025-05-30T20:00,3.6 +2025-05-30T21:00,1.9 +2025-05-30T22:00,1.0 +2025-05-30T23:00,2.6 +2025-05-31T00:00,1.0 +2025-05-31T01:00,2.9 +2025-05-31T02:00,1.5 +2025-05-31T03:00,4.6 +2025-05-31T04:00,1.8 +2025-05-31T05:00,7.0 +2025-05-31T06:00,4.4 +2025-05-31T07:00,4.3 +2025-05-31T08:00,6.6 +2025-05-31T09:00,11.6 +2025-05-31T10:00,10.6 +2025-05-31T11:00,4.4 +2025-05-31T12:00,11.6 +2025-05-31T13:00,12.0 +2025-05-31T14:00,11.1 +2025-05-31T15:00,7.1 +2025-05-31T16:00,7.3 +2025-05-31T17:00,4.8 +2025-05-31T18:00,10.3 +2025-05-31T19:00,1.0 +2025-05-31T20:00,4.4 +2025-05-31T21:00,4.6 +2025-05-31T22:00,2.6 +2025-05-31T23:00,4.1 +2025-06-01T00:00,1.0 +2025-06-01T01:00,1.7 +2025-06-01T02:00,3.5 +2025-06-01T03:00,5.5 +2025-06-01T04:00,1.0 +2025-06-01T05:00,3.0 +2025-06-01T06:00,7.6 +2025-06-01T07:00,8.7 +2025-06-01T08:00,11.4 +2025-06-01T09:00,10.5 +2025-06-01T10:00,8.6 +2025-06-01T11:00,10.5 +2025-06-01T12:00,8.4 +2025-06-01T13:00,8.1 +2025-06-01T14:00,6.8 +2025-06-01T15:00,6.4 +2025-06-01T16:00,10.1 +2025-06-01T17:00,10.1 +2025-06-01T18:00,5.8 +2025-06-01T19:00,5.2 +2025-06-01T20:00,7.4 +2025-06-01T21:00,2.9 +2025-06-01T22:00,5.0 +2025-06-01T23:00,1.0 +2025-06-02T00:00,1.0 +2025-06-02T01:00,5.4 +2025-06-02T02:00,3.4 +2025-06-02T03:00,1.0 +2025-06-02T04:00,5.8 +2025-06-02T05:00,3.3 +2025-06-02T06:00,6.8 +2025-06-02T07:00,8.0 +2025-06-02T08:00,10.9 +2025-06-02T09:00,9.9 +2025-06-02T10:00,7.6 +2025-06-02T11:00,8.7 +2025-06-02T12:00,12.2 +2025-06-02T13:00,9.8 +2025-06-02T14:00,7.8 +2025-06-02T15:00,7.0 +2025-06-02T16:00,9.6 +2025-06-02T17:00,12.7 +2025-06-02T18:00,9.5 +2025-06-02T19:00,5.2 +2025-06-02T20:00,2.9 +2025-06-02T21:00,2.1 +2025-06-02T22:00,3.9 +2025-06-02T23:00,1.0 +2025-06-03T00:00,6.2 +2025-06-03T01:00,2.4 +2025-06-03T02:00,1.0 +2025-06-03T03:00,4.1 +2025-06-03T04:00,2.2 +2025-06-03T05:00,1.0 +2025-06-03T06:00,2.0 +2025-06-03T07:00,7.0 +2025-06-03T08:00,3.8 +2025-06-03T09:00,2.0 +2025-06-03T10:00,10.8 +2025-06-03T11:00,7.9 +2025-06-03T12:00,10.2 +2025-06-03T13:00,12.0 +2025-06-03T14:00,7.0 +2025-06-03T15:00,3.9 +2025-06-03T16:00,10.7 +2025-06-03T17:00,10.2 +2025-06-03T18:00,8.7 +2025-06-03T19:00,7.7 +2025-06-03T20:00,3.8 +2025-06-03T21:00,8.1 +2025-06-03T22:00,1.0 +2025-06-03T23:00,4.6 +2025-06-04T00:00,4.8 +2025-06-04T01:00,1.0 +2025-06-04T02:00,5.7 +2025-06-04T03:00,7.0 +2025-06-04T04:00,8.5 +2025-06-04T05:00,3.0 +2025-06-04T06:00,6.5 +2025-06-04T07:00,5.7 +2025-06-04T08:00,8.5 +2025-06-04T09:00,8.9 +2025-06-04T10:00,11.4 +2025-06-04T11:00,8.6 +2025-06-04T12:00,6.6 +2025-06-04T13:00,10.3 +2025-06-04T14:00,9.2 +2025-06-04T15:00,2.4 +2025-06-04T16:00,11.1 +2025-06-04T17:00,8.1 +2025-06-04T18:00,4.0 +2025-06-04T19:00,5.5 +2025-06-04T20:00,6.3 +2025-06-04T21:00,4.3 +2025-06-04T22:00,5.1 +2025-06-04T23:00,5.2 +2025-06-05T00:00,2.8 +2025-06-05T01:00,3.2 +2025-06-05T02:00,6.2 +2025-06-05T03:00,1.0 +2025-06-05T04:00,8.3 +2025-06-05T05:00,6.3 +2025-06-05T06:00,5.5 +2025-06-05T07:00,5.7 +2025-06-05T08:00,5.3 +2025-06-05T09:00,8.8 +2025-06-05T10:00,10.6 +2025-06-05T11:00,12.9 +2025-06-05T12:00,8.5 +2025-06-05T13:00,9.7 +2025-06-05T14:00,5.1 +2025-06-05T15:00,9.0 +2025-06-05T16:00,7.8 +2025-06-05T17:00,13.7 +2025-06-05T18:00,4.5 +2025-06-05T19:00,3.1 +2025-06-05T20:00,1.0 +2025-06-05T21:00,1.0 +2025-06-05T22:00,1.5 +2025-06-05T23:00,1.0 +2025-06-06T00:00,1.0 +2025-06-06T01:00,1.9 +2025-06-06T02:00,4.1 +2025-06-06T03:00,3.9 +2025-06-06T04:00,1.0 +2025-06-06T05:00,1.0 +2025-06-06T06:00,2.7 +2025-06-06T07:00,10.5 +2025-06-06T08:00,8.9 +2025-06-06T09:00,11.8 +2025-06-06T10:00,11.0 +2025-06-06T11:00,7.9 +2025-06-06T12:00,11.1 +2025-06-06T13:00,8.7 +2025-06-06T14:00,6.5 +2025-06-06T15:00,6.0 +2025-06-06T16:00,11.6 +2025-06-06T17:00,8.3 +2025-06-06T18:00,9.3 +2025-06-06T19:00,5.4 +2025-06-06T20:00,1.1 +2025-06-06T21:00,3.6 +2025-06-06T22:00,2.7 +2025-06-06T23:00,1.0 +2025-06-07T00:00,9.4 +2025-06-07T01:00,1.2 +2025-06-07T02:00,1.5 +2025-06-07T03:00,1.6 +2025-06-07T04:00,6.0 +2025-06-07T05:00,5.5 +2025-06-07T06:00,1.0 +2025-06-07T07:00,4.6 +2025-06-07T08:00,7.4 +2025-06-07T09:00,11.7 +2025-06-07T10:00,9.4 +2025-06-07T11:00,10.2 +2025-06-07T12:00,8.9 +2025-06-07T13:00,11.4 +2025-06-07T14:00,9.1 +2025-06-07T15:00,5.1 +2025-06-07T16:00,6.7 +2025-06-07T17:00,6.2 +2025-06-07T18:00,1.0 +2025-06-07T19:00,1.4 +2025-06-07T20:00,3.5 +2025-06-07T21:00,2.4 +2025-06-07T22:00,2.1 +2025-06-07T23:00,1.0 +2025-06-08T00:00,3.3 +2025-06-08T01:00,4.3 +2025-06-08T02:00,1.0 +2025-06-08T03:00,4.3 +2025-06-08T04:00,1.0 +2025-06-08T05:00,5.1 +2025-06-08T06:00,4.7 +2025-06-08T07:00,6.5 +2025-06-08T08:00,4.4 +2025-06-08T09:00,9.3 +2025-06-08T10:00,10.4 +2025-06-08T11:00,12.1 +2025-06-08T12:00,8.8 +2025-06-08T13:00,8.3 +2025-06-08T14:00,9.0 +2025-06-08T15:00,11.3 +2025-06-08T16:00,7.0 +2025-06-08T17:00,10.3 +2025-06-08T18:00,3.1 +2025-06-08T19:00,3.0 +2025-06-08T20:00,5.3 +2025-06-08T21:00,1.0 +2025-06-08T22:00,1.0 +2025-06-08T23:00,2.8 +2025-06-09T00:00,6.5 +2025-06-09T01:00,1.4 +2025-06-09T02:00,2.8 +2025-06-09T03:00,4.3 +2025-06-09T04:00,5.5 +2025-06-09T05:00,2.8 +2025-06-09T06:00,4.5 +2025-06-09T07:00,8.3 +2025-06-09T08:00,9.4 +2025-06-09T09:00,5.0 +2025-06-09T10:00,13.9 +2025-06-09T11:00,10.5 +2025-06-09T12:00,8.8 +2025-06-09T13:00,8.8 +2025-06-09T14:00,7.1 +2025-06-09T15:00,9.5 +2025-06-09T16:00,8.9 +2025-06-09T17:00,1.0 +2025-06-09T18:00,5.2 +2025-06-09T19:00,6.7 +2025-06-09T20:00,1.0 +2025-06-09T21:00,1.0 +2025-06-09T22:00,1.0 +2025-06-09T23:00,1.0 +2025-06-10T00:00,1.0 +2025-06-10T01:00,1.0 +2025-06-10T02:00,4.1 +2025-06-10T03:00,5.2 +2025-06-10T04:00,1.0 +2025-06-10T05:00,5.0 +2025-06-10T06:00,5.7 +2025-06-10T07:00,6.9 +2025-06-10T08:00,8.5 +2025-06-10T09:00,8.8 +2025-06-10T10:00,11.8 +2025-06-10T11:00,8.3 +2025-06-10T12:00,9.5 +2025-06-10T13:00,13.5 +2025-06-10T14:00,7.7 +2025-06-10T15:00,6.1 +2025-06-10T16:00,5.4 +2025-06-10T17:00,4.2 +2025-06-10T18:00,4.7 +2025-06-10T19:00,2.7 +2025-06-10T20:00,7.4 +2025-06-10T21:00,3.3 +2025-06-10T22:00,2.1 +2025-06-10T23:00,1.0 +2025-06-11T00:00,4.1 +2025-06-11T01:00,4.9 +2025-06-11T02:00,1.8 +2025-06-11T03:00,1.0 +2025-06-11T04:00,2.7 +2025-06-11T05:00,4.9 +2025-06-11T06:00,8.2 +2025-06-11T07:00,2.1 +2025-06-11T08:00,10.9 +2025-06-11T09:00,8.6 +2025-06-11T10:00,5.4 +2025-06-11T11:00,12.0 +2025-06-11T12:00,5.4 +2025-06-11T13:00,8.5 +2025-06-11T14:00,11.0 +2025-06-11T15:00,12.6 +2025-06-11T16:00,6.6 +2025-06-11T17:00,5.6 +2025-06-11T18:00,8.7 +2025-06-11T19:00,6.0 +2025-06-11T20:00,1.0 +2025-06-11T21:00,3.6 +2025-06-11T22:00,4.2 +2025-06-11T23:00,1.0 +2025-06-12T00:00,3.9 +2025-06-12T01:00,1.0 +2025-06-12T02:00,1.7 +2025-06-12T03:00,3.9 +2025-06-12T04:00,4.7 +2025-06-12T05:00,1.7 +2025-06-12T06:00,6.7 +2025-06-12T07:00,2.8 +2025-06-12T08:00,3.8 +2025-06-12T09:00,5.9 +2025-06-12T10:00,9.1 +2025-06-12T11:00,8.8 +2025-06-12T12:00,10.6 +2025-06-12T13:00,9.5 +2025-06-12T14:00,9.7 +2025-06-12T15:00,7.8 +2025-06-12T16:00,8.7 +2025-06-12T17:00,4.9 +2025-06-12T18:00,4.8 +2025-06-12T19:00,2.2 +2025-06-12T20:00,4.3 +2025-06-12T21:00,3.4 +2025-06-12T22:00,1.0 +2025-06-12T23:00,5.4 +2025-06-13T00:00,2.4 +2025-06-13T01:00,1.0 +2025-06-13T02:00,1.0 +2025-06-13T03:00,1.0 +2025-06-13T04:00,1.0 +2025-06-13T05:00,3.6 +2025-06-13T06:00,6.7 +2025-06-13T07:00,5.9 +2025-06-13T08:00,14.8 +2025-06-13T09:00,3.9 +2025-06-13T10:00,7.7 +2025-06-13T11:00,6.1 +2025-06-13T12:00,9.8 +2025-06-13T13:00,11.4 +2025-06-13T14:00,8.1 +2025-06-13T15:00,5.9 +2025-06-13T16:00,8.1 +2025-06-13T17:00,11.6 +2025-06-13T18:00,5.6 +2025-06-13T19:00,1.0 +2025-06-13T20:00,1.1 +2025-06-13T21:00,6.9 +2025-06-13T22:00,1.0 +2025-06-13T23:00,3.4 +2025-06-14T00:00,1.4 +2025-06-14T01:00,4.6 +2025-06-14T02:00,3.5 +2025-06-14T03:00,4.3 +2025-06-14T04:00,5.1 +2025-06-14T05:00,8.6 +2025-06-14T06:00,9.7 +2025-06-14T07:00,5.8 +2025-06-14T08:00,11.4 +2025-06-14T09:00,12.6 +2025-06-14T10:00,6.8 +2025-06-14T11:00,9.2 +2025-06-14T12:00,6.6 +2025-06-14T13:00,10.8 +2025-06-14T14:00,4.5 +2025-06-14T15:00,3.7 +2025-06-14T16:00,6.4 +2025-06-14T17:00,7.5 +2025-06-14T18:00,1.0 +2025-06-14T19:00,2.5 +2025-06-14T20:00,2.4 +2025-06-14T21:00,3.4 +2025-06-14T22:00,1.0 +2025-06-14T23:00,4.1 +2025-06-15T00:00,1.0 +2025-06-15T01:00,1.0 +2025-06-15T02:00,1.0 +2025-06-15T03:00,1.2 +2025-06-15T04:00,1.0 +2025-06-15T05:00,5.6 +2025-06-15T06:00,2.2 +2025-06-15T07:00,9.3 +2025-06-15T08:00,7.7 +2025-06-15T09:00,9.8 +2025-06-15T10:00,6.5 +2025-06-15T11:00,11.3 +2025-06-15T12:00,10.5 +2025-06-15T13:00,6.5 +2025-06-15T14:00,10.3 +2025-06-15T15:00,7.4 +2025-06-15T16:00,6.2 +2025-06-15T17:00,3.8 +2025-06-15T18:00,8.2 +2025-06-15T19:00,10.1 +2025-06-15T20:00,1.3 +2025-06-15T21:00,2.2 +2025-06-15T22:00,4.1 +2025-06-15T23:00,6.3 +2025-06-16T00:00,4.0 +2025-06-16T01:00,1.0 +2025-06-16T02:00,2.9 +2025-06-16T03:00,3.1 +2025-06-16T04:00,1.0 +2025-06-16T05:00,5.5 +2025-06-16T06:00,1.0 +2025-06-16T07:00,3.4 +2025-06-16T08:00,5.1 +2025-06-16T09:00,9.5 +2025-06-16T10:00,9.5 +2025-06-16T11:00,9.4 +2025-06-16T12:00,10.4 +2025-06-16T13:00,8.6 +2025-06-16T14:00,12.0 +2025-06-16T15:00,11.6 +2025-06-16T16:00,8.8 +2025-06-16T17:00,3.6 +2025-06-16T18:00,3.2 +2025-06-16T19:00,5.9 +2025-06-16T20:00,1.0 +2025-06-16T21:00,6.8 +2025-06-16T22:00,1.0 +2025-06-16T23:00,5.2 +2025-06-17T00:00,1.0 +2025-06-17T01:00,5.8 +2025-06-17T02:00,1.0 +2025-06-17T03:00,6.0 +2025-06-17T04:00,5.6 +2025-06-17T05:00,3.1 +2025-06-17T06:00,3.7 +2025-06-17T07:00,7.4 +2025-06-17T08:00,8.8 +2025-06-17T09:00,7.6 +2025-06-17T10:00,10.7 +2025-06-17T11:00,8.8 +2025-06-17T12:00,10.5 +2025-06-17T13:00,14.7 +2025-06-17T14:00,9.8 +2025-06-17T15:00,11.9 +2025-06-17T16:00,5.4 +2025-06-17T17:00,5.6 +2025-06-17T18:00,8.6 +2025-06-17T19:00,4.4 +2025-06-17T20:00,3.1 +2025-06-17T21:00,2.8 +2025-06-17T22:00,2.8 +2025-06-17T23:00,2.9 +2025-06-18T00:00,6.1 +2025-06-18T01:00,2.3 +2025-06-18T02:00,1.0 +2025-06-18T03:00,4.0 +2025-06-18T04:00,3.5 +2025-06-18T05:00,2.1 +2025-06-18T06:00,4.8 +2025-06-18T07:00,4.3 +2025-06-18T08:00,8.5 +2025-06-18T09:00,8.4 +2025-06-18T10:00,9.1 +2025-06-18T11:00,8.4 +2025-06-18T12:00,8.0 +2025-06-18T13:00,10.0 +2025-06-18T14:00,9.0 +2025-06-18T15:00,10.1 +2025-06-18T16:00,7.8 +2025-06-18T17:00,1.0 +2025-06-18T18:00,1.0 +2025-06-18T19:00,3.3 +2025-06-18T20:00,1.0 +2025-06-18T21:00,1.9 +2025-06-18T22:00,1.0 +2025-06-18T23:00,1.5 +2025-06-19T00:00,1.2 +2025-06-19T01:00,3.3 +2025-06-19T02:00,2.4 +2025-06-19T03:00,1.0 +2025-06-19T04:00,3.8 +2025-06-19T05:00,4.0 +2025-06-19T06:00,1.9 +2025-06-19T07:00,2.9 +2025-06-19T08:00,5.5 +2025-06-19T09:00,9.9 +2025-06-19T10:00,10.4 +2025-06-19T11:00,11.1 +2025-06-19T12:00,5.4 +2025-06-19T13:00,10.8 +2025-06-19T14:00,10.2 +2025-06-19T15:00,6.2 +2025-06-19T16:00,3.5 +2025-06-19T17:00,8.0 +2025-06-19T18:00,8.6 +2025-06-19T19:00,1.2 +2025-06-19T20:00,3.1 +2025-06-19T21:00,5.2 +2025-06-19T22:00,2.0 +2025-06-19T23:00,2.9 +2025-06-20T00:00,1.0 +2025-06-20T01:00,1.0 +2025-06-20T02:00,2.7 +2025-06-20T03:00,6.1 +2025-06-20T04:00,4.7 +2025-06-20T05:00,8.5 +2025-06-20T06:00,6.1 +2025-06-20T07:00,10.1 +2025-06-20T08:00,9.1 +2025-06-20T09:00,9.3 +2025-06-20T10:00,9.6 +2025-06-20T11:00,6.5 +2025-06-20T12:00,8.0 +2025-06-20T13:00,8.3 +2025-06-20T14:00,7.1 +2025-06-20T15:00,6.2 +2025-06-20T16:00,6.0 +2025-06-20T17:00,6.4 +2025-06-20T18:00,3.8 +2025-06-20T19:00,6.3 +2025-06-20T20:00,5.3 +2025-06-20T21:00,6.2 +2025-06-20T22:00,5.1 +2025-06-20T23:00,1.4 +2025-06-21T00:00,1.0 +2025-06-21T01:00,4.6 +2025-06-21T02:00,3.6 +2025-06-21T03:00,1.6 +2025-06-21T04:00,1.0 +2025-06-21T05:00,4.9 +2025-06-21T06:00,7.0 +2025-06-21T07:00,7.6 +2025-06-21T08:00,7.1 +2025-06-21T09:00,11.2 +2025-06-21T10:00,6.9 +2025-06-21T11:00,5.3 +2025-06-21T12:00,7.4 +2025-06-21T13:00,7.7 +2025-06-21T14:00,7.3 +2025-06-21T15:00,6.5 +2025-06-21T16:00,7.0 +2025-06-21T17:00,2.0 +2025-06-21T18:00,7.6 +2025-06-21T19:00,3.4 +2025-06-21T20:00,3.1 +2025-06-21T21:00,1.0 +2025-06-21T22:00,1.0 +2025-06-21T23:00,1.0 +2025-06-22T00:00,1.0 +2025-06-22T01:00,3.4 +2025-06-22T02:00,4.0 +2025-06-22T03:00,4.0 +2025-06-22T04:00,1.4 +2025-06-22T05:00,4.6 +2025-06-22T06:00,3.3 +2025-06-22T07:00,5.8 +2025-06-22T08:00,9.5 +2025-06-22T09:00,7.6 +2025-06-22T10:00,8.1 +2025-06-22T11:00,6.9 +2025-06-22T12:00,11.4 +2025-06-22T13:00,10.2 +2025-06-22T14:00,10.7 +2025-06-22T15:00,8.8 +2025-06-22T16:00,4.9 +2025-06-22T17:00,7.8 +2025-06-22T18:00,7.8 +2025-06-22T19:00,2.9 +2025-06-22T20:00,3.5 +2025-06-22T21:00,1.0 +2025-06-22T22:00,4.3 +2025-06-22T23:00,1.0 +2025-06-23T00:00,3.3 +2025-06-23T01:00,1.8 +2025-06-23T02:00,1.0 +2025-06-23T03:00,2.4 +2025-06-23T04:00,1.0 +2025-06-23T05:00,2.5 +2025-06-23T06:00,7.2 +2025-06-23T07:00,2.0 +2025-06-23T08:00,9.5 +2025-06-23T09:00,6.2 +2025-06-23T10:00,5.4 +2025-06-23T11:00,9.8 +2025-06-23T12:00,13.1 +2025-06-23T13:00,12.7 +2025-06-23T14:00,10.0 +2025-06-23T15:00,9.0 +2025-06-23T16:00,9.7 +2025-06-23T17:00,3.8 +2025-06-23T18:00,6.1 +2025-06-23T19:00,2.1 +2025-06-23T20:00,2.0 +2025-06-23T21:00,7.0 +2025-06-23T22:00,3.9 +2025-06-23T23:00,2.2 +2025-06-24T00:00,1.0 +2025-06-24T01:00,2.7 +2025-06-24T02:00,5.7 +2025-06-24T03:00,1.0 +2025-06-24T04:00,2.0 +2025-06-24T05:00,3.2 +2025-06-24T06:00,2.8 +2025-06-24T07:00,9.0 +2025-06-24T08:00,9.5 +2025-06-24T09:00,2.1 +2025-06-24T10:00,6.6 +2025-06-24T11:00,12.2 +2025-06-24T12:00,11.2 +2025-06-24T13:00,14.2 +2025-06-24T14:00,8.2 +2025-06-24T15:00,13.3 +2025-06-24T16:00,10.4 +2025-06-24T17:00,6.1 +2025-06-24T18:00,4.6 +2025-06-24T19:00,3.4 +2025-06-24T20:00,10.0 +2025-06-24T21:00,4.2 +2025-06-24T22:00,3.3 +2025-06-24T23:00,1.0 +2025-06-25T00:00,2.3 +2025-06-25T01:00,3.5 +2025-06-25T02:00,1.0 +2025-06-25T03:00,5.3 +2025-06-25T04:00,2.4 +2025-06-25T05:00,7.7 +2025-06-25T06:00,2.9 +2025-06-25T07:00,11.2 +2025-06-25T08:00,2.2 +2025-06-25T09:00,11.1 +2025-06-25T10:00,10.5 +2025-06-25T11:00,6.8 +2025-06-25T12:00,11.3 +2025-06-25T13:00,6.7 +2025-06-25T14:00,8.3 +2025-06-25T15:00,5.9 +2025-06-25T16:00,7.1 +2025-06-25T17:00,5.2 +2025-06-25T18:00,8.0 +2025-06-25T19:00,5.0 +2025-06-25T20:00,4.4 +2025-06-25T21:00,1.1 +2025-06-25T22:00,2.7 +2025-06-25T23:00,1.0 +2025-06-26T00:00,1.5 +2025-06-26T01:00,1.0 +2025-06-26T02:00,1.3 +2025-06-26T03:00,1.0 +2025-06-26T04:00,2.9 +2025-06-26T05:00,4.7 +2025-06-26T06:00,4.8 +2025-06-26T07:00,6.2 +2025-06-26T08:00,9.2 +2025-06-26T09:00,4.8 +2025-06-26T10:00,7.1 +2025-06-26T11:00,7.0 +2025-06-26T12:00,7.8 +2025-06-26T13:00,12.8 +2025-06-26T14:00,7.6 +2025-06-26T15:00,9.8 +2025-06-26T16:00,4.1 +2025-06-26T17:00,5.5 +2025-06-26T18:00,8.8 +2025-06-26T19:00,3.7 +2025-06-26T20:00,2.2 +2025-06-26T21:00,1.4 +2025-06-26T22:00,2.6 +2025-06-26T23:00,2.9 +2025-06-27T00:00,1.0 +2025-06-27T01:00,1.2 +2025-06-27T02:00,4.2 +2025-06-27T03:00,2.2 +2025-06-27T04:00,2.4 +2025-06-27T05:00,4.5 +2025-06-27T06:00,6.5 +2025-06-27T07:00,7.2 +2025-06-27T08:00,4.3 +2025-06-27T09:00,10.4 +2025-06-27T10:00,8.7 +2025-06-27T11:00,6.6 +2025-06-27T12:00,10.5 +2025-06-27T13:00,11.0 +2025-06-27T14:00,10.0 +2025-06-27T15:00,8.9 +2025-06-27T16:00,4.6 +2025-06-27T17:00,9.4 +2025-06-27T18:00,5.3 +2025-06-27T19:00,6.5 +2025-06-27T20:00,1.0 +2025-06-27T21:00,1.4 +2025-06-27T22:00,2.6 +2025-06-27T23:00,3.5 +2025-06-28T00:00,2.9 +2025-06-28T01:00,1.0 +2025-06-28T02:00,1.0 +2025-06-28T03:00,2.4 +2025-06-28T04:00,2.8 +2025-06-28T05:00,9.1 +2025-06-28T06:00,9.1 +2025-06-28T07:00,9.1 +2025-06-28T08:00,4.6 +2025-06-28T09:00,7.2 +2025-06-28T10:00,8.8 +2025-06-28T11:00,9.3 +2025-06-28T12:00,9.7 +2025-06-28T13:00,7.2 +2025-06-28T14:00,5.9 +2025-06-28T15:00,5.3 +2025-06-28T16:00,2.8 +2025-06-28T17:00,5.6 +2025-06-28T18:00,4.7 +2025-06-28T19:00,5.1 +2025-06-28T20:00,3.6 +2025-06-28T21:00,2.5 +2025-06-28T22:00,1.0 +2025-06-28T23:00,3.0 +2025-06-29T00:00,1.3 +2025-06-29T01:00,1.0 +2025-06-29T02:00,8.4 +2025-06-29T03:00,3.4 +2025-06-29T04:00,1.0 +2025-06-29T05:00,4.3 +2025-06-29T06:00,7.2 +2025-06-29T07:00,2.8 +2025-06-29T08:00,7.8 +2025-06-29T09:00,7.9 +2025-06-29T10:00,10.9 +2025-06-29T11:00,6.8 +2025-06-29T12:00,8.1 +2025-06-29T13:00,12.2 +2025-06-29T14:00,7.2 +2025-06-29T15:00,2.8 +2025-06-29T16:00,10.1 +2025-06-29T17:00,7.8 +2025-06-29T18:00,7.7 +2025-06-29T19:00,4.9 +2025-06-29T20:00,4.0 +2025-06-29T21:00,1.1 +2025-06-29T22:00,1.0 +2025-06-29T23:00,3.3 +2025-06-30T00:00,1.0 +2025-06-30T01:00,3.0 +2025-06-30T02:00,4.7 +2025-06-30T03:00,2.0 +2025-06-30T04:00,1.4 +2025-06-30T05:00,3.1 +2025-06-30T06:00,4.0 +2025-06-30T07:00,3.1 +2025-06-30T08:00,3.0 +2025-06-30T09:00,9.2 +2025-06-30T10:00,9.0 +2025-06-30T11:00,4.8 +2025-06-30T12:00,7.4 +2025-06-30T13:00,3.1 +2025-06-30T14:00,5.5 +2025-06-30T15:00,8.4 +2025-06-30T16:00,2.7 +2025-06-30T17:00,6.3 +2025-06-30T18:00,4.2 +2025-06-30T19:00,2.5 +2025-06-30T20:00,3.0 +2025-06-30T21:00,4.4 +2025-06-30T22:00,2.5 +2025-06-30T23:00,2.9 +2025-07-01T00:00,1.0 +2025-07-01T01:00,2.8 +2025-07-01T02:00,1.0 +2025-07-01T03:00,2.6 +2025-07-01T04:00,3.7 +2025-07-01T05:00,2.8 +2025-07-01T06:00,9.1 +2025-07-01T07:00,3.5 +2025-07-01T08:00,4.1 +2025-07-01T09:00,6.6 +2025-07-01T10:00,7.3 +2025-07-01T11:00,14.8 +2025-07-01T12:00,8.3 +2025-07-01T13:00,10.7 +2025-07-01T14:00,10.2 +2025-07-01T15:00,10.4 +2025-07-01T16:00,9.3 +2025-07-01T17:00,8.9 +2025-07-01T18:00,8.0 +2025-07-01T19:00,8.3 +2025-07-01T20:00,3.1 +2025-07-01T21:00,4.4 +2025-07-01T22:00,4.4 +2025-07-01T23:00,1.9 +2025-07-02T00:00,1.0 +2025-07-02T01:00,1.8 +2025-07-02T02:00,1.0 +2025-07-02T03:00,3.1 +2025-07-02T04:00,4.7 +2025-07-02T05:00,1.7 +2025-07-02T06:00,5.6 +2025-07-02T07:00,5.7 +2025-07-02T08:00,9.0 +2025-07-02T09:00,7.5 +2025-07-02T10:00,12.4 +2025-07-02T11:00,8.4 +2025-07-02T12:00,7.9 +2025-07-02T13:00,9.0 +2025-07-02T14:00,7.1 +2025-07-02T15:00,6.0 +2025-07-02T16:00,6.8 +2025-07-02T17:00,2.8 +2025-07-02T18:00,9.4 +2025-07-02T19:00,1.0 +2025-07-02T20:00,2.5 +2025-07-02T21:00,2.0 +2025-07-02T22:00,1.5 +2025-07-02T23:00,1.0 +2025-07-03T00:00,1.2 +2025-07-03T01:00,7.2 +2025-07-03T02:00,1.4 +2025-07-03T03:00,1.9 +2025-07-03T04:00,10.5 +2025-07-03T05:00,3.5 +2025-07-03T06:00,3.6 +2025-07-03T07:00,5.1 +2025-07-03T08:00,6.5 +2025-07-03T09:00,5.8 +2025-07-03T10:00,5.7 +2025-07-03T11:00,8.9 +2025-07-03T12:00,6.5 +2025-07-03T13:00,10.1 +2025-07-03T14:00,5.1 +2025-07-03T15:00,7.6 +2025-07-03T16:00,9.4 +2025-07-03T17:00,7.7 +2025-07-03T18:00,6.3 +2025-07-03T19:00,1.6 +2025-07-03T20:00,2.9 +2025-07-03T21:00,1.0 +2025-07-03T22:00,1.0 +2025-07-03T23:00,4.2 +2025-07-04T00:00,1.0 +2025-07-04T01:00,1.5 +2025-07-04T02:00,3.8 +2025-07-04T03:00,2.6 +2025-07-04T04:00,7.4 +2025-07-04T05:00,5.5 +2025-07-04T06:00,3.6 +2025-07-04T07:00,3.6 +2025-07-04T08:00,8.4 +2025-07-04T09:00,8.4 +2025-07-04T10:00,8.2 +2025-07-04T11:00,5.1 +2025-07-04T12:00,6.3 +2025-07-04T13:00,8.9 +2025-07-04T14:00,10.2 +2025-07-04T15:00,8.7 +2025-07-04T16:00,9.3 +2025-07-04T17:00,5.7 +2025-07-04T18:00,2.4 +2025-07-04T19:00,9.4 +2025-07-04T20:00,1.0 +2025-07-04T21:00,2.3 +2025-07-04T22:00,1.0 +2025-07-04T23:00,6.1 +2025-07-05T00:00,4.0 +2025-07-05T01:00,1.0 +2025-07-05T02:00,5.0 +2025-07-05T03:00,2.5 +2025-07-05T04:00,1.0 +2025-07-05T05:00,6.1 +2025-07-05T06:00,2.3 +2025-07-05T07:00,4.7 +2025-07-05T08:00,9.8 +2025-07-05T09:00,10.6 +2025-07-05T10:00,7.3 +2025-07-05T11:00,11.0 +2025-07-05T12:00,9.6 +2025-07-05T13:00,8.5 +2025-07-05T14:00,7.6 +2025-07-05T15:00,9.2 +2025-07-05T16:00,8.6 +2025-07-05T17:00,5.0 +2025-07-05T18:00,1.1 +2025-07-05T19:00,1.0 +2025-07-05T20:00,1.9 +2025-07-05T21:00,6.1 +2025-07-05T22:00,1.0 +2025-07-05T23:00,1.0 +2025-07-06T00:00,5.9 +2025-07-06T01:00,1.0 +2025-07-06T02:00,5.9 +2025-07-06T03:00,6.0 +2025-07-06T04:00,1.0 +2025-07-06T05:00,3.7 +2025-07-06T06:00,5.0 +2025-07-06T07:00,4.1 +2025-07-06T08:00,8.3 +2025-07-06T09:00,9.3 +2025-07-06T10:00,7.6 +2025-07-06T11:00,4.8 +2025-07-06T12:00,9.6 +2025-07-06T13:00,10.3 +2025-07-06T14:00,5.0 +2025-07-06T15:00,9.3 +2025-07-06T16:00,5.6 +2025-07-06T17:00,7.9 +2025-07-06T18:00,3.4 +2025-07-06T19:00,1.0 +2025-07-06T20:00,4.0 +2025-07-06T21:00,1.0 +2025-07-06T22:00,1.0 +2025-07-06T23:00,1.0 +2025-07-07T00:00,1.0 +2025-07-07T01:00,1.6 +2025-07-07T02:00,1.1 +2025-07-07T03:00,8.1 +2025-07-07T04:00,1.0 +2025-07-07T05:00,1.5 +2025-07-07T06:00,6.8 +2025-07-07T07:00,8.1 +2025-07-07T08:00,1.8 +2025-07-07T09:00,8.3 +2025-07-07T10:00,9.1 +2025-07-07T11:00,10.5 +2025-07-07T12:00,9.3 +2025-07-07T13:00,4.6 +2025-07-07T14:00,4.7 +2025-07-07T15:00,5.9 +2025-07-07T16:00,5.1 +2025-07-07T17:00,6.1 +2025-07-07T18:00,1.9 +2025-07-07T19:00,5.9 +2025-07-07T20:00,2.5 +2025-07-07T21:00,5.9 +2025-07-07T22:00,1.0 +2025-07-07T23:00,3.1 +2025-07-08T00:00,1.0 +2025-07-08T01:00,2.6 +2025-07-08T02:00,1.0 +2025-07-08T03:00,6.8 +2025-07-08T04:00,1.0 +2025-07-08T05:00,5.5 +2025-07-08T06:00,9.4 +2025-07-08T07:00,10.5 +2025-07-08T08:00,6.4 +2025-07-08T09:00,5.6 +2025-07-08T10:00,5.4 +2025-07-08T11:00,12.1 +2025-07-08T12:00,6.3 +2025-07-08T13:00,10.7 +2025-07-08T14:00,11.3 +2025-07-08T15:00,8.2 +2025-07-08T16:00,10.7 +2025-07-08T17:00,8.0 +2025-07-08T18:00,6.3 +2025-07-08T19:00,1.0 +2025-07-08T20:00,5.0 +2025-07-08T21:00,3.1 +2025-07-08T22:00,1.0 +2025-07-08T23:00,1.0 +2025-07-09T00:00,1.0 +2025-07-09T01:00,1.0 +2025-07-09T02:00,1.7 +2025-07-09T03:00,4.2 +2025-07-09T04:00,5.8 +2025-07-09T05:00,5.8 +2025-07-09T06:00,9.0 +2025-07-09T07:00,9.0 +2025-07-09T08:00,7.9 +2025-07-09T09:00,11.1 +2025-07-09T10:00,8.2 +2025-07-09T11:00,7.5 +2025-07-09T12:00,7.2 +2025-07-09T13:00,10.3 +2025-07-09T14:00,3.3 +2025-07-09T15:00,8.8 +2025-07-09T16:00,5.0 +2025-07-09T17:00,7.8 +2025-07-09T18:00,3.1 +2025-07-09T19:00,5.6 +2025-07-09T20:00,5.7 +2025-07-09T21:00,4.0 +2025-07-09T22:00,2.0 +2025-07-09T23:00,2.7 +2025-07-10T00:00,1.4 +2025-07-10T01:00,5.0 +2025-07-10T02:00,2.2 +2025-07-10T03:00,4.5 +2025-07-10T04:00,1.0 +2025-07-10T05:00,1.0 +2025-07-10T06:00,5.5 +2025-07-10T07:00,11.1 +2025-07-10T08:00,3.5 +2025-07-10T09:00,10.6 +2025-07-10T10:00,3.5 +2025-07-10T11:00,7.0 +2025-07-10T12:00,10.4 +2025-07-10T13:00,6.7 +2025-07-10T14:00,10.2 +2025-07-10T15:00,5.3 +2025-07-10T16:00,2.1 +2025-07-10T17:00,6.4 +2025-07-10T18:00,4.2 +2025-07-10T19:00,1.0 +2025-07-10T20:00,2.2 +2025-07-10T21:00,4.1 +2025-07-10T22:00,1.0 +2025-07-10T23:00,1.0 +2025-07-11T00:00,3.1 +2025-07-11T01:00,2.9 +2025-07-11T02:00,1.0 +2025-07-11T03:00,1.3 +2025-07-11T04:00,3.8 +2025-07-11T05:00,2.7 +2025-07-11T06:00,3.6 +2025-07-11T07:00,8.5 +2025-07-11T08:00,2.8 +2025-07-11T09:00,12.8 +2025-07-11T10:00,9.0 +2025-07-11T11:00,7.4 +2025-07-11T12:00,12.8 +2025-07-11T13:00,12.3 +2025-07-11T14:00,11.7 +2025-07-11T15:00,5.6 +2025-07-11T16:00,7.0 +2025-07-11T17:00,4.6 +2025-07-11T18:00,5.2 +2025-07-11T19:00,6.6 +2025-07-11T20:00,8.0 +2025-07-11T21:00,1.0 +2025-07-11T22:00,5.7 +2025-07-11T23:00,1.0 +2025-07-12T00:00,1.0 +2025-07-12T01:00,1.0 +2025-07-12T02:00,1.0 +2025-07-12T03:00,1.6 +2025-07-12T04:00,9.4 +2025-07-12T05:00,3.0 +2025-07-12T06:00,7.3 +2025-07-12T07:00,6.6 +2025-07-12T08:00,4.6 +2025-07-12T09:00,9.0 +2025-07-12T10:00,5.4 +2025-07-12T11:00,10.5 +2025-07-12T12:00,10.0 +2025-07-12T13:00,7.6 +2025-07-12T14:00,10.3 +2025-07-12T15:00,6.9 +2025-07-12T16:00,8.6 +2025-07-12T17:00,2.9 +2025-07-12T18:00,1.0 +2025-07-12T19:00,2.8 +2025-07-12T20:00,1.7 +2025-07-12T21:00,1.0 +2025-07-12T22:00,1.7 +2025-07-12T23:00,1.0 +2025-07-13T00:00,4.5 +2025-07-13T01:00,1.0 +2025-07-13T02:00,2.8 +2025-07-13T03:00,1.0 +2025-07-13T04:00,2.3 +2025-07-13T05:00,4.1 +2025-07-13T06:00,8.1 +2025-07-13T07:00,3.2 +2025-07-13T08:00,8.8 +2025-07-13T09:00,8.9 +2025-07-13T10:00,8.9 +2025-07-13T11:00,4.2 +2025-07-13T12:00,10.9 +2025-07-13T13:00,10.2 +2025-07-13T14:00,5.9 +2025-07-13T15:00,7.7 +2025-07-13T16:00,5.7 +2025-07-13T17:00,11.5 +2025-07-13T18:00,4.2 +2025-07-13T19:00,5.6 +2025-07-13T20:00,2.6 +2025-07-13T21:00,1.0 +2025-07-13T22:00,2.7 +2025-07-13T23:00,1.0 +2025-07-14T00:00,1.0 +2025-07-14T01:00,3.2 +2025-07-14T02:00,1.3 +2025-07-14T03:00,1.0 +2025-07-14T04:00,2.7 +2025-07-14T05:00,4.4 +2025-07-14T06:00,4.4 +2025-07-14T07:00,7.3 +2025-07-14T08:00,6.3 +2025-07-14T09:00,9.8 +2025-07-14T10:00,7.6 +2025-07-14T11:00,8.2 +2025-07-14T12:00,10.3 +2025-07-14T13:00,11.7 +2025-07-14T14:00,8.3 +2025-07-14T15:00,7.0 +2025-07-14T16:00,3.6 +2025-07-14T17:00,6.9 +2025-07-14T18:00,4.6 +2025-07-14T19:00,2.8 +2025-07-14T20:00,4.2 +2025-07-14T21:00,5.4 +2025-07-14T22:00,7.6 +2025-07-14T23:00,1.0 +2025-07-15T00:00,1.0 +2025-07-15T01:00,3.8 +2025-07-15T02:00,1.0 +2025-07-15T03:00,5.9 +2025-07-15T04:00,4.1 +2025-07-15T05:00,5.8 +2025-07-15T06:00,3.2 +2025-07-15T07:00,6.0 +2025-07-15T08:00,7.8 +2025-07-15T09:00,2.9 +2025-07-15T10:00,9.2 +2025-07-15T11:00,10.7 +2025-07-15T12:00,10.0 +2025-07-15T13:00,9.7 +2025-07-15T14:00,9.1 +2025-07-15T15:00,7.8 +2025-07-15T16:00,9.0 +2025-07-15T17:00,3.8 +2025-07-15T18:00,6.5 +2025-07-15T19:00,3.1 +2025-07-15T20:00,2.1 +2025-07-15T21:00,1.0 +2025-07-15T22:00,1.0 +2025-07-15T23:00,1.6 +2025-07-16T00:00,1.0 +2025-07-16T01:00,1.0 +2025-07-16T02:00,1.6 +2025-07-16T03:00,1.0 +2025-07-16T04:00,4.4 +2025-07-16T05:00,8.2 +2025-07-16T06:00,4.0 +2025-07-16T07:00,4.7 +2025-07-16T08:00,9.7 +2025-07-16T09:00,4.8 +2025-07-16T10:00,8.4 +2025-07-16T11:00,10.1 +2025-07-16T12:00,6.7 +2025-07-16T13:00,6.7 +2025-07-16T14:00,7.5 +2025-07-16T15:00,8.8 +2025-07-16T16:00,4.5 +2025-07-16T17:00,5.7 +2025-07-16T18:00,2.4 +2025-07-16T19:00,4.5 +2025-07-16T20:00,9.0 +2025-07-16T21:00,5.3 +2025-07-16T22:00,3.0 +2025-07-16T23:00,1.6 +2025-07-17T00:00,1.0 +2025-07-17T01:00,1.0 +2025-07-17T02:00,6.8 +2025-07-17T03:00,1.0 +2025-07-17T04:00,5.5 +2025-07-17T05:00,2.6 +2025-07-17T06:00,8.8 +2025-07-17T07:00,7.1 +2025-07-17T08:00,12.6 +2025-07-17T09:00,13.3 +2025-07-17T10:00,9.7 +2025-07-17T11:00,9.5 +2025-07-17T12:00,12.9 +2025-07-17T13:00,6.9 +2025-07-17T14:00,8.8 +2025-07-17T15:00,9.1 +2025-07-17T16:00,4.4 +2025-07-17T17:00,7.9 +2025-07-17T18:00,6.0 +2025-07-17T19:00,1.0 +2025-07-17T20:00,4.5 +2025-07-17T21:00,1.0 +2025-07-17T22:00,1.0 +2025-07-17T23:00,1.0 +2025-07-18T00:00,1.0 +2025-07-18T01:00,1.0 +2025-07-18T02:00,1.9 +2025-07-18T03:00,4.7 +2025-07-18T04:00,1.4 +2025-07-18T05:00,3.8 +2025-07-18T06:00,5.1 +2025-07-18T07:00,7.6 +2025-07-18T08:00,4.7 +2025-07-18T09:00,9.6 +2025-07-18T10:00,4.8 +2025-07-18T11:00,9.6 +2025-07-18T12:00,7.6 +2025-07-18T13:00,6.8 +2025-07-18T14:00,10.0 +2025-07-18T15:00,12.1 +2025-07-18T16:00,8.9 +2025-07-18T17:00,6.4 +2025-07-18T18:00,9.0 +2025-07-18T19:00,1.0 +2025-07-18T20:00,3.6 +2025-07-18T21:00,6.8 +2025-07-18T22:00,1.7 +2025-07-18T23:00,2.6 +2025-07-19T00:00,4.3 +2025-07-19T01:00,1.0 +2025-07-19T02:00,5.4 +2025-07-19T03:00,6.1 +2025-07-19T04:00,1.5 +2025-07-19T05:00,3.2 +2025-07-19T06:00,10.0 +2025-07-19T07:00,7.5 +2025-07-19T08:00,8.9 +2025-07-19T09:00,7.7 +2025-07-19T10:00,9.5 +2025-07-19T11:00,10.4 +2025-07-19T12:00,9.8 +2025-07-19T13:00,13.2 +2025-07-19T14:00,9.7 +2025-07-19T15:00,3.4 +2025-07-19T16:00,8.1 +2025-07-19T17:00,1.8 +2025-07-19T18:00,5.3 +2025-07-19T19:00,1.8 +2025-07-19T20:00,5.8 +2025-07-19T21:00,1.1 +2025-07-19T22:00,4.2 +2025-07-19T23:00,3.4 +2025-07-20T00:00,1.0 +2025-07-20T01:00,3.6 +2025-07-20T02:00,3.8 +2025-07-20T03:00,1.0 +2025-07-20T04:00,1.0 +2025-07-20T05:00,4.6 +2025-07-20T06:00,7.2 +2025-07-20T07:00,7.0 +2025-07-20T08:00,11.5 +2025-07-20T09:00,8.3 +2025-07-20T10:00,8.9 +2025-07-20T11:00,11.3 +2025-07-20T12:00,11.7 +2025-07-20T13:00,7.9 +2025-07-20T14:00,11.4 +2025-07-20T15:00,12.4 +2025-07-20T16:00,10.8 +2025-07-20T17:00,11.8 +2025-07-20T18:00,5.6 +2025-07-20T19:00,2.3 +2025-07-20T20:00,8.5 +2025-07-20T21:00,4.3 +2025-07-20T22:00,5.4 +2025-07-20T23:00,1.3 +2025-07-21T00:00,2.4 +2025-07-21T01:00,3.8 +2025-07-21T02:00,4.2 +2025-07-21T03:00,2.4 +2025-07-21T04:00,3.0 +2025-07-21T05:00,4.4 +2025-07-21T06:00,7.9 +2025-07-21T07:00,5.4 +2025-07-21T08:00,8.4 +2025-07-21T09:00,5.1 +2025-07-21T10:00,8.2 +2025-07-21T11:00,11.9 +2025-07-21T12:00,10.2 +2025-07-21T13:00,8.5 +2025-07-21T14:00,7.3 +2025-07-21T15:00,9.6 +2025-07-21T16:00,4.6 +2025-07-21T17:00,4.8 +2025-07-21T18:00,8.9 +2025-07-21T19:00,4.3 +2025-07-21T20:00,4.4 +2025-07-21T21:00,2.4 +2025-07-21T22:00,3.5 +2025-07-21T23:00,1.0 +2025-07-22T00:00,1.0 +2025-07-22T01:00,2.7 +2025-07-22T02:00,1.0 +2025-07-22T03:00,1.0 +2025-07-22T04:00,4.8 +2025-07-22T05:00,3.6 +2025-07-22T06:00,6.5 +2025-07-22T07:00,8.0 +2025-07-22T08:00,4.3 +2025-07-22T09:00,8.1 +2025-07-22T10:00,6.8 +2025-07-22T11:00,10.2 +2025-07-22T12:00,14.2 +2025-07-22T13:00,14.6 +2025-07-22T14:00,9.7 +2025-07-22T15:00,6.9 +2025-07-22T16:00,4.8 +2025-07-22T17:00,4.3 +2025-07-22T18:00,6.5 +2025-07-22T19:00,2.0 +2025-07-22T20:00,3.2 +2025-07-22T21:00,1.5 +2025-07-22T22:00,2.9 +2025-07-22T23:00,1.0 +2025-07-23T00:00,1.0 +2025-07-23T01:00,3.7 +2025-07-23T02:00,2.6 +2025-07-23T03:00,3.2 +2025-07-23T04:00,5.4 +2025-07-23T05:00,6.8 +2025-07-23T06:00,6.7 +2025-07-23T07:00,5.9 +2025-07-23T08:00,8.1 +2025-07-23T09:00,7.3 +2025-07-23T10:00,5.9 +2025-07-23T11:00,8.2 +2025-07-23T12:00,7.7 +2025-07-23T13:00,15.5 +2025-07-23T14:00,13.0 +2025-07-23T15:00,10.1 +2025-07-23T16:00,9.1 +2025-07-23T17:00,9.6 +2025-07-23T18:00,3.8 +2025-07-23T19:00,6.9 +2025-07-23T20:00,4.3 +2025-07-23T21:00,2.5 +2025-07-23T22:00,1.0 +2025-07-23T23:00,1.0 +2025-07-24T00:00,1.0 +2025-07-24T01:00,6.3 +2025-07-24T02:00,4.0 +2025-07-24T03:00,2.0 +2025-07-24T04:00,4.6 +2025-07-24T05:00,5.6 +2025-07-24T06:00,8.7 +2025-07-24T07:00,9.8 +2025-07-24T08:00,6.6 +2025-07-24T09:00,8.1 +2025-07-24T10:00,7.8 +2025-07-24T11:00,7.7 +2025-07-24T12:00,7.4 +2025-07-24T13:00,7.2 +2025-07-24T14:00,8.3 +2025-07-24T15:00,5.4 +2025-07-24T16:00,10.2 +2025-07-24T17:00,5.8 +2025-07-24T18:00,2.6 +2025-07-24T19:00,4.7 +2025-07-24T20:00,5.5 +2025-07-24T21:00,4.4 +2025-07-24T22:00,1.0 +2025-07-24T23:00,1.0 +2025-07-25T00:00,1.0 +2025-07-25T01:00,1.0 +2025-07-25T02:00,5.6 +2025-07-25T03:00,1.0 +2025-07-25T04:00,3.9 +2025-07-25T05:00,5.8 +2025-07-25T06:00,2.8 +2025-07-25T07:00,4.7 +2025-07-25T08:00,7.2 +2025-07-25T09:00,8.3 +2025-07-25T10:00,6.0 +2025-07-25T11:00,9.6 +2025-07-25T12:00,8.9 +2025-07-25T13:00,9.3 +2025-07-25T14:00,9.9 +2025-07-25T15:00,13.0 +2025-07-25T16:00,8.5 +2025-07-25T17:00,3.8 +2025-07-25T18:00,6.2 +2025-07-25T19:00,2.6 +2025-07-25T20:00,5.8 +2025-07-25T21:00,1.5 +2025-07-25T22:00,1.0 +2025-07-25T23:00,3.2 +2025-07-26T00:00,3.6 +2025-07-26T01:00,1.0 +2025-07-26T02:00,4.8 +2025-07-26T03:00,2.8 +2025-07-26T04:00,3.1 +2025-07-26T05:00,6.3 +2025-07-26T06:00,4.2 +2025-07-26T07:00,4.6 +2025-07-26T08:00,11.2 +2025-07-26T09:00,8.0 +2025-07-26T10:00,5.3 +2025-07-26T11:00,10.6 +2025-07-26T12:00,7.4 +2025-07-26T13:00,12.4 +2025-07-26T14:00,10.0 +2025-07-26T15:00,7.8 +2025-07-26T16:00,7.9 +2025-07-26T17:00,8.4 +2025-07-26T18:00,7.5 +2025-07-26T19:00,6.7 +2025-07-26T20:00,4.1 +2025-07-26T21:00,1.0 +2025-07-26T22:00,1.8 +2025-07-26T23:00,1.0 +2025-07-27T00:00,3.5 +2025-07-27T01:00,3.2 +2025-07-27T02:00,1.0 +2025-07-27T03:00,1.8 +2025-07-27T04:00,2.2 +2025-07-27T05:00,1.4 +2025-07-27T06:00,1.1 +2025-07-27T07:00,6.9 +2025-07-27T08:00,9.5 +2025-07-27T09:00,8.9 +2025-07-27T10:00,12.9 +2025-07-27T11:00,12.6 +2025-07-27T12:00,16.7 +2025-07-27T13:00,8.8 +2025-07-27T14:00,10.4 +2025-07-27T15:00,12.5 +2025-07-27T16:00,5.4 +2025-07-27T17:00,8.2 +2025-07-27T18:00,8.4 +2025-07-27T19:00,3.8 +2025-07-27T20:00,1.0 +2025-07-27T21:00,1.0 +2025-07-27T22:00,2.4 +2025-07-27T23:00,5.6 +2025-07-28T00:00,4.2 +2025-07-28T01:00,1.0 +2025-07-28T02:00,2.6 +2025-07-28T03:00,4.8 +2025-07-28T04:00,6.4 +2025-07-28T05:00,6.4 +2025-07-28T06:00,4.1 +2025-07-28T07:00,3.3 diff --git a/agents/evals/fixtures/cases/line-timeseries-seaborn-renamed/case.json b/agents/evals/fixtures/cases/line-timeseries-seaborn-renamed/case.json new file mode 100644 index 0000000000..2a775a2cb5 --- /dev/null +++ b/agents/evals/fixtures/cases/line-timeseries-seaborn-renamed/case.json @@ -0,0 +1,25 @@ +{ + "spec_id": "line-timeseries", + "library": "seaborn", + "locale": "de", + "perturbation": "renamed", + "bindings": [ + { + "role": "date", + "column": "Messdatum" + }, + { + "role": "value", + "column": "Feinstaub PM2,5 (µg/m³)" + } + ], + "expected": "accepted", + "tags": [ + "time-series", + "renamed", + "synthetic", + "renamed-headers", + "non-ascii-headers" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 1010, renamed)" +} diff --git a/agents/evals/fixtures/cases/line-timeseries-seaborn-renamed/data.csv b/agents/evals/fixtures/cases/line-timeseries-seaborn-renamed/data.csv new file mode 100644 index 0000000000..1acececa25 --- /dev/null +++ b/agents/evals/fixtures/cases/line-timeseries-seaborn-renamed/data.csv @@ -0,0 +1,366 @@ +Messdatum,"Feinstaub PM2,5 (µg/m³)" +2025-01-01,17.9 +2025-01-02,24.6 +2025-01-03,22.3 +2025-01-04,19.7 +2025-01-05,24.6 +2025-01-06,18.5 +2025-01-07,24.3 +2025-01-08,27.0 +2025-01-09,19.5 +2025-01-10,23.5 +2025-01-11,22.1 +2025-01-12,18.0 +2025-01-13,23.4 +2025-01-14,17.7 +2025-01-15,23.4 +2025-01-16,27.7 +2025-01-17,25.0 +2025-01-18,25.4 +2025-01-19,27.6 +2025-01-20,21.4 +2025-01-21,27.6 +2025-01-22,23.7 +2025-01-23,15.1 +2025-01-24,21.3 +2025-01-25,19.2 +2025-01-26,20.5 +2025-01-27,22.6 +2025-01-28,19.9 +2025-01-29,19.4 +2025-01-30,22.3 +2025-01-31,23.3 +2025-02-01,16.0 +2025-02-02,23.0 +2025-02-03,24.3 +2025-02-04,19.1 +2025-02-05,24.0 +2025-02-06,26.4 +2025-02-07,21.2 +2025-02-08,21.2 +2025-02-09,19.0 +2025-02-10,19.3 +2025-02-11,22.2 +2025-02-12,17.0 +2025-02-13,21.7 +2025-02-14,22.9 +2025-02-15,23.2 +2025-02-16,17.4 +2025-02-17,15.9 +2025-02-18,24.8 +2025-02-19,15.1 +2025-02-20,18.2 +2025-02-21,18.8 +2025-02-22,20.0 +2025-02-23,19.5 +2025-02-24,16.1 +2025-02-25,19.4 +2025-02-26,14.9 +2025-02-27,16.9 +2025-02-28,13.7 +2025-03-01,16.2 +2025-03-02,17.4 +2025-03-03,17.6 +2025-03-04,18.8 +2025-03-05,18.1 +2025-03-06,14.9 +2025-03-07,21.0 +2025-03-08,18.6 +2025-03-09,19.7 +2025-03-10,21.0 +2025-03-11,18.8 +2025-03-12,15.6 +2025-03-13,21.5 +2025-03-14,19.8 +2025-03-15,20.0 +2025-03-16,13.3 +2025-03-17,18.1 +2025-03-18,19.4 +2025-03-19,18.5 +2025-03-20,11.2 +2025-03-21,13.9 +2025-03-22,14.1 +2025-03-23,17.1 +2025-03-24,17.4 +2025-03-25,16.5 +2025-03-26,12.9 +2025-03-27,17.8 +2025-03-28,12.5 +2025-03-29,13.4 +2025-03-30,17.2 +2025-03-31,14.9 +2025-04-01,13.2 +2025-04-02,11.7 +2025-04-03,12.6 +2025-04-04,13.2 +2025-04-05,13.4 +2025-04-06,13.9 +2025-04-07,12.0 +2025-04-08,12.9 +2025-04-09,14.9 +2025-04-10,14.9 +2025-04-11,14.0 +2025-04-12,11.7 +2025-04-13,17.6 +2025-04-14,13.3 +2025-04-15,13.7 +2025-04-16,14.3 +2025-04-17,12.6 +2025-04-18,6.9 +2025-04-19,15.9 +2025-04-20,9.3 +2025-04-21,12.4 +2025-04-22,11.9 +2025-04-23,9.2 +2025-04-24,14.0 +2025-04-25,10.5 +2025-04-26,3.5 +2025-04-27,13.9 +2025-04-28,9.8 +2025-04-29,12.6 +2025-04-30,10.1 +2025-05-01,8.7 +2025-05-02,8.4 +2025-05-03,7.9 +2025-05-04,11.6 +2025-05-05,10.4 +2025-05-06,8.5 +2025-05-07,4.8 +2025-05-08,6.6 +2025-05-09,5.8 +2025-05-10,8.1 +2025-05-11,7.7 +2025-05-12,3.0 +2025-05-13,11.8 +2025-05-14,2.0 +2025-05-15,4.9 +2025-05-16,5.6 +2025-05-17,13.2 +2025-05-18,5.6 +2025-05-19,8.5 +2025-05-20,10.2 +2025-05-21,8.9 +2025-05-22,13.2 +2025-05-23,9.8 +2025-05-24,11.2 +2025-05-25,10.2 +2025-05-26,11.0 +2025-05-27,2.7 +2025-05-28,8.0 +2025-05-29,4.9 +2025-05-30,6.1 +2025-05-31,8.3 +2025-06-01,5.0 +2025-06-02,5.5 +2025-06-03,1.0 +2025-06-04,5.8 +2025-06-05,13.9 +2025-06-06,1.0 +2025-06-07,6.7 +2025-06-08,2.8 +2025-06-09,6.8 +2025-06-10,7.7 +2025-06-11,1.8 +2025-06-12,5.2 +2025-06-13,6.9 +2025-06-14,9.8 +2025-06-15,3.7 +2025-06-16,5.5 +2025-06-17,9.5 +2025-06-18,7.0 +2025-06-19,2.0 +2025-06-20,10.5 +2025-06-21,5.8 +2025-06-22,9.9 +2025-06-23,8.1 +2025-06-24,9.7 +2025-06-25,6.0 +2025-06-26,1.0 +2025-06-27,10.1 +2025-06-28,5.7 +2025-06-29,5.4 +2025-06-30,1.7 +2025-07-01,1.0 +2025-07-02,4.1 +2025-07-03,9.5 +2025-07-04,6.5 +2025-07-05,6.7 +2025-07-06,6.0 +2025-07-07,6.6 +2025-07-08,6.2 +2025-07-09,1.0 +2025-07-10,3.9 +2025-07-11,3.2 +2025-07-12,7.3 +2025-07-13,8.5 +2025-07-14,5.7 +2025-07-15,1.0 +2025-07-16,5.3 +2025-07-17,2.0 +2025-07-18,5.3 +2025-07-19,11.1 +2025-07-20,1.0 +2025-07-21,5.9 +2025-07-22,7.5 +2025-07-23,10.8 +2025-07-24,4.7 +2025-07-25,3.9 +2025-07-26,5.6 +2025-07-27,4.3 +2025-07-28,6.9 +2025-07-29,7.3 +2025-07-30,11.5 +2025-07-31,6.4 +2025-08-01,3.3 +2025-08-02,4.5 +2025-08-03,5.9 +2025-08-04,8.8 +2025-08-05,4.1 +2025-08-06,1.0 +2025-08-07,4.9 +2025-08-08,6.5 +2025-08-09,2.7 +2025-08-10,7.3 +2025-08-11,14.3 +2025-08-12,4.8 +2025-08-13,9.0 +2025-08-14,7.6 +2025-08-15,9.1 +2025-08-16,9.1 +2025-08-17,1.0 +2025-08-18,5.4 +2025-08-19,10.8 +2025-08-20,11.0 +2025-08-21,5.4 +2025-08-22,7.8 +2025-08-23,4.6 +2025-08-24,7.1 +2025-08-25,10.3 +2025-08-26,10.0 +2025-08-27,8.1 +2025-08-28,10.8 +2025-08-29,6.1 +2025-08-30,12.0 +2025-08-31,12.1 +2025-09-01,10.2 +2025-09-02,8.0 +2025-09-03,8.6 +2025-09-04,6.4 +2025-09-05,10.7 +2025-09-06,9.6 +2025-09-07,16.1 +2025-09-08,15.1 +2025-09-09,10.9 +2025-09-10,12.6 +2025-09-11,8.1 +2025-09-12,9.8 +2025-09-13,10.3 +2025-09-14,15.2 +2025-09-15,6.7 +2025-09-16,13.8 +2025-09-17,15.9 +2025-09-18,15.9 +2025-09-19,12.7 +2025-09-20,11.9 +2025-09-21,11.2 +2025-09-22,12.6 +2025-09-23,10.3 +2025-09-24,15.6 +2025-09-25,15.9 +2025-09-26,16.0 +2025-09-27,15.7 +2025-09-28,16.3 +2025-09-29,17.1 +2025-09-30,13.0 +2025-10-01,9.4 +2025-10-02,13.8 +2025-10-03,15.5 +2025-10-04,16.7 +2025-10-05,7.5 +2025-10-06,15.5 +2025-10-07,14.6 +2025-10-08,8.4 +2025-10-09,12.4 +2025-10-10,14.0 +2025-10-11,19.5 +2025-10-12,16.5 +2025-10-13,16.2 +2025-10-14,20.3 +2025-10-15,13.1 +2025-10-16,11.8 +2025-10-17,16.5 +2025-10-18,17.6 +2025-10-19,14.6 +2025-10-20,17.0 +2025-10-21,23.6 +2025-10-22,13.7 +2025-10-23,22.0 +2025-10-24,20.6 +2025-10-25,19.7 +2025-10-26,16.0 +2025-10-27,16.8 +2025-10-28,20.3 +2025-10-29,22.0 +2025-10-30,12.7 +2025-10-31,22.1 +2025-11-01,15.8 +2025-11-02,14.0 +2025-11-03,18.2 +2025-11-04,22.0 +2025-11-05,19.9 +2025-11-06,14.6 +2025-11-07,18.6 +2025-11-08,23.5 +2025-11-09,18.2 +2025-11-10,21.3 +2025-11-11,19.6 +2025-11-12,21.4 +2025-11-13,24.2 +2025-11-14,23.5 +2025-11-15,24.8 +2025-11-16,20.7 +2025-11-17,15.9 +2025-11-18,22.3 +2025-11-19,18.0 +2025-11-20,19.9 +2025-11-21,27.6 +2025-11-22,20.2 +2025-11-23,21.4 +2025-11-24,19.1 +2025-11-25,24.8 +2025-11-26,26.6 +2025-11-27,20.4 +2025-11-28,18.0 +2025-11-29,22.4 +2025-11-30,22.0 +2025-12-01,26.8 +2025-12-02,23.8 +2025-12-03,25.2 +2025-12-04,19.9 +2025-12-05,25.3 +2025-12-06,27.0 +2025-12-07,22.7 +2025-12-08,27.2 +2025-12-09,21.1 +2025-12-10,26.7 +2025-12-11,20.8 +2025-12-12,23.9 +2025-12-13,25.4 +2025-12-14,26.1 +2025-12-15,22.2 +2025-12-16,22.4 +2025-12-17,28.7 +2025-12-18,26.0 +2025-12-19,19.5 +2025-12-20,25.6 +2025-12-21,20.2 +2025-12-22,16.5 +2025-12-23,23.7 +2025-12-24,21.2 +2025-12-25,20.3 +2025-12-26,21.8 +2025-12-27,20.9 +2025-12-28,33.7 +2025-12-29,24.7 +2025-12-30,19.7 +2025-12-31,20.3 diff --git a/agents/evals/fixtures/cases/line-timeseries-seaborn-x10/case.json b/agents/evals/fixtures/cases/line-timeseries-seaborn-x10/case.json new file mode 100644 index 0000000000..9dfade4ace --- /dev/null +++ b/agents/evals/fixtures/cases/line-timeseries-seaborn-x10/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "line-timeseries", + "library": "seaborn", + "locale": "en", + "perturbation": "x10", + "bindings": [ + { + "role": "date", + "column": "Date" + }, + { + "role": "value", + "column": "PM2.5 (µg/m³)" + } + ], + "expected": "accepted", + "tags": [ + "time-series", + "x10", + "synthetic", + "scaled-values" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 1010, x10)" +} diff --git a/agents/evals/fixtures/cases/line-timeseries-seaborn-x10/data.csv b/agents/evals/fixtures/cases/line-timeseries-seaborn-x10/data.csv new file mode 100644 index 0000000000..d69098f184 --- /dev/null +++ b/agents/evals/fixtures/cases/line-timeseries-seaborn-x10/data.csv @@ -0,0 +1,366 @@ +Date,PM2.5 (µg/m³) +2025-01-01,179.0 +2025-01-02,246.1 +2025-01-03,223.2 +2025-01-04,197.2 +2025-01-05,246.4 +2025-01-06,184.6 +2025-01-07,242.9 +2025-01-08,269.7 +2025-01-09,195.4 +2025-01-10,235.3 +2025-01-11,221.1 +2025-01-12,180.4 +2025-01-13,233.7 +2025-01-14,176.8 +2025-01-15,233.5 +2025-01-16,277.1 +2025-01-17,249.7 +2025-01-18,253.6 +2025-01-19,276.5 +2025-01-20,214.0 +2025-01-21,275.9 +2025-01-22,237.2 +2025-01-23,150.9 +2025-01-24,213.1 +2025-01-25,192.2 +2025-01-26,204.9 +2025-01-27,225.5 +2025-01-28,198.6 +2025-01-29,193.8 +2025-01-30,222.6 +2025-01-31,232.6 +2025-02-01,159.6 +2025-02-02,229.7 +2025-02-03,242.6 +2025-02-04,191.1 +2025-02-05,239.6 +2025-02-06,264.2 +2025-02-07,211.6 +2025-02-08,211.5 +2025-02-09,190.3 +2025-02-10,193.0 +2025-02-11,222.4 +2025-02-12,170.5 +2025-02-13,216.9 +2025-02-14,229.4 +2025-02-15,232.5 +2025-02-16,173.6 +2025-02-17,158.6 +2025-02-18,247.5 +2025-02-19,150.8 +2025-02-20,181.6 +2025-02-21,188.4 +2025-02-22,200.1 +2025-02-23,194.6 +2025-02-24,161.2 +2025-02-25,193.6 +2025-02-26,149.2 +2025-02-27,169.4 +2025-02-28,136.7 +2025-03-01,161.8 +2025-03-02,173.7 +2025-03-03,176.3 +2025-03-04,187.9 +2025-03-05,181.3 +2025-03-06,149.2 +2025-03-07,210.2 +2025-03-08,186.1 +2025-03-09,196.5 +2025-03-10,209.8 +2025-03-11,187.5 +2025-03-12,155.9 +2025-03-13,215.2 +2025-03-14,198.3 +2025-03-15,199.9 +2025-03-16,133.0 +2025-03-17,181.2 +2025-03-18,194.2 +2025-03-19,184.7 +2025-03-20,112.3 +2025-03-21,139.4 +2025-03-22,141.1 +2025-03-23,170.6 +2025-03-24,173.6 +2025-03-25,164.8 +2025-03-26,129.1 +2025-03-27,177.8 +2025-03-28,125.2 +2025-03-29,134.4 +2025-03-30,172.4 +2025-03-31,149.0 +2025-04-01,132.3 +2025-04-02,117.2 +2025-04-03,125.5 +2025-04-04,132.0 +2025-04-05,134.3 +2025-04-06,138.8 +2025-04-07,119.8 +2025-04-08,129.4 +2025-04-09,149.4 +2025-04-10,148.6 +2025-04-11,139.6 +2025-04-12,117.2 +2025-04-13,176.2 +2025-04-14,132.7 +2025-04-15,136.6 +2025-04-16,142.8 +2025-04-17,125.7 +2025-04-18,69.5 +2025-04-19,159.4 +2025-04-20,93.1 +2025-04-21,123.7 +2025-04-22,118.5 +2025-04-23,91.6 +2025-04-24,139.6 +2025-04-25,104.9 +2025-04-26,35.3 +2025-04-27,139.0 +2025-04-28,98.0 +2025-04-29,125.8 +2025-04-30,101.2 +2025-05-01,87.1 +2025-05-02,84.3 +2025-05-03,79.1 +2025-05-04,115.6 +2025-05-05,103.8 +2025-05-06,85.3 +2025-05-07,48.1 +2025-05-08,66.0 +2025-05-09,58.0 +2025-05-10,80.6 +2025-05-11,76.7 +2025-05-12,29.9 +2025-05-13,117.9 +2025-05-14,19.5 +2025-05-15,49.1 +2025-05-16,56.2 +2025-05-17,132.2 +2025-05-18,56.4 +2025-05-19,85.2 +2025-05-20,101.8 +2025-05-21,89.2 +2025-05-22,131.5 +2025-05-23,98.2 +2025-05-24,112.2 +2025-05-25,101.7 +2025-05-26,110.4 +2025-05-27,26.9 +2025-05-28,80.0 +2025-05-29,49.5 +2025-05-30,61.1 +2025-05-31,83.2 +2025-06-01,50.0 +2025-06-02,54.5 +2025-06-03,10.0 +2025-06-04,58.3 +2025-06-05,138.9 +2025-06-06,10.0 +2025-06-07,66.6 +2025-06-08,28.5 +2025-06-09,67.7 +2025-06-10,76.6 +2025-06-11,18.3 +2025-06-12,51.6 +2025-06-13,68.6 +2025-06-14,98.0 +2025-06-15,37.1 +2025-06-16,54.6 +2025-06-17,94.7 +2025-06-18,70.2 +2025-06-19,19.5 +2025-06-20,104.6 +2025-06-21,57.7 +2025-06-22,99.1 +2025-06-23,81.2 +2025-06-24,96.8 +2025-06-25,59.9 +2025-06-26,10.0 +2025-06-27,101.3 +2025-06-28,57.2 +2025-06-29,54.3 +2025-06-30,17.4 +2025-07-01,10.0 +2025-07-02,40.9 +2025-07-03,94.6 +2025-07-04,64.7 +2025-07-05,67.4 +2025-07-06,59.6 +2025-07-07,66.4 +2025-07-08,61.8 +2025-07-09,10.0 +2025-07-10,39.3 +2025-07-11,31.6 +2025-07-12,73.1 +2025-07-13,84.7 +2025-07-14,57.3 +2025-07-15,10.0 +2025-07-16,52.8 +2025-07-17,20.4 +2025-07-18,53.1 +2025-07-19,110.5 +2025-07-20,10.0 +2025-07-21,58.9 +2025-07-22,75.3 +2025-07-23,108.3 +2025-07-24,46.7 +2025-07-25,39.4 +2025-07-26,56.4 +2025-07-27,43.1 +2025-07-28,68.7 +2025-07-29,73.1 +2025-07-30,115.3 +2025-07-31,64.3 +2025-08-01,33.0 +2025-08-02,45.4 +2025-08-03,58.8 +2025-08-04,87.6 +2025-08-05,40.9 +2025-08-06,10.0 +2025-08-07,48.8 +2025-08-08,65.4 +2025-08-09,26.8 +2025-08-10,72.6 +2025-08-11,142.5 +2025-08-12,47.6 +2025-08-13,90.2 +2025-08-14,75.6 +2025-08-15,90.9 +2025-08-16,90.8 +2025-08-17,10.0 +2025-08-18,53.7 +2025-08-19,107.8 +2025-08-20,109.7 +2025-08-21,53.8 +2025-08-22,77.6 +2025-08-23,45.9 +2025-08-24,71.1 +2025-08-25,102.7 +2025-08-26,99.7 +2025-08-27,81.4 +2025-08-28,108.3 +2025-08-29,60.8 +2025-08-30,119.9 +2025-08-31,121.0 +2025-09-01,101.8 +2025-09-02,79.5 +2025-09-03,85.9 +2025-09-04,64.1 +2025-09-05,107.1 +2025-09-06,96.4 +2025-09-07,160.7 +2025-09-08,150.6 +2025-09-09,109.3 +2025-09-10,126.2 +2025-09-11,80.5 +2025-09-12,98.0 +2025-09-13,102.9 +2025-09-14,151.9 +2025-09-15,67.2 +2025-09-16,137.7 +2025-09-17,159.1 +2025-09-18,159.2 +2025-09-19,126.9 +2025-09-20,119.1 +2025-09-21,111.9 +2025-09-22,125.6 +2025-09-23,103.0 +2025-09-24,155.7 +2025-09-25,159.4 +2025-09-26,159.9 +2025-09-27,157.2 +2025-09-28,162.9 +2025-09-29,171.0 +2025-09-30,129.9 +2025-10-01,94.1 +2025-10-02,137.8 +2025-10-03,155.3 +2025-10-04,167.5 +2025-10-05,74.5 +2025-10-06,154.8 +2025-10-07,146.0 +2025-10-08,84.2 +2025-10-09,124.1 +2025-10-10,140.0 +2025-10-11,194.7 +2025-10-12,165.4 +2025-10-13,161.8 +2025-10-14,202.7 +2025-10-15,131.1 +2025-10-16,118.3 +2025-10-17,165.4 +2025-10-18,175.5 +2025-10-19,145.6 +2025-10-20,170.0 +2025-10-21,235.5 +2025-10-22,137.0 +2025-10-23,219.8 +2025-10-24,205.5 +2025-10-25,197.4 +2025-10-26,160.3 +2025-10-27,168.2 +2025-10-28,203.4 +2025-10-29,219.9 +2025-10-30,127.5 +2025-10-31,221.2 +2025-11-01,157.8 +2025-11-02,140.4 +2025-11-03,181.8 +2025-11-04,219.6 +2025-11-05,198.9 +2025-11-06,146.4 +2025-11-07,185.6 +2025-11-08,234.7 +2025-11-09,181.6 +2025-11-10,213.1 +2025-11-11,195.7 +2025-11-12,214.2 +2025-11-13,241.9 +2025-11-14,234.8 +2025-11-15,247.8 +2025-11-16,207.2 +2025-11-17,159.5 +2025-11-18,223.2 +2025-11-19,179.9 +2025-11-20,199.2 +2025-11-21,275.8 +2025-11-22,202.0 +2025-11-23,214.3 +2025-11-24,191.3 +2025-11-25,248.5 +2025-11-26,265.6 +2025-11-27,203.9 +2025-11-28,179.6 +2025-11-29,223.6 +2025-11-30,220.3 +2025-12-01,268.2 +2025-12-02,238.3 +2025-12-03,252.4 +2025-12-04,198.7 +2025-12-05,252.7 +2025-12-06,270.2 +2025-12-07,226.7 +2025-12-08,271.8 +2025-12-09,210.9 +2025-12-10,266.6 +2025-12-11,207.8 +2025-12-12,239.0 +2025-12-13,254.4 +2025-12-14,260.7 +2025-12-15,221.9 +2025-12-16,223.7 +2025-12-17,286.5 +2025-12-18,259.7 +2025-12-19,194.6 +2025-12-20,256.0 +2025-12-21,202.3 +2025-12-22,165.2 +2025-12-23,237.0 +2025-12-24,211.8 +2025-12-25,203.4 +2025-12-26,218.4 +2025-12-27,209.3 +2025-12-28,336.9 +2025-12-29,247.4 +2025-12-30,196.6 +2025-12-31,202.6 diff --git a/agents/evals/fixtures/cases/pie-basic-matplotlib-date/case.json b/agents/evals/fixtures/cases/pie-basic-matplotlib-date/case.json new file mode 100644 index 0000000000..1f7c68f76d --- /dev/null +++ b/agents/evals/fixtures/cases/pie-basic-matplotlib-date/case.json @@ -0,0 +1,26 @@ +{ + "spec_id": "pie-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "date", + "bindings": [ + { + "role": "category", + "column": "Expense Category" + }, + { + "role": "value", + "column": "Amount (CHF)" + } + ], + "expected": "accepted", + "tags": [ + "pie", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 909, date)" +} diff --git a/agents/evals/fixtures/cases/pie-basic-matplotlib-date/data.csv b/agents/evals/fixtures/cases/pie-basic-matplotlib-date/data.csv new file mode 100644 index 0000000000..a243c78806 --- /dev/null +++ b/agents/evals/fixtures/cases/pie-basic-matplotlib-date/data.csv @@ -0,0 +1,7 @@ +Expense Category,Amount (CHF),Booking Date,Imported On +Housing,1913.25,05.05.2026,2026-05-05 +Food,692.31,20.01.2026,2026-01-23 +Transport,402.45,29.03.2026,2026-03-30 +Leisure,337.19,13.05.2026,2026-05-14 +Health,244.50,17.02.2026,2026-02-18 +Savings,648.13,20.03.2026,2026-03-24 diff --git a/agents/evals/fixtures/cases/pie-basic-matplotlib-decimal-comma/case.json b/agents/evals/fixtures/cases/pie-basic-matplotlib-decimal-comma/case.json new file mode 100644 index 0000000000..dd3c269161 --- /dev/null +++ b/agents/evals/fixtures/cases/pie-basic-matplotlib-decimal-comma/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "pie-basic", + "library": "matplotlib", + "locale": "de", + "perturbation": "decimal-comma", + "bindings": [ + { + "role": "category", + "column": "Expense Category" + }, + { + "role": "value", + "column": "Amount (CHF)" + } + ], + "expected": "accepted", + "tags": [ + "pie", + "decimal-comma", + "synthetic", + "semicolon" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 909, decimal-comma)" +} diff --git a/agents/evals/fixtures/cases/pie-basic-matplotlib-decimal-comma/data.csv b/agents/evals/fixtures/cases/pie-basic-matplotlib-decimal-comma/data.csv new file mode 100644 index 0000000000..2d4e55ae01 --- /dev/null +++ b/agents/evals/fixtures/cases/pie-basic-matplotlib-decimal-comma/data.csv @@ -0,0 +1,7 @@ +Expense Category;Amount (CHF) +Housing;1913,25 +Food;692,31 +Transport;402,45 +Leisure;337,19 +Health;244,50 +Savings;648,13 diff --git a/agents/evals/fixtures/cases/pie-basic-matplotlib-n12/case.json b/agents/evals/fixtures/cases/pie-basic-matplotlib-n12/case.json new file mode 100644 index 0000000000..62c5dd0538 --- /dev/null +++ b/agents/evals/fixtures/cases/pie-basic-matplotlib-n12/case.json @@ -0,0 +1,25 @@ +{ + "spec_id": "pie-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "n12", + "bindings": [ + { + "role": "category", + "column": "Expense Category" + }, + { + "role": "value", + "column": "Amount (CHF)" + } + ], + "expected": "accepted", + "tags": [ + "pie", + "n12", + "synthetic", + "small", + "smoke" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 909, n12)" +} diff --git a/agents/evals/fixtures/cases/pie-basic-matplotlib-n12/data.csv b/agents/evals/fixtures/cases/pie-basic-matplotlib-n12/data.csv new file mode 100644 index 0000000000..cd24cc6737 --- /dev/null +++ b/agents/evals/fixtures/cases/pie-basic-matplotlib-n12/data.csv @@ -0,0 +1,13 @@ +Expense Category,Amount (CHF) +Housing,1686.23 +Food,719.68 +Transport,443.66 +Leisure,311.31 +Health,236.78 +Savings,595.60 +Insurance,342.29 +Education,138.39 +Clothing,114.95 +Utilities,215.46 +Gifts,55.02 +Other,93.78 diff --git a/agents/evals/fixtures/cases/pie-basic-matplotlib-n5000/case.json b/agents/evals/fixtures/cases/pie-basic-matplotlib-n5000/case.json new file mode 100644 index 0000000000..5606b0140b --- /dev/null +++ b/agents/evals/fixtures/cases/pie-basic-matplotlib-n5000/case.json @@ -0,0 +1,25 @@ +{ + "spec_id": "pie-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "n5000", + "bindings": [ + { + "role": "category", + "column": "Expense Category" + }, + { + "role": "value", + "column": "Amount (CHF)" + } + ], + "expected": "accepted", + "tags": [ + "pie", + "n5000", + "synthetic", + "large", + "aggregation" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 909, n5000)" +} diff --git a/agents/evals/fixtures/cases/pie-basic-matplotlib-n5000/data.csv b/agents/evals/fixtures/cases/pie-basic-matplotlib-n5000/data.csv new file mode 100644 index 0000000000..573db3f08c --- /dev/null +++ b/agents/evals/fixtures/cases/pie-basic-matplotlib-n5000/data.csv @@ -0,0 +1,5001 @@ +Expense Category,Amount (CHF) +Transport,29.12 +Food,27.01 +Food,31.20 +Transport,6.75 +Food,17.05 +Food,39.81 +Food,3.90 +Food,5.14 +Food,43.53 +Transport,14.79 +Food,10.09 +Food,41.71 +Transport,41.78 +Housing,727.06 +Transport,22.80 +Food,37.10 +Food,37.37 +Food,21.56 +Transport,46.95 +Savings,313.75 +Leisure,40.26 +Food,74.54 +Savings,108.08 +Food,48.05 +Transport,3.17 +Leisure,25.46 +Food,34.41 +Food,1.38 +Transport,34.60 +Transport,26.44 +Transport,5.57 +Food,26.45 +Transport,38.92 +Transport,15.54 +Food,33.13 +Transport,57.14 +Food,25.91 +Food,7.31 +Leisure,19.39 +Transport,17.56 +Housing,863.42 +Food,99.41 +Leisure,50.43 +Food,9.47 +Transport,86.07 +Health,19.85 +Transport,19.83 +Leisure,51.21 +Transport,19.71 +Health,46.35 +Leisure,29.07 +Transport,42.76 +Leisure,66.38 +Transport,29.34 +Food,17.51 +Food,91.26 +Transport,5.41 +Transport,42.32 +Food,94.67 +Transport,38.19 +Food,125.98 +Food,20.50 +Leisure,19.79 +Food,46.17 +Transport,10.88 +Transport,3.39 +Transport,15.03 +Food,69.25 +Food,23.25 +Health,15.98 +Food,33.71 +Food,26.33 +Leisure,54.29 +Food,16.13 +Food,6.64 +Food,48.42 +Leisure,21.38 +Transport,16.44 +Food,33.57 +Transport,7.01 +Food,23.80 +Leisure,126.55 +Transport,63.15 +Food,24.87 +Leisure,59.51 +Food,58.30 +Food,35.38 +Health,34.36 +Leisure,65.60 +Leisure,55.45 +Leisure,142.97 +Food,32.77 +Transport,31.86 +Savings,282.88 +Transport,17.75 +Leisure,44.28 +Health,116.20 +Housing,448.42 +Food,2.75 +Food,36.40 +Transport,28.77 +Food,15.48 +Food,60.75 +Food,14.43 +Food,58.48 +Transport,9.03 +Food,69.04 +Transport,6.90 +Food,52.23 +Food,24.96 +Transport,46.84 +Food,7.51 +Food,7.63 +Transport,12.13 +Leisure,63.78 +Food,15.40 +Transport,10.14 +Food,33.35 +Food,18.90 +Food,17.09 +Housing,1680.60 +Transport,17.91 +Housing,484.79 +Leisure,93.05 +Food,59.23 +Leisure,33.31 +Leisure,99.03 +Food,105.68 +Transport,60.01 +Transport,22.04 +Transport,45.52 +Food,8.92 +Food,41.48 +Food,34.92 +Transport,14.48 +Transport,20.71 +Transport,11.43 +Food,44.98 +Food,48.04 +Transport,3.81 +Food,32.72 +Transport,14.75 +Food,17.11 +Leisure,9.66 +Food,205.39 +Transport,12.28 +Transport,13.00 +Transport,22.18 +Leisure,60.31 +Food,4.12 +Transport,5.49 +Food,58.07 +Transport,9.24 +Food,9.83 +Food,17.00 +Food,45.07 +Food,19.46 +Transport,6.05 +Food,69.55 +Transport,17.24 +Transport,5.63 +Food,51.44 +Leisure,73.20 +Savings,124.36 +Transport,8.09 +Transport,57.12 +Leisure,17.30 +Food,72.39 +Food,12.30 +Food,15.08 +Transport,23.27 +Housing,1834.60 +Leisure,58.70 +Transport,6.66 +Food,17.83 +Health,15.63 +Leisure,13.85 +Transport,29.93 +Food,39.29 +Food,48.17 +Food,32.77 +Health,91.92 +Food,24.67 +Health,66.92 +Transport,57.29 +Savings,102.02 +Transport,36.05 +Transport,30.63 +Food,7.80 +Food,15.51 +Transport,33.35 +Leisure,61.30 +Transport,14.03 +Transport,24.40 +Food,40.14 +Health,24.84 +Transport,3.60 +Food,17.71 +Leisure,22.30 +Food,29.16 +Transport,21.09 +Food,42.98 +Housing,918.98 +Transport,11.15 +Leisure,49.81 +Food,133.34 +Food,18.86 +Savings,128.71 +Health,245.63 +Leisure,13.16 +Transport,22.35 +Food,48.86 +Transport,9.31 +Health,39.50 +Transport,39.16 +Transport,4.05 +Transport,13.42 +Savings,170.32 +Transport,26.58 +Health,44.15 +Leisure,23.07 +Food,68.83 +Transport,23.46 +Transport,30.21 +Transport,37.82 +Housing,651.68 +Food,69.32 +Transport,39.29 +Health,42.64 +Leisure,57.93 +Food,18.74 +Food,43.39 +Food,43.76 +Food,70.86 +Food,34.55 +Transport,5.22 +Transport,7.87 +Food,13.55 +Savings,128.26 +Leisure,53.45 +Transport,54.67 +Transport,18.03 +Health,96.93 +Leisure,32.19 +Transport,23.95 +Transport,6.36 +Food,32.18 +Food,93.04 +Food,20.97 +Leisure,20.44 +Savings,252.84 +Leisure,125.42 +Transport,1.00 +Food,18.53 +Leisure,28.58 +Leisure,13.22 +Transport,49.70 +Transport,59.86 +Food,12.63 +Food,51.19 +Leisure,25.81 +Health,140.29 +Food,57.21 +Food,35.76 +Food,12.21 +Transport,25.78 +Food,22.43 +Food,48.51 +Health,64.34 +Food,36.70 +Food,39.63 +Leisure,24.04 +Food,40.92 +Transport,26.00 +Food,36.04 +Transport,23.27 +Food,33.85 +Transport,30.10 +Food,25.68 +Leisure,47.16 +Transport,9.04 +Food,56.32 +Food,9.56 +Food,8.91 +Food,39.92 +Food,89.74 +Transport,35.34 +Housing,1456.05 +Transport,60.28 +Leisure,49.48 +Food,37.00 +Leisure,74.09 +Leisure,29.23 +Transport,10.38 +Food,11.22 +Transport,15.65 +Transport,21.35 +Food,150.20 +Food,24.26 +Health,46.13 +Transport,6.23 +Leisure,38.44 +Transport,27.29 +Transport,70.96 +Food,62.45 +Transport,7.64 +Food,13.75 +Transport,10.57 +Housing,183.95 +Food,55.27 +Transport,21.94 +Transport,17.51 +Food,52.01 +Leisure,65.93 +Leisure,66.52 +Food,58.41 +Leisure,177.53 +Food,21.60 +Food,32.21 +Transport,37.56 +Food,21.65 +Leisure,45.18 +Leisure,5.35 +Transport,36.86 +Transport,9.44 +Transport,7.89 +Food,22.96 +Leisure,19.98 +Food,45.37 +Transport,20.92 +Food,14.63 +Food,18.48 +Health,19.23 +Food,12.21 +Transport,18.65 +Transport,27.30 +Food,56.56 +Health,14.50 +Transport,24.28 +Health,34.56 +Food,40.27 +Transport,16.41 +Food,95.65 +Food,7.04 +Food,38.32 +Leisure,1.21 +Food,32.93 +Transport,23.07 +Transport,50.98 +Transport,14.03 +Food,52.37 +Transport,54.10 +Food,5.07 +Transport,29.71 +Transport,47.72 +Leisure,18.32 +Transport,44.69 +Transport,4.39 +Transport,42.81 +Transport,13.97 +Transport,3.39 +Food,26.33 +Leisure,47.35 +Food,38.48 +Transport,48.45 +Food,43.21 +Transport,22.20 +Transport,3.38 +Health,21.38 +Health,23.77 +Transport,27.59 +Transport,3.84 +Transport,38.35 +Transport,6.86 +Food,73.01 +Food,26.80 +Food,24.15 +Transport,52.51 +Transport,26.13 +Leisure,129.57 +Food,54.72 +Food,14.11 +Transport,27.08 +Transport,30.87 +Transport,32.13 +Transport,31.27 +Transport,46.05 +Transport,7.06 +Savings,135.80 +Food,47.72 +Transport,13.65 +Food,15.82 +Leisure,54.77 +Housing,3504.09 +Housing,1372.62 +Health,73.48 +Transport,2.41 +Transport,9.93 +Food,10.25 +Transport,22.30 +Food,17.10 +Transport,14.84 +Food,29.85 +Food,28.27 +Food,107.34 +Food,41.61 +Food,42.42 +Transport,27.64 +Health,42.95 +Transport,43.90 +Leisure,50.08 +Leisure,8.90 +Food,67.70 +Food,27.69 +Transport,47.26 +Transport,8.06 +Leisure,24.91 +Transport,24.53 +Transport,35.03 +Transport,20.03 +Housing,800.10 +Food,3.70 +Transport,14.23 +Leisure,18.18 +Food,97.00 +Food,13.58 +Transport,6.53 +Transport,15.80 +Transport,42.68 +Leisure,19.32 +Transport,37.98 +Housing,1365.14 +Transport,31.64 +Food,40.10 +Transport,6.45 +Food,37.27 +Food,14.53 +Leisure,112.92 +Leisure,91.50 +Transport,21.26 +Transport,12.78 +Food,3.98 +Transport,52.65 +Leisure,70.57 +Transport,10.01 +Health,31.07 +Food,25.99 +Food,52.80 +Food,24.57 +Leisure,61.81 +Transport,8.76 +Leisure,27.14 +Transport,6.49 +Leisure,77.03 +Transport,20.59 +Transport,7.51 +Food,35.91 +Food,58.94 +Transport,27.41 +Food,94.26 +Transport,18.55 +Food,56.56 +Transport,38.76 +Food,111.30 +Transport,32.90 +Food,63.36 +Food,24.95 +Transport,24.06 +Transport,24.33 +Health,97.76 +Transport,26.29 +Food,69.79 +Food,23.92 +Housing,589.89 +Transport,13.22 +Leisure,23.49 +Food,24.32 +Food,52.78 +Transport,29.00 +Food,49.29 +Transport,5.99 +Health,35.62 +Transport,45.16 +Transport,24.54 +Food,25.82 +Leisure,28.54 +Food,57.19 +Transport,25.27 +Food,83.46 +Food,17.90 +Food,20.84 +Food,73.88 +Food,26.89 +Transport,22.35 +Housing,695.25 +Health,6.37 +Savings,218.27 +Housing,1182.49 +Health,32.55 +Transport,20.82 +Transport,14.67 +Food,35.42 +Food,36.62 +Food,43.32 +Food,12.31 +Food,6.17 +Transport,34.05 +Food,30.73 +Transport,26.40 +Food,19.82 +Transport,25.01 +Food,31.11 +Leisure,33.16 +Transport,23.41 +Food,53.75 +Transport,22.73 +Food,8.33 +Health,54.06 +Food,27.09 +Health,26.35 +Leisure,28.37 +Transport,12.32 +Transport,31.57 +Transport,20.89 +Transport,26.59 +Savings,119.65 +Leisure,50.59 +Food,40.80 +Food,42.06 +Transport,3.29 +Food,13.44 +Food,94.47 +Transport,13.23 +Leisure,9.80 +Food,26.43 +Food,56.29 +Health,45.53 +Health,36.49 +Leisure,21.59 +Food,45.32 +Transport,6.81 +Transport,31.71 +Transport,15.59 +Food,22.31 +Health,133.00 +Food,116.57 +Food,66.03 +Transport,11.30 +Food,13.78 +Leisure,24.17 +Food,86.86 +Transport,13.73 +Food,18.03 +Health,27.82 +Health,35.32 +Transport,28.31 +Leisure,30.96 +Food,66.01 +Savings,31.23 +Food,13.77 +Transport,19.96 +Transport,7.05 +Food,86.29 +Food,118.72 +Food,122.85 +Food,32.97 +Food,7.71 +Transport,34.01 +Leisure,60.82 +Transport,4.65 +Food,20.31 +Health,34.19 +Food,64.84 +Food,22.73 +Housing,575.32 +Food,12.43 +Food,59.54 +Food,15.00 +Food,36.29 +Transport,7.08 +Health,140.31 +Transport,46.06 +Food,13.03 +Health,60.23 +Food,7.00 +Transport,9.57 +Health,58.76 +Transport,33.88 +Food,19.36 +Transport,33.48 +Leisure,23.57 +Leisure,74.14 +Food,100.50 +Food,51.14 +Transport,17.39 +Food,79.23 +Leisure,20.61 +Food,50.76 +Transport,11.02 +Transport,19.87 +Food,2.89 +Leisure,95.11 +Housing,690.50 +Transport,29.39 +Transport,41.65 +Leisure,139.52 +Food,1.50 +Housing,1808.60 +Food,20.17 +Transport,5.78 +Health,63.70 +Leisure,75.70 +Food,21.74 +Food,15.65 +Transport,56.12 +Transport,19.68 +Food,36.55 +Transport,11.34 +Leisure,156.24 +Housing,318.03 +Transport,13.10 +Transport,57.15 +Food,23.38 +Food,8.44 +Food,25.41 +Food,5.43 +Food,34.37 +Food,19.21 +Food,25.35 +Housing,439.75 +Transport,59.75 +Food,50.87 +Leisure,55.56 +Leisure,28.94 +Food,79.64 +Transport,44.68 +Food,31.25 +Savings,135.50 +Food,26.03 +Food,44.67 +Food,23.28 +Transport,15.48 +Transport,18.62 +Savings,81.08 +Transport,9.77 +Health,37.05 +Food,56.82 +Leisure,56.01 +Transport,42.26 +Transport,3.96 +Transport,11.21 +Food,2.04 +Food,16.65 +Transport,29.83 +Transport,19.87 +Transport,59.32 +Transport,2.34 +Leisure,12.47 +Food,39.99 +Food,21.11 +Food,66.68 +Transport,2.35 +Housing,2556.14 +Health,67.69 +Transport,24.37 +Food,16.58 +Food,42.17 +Housing,634.54 +Food,41.51 +Transport,22.11 +Food,83.90 +Leisure,56.42 +Transport,21.93 +Transport,7.08 +Savings,60.96 +Food,36.79 +Food,75.56 +Housing,2075.70 +Housing,1222.85 +Food,14.31 +Food,14.35 +Transport,27.95 +Transport,39.61 +Food,24.39 +Food,69.06 +Leisure,97.57 +Health,81.63 +Food,10.40 +Food,21.21 +Transport,18.34 +Food,16.22 +Food,33.30 +Food,75.48 +Transport,15.00 +Food,8.65 +Leisure,17.06 +Leisure,25.45 +Health,68.25 +Transport,26.13 +Food,3.95 +Health,91.30 +Transport,74.28 +Leisure,23.08 +Leisure,41.57 +Savings,587.03 +Food,65.73 +Food,33.59 +Food,10.64 +Savings,330.00 +Leisure,13.69 +Food,52.66 +Food,47.34 +Transport,61.15 +Transport,11.91 +Housing,1065.13 +Food,63.35 +Food,16.22 +Transport,19.98 +Food,13.27 +Transport,43.23 +Food,86.96 +Food,15.67 +Transport,31.79 +Food,65.20 +Transport,18.83 +Transport,37.97 +Food,9.84 +Transport,30.70 +Leisure,19.67 +Food,86.33 +Transport,15.83 +Transport,50.95 +Leisure,35.06 +Savings,92.09 +Transport,46.46 +Food,12.13 +Savings,739.49 +Transport,68.80 +Food,33.71 +Transport,19.82 +Leisure,31.57 +Housing,1981.44 +Food,5.77 +Health,52.66 +Transport,34.93 +Food,19.23 +Food,72.63 +Food,75.04 +Transport,13.11 +Food,58.15 +Food,47.42 +Food,29.85 +Food,32.31 +Health,48.06 +Food,59.27 +Health,19.65 +Food,30.61 +Transport,10.26 +Health,16.01 +Food,48.26 +Transport,22.82 +Food,24.31 +Transport,5.05 +Food,39.37 +Transport,31.20 +Transport,18.94 +Savings,866.40 +Transport,16.28 +Food,49.13 +Transport,23.34 +Leisure,43.06 +Transport,43.69 +Food,45.05 +Food,34.92 +Food,43.94 +Food,39.90 +Food,41.66 +Food,13.98 +Transport,13.24 +Food,29.02 +Food,92.31 +Food,32.62 +Transport,19.20 +Transport,8.43 +Food,46.72 +Leisure,15.63 +Food,25.88 +Transport,25.30 +Food,16.17 +Food,14.65 +Food,31.95 +Health,27.58 +Leisure,70.35 +Food,12.55 +Food,6.31 +Transport,24.54 +Food,8.96 +Food,25.79 +Food,34.48 +Transport,15.46 +Food,93.72 +Leisure,12.18 +Transport,2.11 +Transport,6.19 +Food,51.31 +Food,10.85 +Food,31.75 +Transport,18.57 +Food,15.67 +Leisure,25.23 +Food,28.73 +Food,37.45 +Health,43.63 +Health,196.70 +Food,43.56 +Transport,5.98 +Food,18.70 +Food,9.76 +Food,28.40 +Health,66.46 +Food,24.52 +Transport,47.42 +Food,51.86 +Food,99.48 +Food,154.84 +Health,142.43 +Food,22.47 +Food,67.17 +Food,39.84 +Health,114.11 +Food,37.79 +Food,47.61 +Food,19.74 +Transport,8.94 +Food,20.59 +Housing,728.84 +Health,26.99 +Food,14.03 +Food,25.58 +Transport,26.51 +Food,32.97 +Savings,358.63 +Transport,4.18 +Food,9.53 +Transport,32.97 +Food,29.60 +Leisure,27.56 +Transport,16.54 +Food,8.93 +Health,88.24 +Food,29.39 +Leisure,44.52 +Food,13.93 +Health,252.30 +Health,41.89 +Food,60.49 +Leisure,11.17 +Food,18.14 +Savings,382.63 +Transport,30.27 +Transport,7.52 +Transport,28.14 +Transport,16.07 +Food,38.04 +Health,49.83 +Transport,12.49 +Transport,3.48 +Transport,7.26 +Food,19.72 +Transport,8.38 +Transport,20.54 +Leisure,33.90 +Transport,22.27 +Leisure,16.67 +Food,73.10 +Food,8.80 +Transport,26.01 +Transport,9.65 +Leisure,51.39 +Food,33.23 +Transport,11.91 +Transport,55.10 +Savings,699.72 +Transport,25.34 +Transport,40.39 +Food,96.01 +Leisure,50.04 +Food,54.86 +Food,56.29 +Savings,167.10 +Savings,40.89 +Leisure,60.90 +Transport,36.19 +Food,4.21 +Food,27.35 +Transport,37.78 +Transport,32.43 +Food,6.11 +Transport,5.80 +Transport,55.12 +Transport,26.19 +Transport,26.88 +Food,11.63 +Food,11.55 +Food,17.67 +Food,42.38 +Transport,64.49 +Food,20.92 +Transport,20.50 +Transport,14.49 +Health,41.99 +Transport,54.00 +Food,14.22 +Food,98.14 +Leisure,92.94 +Transport,47.71 +Leisure,12.36 +Leisure,8.95 +Transport,21.34 +Leisure,18.29 +Food,15.58 +Food,13.52 +Food,23.45 +Transport,15.22 +Leisure,21.90 +Food,4.40 +Food,18.43 +Health,31.45 +Food,14.43 +Health,46.07 +Leisure,11.58 +Savings,118.54 +Transport,34.65 +Transport,29.38 +Transport,14.48 +Food,40.71 +Health,55.18 +Transport,25.54 +Food,64.56 +Transport,28.42 +Leisure,35.96 +Food,9.26 +Food,58.64 +Transport,8.37 +Food,40.21 +Transport,15.85 +Transport,20.68 +Leisure,23.16 +Leisure,87.37 +Transport,26.86 +Leisure,63.35 +Food,8.81 +Food,17.69 +Food,31.18 +Health,201.22 +Savings,97.05 +Transport,2.81 +Food,40.77 +Transport,27.33 +Food,45.28 +Transport,8.13 +Savings,258.80 +Transport,39.08 +Health,35.09 +Food,11.94 +Savings,31.58 +Food,82.98 +Leisure,11.09 +Transport,15.98 +Leisure,39.40 +Food,50.37 +Transport,22.39 +Food,27.99 +Food,55.18 +Transport,15.60 +Transport,1.93 +Food,5.18 +Food,75.14 +Food,10.01 +Food,49.02 +Food,26.39 +Transport,5.69 +Food,35.32 +Housing,1593.22 +Savings,733.12 +Food,14.80 +Leisure,49.43 +Food,4.82 +Transport,37.28 +Food,17.04 +Food,39.64 +Leisure,89.92 +Food,40.48 +Transport,1.66 +Food,4.39 +Leisure,41.22 +Food,39.24 +Transport,13.08 +Food,37.56 +Food,66.56 +Food,28.56 +Food,40.22 +Food,20.12 +Transport,23.19 +Food,42.36 +Transport,6.93 +Transport,31.68 +Leisure,45.18 +Transport,50.59 +Food,11.99 +Housing,309.97 +Leisure,24.73 +Transport,29.29 +Leisure,68.13 +Food,26.77 +Transport,60.50 +Food,20.39 +Leisure,73.06 +Food,47.25 +Food,118.92 +Food,18.37 +Food,6.74 +Food,41.84 +Leisure,42.20 +Food,26.44 +Food,94.36 +Food,11.83 +Food,19.39 +Food,58.81 +Food,8.58 +Food,5.43 +Leisure,90.57 +Food,17.45 +Food,8.49 +Savings,468.10 +Transport,15.93 +Food,28.87 +Transport,25.94 +Food,14.49 +Transport,1.42 +Food,46.52 +Food,11.69 +Housing,2087.28 +Transport,46.04 +Food,55.38 +Transport,8.77 +Health,117.41 +Leisure,34.01 +Transport,21.07 +Food,16.57 +Savings,60.98 +Food,11.15 +Housing,2091.25 +Leisure,57.02 +Savings,261.13 +Health,33.57 +Food,56.03 +Leisure,25.85 +Food,85.21 +Transport,24.37 +Food,125.40 +Food,28.89 +Transport,21.26 +Health,12.14 +Health,35.51 +Leisure,78.43 +Food,7.14 +Food,70.92 +Leisure,103.62 +Food,46.67 +Savings,621.63 +Leisure,71.86 +Leisure,13.98 +Food,12.52 +Transport,13.96 +Transport,51.18 +Transport,13.01 +Food,79.73 +Leisure,13.21 +Leisure,4.26 +Savings,1250.90 +Leisure,57.95 +Leisure,56.82 +Food,77.21 +Transport,11.95 +Transport,41.27 +Food,40.47 +Leisure,67.19 +Housing,1045.74 +Food,6.10 +Health,107.35 +Transport,30.06 +Transport,4.07 +Food,29.29 +Transport,4.30 +Transport,21.44 +Transport,11.47 +Transport,10.54 +Transport,32.69 +Leisure,31.79 +Transport,26.79 +Food,43.32 +Transport,28.27 +Food,92.97 +Food,31.65 +Transport,30.64 +Food,69.25 +Transport,60.50 +Transport,18.47 +Transport,58.56 +Food,22.67 +Transport,13.33 +Health,167.81 +Transport,41.80 +Food,3.70 +Transport,45.04 +Housing,666.13 +Health,49.83 +Savings,76.96 +Health,8.97 +Food,22.67 +Food,14.14 +Transport,11.02 +Transport,18.66 +Transport,72.75 +Housing,848.16 +Transport,24.29 +Food,38.11 +Food,19.82 +Food,34.50 +Transport,9.17 +Transport,15.98 +Food,56.98 +Health,6.42 +Food,29.68 +Food,16.13 +Health,46.55 +Food,11.29 +Transport,13.76 +Food,27.31 +Food,41.30 +Transport,7.90 +Food,97.52 +Food,78.93 +Leisure,24.27 +Transport,36.96 +Savings,602.63 +Health,91.94 +Transport,55.39 +Transport,24.94 +Food,15.91 +Leisure,52.00 +Transport,13.32 +Food,24.14 +Transport,7.05 +Transport,19.69 +Food,8.58 +Leisure,118.74 +Transport,8.55 +Transport,32.92 +Health,119.39 +Food,35.76 +Housing,537.23 +Health,42.66 +Food,61.41 +Food,35.98 +Food,45.75 +Transport,41.04 +Transport,9.19 +Food,28.14 +Leisure,162.34 +Food,21.95 +Transport,12.93 +Food,2.43 +Food,11.37 +Transport,24.23 +Leisure,16.27 +Leisure,31.94 +Food,14.06 +Transport,16.18 +Food,37.56 +Transport,21.18 +Food,116.84 +Food,27.50 +Food,28.16 +Transport,26.14 +Transport,5.45 +Food,22.06 +Food,39.28 +Transport,17.49 +Leisure,16.72 +Transport,6.63 +Transport,37.69 +Food,50.34 +Transport,16.80 +Transport,12.81 +Leisure,86.52 +Food,83.31 +Health,16.69 +Transport,19.45 +Food,34.99 +Health,79.62 +Food,32.03 +Leisure,20.84 +Health,41.30 +Transport,13.63 +Savings,167.28 +Food,23.30 +Transport,22.14 +Health,101.97 +Food,43.15 +Transport,17.68 +Health,7.63 +Transport,9.72 +Leisure,9.19 +Food,13.70 +Savings,313.15 +Transport,3.37 +Savings,146.84 +Food,16.31 +Food,46.60 +Food,65.16 +Transport,17.15 +Transport,1.80 +Food,17.79 +Transport,35.29 +Health,86.07 +Leisure,1.88 +Food,35.71 +Food,59.49 +Transport,18.95 +Food,11.47 +Food,64.22 +Health,16.96 +Transport,10.16 +Food,70.42 +Transport,17.88 +Food,48.70 +Transport,18.02 +Food,10.30 +Transport,16.00 +Transport,48.66 +Food,42.46 +Food,20.30 +Transport,28.60 +Leisure,39.64 +Transport,12.71 +Transport,66.47 +Food,86.20 +Health,28.16 +Leisure,50.87 +Food,85.22 +Leisure,62.83 +Food,28.56 +Food,36.79 +Transport,16.78 +Transport,23.63 +Transport,21.61 +Transport,29.61 +Leisure,4.06 +Health,207.32 +Food,128.54 +Food,71.66 +Food,76.93 +Food,42.16 +Transport,5.04 +Food,32.52 +Transport,44.40 +Food,38.11 +Transport,5.08 +Transport,22.68 +Food,19.88 +Transport,16.38 +Transport,32.48 +Transport,43.81 +Housing,1141.70 +Food,46.38 +Leisure,21.34 +Leisure,96.95 +Food,120.50 +Leisure,24.17 +Leisure,41.35 +Health,98.93 +Savings,558.24 +Health,112.45 +Food,38.15 +Food,9.12 +Food,26.11 +Health,15.92 +Food,166.90 +Savings,102.57 +Food,19.31 +Transport,15.68 +Housing,743.86 +Transport,21.10 +Transport,33.25 +Leisure,12.63 +Food,95.97 +Housing,750.99 +Food,2.88 +Food,18.70 +Transport,23.85 +Food,50.09 +Food,20.33 +Food,36.57 +Food,44.52 +Savings,55.81 +Transport,9.71 +Food,18.10 +Leisure,74.48 +Food,9.44 +Leisure,20.50 +Food,88.23 +Leisure,29.76 +Food,27.24 +Transport,38.29 +Food,6.35 +Housing,560.89 +Transport,10.29 +Leisure,19.46 +Transport,55.80 +Transport,21.40 +Transport,13.83 +Food,8.82 +Transport,28.08 +Transport,18.78 +Health,44.98 +Transport,18.48 +Food,35.87 +Food,47.81 +Food,52.34 +Health,46.92 +Transport,9.78 +Food,25.85 +Food,39.07 +Food,47.65 +Leisure,80.04 +Leisure,54.21 +Food,46.74 +Housing,2235.70 +Transport,48.82 +Food,90.33 +Food,13.48 +Transport,23.56 +Transport,56.98 +Food,30.27 +Leisure,27.73 +Food,21.55 +Transport,32.38 +Food,119.52 +Food,38.53 +Health,64.90 +Housing,1311.10 +Transport,5.86 +Food,19.19 +Leisure,22.35 +Savings,293.02 +Transport,5.03 +Housing,1712.94 +Transport,4.77 +Leisure,29.21 +Transport,10.26 +Transport,26.63 +Leisure,24.57 +Transport,69.04 +Leisure,23.66 +Transport,24.92 +Food,22.83 +Transport,41.47 +Transport,24.11 +Transport,10.75 +Leisure,24.99 +Food,105.24 +Transport,37.27 +Food,28.96 +Food,97.13 +Food,19.33 +Food,31.43 +Food,8.68 +Savings,168.20 +Health,40.54 +Food,19.44 +Food,32.20 +Food,32.95 +Leisure,33.86 +Transport,24.20 +Leisure,13.59 +Leisure,47.56 +Savings,758.24 +Food,9.46 +Transport,18.26 +Food,6.88 +Leisure,123.53 +Transport,5.13 +Food,80.26 +Food,34.23 +Health,117.89 +Transport,8.93 +Transport,41.50 +Health,91.65 +Food,41.78 +Leisure,39.84 +Transport,7.04 +Transport,4.69 +Savings,27.21 +Leisure,5.02 +Transport,10.06 +Food,51.65 +Leisure,16.75 +Savings,415.51 +Transport,3.73 +Transport,14.17 +Food,23.48 +Transport,13.18 +Housing,612.95 +Transport,16.13 +Food,22.25 +Food,17.62 +Food,42.25 +Food,44.94 +Savings,378.23 +Food,42.61 +Health,270.58 +Leisure,45.93 +Transport,53.45 +Transport,18.93 +Transport,19.72 +Food,70.37 +Food,23.25 +Leisure,27.84 +Transport,24.33 +Savings,246.70 +Savings,823.52 +Transport,31.98 +Transport,14.40 +Health,20.66 +Transport,25.36 +Leisure,29.91 +Food,19.14 +Transport,4.18 +Leisure,59.33 +Housing,621.05 +Food,7.49 +Food,77.62 +Food,37.61 +Transport,35.89 +Transport,5.29 +Food,38.59 +Food,43.13 +Food,14.53 +Transport,14.79 +Transport,8.17 +Leisure,28.90 +Transport,37.32 +Transport,27.79 +Food,33.67 +Leisure,12.24 +Transport,13.63 +Transport,38.84 +Food,70.83 +Food,12.55 +Food,26.86 +Transport,18.65 +Transport,15.88 +Food,21.02 +Transport,12.74 +Food,9.88 +Leisure,92.16 +Food,50.00 +Transport,28.62 +Leisure,40.19 +Food,18.66 +Food,36.17 +Food,49.97 +Transport,24.82 +Housing,1155.26 +Transport,52.90 +Food,115.04 +Food,41.41 +Leisure,24.22 +Leisure,30.91 +Food,66.16 +Leisure,51.87 +Leisure,23.74 +Health,1.00 +Leisure,28.82 +Leisure,15.18 +Transport,9.62 +Food,33.20 +Health,120.98 +Transport,10.66 +Housing,1934.12 +Leisure,26.36 +Leisure,1.00 +Transport,15.78 +Transport,17.03 +Food,66.25 +Food,28.41 +Leisure,65.54 +Transport,12.13 +Leisure,50.17 +Savings,357.79 +Transport,17.95 +Health,63.53 +Transport,21.40 +Food,43.47 +Food,50.06 +Leisure,57.71 +Health,32.73 +Leisure,21.09 +Savings,408.71 +Transport,34.52 +Food,17.14 +Food,168.17 +Leisure,21.32 +Food,72.44 +Food,42.94 +Food,29.21 +Leisure,17.79 +Health,13.44 +Housing,1158.40 +Food,34.27 +Food,17.94 +Food,120.72 +Housing,737.97 +Transport,31.04 +Transport,14.90 +Leisure,41.70 +Transport,24.57 +Food,71.66 +Health,54.03 +Leisure,39.57 +Food,22.62 +Food,31.74 +Transport,45.28 +Transport,42.28 +Transport,39.51 +Transport,7.47 +Food,21.65 +Leisure,61.23 +Transport,7.37 +Housing,1217.82 +Transport,11.65 +Food,37.65 +Food,48.08 +Health,92.78 +Food,5.34 +Health,148.53 +Food,3.41 +Savings,155.58 +Transport,8.23 +Savings,160.27 +Transport,39.32 +Transport,62.19 +Food,8.65 +Transport,20.83 +Health,59.72 +Transport,30.88 +Housing,969.56 +Transport,5.36 +Food,29.90 +Transport,7.78 +Leisure,66.67 +Transport,59.11 +Leisure,32.64 +Transport,13.72 +Transport,19.40 +Leisure,128.02 +Leisure,14.46 +Transport,21.06 +Food,23.71 +Food,72.40 +Transport,12.47 +Leisure,30.30 +Leisure,4.20 +Food,30.03 +Transport,29.30 +Food,24.35 +Transport,7.64 +Housing,924.98 +Transport,4.69 +Leisure,36.66 +Transport,22.60 +Leisure,3.40 +Leisure,88.08 +Food,43.13 +Transport,22.38 +Transport,10.14 +Housing,1347.95 +Leisure,17.69 +Leisure,12.37 +Transport,10.19 +Transport,5.75 +Food,129.84 +Transport,34.20 +Leisure,43.63 +Transport,25.29 +Leisure,70.33 +Health,131.89 +Health,21.19 +Savings,251.64 +Housing,1392.79 +Health,26.18 +Transport,14.44 +Food,20.15 +Transport,33.23 +Transport,5.44 +Food,23.26 +Leisure,2.60 +Housing,794.42 +Food,32.61 +Food,4.21 +Housing,679.27 +Health,17.96 +Food,53.64 +Leisure,70.00 +Food,37.91 +Leisure,44.49 +Savings,159.68 +Transport,31.62 +Transport,16.45 +Transport,38.82 +Food,9.35 +Food,55.77 +Transport,86.62 +Food,71.27 +Transport,14.14 +Health,49.59 +Food,34.29 +Leisure,34.05 +Food,12.71 +Health,87.53 +Food,23.05 +Food,85.03 +Food,39.65 +Food,19.90 +Food,32.57 +Transport,38.13 +Leisure,73.03 +Transport,25.19 +Food,89.38 +Food,13.44 +Housing,1094.76 +Transport,19.99 +Leisure,17.21 +Housing,1635.09 +Food,49.35 +Food,70.60 +Transport,5.39 +Transport,8.48 +Health,29.42 +Savings,182.74 +Transport,15.41 +Food,98.32 +Transport,12.19 +Transport,13.53 +Transport,54.60 +Leisure,81.12 +Leisure,39.44 +Transport,21.24 +Transport,26.06 +Health,12.68 +Transport,12.80 +Food,18.65 +Transport,37.10 +Transport,11.05 +Leisure,43.09 +Food,21.28 +Transport,20.87 +Leisure,64.76 +Transport,68.46 +Leisure,13.15 +Food,35.28 +Leisure,37.58 +Food,81.24 +Food,34.97 +Transport,9.41 +Transport,20.94 +Food,28.74 +Food,37.18 +Transport,37.78 +Leisure,51.51 +Food,26.04 +Food,98.76 +Food,71.40 +Food,7.06 +Transport,32.70 +Food,46.87 +Savings,311.86 +Transport,19.54 +Food,2.17 +Transport,5.47 +Food,62.52 +Savings,585.19 +Savings,523.64 +Food,39.01 +Leisure,33.19 +Savings,46.40 +Transport,16.67 +Leisure,83.89 +Transport,13.49 +Food,69.23 +Transport,74.05 +Food,50.13 +Food,23.63 +Leisure,47.36 +Leisure,29.12 +Food,14.23 +Food,32.86 +Transport,12.16 +Housing,454.10 +Savings,896.21 +Transport,48.28 +Leisure,12.17 +Transport,40.60 +Food,62.61 +Food,25.90 +Transport,24.31 +Food,67.67 +Food,60.52 +Transport,15.78 +Leisure,17.14 +Food,37.50 +Food,9.67 +Leisure,65.84 +Food,44.92 +Housing,627.59 +Health,85.76 +Health,46.13 +Food,59.46 +Transport,6.70 +Housing,502.74 +Food,55.36 +Food,28.39 +Health,34.18 +Transport,11.45 +Transport,21.12 +Leisure,8.45 +Food,52.71 +Transport,39.60 +Food,20.46 +Leisure,76.87 +Food,44.79 +Transport,13.08 +Food,24.86 +Housing,1229.72 +Transport,25.51 +Food,30.83 +Leisure,16.42 +Leisure,90.58 +Leisure,56.67 +Food,46.60 +Transport,12.48 +Transport,5.23 +Housing,370.39 +Health,39.19 +Transport,36.80 +Health,10.70 +Transport,11.86 +Transport,9.80 +Leisure,88.80 +Food,66.99 +Food,30.13 +Housing,869.90 +Transport,12.48 +Food,26.06 +Leisure,79.98 +Leisure,46.75 +Housing,660.74 +Food,30.09 +Health,7.12 +Food,14.76 +Food,58.06 +Transport,41.35 +Food,25.25 +Transport,10.83 +Food,20.16 +Housing,320.41 +Transport,7.50 +Savings,176.74 +Transport,49.15 +Transport,24.10 +Transport,47.47 +Leisure,8.58 +Savings,191.31 +Transport,68.78 +Leisure,28.22 +Health,97.11 +Food,23.61 +Food,30.35 +Transport,37.87 +Leisure,50.73 +Transport,37.51 +Food,28.67 +Food,12.37 +Leisure,27.52 +Leisure,40.04 +Leisure,82.25 +Leisure,89.38 +Food,12.48 +Transport,11.21 +Transport,35.95 +Leisure,17.62 +Transport,11.60 +Food,26.13 +Transport,8.10 +Transport,11.24 +Housing,262.19 +Food,6.84 +Food,26.21 +Transport,14.46 +Housing,75.71 +Transport,22.61 +Food,11.05 +Transport,37.20 +Transport,21.80 +Transport,5.43 +Leisure,51.47 +Leisure,31.48 +Transport,11.53 +Transport,6.44 +Transport,22.55 +Food,106.11 +Transport,41.23 +Housing,1349.22 +Food,50.51 +Food,32.01 +Savings,416.66 +Health,90.33 +Savings,153.14 +Transport,46.44 +Health,7.60 +Food,80.66 +Leisure,83.25 +Leisure,15.00 +Food,121.82 +Food,28.98 +Housing,389.51 +Food,71.41 +Housing,2268.50 +Transport,28.05 +Housing,509.36 +Savings,436.52 +Housing,736.77 +Leisure,46.16 +Transport,15.94 +Leisure,74.06 +Transport,32.40 +Food,24.16 +Food,33.13 +Transport,50.48 +Food,106.52 +Leisure,36.72 +Transport,40.59 +Health,154.52 +Food,69.80 +Transport,49.11 +Transport,29.15 +Transport,20.93 +Food,4.81 +Health,87.24 +Health,112.35 +Food,64.57 +Food,119.05 +Food,53.72 +Savings,407.13 +Food,18.60 +Leisure,40.26 +Transport,45.97 +Food,41.33 +Transport,28.34 +Housing,184.43 +Health,88.57 +Food,10.61 +Health,23.12 +Food,5.70 +Food,37.66 +Leisure,58.89 +Transport,15.45 +Food,12.45 +Transport,8.33 +Transport,50.55 +Food,24.87 +Transport,7.41 +Food,134.47 +Food,62.88 +Leisure,66.76 +Food,22.50 +Transport,14.75 +Transport,5.92 +Housing,369.00 +Health,150.06 +Food,50.25 +Leisure,20.15 +Health,43.59 +Transport,51.56 +Transport,48.84 +Health,109.13 +Food,23.47 +Leisure,26.12 +Food,15.10 +Food,6.86 +Food,44.19 +Transport,4.04 +Leisure,38.15 +Transport,6.30 +Food,1.00 +Savings,98.47 +Food,8.08 +Leisure,34.07 +Food,20.95 +Transport,6.19 +Transport,5.33 +Leisure,33.05 +Transport,12.35 +Transport,51.58 +Leisure,18.12 +Food,32.47 +Food,109.11 +Transport,45.70 +Health,49.26 +Food,17.74 +Health,79.54 +Health,46.24 +Savings,361.32 +Transport,32.55 +Transport,49.08 +Savings,518.65 +Transport,39.77 +Food,75.34 +Food,16.43 +Leisure,22.09 +Food,14.96 +Leisure,24.12 +Housing,988.84 +Food,67.40 +Leisure,70.61 +Food,28.72 +Transport,7.04 +Food,43.48 +Transport,40.75 +Transport,37.34 +Transport,28.90 +Transport,19.72 +Food,54.78 +Transport,11.27 +Health,21.21 +Food,22.86 +Transport,26.77 +Leisure,53.72 +Transport,27.55 +Food,49.46 +Food,19.28 +Food,36.75 +Savings,164.31 +Food,15.15 +Transport,4.81 +Leisure,54.60 +Food,9.23 +Food,12.44 +Food,49.05 +Health,94.09 +Food,13.02 +Food,10.81 +Transport,16.36 +Transport,4.13 +Transport,16.54 +Transport,10.73 +Leisure,19.91 +Transport,9.87 +Transport,51.70 +Transport,26.31 +Food,78.89 +Health,81.98 +Housing,450.18 +Food,71.99 +Food,27.13 +Food,34.00 +Food,47.61 +Food,9.15 +Food,52.73 +Transport,17.01 +Transport,18.49 +Savings,233.88 +Health,97.36 +Transport,10.75 +Savings,58.02 +Leisure,52.49 +Food,32.04 +Food,17.97 +Transport,42.12 +Leisure,71.98 +Health,147.91 +Food,44.83 +Food,40.38 +Transport,22.84 +Transport,25.03 +Food,28.09 +Transport,21.86 +Transport,27.53 +Food,96.09 +Transport,1.00 +Leisure,10.77 +Food,29.27 +Transport,25.14 +Food,7.45 +Food,66.31 +Health,82.94 +Savings,245.32 +Health,117.16 +Food,43.79 +Leisure,33.79 +Transport,16.11 +Leisure,53.05 +Leisure,42.92 +Transport,7.53 +Transport,29.52 +Food,37.12 +Food,89.39 +Transport,5.66 +Transport,43.48 +Food,72.19 +Transport,9.33 +Health,7.48 +Health,107.50 +Transport,56.76 +Leisure,35.10 +Transport,46.40 +Transport,15.83 +Transport,18.94 +Transport,4.91 +Transport,28.84 +Leisure,60.06 +Food,1.95 +Leisure,10.67 +Food,62.01 +Food,17.65 +Food,70.28 +Leisure,35.25 +Leisure,44.54 +Transport,53.38 +Transport,9.79 +Transport,37.81 +Health,146.72 +Food,35.32 +Transport,49.21 +Transport,21.66 +Food,107.79 +Transport,4.67 +Food,28.47 +Leisure,8.84 +Food,16.97 +Food,37.51 +Food,99.26 +Health,26.59 +Health,45.41 +Housing,509.37 +Food,38.98 +Transport,22.40 +Food,20.50 +Food,37.60 +Food,27.25 +Housing,618.23 +Transport,7.72 +Food,49.27 +Food,20.86 +Food,3.15 +Transport,26.22 +Transport,16.93 +Food,14.07 +Food,14.66 +Housing,403.82 +Leisure,144.84 +Housing,222.30 +Transport,5.18 +Transport,16.92 +Food,59.30 +Transport,3.15 +Transport,30.07 +Food,103.69 +Transport,17.16 +Transport,23.06 +Food,23.96 +Leisure,47.06 +Transport,14.64 +Food,104.49 +Leisure,89.73 +Housing,2026.10 +Transport,19.41 +Transport,15.98 +Transport,22.12 +Food,33.58 +Food,36.69 +Transport,40.28 +Food,189.69 +Food,7.66 +Food,37.97 +Food,21.85 +Food,20.78 +Food,43.79 +Transport,45.86 +Housing,60.53 +Transport,12.57 +Leisure,11.31 +Transport,36.80 +Health,38.80 +Leisure,37.02 +Transport,25.09 +Leisure,55.63 +Leisure,73.52 +Transport,22.93 +Food,15.39 +Food,18.79 +Food,44.72 +Transport,17.49 +Food,60.29 +Leisure,7.61 +Food,18.90 +Transport,9.48 +Savings,164.92 +Food,50.37 +Housing,319.86 +Transport,25.45 +Transport,14.56 +Health,115.30 +Transport,12.84 +Transport,26.49 +Transport,9.82 +Food,23.85 +Leisure,47.75 +Leisure,55.72 +Health,17.10 +Health,40.70 +Transport,16.12 +Health,61.15 +Food,98.63 +Food,40.86 +Health,41.80 +Leisure,49.98 +Transport,19.13 +Health,51.14 +Food,19.41 +Food,9.39 +Food,43.97 +Health,44.73 +Savings,284.24 +Food,2.79 +Food,33.58 +Health,52.29 +Transport,60.11 +Transport,11.71 +Health,29.99 +Leisure,11.21 +Food,34.07 +Food,61.11 +Savings,267.21 +Leisure,34.48 +Food,64.92 +Health,36.66 +Leisure,61.80 +Transport,14.61 +Leisure,94.60 +Transport,19.63 +Food,44.12 +Food,16.29 +Food,24.60 +Health,5.92 +Health,63.03 +Transport,10.44 +Food,147.49 +Transport,51.42 +Transport,13.97 +Food,29.45 +Food,16.34 +Transport,4.59 +Health,49.51 +Transport,2.27 +Transport,29.23 +Food,43.60 +Transport,30.51 +Transport,21.97 +Food,35.60 +Food,25.50 +Food,47.83 +Housing,357.51 +Transport,25.21 +Housing,1863.67 +Food,46.93 +Food,24.10 +Leisure,30.06 +Transport,43.21 +Food,20.22 +Transport,24.60 +Food,7.60 +Transport,19.25 +Transport,6.02 +Transport,5.60 +Transport,15.06 +Health,251.63 +Leisure,59.91 +Food,31.10 +Transport,18.53 +Transport,52.68 +Food,13.35 +Food,23.20 +Leisure,25.56 +Transport,6.19 +Savings,161.76 +Transport,21.99 +Health,52.32 +Food,6.00 +Transport,12.82 +Transport,79.18 +Leisure,42.22 +Savings,436.59 +Transport,18.96 +Food,64.78 +Transport,14.41 +Food,33.63 +Leisure,82.34 +Health,109.85 +Food,39.36 +Transport,80.47 +Leisure,26.36 +Food,22.04 +Transport,30.82 +Transport,7.89 +Food,76.01 +Food,54.72 +Transport,30.20 +Transport,41.22 +Transport,52.18 +Leisure,48.56 +Food,98.97 +Transport,25.39 +Leisure,41.67 +Food,26.17 +Transport,46.07 +Transport,24.23 +Transport,31.21 +Transport,8.37 +Food,45.24 +Transport,20.66 +Food,24.79 +Transport,10.89 +Food,18.35 +Food,70.00 +Savings,218.26 +Transport,19.55 +Leisure,18.94 +Transport,21.46 +Savings,113.35 +Leisure,9.38 +Food,11.74 +Transport,21.19 +Food,25.79 +Food,61.07 +Food,43.96 +Housing,985.54 +Savings,59.69 +Transport,32.99 +Leisure,34.98 +Food,23.25 +Leisure,10.64 +Food,79.15 +Transport,24.34 +Food,8.92 +Transport,6.86 +Food,18.03 +Food,72.10 +Food,12.95 +Food,77.41 +Transport,27.93 +Transport,17.28 +Health,61.11 +Savings,369.51 +Health,107.70 +Transport,24.33 +Food,20.16 +Savings,247.98 +Food,34.99 +Food,13.52 +Transport,25.65 +Food,32.06 +Housing,320.76 +Transport,7.88 +Leisure,16.17 +Health,143.28 +Food,58.32 +Housing,327.14 +Food,18.05 +Health,52.86 +Food,27.49 +Transport,24.82 +Transport,48.81 +Transport,64.13 +Transport,17.73 +Transport,5.10 +Transport,13.38 +Food,17.60 +Leisure,26.92 +Savings,220.49 +Food,37.33 +Health,129.38 +Food,25.58 +Health,94.46 +Transport,10.72 +Transport,16.89 +Leisure,16.84 +Leisure,77.55 +Leisure,34.02 +Leisure,4.48 +Leisure,67.71 +Leisure,56.53 +Food,61.31 +Leisure,54.95 +Food,9.72 +Savings,186.29 +Transport,21.31 +Leisure,28.49 +Leisure,82.67 +Leisure,26.15 +Food,113.79 +Food,36.93 +Transport,36.62 +Food,77.12 +Savings,149.90 +Transport,6.53 +Transport,5.30 +Transport,6.11 +Savings,268.24 +Food,12.48 +Transport,25.94 +Leisure,1.00 +Health,104.23 +Leisure,58.42 +Savings,347.52 +Transport,57.08 +Transport,111.71 +Savings,305.83 +Transport,19.34 +Health,38.49 +Transport,34.09 +Food,99.53 +Transport,44.62 +Transport,19.32 +Transport,19.74 +Food,8.01 +Food,5.97 +Transport,19.05 +Food,47.92 +Transport,30.33 +Leisure,52.51 +Food,35.40 +Health,65.09 +Leisure,61.24 +Transport,39.83 +Transport,4.20 +Food,49.11 +Transport,44.07 +Food,42.87 +Food,7.66 +Transport,16.55 +Food,61.82 +Food,28.45 +Food,46.16 +Housing,1916.07 +Health,36.47 +Transport,16.92 +Food,22.91 +Housing,390.67 +Transport,14.35 +Transport,14.98 +Food,17.05 +Transport,73.86 +Leisure,50.75 +Transport,12.09 +Food,41.30 +Transport,14.63 +Food,19.82 +Health,56.73 +Transport,8.77 +Transport,11.58 +Food,79.42 +Food,39.60 +Food,90.06 +Food,13.29 +Transport,85.06 +Housing,644.77 +Savings,201.07 +Leisure,56.26 +Transport,8.05 +Food,31.23 +Transport,33.96 +Transport,6.87 +Health,51.15 +Health,28.55 +Transport,20.24 +Leisure,31.27 +Food,46.67 +Leisure,63.23 +Food,123.54 +Transport,5.68 +Leisure,14.69 +Food,99.05 +Leisure,22.92 +Food,5.58 +Food,29.66 +Food,35.94 +Transport,9.48 +Transport,3.04 +Leisure,13.96 +Food,63.82 +Transport,24.67 +Leisure,7.66 +Transport,41.16 +Food,7.24 +Savings,430.69 +Transport,46.82 +Food,36.71 +Transport,26.38 +Housing,523.47 +Transport,20.05 +Leisure,10.35 +Transport,8.83 +Food,34.25 +Transport,27.76 +Transport,15.90 +Food,26.95 +Food,31.91 +Leisure,16.20 +Food,45.83 +Transport,11.77 +Transport,64.95 +Transport,20.59 +Food,51.81 +Transport,6.13 +Transport,32.05 +Health,28.92 +Housing,1234.93 +Transport,36.82 +Transport,24.79 +Food,64.32 +Food,59.60 +Food,27.36 +Food,6.63 +Health,150.61 +Food,52.71 +Savings,132.73 +Food,62.73 +Food,25.17 +Transport,8.14 +Transport,16.18 +Food,30.03 +Leisure,28.51 +Food,46.67 +Transport,55.80 +Food,13.77 +Food,75.92 +Leisure,53.48 +Leisure,33.67 +Food,16.53 +Transport,19.68 +Food,12.29 +Food,62.18 +Food,84.11 +Leisure,40.72 +Leisure,85.70 +Food,25.78 +Food,44.73 +Leisure,19.26 +Leisure,72.79 +Savings,42.30 +Food,66.26 +Food,69.76 +Leisure,126.33 +Health,50.17 +Transport,23.98 +Food,52.40 +Transport,33.95 +Transport,21.37 +Food,53.51 +Transport,16.28 +Food,90.73 +Food,14.84 +Leisure,46.90 +Transport,10.13 +Transport,48.01 +Food,53.54 +Food,30.90 +Food,10.96 +Savings,107.89 +Transport,9.02 +Transport,40.13 +Transport,14.95 +Leisure,114.85 +Transport,28.36 +Transport,62.36 +Food,89.22 +Transport,6.26 +Transport,35.38 +Transport,15.46 +Food,98.59 +Food,32.59 +Health,14.69 +Leisure,68.99 +Transport,30.24 +Food,20.75 +Health,15.96 +Housing,841.99 +Transport,37.44 +Leisure,19.62 +Food,24.84 +Health,45.27 +Transport,32.33 +Food,62.88 +Housing,936.60 +Transport,36.03 +Food,44.74 +Savings,643.44 +Food,34.18 +Transport,24.22 +Transport,4.75 +Food,40.80 +Leisure,85.79 +Food,15.00 +Food,23.35 +Housing,992.24 +Food,68.02 +Transport,6.77 +Food,83.40 +Leisure,34.15 +Food,22.25 +Health,96.38 +Transport,9.50 +Transport,17.10 +Transport,13.31 +Transport,21.29 +Food,16.21 +Food,23.32 +Food,19.10 +Food,28.72 +Food,51.55 +Leisure,5.88 +Food,60.90 +Transport,25.28 +Leisure,18.60 +Transport,4.48 +Transport,38.37 +Food,15.86 +Food,21.84 +Savings,176.96 +Health,114.17 +Health,24.02 +Food,38.80 +Transport,25.39 +Food,15.44 +Food,22.01 +Food,40.74 +Transport,36.62 +Food,29.02 +Transport,27.06 +Leisure,26.22 +Food,20.40 +Leisure,63.82 +Savings,60.75 +Food,21.96 +Food,57.39 +Transport,14.44 +Transport,21.76 +Food,17.81 +Food,86.82 +Transport,4.01 +Food,74.59 +Transport,7.69 +Food,14.86 +Food,54.16 +Health,127.37 +Leisure,20.09 +Transport,1.86 +Health,97.95 +Transport,42.17 +Transport,10.93 +Transport,23.43 +Food,36.98 +Transport,14.14 +Food,29.59 +Transport,7.65 +Food,25.42 +Food,18.45 +Savings,408.52 +Transport,15.10 +Food,26.20 +Leisure,22.70 +Food,35.50 +Transport,1.74 +Food,6.05 +Food,26.75 +Transport,21.08 +Leisure,4.83 +Transport,18.61 +Transport,26.36 +Transport,22.79 +Transport,5.22 +Transport,1.18 +Transport,27.35 +Transport,27.69 +Health,9.77 +Food,18.50 +Housing,67.80 +Transport,27.59 +Food,94.16 +Transport,46.52 +Leisure,47.51 +Food,11.24 +Food,112.32 +Transport,25.73 +Food,3.93 +Health,26.97 +Food,28.54 +Food,52.12 +Food,79.64 +Transport,20.50 +Leisure,45.51 +Leisure,26.38 +Food,23.04 +Food,11.00 +Food,13.06 +Leisure,17.46 +Food,16.08 +Leisure,39.27 +Transport,14.75 +Transport,26.11 +Transport,43.64 +Food,9.67 +Food,25.31 +Food,13.75 +Food,47.14 +Leisure,139.72 +Health,21.27 +Transport,18.75 +Food,8.32 +Transport,6.41 +Transport,46.05 +Savings,563.46 +Transport,12.65 +Food,11.96 +Health,31.61 +Food,12.86 +Health,64.03 +Health,165.74 +Transport,7.43 +Food,49.98 +Housing,897.59 +Savings,152.64 +Savings,763.34 +Food,28.52 +Transport,5.48 +Savings,73.57 +Food,39.46 +Food,35.77 +Food,99.73 +Food,44.28 +Transport,52.14 +Transport,23.62 +Food,105.81 +Food,60.90 +Food,21.22 +Transport,14.28 +Food,33.09 +Transport,32.74 +Food,78.52 +Transport,45.02 +Transport,19.87 +Health,12.74 +Leisure,23.10 +Food,17.49 +Transport,14.14 +Savings,117.66 +Transport,44.36 +Leisure,101.34 +Savings,222.89 +Food,70.34 +Transport,22.93 +Transport,10.56 +Transport,8.08 +Leisure,39.30 +Transport,5.62 +Food,4.67 +Transport,14.85 +Savings,502.39 +Transport,20.85 +Food,9.89 +Food,63.39 +Transport,8.80 +Transport,21.39 +Transport,14.59 +Food,16.72 +Leisure,20.89 +Transport,9.61 +Food,25.38 +Health,67.63 +Food,109.64 +Transport,16.56 +Transport,11.49 +Health,15.72 +Food,32.21 +Food,24.59 +Leisure,48.65 +Leisure,66.39 +Food,49.51 +Transport,26.96 +Food,88.10 +Transport,21.21 +Food,19.99 +Health,48.46 +Food,6.98 +Food,87.78 +Transport,26.93 +Transport,23.41 +Food,39.53 +Transport,20.14 +Transport,28.11 +Food,22.11 +Food,42.11 +Transport,49.33 +Leisure,22.77 +Leisure,64.42 +Leisure,86.98 +Food,7.74 +Food,11.64 +Food,81.52 +Transport,2.50 +Leisure,20.23 +Transport,45.68 +Leisure,20.97 +Food,29.48 +Food,29.33 +Leisure,42.42 +Food,4.87 +Health,20.14 +Transport,27.50 +Transport,13.82 +Food,2.24 +Food,24.76 +Food,16.66 +Transport,7.36 +Transport,18.28 +Transport,34.16 +Food,19.92 +Transport,9.77 +Leisure,102.44 +Food,34.49 +Food,26.16 +Leisure,29.19 +Food,8.83 +Leisure,14.66 +Transport,14.00 +Transport,11.41 +Food,42.75 +Leisure,55.71 +Food,78.65 +Transport,31.17 +Transport,17.59 +Food,80.89 +Health,12.82 +Transport,17.90 +Leisure,73.37 +Food,57.92 +Leisure,31.91 +Transport,37.42 +Housing,315.59 +Leisure,14.86 +Food,23.96 +Food,69.68 +Transport,26.37 +Food,36.90 +Food,43.07 +Food,130.93 +Health,24.88 +Food,12.03 +Leisure,87.38 +Health,52.89 +Leisure,122.68 +Transport,17.93 +Food,16.66 +Leisure,28.35 +Transport,4.59 +Leisure,13.13 +Transport,39.25 +Transport,67.58 +Food,13.99 +Leisure,77.76 +Leisure,18.10 +Leisure,10.77 +Transport,18.53 +Health,20.00 +Transport,8.40 +Leisure,67.03 +Transport,8.89 +Health,38.53 +Food,8.90 +Housing,591.63 +Transport,38.41 +Transport,9.60 +Leisure,46.11 +Food,69.80 +Leisure,15.47 +Food,21.13 +Housing,1684.12 +Transport,84.17 +Food,49.71 +Transport,64.16 +Transport,31.53 +Leisure,7.78 +Food,59.94 +Food,80.50 +Food,75.35 +Food,5.15 +Leisure,62.30 +Food,12.81 +Food,54.42 +Transport,4.72 +Transport,19.79 +Leisure,12.96 +Transport,16.67 +Food,27.02 +Transport,24.71 +Leisure,97.60 +Food,37.64 +Food,54.24 +Food,70.22 +Transport,36.89 +Leisure,68.89 +Food,19.75 +Transport,27.06 +Health,32.88 +Transport,12.77 +Transport,4.50 +Leisure,26.57 +Transport,33.35 +Transport,10.38 +Transport,40.91 +Transport,2.88 +Transport,7.03 +Food,6.12 +Transport,11.71 +Leisure,88.79 +Transport,20.84 +Transport,10.73 +Food,47.03 +Transport,37.49 +Transport,1.93 +Leisure,31.26 +Food,79.04 +Food,31.63 +Food,31.34 +Transport,18.86 +Transport,103.13 +Transport,34.80 +Leisure,118.66 +Food,13.06 +Food,10.95 +Transport,8.15 +Transport,16.34 +Food,14.96 +Leisure,12.21 +Transport,18.54 +Food,27.34 +Food,12.34 +Food,16.89 +Transport,27.93 +Food,2.83 +Food,12.70 +Food,14.60 +Leisure,12.08 +Transport,4.34 +Savings,110.04 +Food,21.90 +Food,20.29 +Transport,27.21 +Food,53.00 +Food,14.03 +Health,9.05 +Transport,14.53 +Transport,39.98 +Housing,2240.41 +Leisure,56.73 +Transport,18.89 +Food,12.22 +Savings,94.83 +Transport,46.78 +Transport,26.25 +Health,24.23 +Transport,8.04 +Food,18.48 +Transport,7.40 +Transport,11.18 +Transport,43.63 +Transport,28.71 +Leisure,103.22 +Leisure,22.61 +Food,4.85 +Transport,17.98 +Food,21.34 +Transport,13.36 +Leisure,23.57 +Housing,878.80 +Transport,51.36 +Transport,42.33 +Food,11.55 +Housing,901.87 +Food,40.25 +Food,6.51 +Food,14.68 +Transport,13.38 +Leisure,14.95 +Food,62.50 +Food,24.34 +Transport,6.92 +Transport,39.00 +Leisure,41.99 +Food,149.79 +Food,57.67 +Transport,44.28 +Savings,292.60 +Food,15.11 +Leisure,59.20 +Food,99.00 +Food,2.61 +Food,29.08 +Housing,957.63 +Transport,43.21 +Food,60.38 +Leisure,92.17 +Transport,30.87 +Transport,18.48 +Health,40.60 +Food,36.15 +Food,20.79 +Food,20.49 +Transport,4.94 +Housing,65.99 +Leisure,2.65 +Food,68.32 +Food,25.72 +Leisure,54.52 +Food,20.90 +Food,33.00 +Housing,557.46 +Transport,83.42 +Food,1.87 +Food,66.16 +Transport,7.09 +Food,33.13 +Transport,6.06 +Transport,18.60 +Health,53.51 +Health,64.93 +Food,8.11 +Food,30.50 +Housing,740.55 +Food,23.73 +Leisure,47.34 +Transport,76.94 +Food,7.47 +Leisure,33.14 +Food,111.70 +Food,55.53 +Transport,28.94 +Leisure,43.76 +Leisure,2.53 +Transport,41.90 +Transport,25.75 +Leisure,84.99 +Leisure,49.93 +Leisure,16.37 +Food,79.48 +Health,64.87 +Food,26.88 +Transport,14.09 +Leisure,63.35 +Food,24.36 +Food,49.89 +Food,27.78 +Transport,16.41 +Food,85.25 +Transport,17.16 +Transport,1.71 +Leisure,11.33 +Food,48.52 +Food,36.72 +Savings,776.70 +Transport,42.95 +Leisure,33.77 +Health,177.33 +Food,35.63 +Transport,8.79 +Food,15.13 +Food,36.10 +Transport,19.22 +Transport,16.93 +Food,27.96 +Transport,31.94 +Health,69.33 +Transport,6.16 +Food,14.22 +Transport,24.91 +Housing,1517.71 +Leisure,61.91 +Leisure,10.88 +Leisure,9.48 +Food,36.23 +Food,29.20 +Health,105.74 +Transport,14.44 +Health,56.50 +Food,33.20 +Food,9.37 +Food,59.55 +Transport,15.14 +Transport,13.78 +Food,51.46 +Transport,28.51 +Food,24.16 +Transport,42.29 +Food,20.24 +Transport,13.22 +Transport,14.21 +Health,85.58 +Housing,222.64 +Food,38.04 +Food,26.91 +Transport,13.14 +Transport,15.30 +Housing,819.84 +Transport,6.25 +Leisure,32.48 +Transport,31.49 +Food,26.58 +Leisure,111.93 +Transport,7.20 +Leisure,80.99 +Transport,9.58 +Food,20.02 +Leisure,25.19 +Housing,742.76 +Food,11.70 +Transport,13.44 +Food,26.14 +Transport,16.09 +Transport,10.40 +Transport,13.93 +Health,129.99 +Transport,11.84 +Leisure,45.36 +Transport,45.39 +Transport,55.72 +Transport,63.14 +Transport,19.90 +Food,97.01 +Transport,38.27 +Transport,20.44 +Transport,19.82 +Food,16.49 +Transport,12.41 +Transport,20.77 +Health,104.76 +Food,33.15 +Transport,8.47 +Transport,21.11 +Food,29.72 +Food,96.86 +Food,53.42 +Health,153.28 +Savings,676.37 +Transport,21.86 +Transport,23.84 +Food,35.65 +Transport,24.39 +Health,19.42 +Food,16.12 +Housing,659.22 +Leisure,5.88 +Transport,26.39 +Food,55.67 +Food,44.53 +Food,167.08 +Transport,38.60 +Transport,34.07 +Transport,1.40 +Transport,93.53 +Food,13.99 +Food,31.03 +Food,14.50 +Transport,57.52 +Transport,56.39 +Food,22.78 +Leisure,33.93 +Food,9.93 +Food,1.51 +Housing,986.81 +Food,39.55 +Leisure,16.03 +Leisure,60.85 +Transport,17.25 +Transport,17.07 +Transport,52.68 +Leisure,24.95 +Transport,19.80 +Transport,24.80 +Leisure,49.03 +Leisure,22.57 +Food,36.55 +Leisure,84.01 +Transport,1.50 +Health,12.51 +Leisure,56.59 +Transport,20.20 +Savings,492.85 +Food,44.62 +Transport,10.15 +Transport,6.13 +Leisure,47.39 +Food,26.73 +Transport,86.12 +Transport,3.13 +Transport,28.88 +Transport,10.30 +Leisure,39.53 +Savings,229.54 +Food,23.40 +Transport,27.00 +Transport,15.99 +Leisure,14.98 +Food,14.17 +Transport,25.96 +Savings,569.13 +Transport,26.08 +Food,76.06 +Housing,1388.51 +Food,23.39 +Food,41.54 +Leisure,21.60 +Food,36.68 +Food,8.96 +Transport,28.19 +Food,22.51 +Food,35.71 +Leisure,19.49 +Food,60.44 +Leisure,29.36 +Leisure,41.76 +Savings,284.57 +Leisure,32.63 +Food,61.40 +Transport,11.29 +Transport,32.33 +Food,20.46 +Food,109.18 +Health,109.24 +Transport,23.77 +Transport,25.88 +Leisure,38.04 +Transport,6.82 +Food,72.46 +Food,41.23 +Health,37.66 +Leisure,62.00 +Food,77.21 +Health,30.18 +Housing,2577.01 +Transport,1.52 +Food,28.93 +Food,76.19 +Transport,21.51 +Transport,46.05 +Transport,31.51 +Savings,165.18 +Food,131.17 +Leisure,43.92 +Food,6.53 +Health,45.71 +Transport,2.61 +Transport,6.56 +Food,22.69 +Food,9.56 +Food,83.90 +Food,43.83 +Food,46.23 +Transport,18.78 +Food,48.89 +Food,87.90 +Food,86.86 +Food,31.34 +Housing,2787.64 +Savings,198.98 +Transport,18.01 +Food,145.83 +Leisure,104.60 +Transport,6.10 +Transport,11.49 +Transport,38.99 +Food,29.46 +Transport,37.34 +Health,42.18 +Leisure,15.86 +Transport,21.50 +Transport,13.23 +Transport,19.60 +Housing,1166.25 +Food,2.60 +Transport,34.99 +Transport,4.68 +Transport,20.46 +Food,93.72 +Leisure,9.22 +Food,55.29 +Leisure,12.18 +Food,14.29 +Transport,9.03 +Housing,443.11 +Leisure,15.97 +Health,180.55 +Transport,4.70 +Food,51.58 +Food,23.04 +Health,6.98 +Leisure,138.00 +Food,4.09 +Health,63.15 +Food,26.40 +Food,75.14 +Food,36.29 +Leisure,47.20 +Food,19.00 +Food,19.43 +Food,83.73 +Food,17.23 +Transport,4.03 +Leisure,70.46 +Food,32.67 +Food,9.96 +Food,13.15 +Food,15.27 +Leisure,40.23 +Transport,21.08 +Food,22.91 +Savings,89.12 +Food,74.55 +Leisure,24.55 +Transport,16.14 +Transport,34.45 +Leisure,45.49 +Food,25.64 +Transport,14.40 +Leisure,50.72 +Food,8.98 +Food,11.15 +Food,40.64 +Savings,449.22 +Food,71.47 +Transport,33.01 +Housing,671.78 +Transport,22.14 +Food,49.90 +Food,3.47 +Transport,76.35 +Food,27.27 +Health,93.06 +Food,28.90 +Transport,20.22 +Housing,610.79 +Transport,8.37 +Savings,323.12 +Food,9.32 +Health,68.25 +Transport,14.72 +Transport,17.36 +Leisure,8.48 +Leisure,28.58 +Leisure,93.09 +Food,10.07 +Transport,29.32 +Transport,15.01 +Savings,483.99 +Leisure,7.93 +Transport,20.80 +Food,47.69 +Food,44.42 +Transport,29.10 +Health,115.84 +Food,30.74 +Food,87.32 +Transport,24.20 +Food,39.17 +Food,17.11 +Transport,18.39 +Transport,32.39 +Food,60.31 +Leisure,24.43 +Leisure,53.32 +Food,101.07 +Food,11.78 +Leisure,20.42 +Food,47.83 +Transport,13.55 +Transport,12.72 +Transport,15.50 +Food,29.88 +Transport,4.10 +Food,114.28 +Leisure,44.38 +Food,81.62 +Leisure,42.74 +Leisure,41.77 +Transport,33.05 +Transport,6.78 +Transport,27.95 +Food,9.88 +Transport,40.32 +Transport,4.99 +Food,18.38 +Transport,30.36 +Leisure,69.91 +Food,25.56 +Food,8.53 +Transport,34.80 +Leisure,37.18 +Health,66.96 +Transport,33.60 +Transport,11.37 +Housing,1688.35 +Savings,139.09 +Transport,31.03 +Food,47.18 +Food,34.43 +Health,66.67 +Health,34.74 +Food,39.77 +Food,93.47 +Food,18.10 +Food,111.47 +Transport,18.40 +Transport,17.08 +Food,69.70 +Food,78.51 +Food,27.75 +Savings,379.86 +Transport,47.21 +Food,33.42 +Food,22.10 +Food,47.73 +Leisure,38.35 +Food,25.71 +Food,33.20 +Food,80.62 +Transport,8.90 +Food,22.95 +Transport,40.43 +Transport,1.32 +Transport,13.68 +Food,21.15 +Food,131.06 +Transport,19.89 +Food,50.30 +Transport,5.35 +Food,25.97 +Leisure,14.44 +Transport,18.87 +Food,17.14 +Health,93.88 +Transport,23.99 +Food,30.48 +Food,23.17 +Food,8.42 +Health,44.79 +Health,105.06 +Food,33.43 +Food,69.76 +Transport,61.94 +Food,45.51 +Food,23.84 +Food,46.17 +Leisure,31.34 +Food,17.54 +Health,62.78 +Food,6.59 +Food,15.31 +Food,26.72 +Food,1.52 +Transport,8.78 +Leisure,15.04 +Food,67.44 +Transport,16.00 +Transport,30.21 +Leisure,197.96 +Health,72.94 +Food,16.13 +Housing,555.51 +Leisure,100.05 +Food,42.88 +Transport,18.39 +Health,129.82 +Leisure,29.92 +Transport,27.31 +Health,51.67 +Food,38.60 +Transport,34.53 +Food,21.95 +Transport,26.04 +Health,30.79 +Transport,10.61 +Transport,9.16 +Food,12.37 +Leisure,53.78 +Health,53.57 +Transport,11.73 +Food,92.72 +Transport,8.51 +Transport,15.48 +Leisure,54.09 +Food,142.13 +Food,43.46 +Transport,19.09 +Transport,27.74 +Transport,24.72 +Transport,2.59 +Transport,13.37 +Food,25.37 +Leisure,29.05 +Transport,26.62 +Transport,9.21 +Transport,32.18 +Food,33.27 +Housing,340.35 +Health,109.78 +Transport,18.02 +Housing,1685.99 +Food,138.23 +Food,26.34 +Transport,24.41 +Food,10.35 +Food,32.65 +Transport,46.84 +Transport,12.44 +Food,14.86 +Transport,34.23 +Leisure,29.78 +Housing,39.42 +Transport,38.67 +Food,31.90 +Savings,304.49 +Food,48.80 +Food,7.72 +Leisure,20.98 +Housing,843.32 +Transport,49.65 +Health,131.51 +Food,16.53 +Food,20.80 +Food,9.20 +Transport,4.50 +Food,60.77 +Leisure,35.07 +Transport,32.32 +Food,44.14 +Health,30.14 +Health,101.51 +Transport,35.06 +Transport,53.35 +Food,4.17 +Transport,22.69 +Transport,24.19 +Transport,6.04 +Leisure,71.85 +Leisure,25.26 +Transport,43.73 +Transport,54.04 +Leisure,50.74 +Food,22.52 +Food,32.79 +Food,25.17 +Food,22.08 +Transport,27.74 +Transport,6.84 +Food,32.64 +Leisure,10.17 +Transport,20.81 +Food,30.66 +Food,45.08 +Food,50.75 +Transport,14.02 +Leisure,86.38 +Transport,25.53 +Food,38.40 +Food,65.68 +Savings,394.67 +Health,99.07 +Transport,2.13 +Transport,8.29 +Health,57.87 +Transport,22.02 +Food,22.68 +Housing,364.08 +Food,55.26 +Transport,10.57 +Health,22.06 +Leisure,14.61 +Food,4.29 +Leisure,5.05 +Food,92.35 +Food,73.67 +Transport,21.71 +Health,31.33 +Savings,317.13 +Food,29.69 +Food,35.69 +Food,38.64 +Food,21.62 +Leisure,26.76 +Food,13.35 +Leisure,23.06 +Food,48.35 +Leisure,38.42 +Transport,12.95 +Food,31.18 +Transport,38.61 +Transport,22.49 +Transport,9.32 +Food,56.01 +Savings,1314.59 +Transport,34.89 +Transport,20.69 +Food,21.27 +Health,92.83 +Transport,10.43 +Transport,11.50 +Food,12.39 +Health,48.52 +Transport,1.00 +Housing,1226.99 +Food,4.02 +Transport,6.57 +Leisure,32.56 +Leisure,57.76 +Food,13.63 +Food,34.48 +Transport,13.56 +Transport,21.16 +Food,25.00 +Food,5.98 +Food,80.77 +Savings,415.70 +Transport,19.60 +Food,61.50 +Health,7.30 +Food,24.02 +Food,67.41 +Transport,22.67 +Leisure,19.68 +Food,67.78 +Food,24.65 +Leisure,42.51 +Health,153.38 +Food,47.52 +Food,86.85 +Transport,22.23 +Food,36.76 +Food,5.28 +Transport,15.45 +Food,22.66 +Food,195.94 +Housing,745.92 +Food,21.16 +Transport,47.51 +Food,45.61 +Transport,28.89 +Food,55.20 +Food,16.11 +Food,28.56 +Transport,21.92 +Transport,15.39 +Health,39.99 +Leisure,14.02 +Transport,27.99 +Food,16.20 +Food,23.27 +Transport,34.05 +Food,33.30 +Health,14.89 +Food,34.56 +Food,11.77 +Health,109.13 +Savings,127.33 +Food,19.51 +Leisure,12.72 +Transport,13.99 +Transport,2.33 +Food,43.38 +Health,102.79 +Food,23.25 +Transport,30.06 +Savings,53.90 +Food,93.90 +Transport,26.98 +Health,143.98 +Leisure,54.68 +Transport,38.69 +Transport,55.97 +Food,16.92 +Food,9.81 +Leisure,23.26 +Leisure,57.28 +Transport,8.05 +Food,14.41 +Leisure,27.01 +Food,29.12 +Transport,21.87 +Food,39.46 +Transport,26.82 +Food,13.74 +Food,13.01 +Transport,32.00 +Leisure,65.03 +Food,52.14 +Housing,2000.29 +Food,9.86 +Food,44.63 +Housing,966.93 +Food,36.52 +Health,81.60 +Food,2.79 +Leisure,29.75 +Food,35.62 +Transport,19.86 +Food,30.61 +Transport,47.46 +Savings,156.33 +Food,38.98 +Health,21.43 +Leisure,97.83 +Food,17.33 +Transport,14.31 +Transport,27.63 +Transport,26.49 +Food,30.14 +Food,25.69 +Transport,32.50 +Leisure,9.94 +Food,33.84 +Leisure,12.83 +Food,71.84 +Food,33.28 +Transport,40.30 +Leisure,62.66 +Transport,25.60 +Transport,39.34 +Food,87.81 +Savings,144.05 +Savings,49.69 +Food,65.66 +Food,76.69 +Transport,23.01 +Health,89.13 +Transport,20.77 +Food,23.61 +Health,74.95 +Health,25.63 +Housing,639.29 +Transport,18.04 +Transport,3.15 +Transport,15.51 +Transport,15.44 +Food,5.17 +Food,8.97 +Transport,5.50 +Food,58.43 +Transport,14.88 +Food,29.28 +Food,33.50 +Transport,18.15 +Savings,244.71 +Health,61.65 +Transport,7.96 +Transport,18.43 +Health,58.28 +Health,30.48 +Transport,4.45 +Health,37.44 +Food,71.07 +Leisure,13.53 +Transport,26.87 +Transport,38.20 +Leisure,53.77 +Savings,239.13 +Transport,7.78 +Food,26.14 +Food,17.72 +Transport,29.43 +Food,17.96 +Food,31.39 +Food,32.88 +Leisure,25.11 +Food,34.29 +Savings,189.57 +Leisure,69.09 +Transport,33.00 +Food,12.04 +Leisure,67.96 +Transport,9.26 +Transport,35.32 +Transport,14.98 +Leisure,28.39 +Transport,29.56 +Housing,216.31 +Food,20.56 +Food,27.80 +Transport,104.98 +Transport,52.00 +Food,54.95 +Transport,18.65 +Transport,14.73 +Housing,416.48 +Leisure,9.32 +Food,61.95 +Transport,38.45 +Transport,17.73 +Food,6.78 +Food,46.27 +Transport,9.76 +Housing,353.08 +Leisure,47.54 +Food,39.58 +Food,16.38 +Food,75.88 +Transport,15.20 +Leisure,47.76 +Food,22.27 +Transport,9.45 +Transport,24.14 +Leisure,12.34 +Transport,50.68 +Food,18.76 +Health,32.98 +Transport,30.78 +Food,29.35 +Food,99.36 +Transport,29.50 +Leisure,84.70 +Transport,10.87 +Housing,745.04 +Food,42.33 +Food,84.51 +Transport,46.84 +Transport,41.12 +Transport,18.79 +Transport,31.34 +Food,46.60 +Food,26.56 +Leisure,74.62 +Food,20.53 +Health,53.70 +Food,36.65 +Housing,836.20 +Food,70.23 +Food,77.25 +Transport,21.32 +Leisure,25.17 +Transport,43.41 +Food,9.68 +Transport,7.03 +Leisure,59.97 +Food,84.60 +Transport,8.23 +Transport,16.32 +Transport,35.56 +Food,18.93 +Transport,32.89 +Food,30.22 +Food,30.59 +Transport,22.26 +Food,37.34 +Food,28.14 +Transport,28.63 +Leisure,33.54 +Transport,32.26 +Transport,1.85 +Food,21.10 +Food,38.05 +Transport,3.63 +Food,24.87 +Leisure,24.91 +Food,73.00 +Transport,39.57 +Leisure,18.62 +Food,59.68 +Food,58.56 +Transport,42.37 +Transport,33.86 +Transport,69.69 +Leisure,30.24 +Food,43.05 +Food,76.85 +Food,19.69 +Savings,110.25 +Transport,40.60 +Transport,10.03 +Transport,9.65 +Food,44.11 +Transport,39.37 +Food,99.74 +Health,74.36 +Leisure,3.51 +Food,45.21 +Food,65.22 +Food,31.58 +Transport,19.03 +Transport,15.45 +Savings,55.71 +Transport,5.99 +Transport,10.63 +Food,23.67 +Transport,4.54 +Food,79.48 +Transport,37.79 +Health,14.85 +Savings,132.45 +Leisure,90.42 +Transport,13.36 +Food,24.09 +Health,40.93 +Food,19.13 +Leisure,39.06 +Food,46.40 +Transport,44.22 +Leisure,84.10 +Leisure,14.58 +Transport,27.99 +Food,18.65 +Health,11.03 +Food,60.84 +Food,17.25 +Transport,30.94 +Transport,12.10 +Food,27.01 +Transport,19.15 +Food,80.86 +Food,28.10 +Transport,13.44 +Food,27.12 +Leisure,29.62 +Food,32.03 +Health,31.98 +Transport,8.94 +Food,67.38 +Leisure,3.92 +Leisure,112.15 +Transport,46.41 +Food,11.87 +Leisure,27.71 +Health,42.24 +Leisure,28.66 +Transport,38.50 +Savings,247.57 +Food,49.51 +Food,47.63 +Transport,11.90 +Leisure,44.14 +Transport,9.33 +Transport,67.31 +Food,26.62 +Transport,15.38 +Transport,8.57 +Transport,25.16 +Food,18.63 +Housing,643.30 +Transport,14.92 +Transport,17.12 +Food,8.69 +Transport,17.20 +Leisure,97.36 +Transport,54.92 +Leisure,24.09 +Food,20.20 +Food,19.65 +Leisure,41.60 +Transport,7.49 +Transport,10.77 +Transport,25.50 +Transport,10.88 +Leisure,55.20 +Health,106.37 +Transport,6.02 +Transport,39.92 +Food,10.45 +Health,43.25 +Food,23.67 +Food,34.68 +Transport,9.79 +Transport,32.71 +Transport,14.19 +Food,39.72 +Transport,24.43 +Transport,17.11 +Transport,14.55 +Transport,15.39 +Transport,22.52 +Health,91.35 +Health,18.61 +Food,58.21 +Food,65.64 +Food,25.65 +Food,39.39 +Transport,32.91 +Food,34.11 +Food,17.31 +Transport,41.51 +Leisure,75.59 +Food,17.01 +Food,22.02 +Health,24.80 +Leisure,12.24 +Housing,346.55 +Leisure,113.48 +Transport,7.67 +Savings,324.48 +Leisure,26.04 +Leisure,29.94 +Leisure,57.11 +Food,42.88 +Food,52.50 +Transport,19.39 +Food,46.14 +Food,18.04 +Leisure,55.66 +Transport,36.51 +Transport,19.52 +Food,68.19 +Food,31.02 +Leisure,25.31 +Transport,51.78 +Health,28.33 +Transport,5.69 +Health,105.46 +Leisure,8.73 +Health,20.79 +Transport,10.37 +Food,19.28 +Food,14.04 +Food,37.84 +Transport,27.77 +Housing,1027.07 +Transport,20.83 +Food,48.07 +Food,91.99 +Leisure,97.29 +Transport,17.75 +Transport,8.73 +Leisure,76.70 +Transport,20.12 +Transport,19.76 +Savings,330.50 +Health,26.42 +Food,113.19 +Transport,33.67 +Food,46.39 +Transport,42.48 +Food,16.57 +Savings,106.86 +Food,12.16 +Health,2.83 +Transport,28.34 +Food,44.17 +Transport,29.82 +Transport,20.86 +Transport,28.62 +Food,28.01 +Food,43.66 +Leisure,50.96 +Food,65.92 +Food,35.84 +Food,25.63 +Food,11.68 +Transport,64.12 +Health,99.12 +Food,32.21 +Food,20.94 +Food,37.07 +Food,23.93 +Leisure,13.99 +Food,29.05 +Leisure,69.57 +Transport,4.00 +Food,59.78 +Leisure,29.57 +Food,13.80 +Food,49.47 +Transport,12.05 +Food,20.73 +Food,33.90 +Transport,9.28 +Food,34.69 +Leisure,6.11 +Savings,433.11 +Transport,37.04 +Leisure,108.76 +Leisure,30.90 +Food,48.12 +Food,30.05 +Food,47.20 +Transport,2.09 +Food,81.69 +Leisure,43.51 +Transport,58.41 +Food,21.48 +Transport,29.50 +Savings,338.28 +Transport,9.33 +Transport,33.73 +Food,28.44 +Leisure,89.53 +Transport,10.22 +Food,36.94 +Food,6.66 +Housing,735.62 +Transport,38.80 +Food,33.38 +Food,11.83 +Food,65.40 +Transport,75.68 +Food,32.92 +Leisure,45.57 +Transport,21.34 +Leisure,58.15 +Transport,2.49 +Food,34.64 +Food,58.62 +Transport,18.63 +Transport,9.07 +Transport,13.32 +Food,80.69 +Health,39.77 +Food,21.67 +Food,106.91 +Leisure,5.35 +Leisure,82.06 +Transport,30.85 +Transport,34.16 +Transport,24.18 +Transport,8.49 +Housing,407.16 +Leisure,45.35 +Transport,54.09 +Leisure,20.21 +Food,28.83 +Transport,28.58 +Transport,6.05 +Transport,23.82 +Transport,14.24 +Leisure,61.79 +Leisure,32.71 +Health,84.53 +Food,39.76 +Housing,101.73 +Transport,14.66 +Food,19.63 +Health,115.32 +Transport,15.39 +Transport,30.67 +Food,22.56 +Leisure,13.14 +Transport,39.53 +Housing,1978.89 +Housing,3161.63 +Transport,33.22 +Transport,28.96 +Health,82.83 +Leisure,30.61 +Leisure,27.78 +Leisure,146.28 +Transport,6.08 +Food,32.80 +Leisure,76.13 +Savings,465.96 +Food,31.35 +Food,25.03 +Transport,8.74 +Housing,207.72 +Transport,30.46 +Transport,24.51 +Leisure,44.61 +Health,79.23 +Food,18.82 +Health,61.15 +Health,91.39 +Food,48.80 +Savings,265.56 +Food,77.85 +Transport,23.20 +Food,62.38 +Transport,27.44 +Leisure,42.46 +Food,80.39 +Food,50.97 +Food,3.29 +Transport,4.56 +Food,40.82 +Health,195.22 +Transport,41.46 +Leisure,24.77 +Leisure,24.70 +Transport,9.03 +Health,33.26 +Food,36.55 +Health,127.52 +Leisure,37.63 +Transport,4.80 +Food,76.01 +Transport,45.92 +Transport,34.49 +Food,32.29 +Food,41.31 +Transport,50.31 +Health,82.31 +Food,57.15 +Transport,22.37 +Transport,23.60 +Food,44.61 +Transport,18.56 +Food,123.95 +Health,83.31 +Transport,52.34 +Transport,18.40 +Food,57.61 +Leisure,36.48 +Leisure,79.26 +Food,60.43 +Health,64.01 +Food,5.38 +Housing,1187.74 +Transport,21.44 +Leisure,85.03 +Transport,46.19 +Food,21.74 +Food,15.48 +Savings,354.34 +Food,4.30 +Food,51.30 +Food,39.49 +Food,25.01 +Transport,45.79 +Leisure,58.02 +Leisure,4.71 +Transport,20.52 +Health,37.98 +Transport,19.22 +Leisure,95.75 +Transport,15.47 +Leisure,76.49 +Leisure,115.72 +Transport,10.09 +Food,104.21 +Transport,23.72 +Food,36.34 +Transport,22.05 +Transport,26.32 +Health,45.42 +Transport,28.57 +Food,23.33 +Transport,21.51 +Food,23.67 +Transport,61.89 +Food,26.00 +Leisure,63.70 +Transport,28.16 +Food,32.20 +Health,52.94 +Health,51.83 +Leisure,16.62 +Transport,22.06 +Food,86.25 +Leisure,65.42 +Transport,32.82 +Transport,11.03 +Food,6.12 +Transport,21.40 +Transport,36.88 +Health,89.53 +Food,19.84 +Leisure,187.74 +Transport,30.44 +Health,67.57 +Transport,24.59 +Transport,28.88 +Food,20.82 +Leisure,91.22 +Leisure,61.24 +Leisure,105.41 +Leisure,44.17 +Transport,16.42 +Leisure,40.67 +Food,35.10 +Transport,15.53 +Food,11.12 +Savings,519.62 +Food,9.68 +Leisure,51.05 +Food,18.98 +Transport,29.24 +Transport,25.02 +Food,20.93 +Savings,248.18 +Transport,19.61 +Leisure,30.14 +Transport,21.96 +Food,45.76 +Food,86.18 +Food,79.05 +Food,13.37 +Food,18.22 +Leisure,71.81 +Health,44.13 +Transport,37.21 +Food,13.00 +Leisure,33.22 +Transport,51.06 +Transport,13.44 +Food,24.20 +Housing,2233.32 +Leisure,41.37 +Food,67.60 +Transport,66.64 +Food,32.36 +Food,44.75 +Transport,10.52 +Transport,5.75 +Food,115.48 +Food,12.36 +Transport,69.12 +Food,14.34 +Housing,210.95 +Transport,2.91 +Transport,8.18 +Food,38.96 +Transport,30.03 +Food,87.45 +Food,50.41 +Transport,13.42 +Leisure,24.71 +Transport,46.98 +Transport,30.30 +Health,64.71 +Food,35.63 +Savings,412.31 +Food,19.52 +Health,43.38 +Food,25.46 +Transport,29.38 +Food,13.25 +Leisure,14.24 +Transport,14.54 +Health,96.14 +Food,51.71 +Transport,34.24 +Food,20.03 +Transport,56.34 +Leisure,20.91 +Food,6.15 +Health,57.12 +Health,91.67 +Transport,65.21 +Food,39.32 +Food,50.41 +Transport,7.13 +Transport,32.06 +Health,25.01 +Health,10.17 +Transport,6.00 +Leisure,64.93 +Transport,55.63 +Food,5.48 +Food,36.32 +Health,37.01 +Food,46.56 +Food,101.16 +Leisure,56.61 +Transport,8.15 +Food,18.10 +Health,102.24 +Transport,37.31 +Transport,36.13 +Transport,27.34 +Leisure,55.34 +Leisure,69.72 +Food,44.04 +Leisure,36.03 +Leisure,45.20 +Food,17.39 +Leisure,73.23 +Transport,12.25 +Food,16.69 +Transport,12.22 +Health,28.62 +Transport,29.51 +Transport,54.89 +Leisure,54.52 +Food,15.17 +Transport,14.82 +Food,3.78 +Transport,10.13 +Leisure,44.32 +Food,60.71 +Food,28.56 +Transport,8.58 +Savings,202.88 +Transport,24.40 +Food,17.15 +Transport,9.62 +Savings,523.34 +Transport,24.49 +Transport,40.03 +Leisure,24.05 +Food,36.89 +Transport,13.95 +Transport,8.26 +Food,28.60 +Food,60.30 +Transport,49.68 +Food,84.23 +Leisure,51.01 +Food,30.02 +Health,133.28 +Food,58.05 +Transport,19.81 +Transport,12.54 +Transport,8.75 +Transport,56.80 +Food,77.94 +Transport,10.65 +Transport,16.60 +Transport,42.96 +Transport,13.65 +Transport,29.21 +Transport,13.82 +Food,42.83 +Food,32.32 +Health,28.76 +Food,25.86 +Transport,23.82 +Housing,361.70 +Food,10.39 +Transport,44.37 +Food,29.89 +Leisure,24.58 +Leisure,73.59 +Transport,20.38 +Transport,37.73 +Food,52.57 +Food,29.10 +Leisure,2.50 +Food,12.31 +Food,21.51 +Housing,380.31 +Transport,19.34 +Food,18.51 +Health,13.59 +Health,190.58 +Food,58.38 +Health,38.37 +Transport,23.68 +Food,10.59 +Transport,4.60 +Transport,7.12 +Food,42.66 +Leisure,48.13 +Leisure,98.06 +Food,26.59 +Health,150.36 +Food,32.06 +Transport,20.78 +Transport,54.34 +Leisure,20.96 +Transport,11.18 +Food,22.86 +Food,83.97 +Food,7.69 +Food,36.21 +Transport,17.07 +Leisure,13.79 +Food,45.17 +Food,15.42 +Health,72.44 +Transport,47.19 +Transport,35.94 +Transport,10.99 +Transport,8.21 +Transport,28.57 +Health,62.74 +Health,35.22 +Transport,17.60 +Transport,17.76 +Food,54.12 +Transport,31.72 +Food,8.36 +Food,19.50 +Leisure,19.62 +Savings,253.81 +Leisure,131.15 +Food,21.60 +Transport,14.89 +Food,47.81 +Food,61.42 +Transport,18.01 +Food,52.62 +Transport,8.78 +Food,73.99 +Health,72.02 +Transport,43.51 +Food,32.28 +Transport,31.75 +Leisure,9.90 +Health,28.09 +Food,14.37 +Housing,1153.68 +Leisure,26.46 +Transport,11.70 +Food,41.17 +Transport,41.36 +Leisure,47.12 +Health,52.57 +Food,60.89 +Transport,9.85 +Food,29.91 +Health,87.74 +Transport,24.20 +Leisure,24.22 +Food,28.46 +Food,36.03 +Leisure,40.42 +Food,17.80 +Health,109.49 +Leisure,47.10 +Leisure,34.81 +Health,121.29 +Health,52.15 +Leisure,43.67 +Food,45.77 +Leisure,59.75 +Food,16.92 +Food,28.90 +Food,34.33 +Transport,42.68 +Food,16.92 +Leisure,56.62 +Food,47.10 +Leisure,33.09 +Health,5.70 +Leisure,49.76 +Food,30.54 +Savings,422.99 +Food,48.89 +Food,103.93 +Health,71.31 +Transport,21.79 +Food,41.26 +Food,83.57 +Food,23.82 +Savings,109.84 +Food,50.72 +Food,82.92 +Transport,38.18 +Food,37.10 +Leisure,100.27 +Savings,92.08 +Food,25.97 +Food,20.22 +Leisure,127.62 +Savings,57.32 +Transport,18.38 +Transport,5.91 +Transport,5.15 +Food,15.09 +Leisure,15.15 +Food,2.17 +Transport,5.82 +Transport,37.02 +Food,28.53 +Transport,41.33 +Housing,1123.34 +Transport,14.52 +Health,61.21 +Transport,11.48 +Housing,650.70 +Transport,24.99 +Transport,11.38 +Food,58.42 +Transport,52.95 +Transport,43.56 +Food,34.25 +Food,11.44 +Transport,2.78 +Food,28.89 +Housing,71.44 +Transport,11.57 +Transport,22.13 +Food,47.24 +Leisure,119.44 +Transport,5.93 +Transport,21.92 +Health,90.15 +Food,51.76 +Food,42.41 +Leisure,106.42 +Transport,24.74 +Health,63.67 +Food,45.55 +Leisure,4.55 +Food,45.05 +Food,12.09 +Leisure,20.99 +Transport,18.30 +Transport,4.06 +Savings,151.05 +Transport,28.99 +Transport,8.90 +Savings,205.64 +Transport,8.80 +Transport,23.59 +Leisure,46.08 +Food,69.75 +Transport,4.56 +Leisure,30.02 +Housing,800.11 +Food,31.15 +Food,12.08 +Food,36.24 +Food,11.72 +Food,114.49 +Food,43.45 +Leisure,37.67 +Transport,5.93 +Leisure,33.44 +Food,28.01 +Leisure,25.09 +Food,53.09 +Food,83.84 +Food,15.42 +Transport,3.38 +Health,90.88 +Transport,2.11 +Food,36.12 +Food,64.12 +Savings,206.98 +Transport,8.60 +Transport,45.53 +Housing,1295.05 +Food,14.25 +Food,4.39 +Transport,23.95 +Transport,20.28 +Transport,35.29 +Savings,198.44 +Food,51.64 +Food,39.59 +Leisure,46.41 +Food,78.96 +Transport,53.33 +Transport,13.39 +Transport,47.24 +Food,60.81 +Transport,36.81 +Food,14.60 +Transport,27.61 +Food,11.43 +Food,27.07 +Health,34.02 +Transport,10.14 +Food,1.37 +Food,17.00 +Food,87.72 +Leisure,23.98 +Food,20.75 +Transport,18.83 +Transport,7.39 +Leisure,83.02 +Food,11.33 +Transport,9.77 +Transport,16.66 +Transport,13.39 +Leisure,6.66 +Leisure,52.68 +Transport,87.30 +Food,36.02 +Transport,4.52 +Food,27.72 +Food,53.81 +Transport,4.76 +Food,68.44 +Food,88.49 +Food,41.52 +Transport,16.40 +Transport,15.00 +Food,34.97 +Food,17.80 +Leisure,76.40 +Transport,6.30 +Transport,25.48 +Food,44.49 +Transport,32.69 +Leisure,32.59 +Transport,43.82 +Transport,28.09 +Transport,11.27 +Food,18.37 +Food,34.80 +Housing,1237.70 +Transport,19.03 +Food,6.49 +Transport,39.77 +Leisure,9.88 +Food,80.46 +Food,43.16 +Food,17.23 +Transport,14.46 +Transport,59.47 +Food,25.62 +Food,9.80 +Health,59.78 +Leisure,44.99 +Transport,7.67 +Savings,593.53 +Transport,22.96 +Leisure,34.08 +Food,30.02 +Transport,9.87 +Food,91.36 +Leisure,11.00 +Food,35.64 +Transport,2.66 +Transport,48.33 +Food,26.25 +Leisure,35.95 +Transport,28.00 +Transport,18.98 +Transport,43.07 +Food,38.45 +Food,106.55 +Transport,11.28 +Transport,48.97 +Transport,3.20 +Savings,176.18 +Savings,124.91 +Housing,161.10 +Food,43.83 +Leisure,29.53 +Food,10.16 +Food,28.52 +Transport,10.71 +Transport,29.38 +Food,25.24 +Transport,26.63 +Leisure,45.89 +Savings,497.30 +Food,42.30 +Transport,6.58 +Food,59.94 +Transport,20.92 +Housing,175.47 +Health,86.17 +Health,48.44 +Leisure,20.78 +Food,24.91 +Health,47.36 +Housing,656.55 +Transport,11.43 +Food,2.83 +Housing,810.76 +Housing,816.22 +Transport,25.14 +Food,32.45 +Leisure,38.09 +Food,14.09 +Food,36.68 +Transport,57.64 +Leisure,26.90 +Food,40.88 +Food,27.98 +Transport,11.30 +Housing,614.17 +Transport,1.00 +Food,18.39 +Food,21.35 +Health,110.20 +Food,56.89 +Food,12.97 +Leisure,57.08 +Transport,9.16 +Food,139.83 +Housing,2252.62 +Food,24.62 +Food,61.95 +Transport,19.75 +Food,7.91 +Savings,558.30 +Transport,10.39 +Savings,405.79 +Transport,15.39 +Transport,30.57 +Food,53.23 +Transport,26.24 +Food,63.96 +Leisure,131.71 +Food,32.56 +Food,17.47 +Transport,14.78 +Leisure,11.58 +Leisure,16.71 +Food,2.78 +Food,11.21 +Food,27.21 +Health,64.00 +Food,10.28 +Housing,309.23 +Health,19.30 +Transport,2.96 +Transport,28.93 +Food,7.29 +Transport,60.20 +Transport,17.88 +Food,23.17 +Transport,13.02 +Food,19.43 +Leisure,44.44 +Food,45.34 +Food,33.08 +Transport,4.71 +Transport,72.17 +Transport,13.33 +Transport,12.33 +Food,12.28 +Food,31.95 +Food,63.24 +Leisure,14.03 +Food,28.25 +Leisure,62.14 +Health,20.06 +Transport,9.27 +Savings,22.38 +Food,6.76 +Transport,63.83 +Food,29.65 +Transport,24.00 +Food,52.74 +Health,107.15 +Leisure,112.75 +Leisure,34.62 +Food,20.69 +Transport,38.94 +Food,10.16 +Transport,21.87 +Food,28.19 +Food,49.99 +Food,52.93 +Transport,29.55 +Leisure,50.01 +Leisure,28.29 +Food,25.87 +Health,66.80 +Leisure,93.58 +Leisure,15.75 +Food,42.60 +Food,7.87 +Transport,7.98 +Food,82.61 +Food,53.32 +Transport,12.17 +Food,48.26 +Transport,9.15 +Housing,1978.26 +Housing,396.07 +Leisure,17.17 +Food,33.44 +Health,20.95 +Leisure,47.32 +Transport,16.75 +Health,58.19 +Food,152.76 +Leisure,32.81 +Food,75.74 +Food,95.33 +Savings,115.75 +Housing,738.72 +Transport,9.92 +Health,64.72 +Transport,11.51 +Health,44.20 +Food,83.47 +Leisure,13.94 +Food,31.61 +Food,40.75 +Food,17.97 +Savings,433.61 +Food,11.01 +Food,28.23 +Food,21.08 +Leisure,9.65 +Transport,39.30 +Food,68.71 +Health,29.00 +Transport,22.07 +Leisure,48.11 +Leisure,24.47 +Food,8.09 +Transport,2.41 +Leisure,28.59 +Transport,6.56 +Leisure,22.25 +Food,3.84 +Transport,6.45 +Transport,45.22 +Transport,10.41 +Food,10.47 +Transport,7.88 +Food,21.19 +Transport,35.43 +Food,20.46 +Transport,6.53 +Transport,23.66 +Food,20.65 +Food,22.17 +Food,37.97 +Transport,15.68 +Food,32.58 +Savings,190.15 +Leisure,114.96 +Transport,14.60 +Transport,49.98 +Transport,26.92 +Transport,31.75 +Food,27.80 +Food,24.16 +Transport,18.10 +Leisure,20.70 +Leisure,55.90 +Transport,15.59 +Food,109.48 +Savings,585.53 +Leisure,65.99 +Leisure,3.57 +Leisure,25.28 +Leisure,27.28 +Transport,17.26 +Savings,332.57 +Leisure,45.31 +Food,64.97 +Food,37.12 +Transport,47.34 +Food,23.84 +Health,55.89 +Food,22.56 +Leisure,12.90 +Food,78.80 +Food,10.67 +Leisure,8.13 +Food,22.10 +Transport,30.18 +Transport,36.58 +Health,30.72 +Transport,3.70 +Food,54.86 +Health,44.09 +Health,52.25 +Savings,117.68 +Food,58.30 +Transport,6.92 +Transport,20.21 +Food,24.84 +Leisure,53.39 +Food,18.90 +Leisure,56.68 +Transport,43.92 +Food,52.08 +Leisure,11.36 +Health,55.20 +Transport,16.86 +Food,14.76 +Food,35.95 +Transport,18.19 +Transport,21.14 +Food,60.79 +Food,40.74 +Transport,32.58 +Food,23.46 +Transport,15.99 +Food,43.75 +Food,26.38 +Food,90.58 +Food,12.50 +Transport,5.03 +Food,52.70 +Leisure,103.94 +Food,32.48 +Transport,27.74 +Food,15.38 +Transport,21.63 +Leisure,70.17 +Health,17.17 +Transport,18.61 +Leisure,115.13 +Food,46.31 +Housing,606.74 +Transport,21.64 +Food,31.32 +Food,22.18 +Savings,131.25 +Food,149.25 +Transport,60.00 +Leisure,32.29 +Leisure,59.20 +Food,25.91 +Transport,13.35 +Food,95.23 +Transport,9.21 +Food,26.61 +Leisure,27.49 +Leisure,49.99 +Transport,17.06 +Leisure,78.39 +Leisure,9.70 +Transport,20.72 +Transport,3.31 +Leisure,25.38 +Food,47.97 +Transport,6.47 +Health,92.11 +Leisure,21.02 +Health,7.98 +Transport,17.08 +Food,26.49 +Transport,10.67 +Transport,33.41 +Savings,66.14 +Housing,505.36 +Transport,5.31 +Food,13.40 +Transport,5.36 +Food,24.20 +Transport,39.37 +Food,101.65 +Leisure,13.48 +Food,108.85 +Housing,101.13 +Savings,86.66 +Transport,21.59 +Transport,14.89 +Transport,5.78 +Health,107.95 +Transport,74.63 +Leisure,14.21 +Health,35.50 +Transport,101.47 +Transport,40.38 +Savings,344.68 +Food,8.15 +Transport,15.80 +Food,88.24 +Food,14.76 +Health,18.29 +Transport,43.81 +Food,33.16 +Transport,26.66 +Housing,630.18 +Transport,11.79 +Health,63.64 +Food,43.91 +Health,79.82 +Transport,52.26 +Housing,474.66 +Food,24.63 +Food,8.82 +Food,81.74 +Food,72.09 +Transport,53.10 +Leisure,44.14 +Food,37.09 +Food,23.66 +Health,71.73 +Health,88.03 +Health,38.07 +Transport,35.67 +Food,34.28 +Food,37.89 +Food,11.76 +Transport,11.54 +Leisure,28.04 +Food,8.45 +Food,63.45 +Food,17.66 +Leisure,74.25 diff --git a/agents/evals/fixtures/cases/pie-basic-matplotlib-renamed/case.json b/agents/evals/fixtures/cases/pie-basic-matplotlib-renamed/case.json new file mode 100644 index 0000000000..438e9209e9 --- /dev/null +++ b/agents/evals/fixtures/cases/pie-basic-matplotlib-renamed/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "pie-basic", + "library": "matplotlib", + "locale": "de", + "perturbation": "renamed", + "bindings": [ + { + "role": "category", + "column": "Ausgabenposten" + }, + { + "role": "value", + "column": "Betrag CHF" + } + ], + "expected": "accepted", + "tags": [ + "pie", + "renamed", + "synthetic", + "renamed-headers" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 909, renamed)" +} diff --git a/agents/evals/fixtures/cases/pie-basic-matplotlib-renamed/data.csv b/agents/evals/fixtures/cases/pie-basic-matplotlib-renamed/data.csv new file mode 100644 index 0000000000..e8f468eb77 --- /dev/null +++ b/agents/evals/fixtures/cases/pie-basic-matplotlib-renamed/data.csv @@ -0,0 +1,7 @@ +Ausgabenposten,Betrag CHF +Housing,1913.25 +Food,692.31 +Transport,402.45 +Leisure,337.19 +Health,244.50 +Savings,648.13 diff --git a/agents/evals/fixtures/cases/pie-basic-matplotlib-x10/case.json b/agents/evals/fixtures/cases/pie-basic-matplotlib-x10/case.json new file mode 100644 index 0000000000..305bd4e2be --- /dev/null +++ b/agents/evals/fixtures/cases/pie-basic-matplotlib-x10/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "pie-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "x10", + "bindings": [ + { + "role": "category", + "column": "Expense Category" + }, + { + "role": "value", + "column": "Amount (CHF)" + } + ], + "expected": "accepted", + "tags": [ + "pie", + "x10", + "synthetic", + "scaled-values" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 909, x10)" +} diff --git a/agents/evals/fixtures/cases/pie-basic-matplotlib-x10/data.csv b/agents/evals/fixtures/cases/pie-basic-matplotlib-x10/data.csv new file mode 100644 index 0000000000..5d1b1cfa04 --- /dev/null +++ b/agents/evals/fixtures/cases/pie-basic-matplotlib-x10/data.csv @@ -0,0 +1,7 @@ +Expense Category,Amount (CHF) +Housing,19132.53 +Food,6923.09 +Transport,4024.49 +Leisure,3371.93 +Health,2445.05 +Savings,6481.28 diff --git a/agents/evals/fixtures/cases/pie-basic-seaborn-date/case.json b/agents/evals/fixtures/cases/pie-basic-seaborn-date/case.json new file mode 100644 index 0000000000..ac8e7b9724 --- /dev/null +++ b/agents/evals/fixtures/cases/pie-basic-seaborn-date/case.json @@ -0,0 +1,26 @@ +{ + "spec_id": "pie-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "date", + "bindings": [ + { + "role": "category", + "column": "Expense Category" + }, + { + "role": "value", + "column": "Amount (CHF)" + } + ], + "expected": "accepted", + "tags": [ + "pie", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 909, date)" +} diff --git a/agents/evals/fixtures/cases/pie-basic-seaborn-date/data.csv b/agents/evals/fixtures/cases/pie-basic-seaborn-date/data.csv new file mode 100644 index 0000000000..a243c78806 --- /dev/null +++ b/agents/evals/fixtures/cases/pie-basic-seaborn-date/data.csv @@ -0,0 +1,7 @@ +Expense Category,Amount (CHF),Booking Date,Imported On +Housing,1913.25,05.05.2026,2026-05-05 +Food,692.31,20.01.2026,2026-01-23 +Transport,402.45,29.03.2026,2026-03-30 +Leisure,337.19,13.05.2026,2026-05-14 +Health,244.50,17.02.2026,2026-02-18 +Savings,648.13,20.03.2026,2026-03-24 diff --git a/agents/evals/fixtures/cases/pie-basic-seaborn-decimal-comma/case.json b/agents/evals/fixtures/cases/pie-basic-seaborn-decimal-comma/case.json new file mode 100644 index 0000000000..8189ee477e --- /dev/null +++ b/agents/evals/fixtures/cases/pie-basic-seaborn-decimal-comma/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "pie-basic", + "library": "seaborn", + "locale": "de", + "perturbation": "decimal-comma", + "bindings": [ + { + "role": "category", + "column": "Expense Category" + }, + { + "role": "value", + "column": "Amount (CHF)" + } + ], + "expected": "accepted", + "tags": [ + "pie", + "decimal-comma", + "synthetic", + "semicolon" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 909, decimal-comma)" +} diff --git a/agents/evals/fixtures/cases/pie-basic-seaborn-decimal-comma/data.csv b/agents/evals/fixtures/cases/pie-basic-seaborn-decimal-comma/data.csv new file mode 100644 index 0000000000..2d4e55ae01 --- /dev/null +++ b/agents/evals/fixtures/cases/pie-basic-seaborn-decimal-comma/data.csv @@ -0,0 +1,7 @@ +Expense Category;Amount (CHF) +Housing;1913,25 +Food;692,31 +Transport;402,45 +Leisure;337,19 +Health;244,50 +Savings;648,13 diff --git a/agents/evals/fixtures/cases/pie-basic-seaborn-n12/case.json b/agents/evals/fixtures/cases/pie-basic-seaborn-n12/case.json new file mode 100644 index 0000000000..5cfad366e3 --- /dev/null +++ b/agents/evals/fixtures/cases/pie-basic-seaborn-n12/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "pie-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "n12", + "bindings": [ + { + "role": "category", + "column": "Expense Category" + }, + { + "role": "value", + "column": "Amount (CHF)" + } + ], + "expected": "accepted", + "tags": [ + "pie", + "n12", + "synthetic", + "small" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 909, n12)" +} diff --git a/agents/evals/fixtures/cases/pie-basic-seaborn-n12/data.csv b/agents/evals/fixtures/cases/pie-basic-seaborn-n12/data.csv new file mode 100644 index 0000000000..cd24cc6737 --- /dev/null +++ b/agents/evals/fixtures/cases/pie-basic-seaborn-n12/data.csv @@ -0,0 +1,13 @@ +Expense Category,Amount (CHF) +Housing,1686.23 +Food,719.68 +Transport,443.66 +Leisure,311.31 +Health,236.78 +Savings,595.60 +Insurance,342.29 +Education,138.39 +Clothing,114.95 +Utilities,215.46 +Gifts,55.02 +Other,93.78 diff --git a/agents/evals/fixtures/cases/pie-basic-seaborn-n5000/case.json b/agents/evals/fixtures/cases/pie-basic-seaborn-n5000/case.json new file mode 100644 index 0000000000..119cb9cbcd --- /dev/null +++ b/agents/evals/fixtures/cases/pie-basic-seaborn-n5000/case.json @@ -0,0 +1,25 @@ +{ + "spec_id": "pie-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "n5000", + "bindings": [ + { + "role": "category", + "column": "Expense Category" + }, + { + "role": "value", + "column": "Amount (CHF)" + } + ], + "expected": "accepted", + "tags": [ + "pie", + "n5000", + "synthetic", + "large", + "aggregation" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 909, n5000)" +} diff --git a/agents/evals/fixtures/cases/pie-basic-seaborn-n5000/data.csv b/agents/evals/fixtures/cases/pie-basic-seaborn-n5000/data.csv new file mode 100644 index 0000000000..573db3f08c --- /dev/null +++ b/agents/evals/fixtures/cases/pie-basic-seaborn-n5000/data.csv @@ -0,0 +1,5001 @@ +Expense Category,Amount (CHF) +Transport,29.12 +Food,27.01 +Food,31.20 +Transport,6.75 +Food,17.05 +Food,39.81 +Food,3.90 +Food,5.14 +Food,43.53 +Transport,14.79 +Food,10.09 +Food,41.71 +Transport,41.78 +Housing,727.06 +Transport,22.80 +Food,37.10 +Food,37.37 +Food,21.56 +Transport,46.95 +Savings,313.75 +Leisure,40.26 +Food,74.54 +Savings,108.08 +Food,48.05 +Transport,3.17 +Leisure,25.46 +Food,34.41 +Food,1.38 +Transport,34.60 +Transport,26.44 +Transport,5.57 +Food,26.45 +Transport,38.92 +Transport,15.54 +Food,33.13 +Transport,57.14 +Food,25.91 +Food,7.31 +Leisure,19.39 +Transport,17.56 +Housing,863.42 +Food,99.41 +Leisure,50.43 +Food,9.47 +Transport,86.07 +Health,19.85 +Transport,19.83 +Leisure,51.21 +Transport,19.71 +Health,46.35 +Leisure,29.07 +Transport,42.76 +Leisure,66.38 +Transport,29.34 +Food,17.51 +Food,91.26 +Transport,5.41 +Transport,42.32 +Food,94.67 +Transport,38.19 +Food,125.98 +Food,20.50 +Leisure,19.79 +Food,46.17 +Transport,10.88 +Transport,3.39 +Transport,15.03 +Food,69.25 +Food,23.25 +Health,15.98 +Food,33.71 +Food,26.33 +Leisure,54.29 +Food,16.13 +Food,6.64 +Food,48.42 +Leisure,21.38 +Transport,16.44 +Food,33.57 +Transport,7.01 +Food,23.80 +Leisure,126.55 +Transport,63.15 +Food,24.87 +Leisure,59.51 +Food,58.30 +Food,35.38 +Health,34.36 +Leisure,65.60 +Leisure,55.45 +Leisure,142.97 +Food,32.77 +Transport,31.86 +Savings,282.88 +Transport,17.75 +Leisure,44.28 +Health,116.20 +Housing,448.42 +Food,2.75 +Food,36.40 +Transport,28.77 +Food,15.48 +Food,60.75 +Food,14.43 +Food,58.48 +Transport,9.03 +Food,69.04 +Transport,6.90 +Food,52.23 +Food,24.96 +Transport,46.84 +Food,7.51 +Food,7.63 +Transport,12.13 +Leisure,63.78 +Food,15.40 +Transport,10.14 +Food,33.35 +Food,18.90 +Food,17.09 +Housing,1680.60 +Transport,17.91 +Housing,484.79 +Leisure,93.05 +Food,59.23 +Leisure,33.31 +Leisure,99.03 +Food,105.68 +Transport,60.01 +Transport,22.04 +Transport,45.52 +Food,8.92 +Food,41.48 +Food,34.92 +Transport,14.48 +Transport,20.71 +Transport,11.43 +Food,44.98 +Food,48.04 +Transport,3.81 +Food,32.72 +Transport,14.75 +Food,17.11 +Leisure,9.66 +Food,205.39 +Transport,12.28 +Transport,13.00 +Transport,22.18 +Leisure,60.31 +Food,4.12 +Transport,5.49 +Food,58.07 +Transport,9.24 +Food,9.83 +Food,17.00 +Food,45.07 +Food,19.46 +Transport,6.05 +Food,69.55 +Transport,17.24 +Transport,5.63 +Food,51.44 +Leisure,73.20 +Savings,124.36 +Transport,8.09 +Transport,57.12 +Leisure,17.30 +Food,72.39 +Food,12.30 +Food,15.08 +Transport,23.27 +Housing,1834.60 +Leisure,58.70 +Transport,6.66 +Food,17.83 +Health,15.63 +Leisure,13.85 +Transport,29.93 +Food,39.29 +Food,48.17 +Food,32.77 +Health,91.92 +Food,24.67 +Health,66.92 +Transport,57.29 +Savings,102.02 +Transport,36.05 +Transport,30.63 +Food,7.80 +Food,15.51 +Transport,33.35 +Leisure,61.30 +Transport,14.03 +Transport,24.40 +Food,40.14 +Health,24.84 +Transport,3.60 +Food,17.71 +Leisure,22.30 +Food,29.16 +Transport,21.09 +Food,42.98 +Housing,918.98 +Transport,11.15 +Leisure,49.81 +Food,133.34 +Food,18.86 +Savings,128.71 +Health,245.63 +Leisure,13.16 +Transport,22.35 +Food,48.86 +Transport,9.31 +Health,39.50 +Transport,39.16 +Transport,4.05 +Transport,13.42 +Savings,170.32 +Transport,26.58 +Health,44.15 +Leisure,23.07 +Food,68.83 +Transport,23.46 +Transport,30.21 +Transport,37.82 +Housing,651.68 +Food,69.32 +Transport,39.29 +Health,42.64 +Leisure,57.93 +Food,18.74 +Food,43.39 +Food,43.76 +Food,70.86 +Food,34.55 +Transport,5.22 +Transport,7.87 +Food,13.55 +Savings,128.26 +Leisure,53.45 +Transport,54.67 +Transport,18.03 +Health,96.93 +Leisure,32.19 +Transport,23.95 +Transport,6.36 +Food,32.18 +Food,93.04 +Food,20.97 +Leisure,20.44 +Savings,252.84 +Leisure,125.42 +Transport,1.00 +Food,18.53 +Leisure,28.58 +Leisure,13.22 +Transport,49.70 +Transport,59.86 +Food,12.63 +Food,51.19 +Leisure,25.81 +Health,140.29 +Food,57.21 +Food,35.76 +Food,12.21 +Transport,25.78 +Food,22.43 +Food,48.51 +Health,64.34 +Food,36.70 +Food,39.63 +Leisure,24.04 +Food,40.92 +Transport,26.00 +Food,36.04 +Transport,23.27 +Food,33.85 +Transport,30.10 +Food,25.68 +Leisure,47.16 +Transport,9.04 +Food,56.32 +Food,9.56 +Food,8.91 +Food,39.92 +Food,89.74 +Transport,35.34 +Housing,1456.05 +Transport,60.28 +Leisure,49.48 +Food,37.00 +Leisure,74.09 +Leisure,29.23 +Transport,10.38 +Food,11.22 +Transport,15.65 +Transport,21.35 +Food,150.20 +Food,24.26 +Health,46.13 +Transport,6.23 +Leisure,38.44 +Transport,27.29 +Transport,70.96 +Food,62.45 +Transport,7.64 +Food,13.75 +Transport,10.57 +Housing,183.95 +Food,55.27 +Transport,21.94 +Transport,17.51 +Food,52.01 +Leisure,65.93 +Leisure,66.52 +Food,58.41 +Leisure,177.53 +Food,21.60 +Food,32.21 +Transport,37.56 +Food,21.65 +Leisure,45.18 +Leisure,5.35 +Transport,36.86 +Transport,9.44 +Transport,7.89 +Food,22.96 +Leisure,19.98 +Food,45.37 +Transport,20.92 +Food,14.63 +Food,18.48 +Health,19.23 +Food,12.21 +Transport,18.65 +Transport,27.30 +Food,56.56 +Health,14.50 +Transport,24.28 +Health,34.56 +Food,40.27 +Transport,16.41 +Food,95.65 +Food,7.04 +Food,38.32 +Leisure,1.21 +Food,32.93 +Transport,23.07 +Transport,50.98 +Transport,14.03 +Food,52.37 +Transport,54.10 +Food,5.07 +Transport,29.71 +Transport,47.72 +Leisure,18.32 +Transport,44.69 +Transport,4.39 +Transport,42.81 +Transport,13.97 +Transport,3.39 +Food,26.33 +Leisure,47.35 +Food,38.48 +Transport,48.45 +Food,43.21 +Transport,22.20 +Transport,3.38 +Health,21.38 +Health,23.77 +Transport,27.59 +Transport,3.84 +Transport,38.35 +Transport,6.86 +Food,73.01 +Food,26.80 +Food,24.15 +Transport,52.51 +Transport,26.13 +Leisure,129.57 +Food,54.72 +Food,14.11 +Transport,27.08 +Transport,30.87 +Transport,32.13 +Transport,31.27 +Transport,46.05 +Transport,7.06 +Savings,135.80 +Food,47.72 +Transport,13.65 +Food,15.82 +Leisure,54.77 +Housing,3504.09 +Housing,1372.62 +Health,73.48 +Transport,2.41 +Transport,9.93 +Food,10.25 +Transport,22.30 +Food,17.10 +Transport,14.84 +Food,29.85 +Food,28.27 +Food,107.34 +Food,41.61 +Food,42.42 +Transport,27.64 +Health,42.95 +Transport,43.90 +Leisure,50.08 +Leisure,8.90 +Food,67.70 +Food,27.69 +Transport,47.26 +Transport,8.06 +Leisure,24.91 +Transport,24.53 +Transport,35.03 +Transport,20.03 +Housing,800.10 +Food,3.70 +Transport,14.23 +Leisure,18.18 +Food,97.00 +Food,13.58 +Transport,6.53 +Transport,15.80 +Transport,42.68 +Leisure,19.32 +Transport,37.98 +Housing,1365.14 +Transport,31.64 +Food,40.10 +Transport,6.45 +Food,37.27 +Food,14.53 +Leisure,112.92 +Leisure,91.50 +Transport,21.26 +Transport,12.78 +Food,3.98 +Transport,52.65 +Leisure,70.57 +Transport,10.01 +Health,31.07 +Food,25.99 +Food,52.80 +Food,24.57 +Leisure,61.81 +Transport,8.76 +Leisure,27.14 +Transport,6.49 +Leisure,77.03 +Transport,20.59 +Transport,7.51 +Food,35.91 +Food,58.94 +Transport,27.41 +Food,94.26 +Transport,18.55 +Food,56.56 +Transport,38.76 +Food,111.30 +Transport,32.90 +Food,63.36 +Food,24.95 +Transport,24.06 +Transport,24.33 +Health,97.76 +Transport,26.29 +Food,69.79 +Food,23.92 +Housing,589.89 +Transport,13.22 +Leisure,23.49 +Food,24.32 +Food,52.78 +Transport,29.00 +Food,49.29 +Transport,5.99 +Health,35.62 +Transport,45.16 +Transport,24.54 +Food,25.82 +Leisure,28.54 +Food,57.19 +Transport,25.27 +Food,83.46 +Food,17.90 +Food,20.84 +Food,73.88 +Food,26.89 +Transport,22.35 +Housing,695.25 +Health,6.37 +Savings,218.27 +Housing,1182.49 +Health,32.55 +Transport,20.82 +Transport,14.67 +Food,35.42 +Food,36.62 +Food,43.32 +Food,12.31 +Food,6.17 +Transport,34.05 +Food,30.73 +Transport,26.40 +Food,19.82 +Transport,25.01 +Food,31.11 +Leisure,33.16 +Transport,23.41 +Food,53.75 +Transport,22.73 +Food,8.33 +Health,54.06 +Food,27.09 +Health,26.35 +Leisure,28.37 +Transport,12.32 +Transport,31.57 +Transport,20.89 +Transport,26.59 +Savings,119.65 +Leisure,50.59 +Food,40.80 +Food,42.06 +Transport,3.29 +Food,13.44 +Food,94.47 +Transport,13.23 +Leisure,9.80 +Food,26.43 +Food,56.29 +Health,45.53 +Health,36.49 +Leisure,21.59 +Food,45.32 +Transport,6.81 +Transport,31.71 +Transport,15.59 +Food,22.31 +Health,133.00 +Food,116.57 +Food,66.03 +Transport,11.30 +Food,13.78 +Leisure,24.17 +Food,86.86 +Transport,13.73 +Food,18.03 +Health,27.82 +Health,35.32 +Transport,28.31 +Leisure,30.96 +Food,66.01 +Savings,31.23 +Food,13.77 +Transport,19.96 +Transport,7.05 +Food,86.29 +Food,118.72 +Food,122.85 +Food,32.97 +Food,7.71 +Transport,34.01 +Leisure,60.82 +Transport,4.65 +Food,20.31 +Health,34.19 +Food,64.84 +Food,22.73 +Housing,575.32 +Food,12.43 +Food,59.54 +Food,15.00 +Food,36.29 +Transport,7.08 +Health,140.31 +Transport,46.06 +Food,13.03 +Health,60.23 +Food,7.00 +Transport,9.57 +Health,58.76 +Transport,33.88 +Food,19.36 +Transport,33.48 +Leisure,23.57 +Leisure,74.14 +Food,100.50 +Food,51.14 +Transport,17.39 +Food,79.23 +Leisure,20.61 +Food,50.76 +Transport,11.02 +Transport,19.87 +Food,2.89 +Leisure,95.11 +Housing,690.50 +Transport,29.39 +Transport,41.65 +Leisure,139.52 +Food,1.50 +Housing,1808.60 +Food,20.17 +Transport,5.78 +Health,63.70 +Leisure,75.70 +Food,21.74 +Food,15.65 +Transport,56.12 +Transport,19.68 +Food,36.55 +Transport,11.34 +Leisure,156.24 +Housing,318.03 +Transport,13.10 +Transport,57.15 +Food,23.38 +Food,8.44 +Food,25.41 +Food,5.43 +Food,34.37 +Food,19.21 +Food,25.35 +Housing,439.75 +Transport,59.75 +Food,50.87 +Leisure,55.56 +Leisure,28.94 +Food,79.64 +Transport,44.68 +Food,31.25 +Savings,135.50 +Food,26.03 +Food,44.67 +Food,23.28 +Transport,15.48 +Transport,18.62 +Savings,81.08 +Transport,9.77 +Health,37.05 +Food,56.82 +Leisure,56.01 +Transport,42.26 +Transport,3.96 +Transport,11.21 +Food,2.04 +Food,16.65 +Transport,29.83 +Transport,19.87 +Transport,59.32 +Transport,2.34 +Leisure,12.47 +Food,39.99 +Food,21.11 +Food,66.68 +Transport,2.35 +Housing,2556.14 +Health,67.69 +Transport,24.37 +Food,16.58 +Food,42.17 +Housing,634.54 +Food,41.51 +Transport,22.11 +Food,83.90 +Leisure,56.42 +Transport,21.93 +Transport,7.08 +Savings,60.96 +Food,36.79 +Food,75.56 +Housing,2075.70 +Housing,1222.85 +Food,14.31 +Food,14.35 +Transport,27.95 +Transport,39.61 +Food,24.39 +Food,69.06 +Leisure,97.57 +Health,81.63 +Food,10.40 +Food,21.21 +Transport,18.34 +Food,16.22 +Food,33.30 +Food,75.48 +Transport,15.00 +Food,8.65 +Leisure,17.06 +Leisure,25.45 +Health,68.25 +Transport,26.13 +Food,3.95 +Health,91.30 +Transport,74.28 +Leisure,23.08 +Leisure,41.57 +Savings,587.03 +Food,65.73 +Food,33.59 +Food,10.64 +Savings,330.00 +Leisure,13.69 +Food,52.66 +Food,47.34 +Transport,61.15 +Transport,11.91 +Housing,1065.13 +Food,63.35 +Food,16.22 +Transport,19.98 +Food,13.27 +Transport,43.23 +Food,86.96 +Food,15.67 +Transport,31.79 +Food,65.20 +Transport,18.83 +Transport,37.97 +Food,9.84 +Transport,30.70 +Leisure,19.67 +Food,86.33 +Transport,15.83 +Transport,50.95 +Leisure,35.06 +Savings,92.09 +Transport,46.46 +Food,12.13 +Savings,739.49 +Transport,68.80 +Food,33.71 +Transport,19.82 +Leisure,31.57 +Housing,1981.44 +Food,5.77 +Health,52.66 +Transport,34.93 +Food,19.23 +Food,72.63 +Food,75.04 +Transport,13.11 +Food,58.15 +Food,47.42 +Food,29.85 +Food,32.31 +Health,48.06 +Food,59.27 +Health,19.65 +Food,30.61 +Transport,10.26 +Health,16.01 +Food,48.26 +Transport,22.82 +Food,24.31 +Transport,5.05 +Food,39.37 +Transport,31.20 +Transport,18.94 +Savings,866.40 +Transport,16.28 +Food,49.13 +Transport,23.34 +Leisure,43.06 +Transport,43.69 +Food,45.05 +Food,34.92 +Food,43.94 +Food,39.90 +Food,41.66 +Food,13.98 +Transport,13.24 +Food,29.02 +Food,92.31 +Food,32.62 +Transport,19.20 +Transport,8.43 +Food,46.72 +Leisure,15.63 +Food,25.88 +Transport,25.30 +Food,16.17 +Food,14.65 +Food,31.95 +Health,27.58 +Leisure,70.35 +Food,12.55 +Food,6.31 +Transport,24.54 +Food,8.96 +Food,25.79 +Food,34.48 +Transport,15.46 +Food,93.72 +Leisure,12.18 +Transport,2.11 +Transport,6.19 +Food,51.31 +Food,10.85 +Food,31.75 +Transport,18.57 +Food,15.67 +Leisure,25.23 +Food,28.73 +Food,37.45 +Health,43.63 +Health,196.70 +Food,43.56 +Transport,5.98 +Food,18.70 +Food,9.76 +Food,28.40 +Health,66.46 +Food,24.52 +Transport,47.42 +Food,51.86 +Food,99.48 +Food,154.84 +Health,142.43 +Food,22.47 +Food,67.17 +Food,39.84 +Health,114.11 +Food,37.79 +Food,47.61 +Food,19.74 +Transport,8.94 +Food,20.59 +Housing,728.84 +Health,26.99 +Food,14.03 +Food,25.58 +Transport,26.51 +Food,32.97 +Savings,358.63 +Transport,4.18 +Food,9.53 +Transport,32.97 +Food,29.60 +Leisure,27.56 +Transport,16.54 +Food,8.93 +Health,88.24 +Food,29.39 +Leisure,44.52 +Food,13.93 +Health,252.30 +Health,41.89 +Food,60.49 +Leisure,11.17 +Food,18.14 +Savings,382.63 +Transport,30.27 +Transport,7.52 +Transport,28.14 +Transport,16.07 +Food,38.04 +Health,49.83 +Transport,12.49 +Transport,3.48 +Transport,7.26 +Food,19.72 +Transport,8.38 +Transport,20.54 +Leisure,33.90 +Transport,22.27 +Leisure,16.67 +Food,73.10 +Food,8.80 +Transport,26.01 +Transport,9.65 +Leisure,51.39 +Food,33.23 +Transport,11.91 +Transport,55.10 +Savings,699.72 +Transport,25.34 +Transport,40.39 +Food,96.01 +Leisure,50.04 +Food,54.86 +Food,56.29 +Savings,167.10 +Savings,40.89 +Leisure,60.90 +Transport,36.19 +Food,4.21 +Food,27.35 +Transport,37.78 +Transport,32.43 +Food,6.11 +Transport,5.80 +Transport,55.12 +Transport,26.19 +Transport,26.88 +Food,11.63 +Food,11.55 +Food,17.67 +Food,42.38 +Transport,64.49 +Food,20.92 +Transport,20.50 +Transport,14.49 +Health,41.99 +Transport,54.00 +Food,14.22 +Food,98.14 +Leisure,92.94 +Transport,47.71 +Leisure,12.36 +Leisure,8.95 +Transport,21.34 +Leisure,18.29 +Food,15.58 +Food,13.52 +Food,23.45 +Transport,15.22 +Leisure,21.90 +Food,4.40 +Food,18.43 +Health,31.45 +Food,14.43 +Health,46.07 +Leisure,11.58 +Savings,118.54 +Transport,34.65 +Transport,29.38 +Transport,14.48 +Food,40.71 +Health,55.18 +Transport,25.54 +Food,64.56 +Transport,28.42 +Leisure,35.96 +Food,9.26 +Food,58.64 +Transport,8.37 +Food,40.21 +Transport,15.85 +Transport,20.68 +Leisure,23.16 +Leisure,87.37 +Transport,26.86 +Leisure,63.35 +Food,8.81 +Food,17.69 +Food,31.18 +Health,201.22 +Savings,97.05 +Transport,2.81 +Food,40.77 +Transport,27.33 +Food,45.28 +Transport,8.13 +Savings,258.80 +Transport,39.08 +Health,35.09 +Food,11.94 +Savings,31.58 +Food,82.98 +Leisure,11.09 +Transport,15.98 +Leisure,39.40 +Food,50.37 +Transport,22.39 +Food,27.99 +Food,55.18 +Transport,15.60 +Transport,1.93 +Food,5.18 +Food,75.14 +Food,10.01 +Food,49.02 +Food,26.39 +Transport,5.69 +Food,35.32 +Housing,1593.22 +Savings,733.12 +Food,14.80 +Leisure,49.43 +Food,4.82 +Transport,37.28 +Food,17.04 +Food,39.64 +Leisure,89.92 +Food,40.48 +Transport,1.66 +Food,4.39 +Leisure,41.22 +Food,39.24 +Transport,13.08 +Food,37.56 +Food,66.56 +Food,28.56 +Food,40.22 +Food,20.12 +Transport,23.19 +Food,42.36 +Transport,6.93 +Transport,31.68 +Leisure,45.18 +Transport,50.59 +Food,11.99 +Housing,309.97 +Leisure,24.73 +Transport,29.29 +Leisure,68.13 +Food,26.77 +Transport,60.50 +Food,20.39 +Leisure,73.06 +Food,47.25 +Food,118.92 +Food,18.37 +Food,6.74 +Food,41.84 +Leisure,42.20 +Food,26.44 +Food,94.36 +Food,11.83 +Food,19.39 +Food,58.81 +Food,8.58 +Food,5.43 +Leisure,90.57 +Food,17.45 +Food,8.49 +Savings,468.10 +Transport,15.93 +Food,28.87 +Transport,25.94 +Food,14.49 +Transport,1.42 +Food,46.52 +Food,11.69 +Housing,2087.28 +Transport,46.04 +Food,55.38 +Transport,8.77 +Health,117.41 +Leisure,34.01 +Transport,21.07 +Food,16.57 +Savings,60.98 +Food,11.15 +Housing,2091.25 +Leisure,57.02 +Savings,261.13 +Health,33.57 +Food,56.03 +Leisure,25.85 +Food,85.21 +Transport,24.37 +Food,125.40 +Food,28.89 +Transport,21.26 +Health,12.14 +Health,35.51 +Leisure,78.43 +Food,7.14 +Food,70.92 +Leisure,103.62 +Food,46.67 +Savings,621.63 +Leisure,71.86 +Leisure,13.98 +Food,12.52 +Transport,13.96 +Transport,51.18 +Transport,13.01 +Food,79.73 +Leisure,13.21 +Leisure,4.26 +Savings,1250.90 +Leisure,57.95 +Leisure,56.82 +Food,77.21 +Transport,11.95 +Transport,41.27 +Food,40.47 +Leisure,67.19 +Housing,1045.74 +Food,6.10 +Health,107.35 +Transport,30.06 +Transport,4.07 +Food,29.29 +Transport,4.30 +Transport,21.44 +Transport,11.47 +Transport,10.54 +Transport,32.69 +Leisure,31.79 +Transport,26.79 +Food,43.32 +Transport,28.27 +Food,92.97 +Food,31.65 +Transport,30.64 +Food,69.25 +Transport,60.50 +Transport,18.47 +Transport,58.56 +Food,22.67 +Transport,13.33 +Health,167.81 +Transport,41.80 +Food,3.70 +Transport,45.04 +Housing,666.13 +Health,49.83 +Savings,76.96 +Health,8.97 +Food,22.67 +Food,14.14 +Transport,11.02 +Transport,18.66 +Transport,72.75 +Housing,848.16 +Transport,24.29 +Food,38.11 +Food,19.82 +Food,34.50 +Transport,9.17 +Transport,15.98 +Food,56.98 +Health,6.42 +Food,29.68 +Food,16.13 +Health,46.55 +Food,11.29 +Transport,13.76 +Food,27.31 +Food,41.30 +Transport,7.90 +Food,97.52 +Food,78.93 +Leisure,24.27 +Transport,36.96 +Savings,602.63 +Health,91.94 +Transport,55.39 +Transport,24.94 +Food,15.91 +Leisure,52.00 +Transport,13.32 +Food,24.14 +Transport,7.05 +Transport,19.69 +Food,8.58 +Leisure,118.74 +Transport,8.55 +Transport,32.92 +Health,119.39 +Food,35.76 +Housing,537.23 +Health,42.66 +Food,61.41 +Food,35.98 +Food,45.75 +Transport,41.04 +Transport,9.19 +Food,28.14 +Leisure,162.34 +Food,21.95 +Transport,12.93 +Food,2.43 +Food,11.37 +Transport,24.23 +Leisure,16.27 +Leisure,31.94 +Food,14.06 +Transport,16.18 +Food,37.56 +Transport,21.18 +Food,116.84 +Food,27.50 +Food,28.16 +Transport,26.14 +Transport,5.45 +Food,22.06 +Food,39.28 +Transport,17.49 +Leisure,16.72 +Transport,6.63 +Transport,37.69 +Food,50.34 +Transport,16.80 +Transport,12.81 +Leisure,86.52 +Food,83.31 +Health,16.69 +Transport,19.45 +Food,34.99 +Health,79.62 +Food,32.03 +Leisure,20.84 +Health,41.30 +Transport,13.63 +Savings,167.28 +Food,23.30 +Transport,22.14 +Health,101.97 +Food,43.15 +Transport,17.68 +Health,7.63 +Transport,9.72 +Leisure,9.19 +Food,13.70 +Savings,313.15 +Transport,3.37 +Savings,146.84 +Food,16.31 +Food,46.60 +Food,65.16 +Transport,17.15 +Transport,1.80 +Food,17.79 +Transport,35.29 +Health,86.07 +Leisure,1.88 +Food,35.71 +Food,59.49 +Transport,18.95 +Food,11.47 +Food,64.22 +Health,16.96 +Transport,10.16 +Food,70.42 +Transport,17.88 +Food,48.70 +Transport,18.02 +Food,10.30 +Transport,16.00 +Transport,48.66 +Food,42.46 +Food,20.30 +Transport,28.60 +Leisure,39.64 +Transport,12.71 +Transport,66.47 +Food,86.20 +Health,28.16 +Leisure,50.87 +Food,85.22 +Leisure,62.83 +Food,28.56 +Food,36.79 +Transport,16.78 +Transport,23.63 +Transport,21.61 +Transport,29.61 +Leisure,4.06 +Health,207.32 +Food,128.54 +Food,71.66 +Food,76.93 +Food,42.16 +Transport,5.04 +Food,32.52 +Transport,44.40 +Food,38.11 +Transport,5.08 +Transport,22.68 +Food,19.88 +Transport,16.38 +Transport,32.48 +Transport,43.81 +Housing,1141.70 +Food,46.38 +Leisure,21.34 +Leisure,96.95 +Food,120.50 +Leisure,24.17 +Leisure,41.35 +Health,98.93 +Savings,558.24 +Health,112.45 +Food,38.15 +Food,9.12 +Food,26.11 +Health,15.92 +Food,166.90 +Savings,102.57 +Food,19.31 +Transport,15.68 +Housing,743.86 +Transport,21.10 +Transport,33.25 +Leisure,12.63 +Food,95.97 +Housing,750.99 +Food,2.88 +Food,18.70 +Transport,23.85 +Food,50.09 +Food,20.33 +Food,36.57 +Food,44.52 +Savings,55.81 +Transport,9.71 +Food,18.10 +Leisure,74.48 +Food,9.44 +Leisure,20.50 +Food,88.23 +Leisure,29.76 +Food,27.24 +Transport,38.29 +Food,6.35 +Housing,560.89 +Transport,10.29 +Leisure,19.46 +Transport,55.80 +Transport,21.40 +Transport,13.83 +Food,8.82 +Transport,28.08 +Transport,18.78 +Health,44.98 +Transport,18.48 +Food,35.87 +Food,47.81 +Food,52.34 +Health,46.92 +Transport,9.78 +Food,25.85 +Food,39.07 +Food,47.65 +Leisure,80.04 +Leisure,54.21 +Food,46.74 +Housing,2235.70 +Transport,48.82 +Food,90.33 +Food,13.48 +Transport,23.56 +Transport,56.98 +Food,30.27 +Leisure,27.73 +Food,21.55 +Transport,32.38 +Food,119.52 +Food,38.53 +Health,64.90 +Housing,1311.10 +Transport,5.86 +Food,19.19 +Leisure,22.35 +Savings,293.02 +Transport,5.03 +Housing,1712.94 +Transport,4.77 +Leisure,29.21 +Transport,10.26 +Transport,26.63 +Leisure,24.57 +Transport,69.04 +Leisure,23.66 +Transport,24.92 +Food,22.83 +Transport,41.47 +Transport,24.11 +Transport,10.75 +Leisure,24.99 +Food,105.24 +Transport,37.27 +Food,28.96 +Food,97.13 +Food,19.33 +Food,31.43 +Food,8.68 +Savings,168.20 +Health,40.54 +Food,19.44 +Food,32.20 +Food,32.95 +Leisure,33.86 +Transport,24.20 +Leisure,13.59 +Leisure,47.56 +Savings,758.24 +Food,9.46 +Transport,18.26 +Food,6.88 +Leisure,123.53 +Transport,5.13 +Food,80.26 +Food,34.23 +Health,117.89 +Transport,8.93 +Transport,41.50 +Health,91.65 +Food,41.78 +Leisure,39.84 +Transport,7.04 +Transport,4.69 +Savings,27.21 +Leisure,5.02 +Transport,10.06 +Food,51.65 +Leisure,16.75 +Savings,415.51 +Transport,3.73 +Transport,14.17 +Food,23.48 +Transport,13.18 +Housing,612.95 +Transport,16.13 +Food,22.25 +Food,17.62 +Food,42.25 +Food,44.94 +Savings,378.23 +Food,42.61 +Health,270.58 +Leisure,45.93 +Transport,53.45 +Transport,18.93 +Transport,19.72 +Food,70.37 +Food,23.25 +Leisure,27.84 +Transport,24.33 +Savings,246.70 +Savings,823.52 +Transport,31.98 +Transport,14.40 +Health,20.66 +Transport,25.36 +Leisure,29.91 +Food,19.14 +Transport,4.18 +Leisure,59.33 +Housing,621.05 +Food,7.49 +Food,77.62 +Food,37.61 +Transport,35.89 +Transport,5.29 +Food,38.59 +Food,43.13 +Food,14.53 +Transport,14.79 +Transport,8.17 +Leisure,28.90 +Transport,37.32 +Transport,27.79 +Food,33.67 +Leisure,12.24 +Transport,13.63 +Transport,38.84 +Food,70.83 +Food,12.55 +Food,26.86 +Transport,18.65 +Transport,15.88 +Food,21.02 +Transport,12.74 +Food,9.88 +Leisure,92.16 +Food,50.00 +Transport,28.62 +Leisure,40.19 +Food,18.66 +Food,36.17 +Food,49.97 +Transport,24.82 +Housing,1155.26 +Transport,52.90 +Food,115.04 +Food,41.41 +Leisure,24.22 +Leisure,30.91 +Food,66.16 +Leisure,51.87 +Leisure,23.74 +Health,1.00 +Leisure,28.82 +Leisure,15.18 +Transport,9.62 +Food,33.20 +Health,120.98 +Transport,10.66 +Housing,1934.12 +Leisure,26.36 +Leisure,1.00 +Transport,15.78 +Transport,17.03 +Food,66.25 +Food,28.41 +Leisure,65.54 +Transport,12.13 +Leisure,50.17 +Savings,357.79 +Transport,17.95 +Health,63.53 +Transport,21.40 +Food,43.47 +Food,50.06 +Leisure,57.71 +Health,32.73 +Leisure,21.09 +Savings,408.71 +Transport,34.52 +Food,17.14 +Food,168.17 +Leisure,21.32 +Food,72.44 +Food,42.94 +Food,29.21 +Leisure,17.79 +Health,13.44 +Housing,1158.40 +Food,34.27 +Food,17.94 +Food,120.72 +Housing,737.97 +Transport,31.04 +Transport,14.90 +Leisure,41.70 +Transport,24.57 +Food,71.66 +Health,54.03 +Leisure,39.57 +Food,22.62 +Food,31.74 +Transport,45.28 +Transport,42.28 +Transport,39.51 +Transport,7.47 +Food,21.65 +Leisure,61.23 +Transport,7.37 +Housing,1217.82 +Transport,11.65 +Food,37.65 +Food,48.08 +Health,92.78 +Food,5.34 +Health,148.53 +Food,3.41 +Savings,155.58 +Transport,8.23 +Savings,160.27 +Transport,39.32 +Transport,62.19 +Food,8.65 +Transport,20.83 +Health,59.72 +Transport,30.88 +Housing,969.56 +Transport,5.36 +Food,29.90 +Transport,7.78 +Leisure,66.67 +Transport,59.11 +Leisure,32.64 +Transport,13.72 +Transport,19.40 +Leisure,128.02 +Leisure,14.46 +Transport,21.06 +Food,23.71 +Food,72.40 +Transport,12.47 +Leisure,30.30 +Leisure,4.20 +Food,30.03 +Transport,29.30 +Food,24.35 +Transport,7.64 +Housing,924.98 +Transport,4.69 +Leisure,36.66 +Transport,22.60 +Leisure,3.40 +Leisure,88.08 +Food,43.13 +Transport,22.38 +Transport,10.14 +Housing,1347.95 +Leisure,17.69 +Leisure,12.37 +Transport,10.19 +Transport,5.75 +Food,129.84 +Transport,34.20 +Leisure,43.63 +Transport,25.29 +Leisure,70.33 +Health,131.89 +Health,21.19 +Savings,251.64 +Housing,1392.79 +Health,26.18 +Transport,14.44 +Food,20.15 +Transport,33.23 +Transport,5.44 +Food,23.26 +Leisure,2.60 +Housing,794.42 +Food,32.61 +Food,4.21 +Housing,679.27 +Health,17.96 +Food,53.64 +Leisure,70.00 +Food,37.91 +Leisure,44.49 +Savings,159.68 +Transport,31.62 +Transport,16.45 +Transport,38.82 +Food,9.35 +Food,55.77 +Transport,86.62 +Food,71.27 +Transport,14.14 +Health,49.59 +Food,34.29 +Leisure,34.05 +Food,12.71 +Health,87.53 +Food,23.05 +Food,85.03 +Food,39.65 +Food,19.90 +Food,32.57 +Transport,38.13 +Leisure,73.03 +Transport,25.19 +Food,89.38 +Food,13.44 +Housing,1094.76 +Transport,19.99 +Leisure,17.21 +Housing,1635.09 +Food,49.35 +Food,70.60 +Transport,5.39 +Transport,8.48 +Health,29.42 +Savings,182.74 +Transport,15.41 +Food,98.32 +Transport,12.19 +Transport,13.53 +Transport,54.60 +Leisure,81.12 +Leisure,39.44 +Transport,21.24 +Transport,26.06 +Health,12.68 +Transport,12.80 +Food,18.65 +Transport,37.10 +Transport,11.05 +Leisure,43.09 +Food,21.28 +Transport,20.87 +Leisure,64.76 +Transport,68.46 +Leisure,13.15 +Food,35.28 +Leisure,37.58 +Food,81.24 +Food,34.97 +Transport,9.41 +Transport,20.94 +Food,28.74 +Food,37.18 +Transport,37.78 +Leisure,51.51 +Food,26.04 +Food,98.76 +Food,71.40 +Food,7.06 +Transport,32.70 +Food,46.87 +Savings,311.86 +Transport,19.54 +Food,2.17 +Transport,5.47 +Food,62.52 +Savings,585.19 +Savings,523.64 +Food,39.01 +Leisure,33.19 +Savings,46.40 +Transport,16.67 +Leisure,83.89 +Transport,13.49 +Food,69.23 +Transport,74.05 +Food,50.13 +Food,23.63 +Leisure,47.36 +Leisure,29.12 +Food,14.23 +Food,32.86 +Transport,12.16 +Housing,454.10 +Savings,896.21 +Transport,48.28 +Leisure,12.17 +Transport,40.60 +Food,62.61 +Food,25.90 +Transport,24.31 +Food,67.67 +Food,60.52 +Transport,15.78 +Leisure,17.14 +Food,37.50 +Food,9.67 +Leisure,65.84 +Food,44.92 +Housing,627.59 +Health,85.76 +Health,46.13 +Food,59.46 +Transport,6.70 +Housing,502.74 +Food,55.36 +Food,28.39 +Health,34.18 +Transport,11.45 +Transport,21.12 +Leisure,8.45 +Food,52.71 +Transport,39.60 +Food,20.46 +Leisure,76.87 +Food,44.79 +Transport,13.08 +Food,24.86 +Housing,1229.72 +Transport,25.51 +Food,30.83 +Leisure,16.42 +Leisure,90.58 +Leisure,56.67 +Food,46.60 +Transport,12.48 +Transport,5.23 +Housing,370.39 +Health,39.19 +Transport,36.80 +Health,10.70 +Transport,11.86 +Transport,9.80 +Leisure,88.80 +Food,66.99 +Food,30.13 +Housing,869.90 +Transport,12.48 +Food,26.06 +Leisure,79.98 +Leisure,46.75 +Housing,660.74 +Food,30.09 +Health,7.12 +Food,14.76 +Food,58.06 +Transport,41.35 +Food,25.25 +Transport,10.83 +Food,20.16 +Housing,320.41 +Transport,7.50 +Savings,176.74 +Transport,49.15 +Transport,24.10 +Transport,47.47 +Leisure,8.58 +Savings,191.31 +Transport,68.78 +Leisure,28.22 +Health,97.11 +Food,23.61 +Food,30.35 +Transport,37.87 +Leisure,50.73 +Transport,37.51 +Food,28.67 +Food,12.37 +Leisure,27.52 +Leisure,40.04 +Leisure,82.25 +Leisure,89.38 +Food,12.48 +Transport,11.21 +Transport,35.95 +Leisure,17.62 +Transport,11.60 +Food,26.13 +Transport,8.10 +Transport,11.24 +Housing,262.19 +Food,6.84 +Food,26.21 +Transport,14.46 +Housing,75.71 +Transport,22.61 +Food,11.05 +Transport,37.20 +Transport,21.80 +Transport,5.43 +Leisure,51.47 +Leisure,31.48 +Transport,11.53 +Transport,6.44 +Transport,22.55 +Food,106.11 +Transport,41.23 +Housing,1349.22 +Food,50.51 +Food,32.01 +Savings,416.66 +Health,90.33 +Savings,153.14 +Transport,46.44 +Health,7.60 +Food,80.66 +Leisure,83.25 +Leisure,15.00 +Food,121.82 +Food,28.98 +Housing,389.51 +Food,71.41 +Housing,2268.50 +Transport,28.05 +Housing,509.36 +Savings,436.52 +Housing,736.77 +Leisure,46.16 +Transport,15.94 +Leisure,74.06 +Transport,32.40 +Food,24.16 +Food,33.13 +Transport,50.48 +Food,106.52 +Leisure,36.72 +Transport,40.59 +Health,154.52 +Food,69.80 +Transport,49.11 +Transport,29.15 +Transport,20.93 +Food,4.81 +Health,87.24 +Health,112.35 +Food,64.57 +Food,119.05 +Food,53.72 +Savings,407.13 +Food,18.60 +Leisure,40.26 +Transport,45.97 +Food,41.33 +Transport,28.34 +Housing,184.43 +Health,88.57 +Food,10.61 +Health,23.12 +Food,5.70 +Food,37.66 +Leisure,58.89 +Transport,15.45 +Food,12.45 +Transport,8.33 +Transport,50.55 +Food,24.87 +Transport,7.41 +Food,134.47 +Food,62.88 +Leisure,66.76 +Food,22.50 +Transport,14.75 +Transport,5.92 +Housing,369.00 +Health,150.06 +Food,50.25 +Leisure,20.15 +Health,43.59 +Transport,51.56 +Transport,48.84 +Health,109.13 +Food,23.47 +Leisure,26.12 +Food,15.10 +Food,6.86 +Food,44.19 +Transport,4.04 +Leisure,38.15 +Transport,6.30 +Food,1.00 +Savings,98.47 +Food,8.08 +Leisure,34.07 +Food,20.95 +Transport,6.19 +Transport,5.33 +Leisure,33.05 +Transport,12.35 +Transport,51.58 +Leisure,18.12 +Food,32.47 +Food,109.11 +Transport,45.70 +Health,49.26 +Food,17.74 +Health,79.54 +Health,46.24 +Savings,361.32 +Transport,32.55 +Transport,49.08 +Savings,518.65 +Transport,39.77 +Food,75.34 +Food,16.43 +Leisure,22.09 +Food,14.96 +Leisure,24.12 +Housing,988.84 +Food,67.40 +Leisure,70.61 +Food,28.72 +Transport,7.04 +Food,43.48 +Transport,40.75 +Transport,37.34 +Transport,28.90 +Transport,19.72 +Food,54.78 +Transport,11.27 +Health,21.21 +Food,22.86 +Transport,26.77 +Leisure,53.72 +Transport,27.55 +Food,49.46 +Food,19.28 +Food,36.75 +Savings,164.31 +Food,15.15 +Transport,4.81 +Leisure,54.60 +Food,9.23 +Food,12.44 +Food,49.05 +Health,94.09 +Food,13.02 +Food,10.81 +Transport,16.36 +Transport,4.13 +Transport,16.54 +Transport,10.73 +Leisure,19.91 +Transport,9.87 +Transport,51.70 +Transport,26.31 +Food,78.89 +Health,81.98 +Housing,450.18 +Food,71.99 +Food,27.13 +Food,34.00 +Food,47.61 +Food,9.15 +Food,52.73 +Transport,17.01 +Transport,18.49 +Savings,233.88 +Health,97.36 +Transport,10.75 +Savings,58.02 +Leisure,52.49 +Food,32.04 +Food,17.97 +Transport,42.12 +Leisure,71.98 +Health,147.91 +Food,44.83 +Food,40.38 +Transport,22.84 +Transport,25.03 +Food,28.09 +Transport,21.86 +Transport,27.53 +Food,96.09 +Transport,1.00 +Leisure,10.77 +Food,29.27 +Transport,25.14 +Food,7.45 +Food,66.31 +Health,82.94 +Savings,245.32 +Health,117.16 +Food,43.79 +Leisure,33.79 +Transport,16.11 +Leisure,53.05 +Leisure,42.92 +Transport,7.53 +Transport,29.52 +Food,37.12 +Food,89.39 +Transport,5.66 +Transport,43.48 +Food,72.19 +Transport,9.33 +Health,7.48 +Health,107.50 +Transport,56.76 +Leisure,35.10 +Transport,46.40 +Transport,15.83 +Transport,18.94 +Transport,4.91 +Transport,28.84 +Leisure,60.06 +Food,1.95 +Leisure,10.67 +Food,62.01 +Food,17.65 +Food,70.28 +Leisure,35.25 +Leisure,44.54 +Transport,53.38 +Transport,9.79 +Transport,37.81 +Health,146.72 +Food,35.32 +Transport,49.21 +Transport,21.66 +Food,107.79 +Transport,4.67 +Food,28.47 +Leisure,8.84 +Food,16.97 +Food,37.51 +Food,99.26 +Health,26.59 +Health,45.41 +Housing,509.37 +Food,38.98 +Transport,22.40 +Food,20.50 +Food,37.60 +Food,27.25 +Housing,618.23 +Transport,7.72 +Food,49.27 +Food,20.86 +Food,3.15 +Transport,26.22 +Transport,16.93 +Food,14.07 +Food,14.66 +Housing,403.82 +Leisure,144.84 +Housing,222.30 +Transport,5.18 +Transport,16.92 +Food,59.30 +Transport,3.15 +Transport,30.07 +Food,103.69 +Transport,17.16 +Transport,23.06 +Food,23.96 +Leisure,47.06 +Transport,14.64 +Food,104.49 +Leisure,89.73 +Housing,2026.10 +Transport,19.41 +Transport,15.98 +Transport,22.12 +Food,33.58 +Food,36.69 +Transport,40.28 +Food,189.69 +Food,7.66 +Food,37.97 +Food,21.85 +Food,20.78 +Food,43.79 +Transport,45.86 +Housing,60.53 +Transport,12.57 +Leisure,11.31 +Transport,36.80 +Health,38.80 +Leisure,37.02 +Transport,25.09 +Leisure,55.63 +Leisure,73.52 +Transport,22.93 +Food,15.39 +Food,18.79 +Food,44.72 +Transport,17.49 +Food,60.29 +Leisure,7.61 +Food,18.90 +Transport,9.48 +Savings,164.92 +Food,50.37 +Housing,319.86 +Transport,25.45 +Transport,14.56 +Health,115.30 +Transport,12.84 +Transport,26.49 +Transport,9.82 +Food,23.85 +Leisure,47.75 +Leisure,55.72 +Health,17.10 +Health,40.70 +Transport,16.12 +Health,61.15 +Food,98.63 +Food,40.86 +Health,41.80 +Leisure,49.98 +Transport,19.13 +Health,51.14 +Food,19.41 +Food,9.39 +Food,43.97 +Health,44.73 +Savings,284.24 +Food,2.79 +Food,33.58 +Health,52.29 +Transport,60.11 +Transport,11.71 +Health,29.99 +Leisure,11.21 +Food,34.07 +Food,61.11 +Savings,267.21 +Leisure,34.48 +Food,64.92 +Health,36.66 +Leisure,61.80 +Transport,14.61 +Leisure,94.60 +Transport,19.63 +Food,44.12 +Food,16.29 +Food,24.60 +Health,5.92 +Health,63.03 +Transport,10.44 +Food,147.49 +Transport,51.42 +Transport,13.97 +Food,29.45 +Food,16.34 +Transport,4.59 +Health,49.51 +Transport,2.27 +Transport,29.23 +Food,43.60 +Transport,30.51 +Transport,21.97 +Food,35.60 +Food,25.50 +Food,47.83 +Housing,357.51 +Transport,25.21 +Housing,1863.67 +Food,46.93 +Food,24.10 +Leisure,30.06 +Transport,43.21 +Food,20.22 +Transport,24.60 +Food,7.60 +Transport,19.25 +Transport,6.02 +Transport,5.60 +Transport,15.06 +Health,251.63 +Leisure,59.91 +Food,31.10 +Transport,18.53 +Transport,52.68 +Food,13.35 +Food,23.20 +Leisure,25.56 +Transport,6.19 +Savings,161.76 +Transport,21.99 +Health,52.32 +Food,6.00 +Transport,12.82 +Transport,79.18 +Leisure,42.22 +Savings,436.59 +Transport,18.96 +Food,64.78 +Transport,14.41 +Food,33.63 +Leisure,82.34 +Health,109.85 +Food,39.36 +Transport,80.47 +Leisure,26.36 +Food,22.04 +Transport,30.82 +Transport,7.89 +Food,76.01 +Food,54.72 +Transport,30.20 +Transport,41.22 +Transport,52.18 +Leisure,48.56 +Food,98.97 +Transport,25.39 +Leisure,41.67 +Food,26.17 +Transport,46.07 +Transport,24.23 +Transport,31.21 +Transport,8.37 +Food,45.24 +Transport,20.66 +Food,24.79 +Transport,10.89 +Food,18.35 +Food,70.00 +Savings,218.26 +Transport,19.55 +Leisure,18.94 +Transport,21.46 +Savings,113.35 +Leisure,9.38 +Food,11.74 +Transport,21.19 +Food,25.79 +Food,61.07 +Food,43.96 +Housing,985.54 +Savings,59.69 +Transport,32.99 +Leisure,34.98 +Food,23.25 +Leisure,10.64 +Food,79.15 +Transport,24.34 +Food,8.92 +Transport,6.86 +Food,18.03 +Food,72.10 +Food,12.95 +Food,77.41 +Transport,27.93 +Transport,17.28 +Health,61.11 +Savings,369.51 +Health,107.70 +Transport,24.33 +Food,20.16 +Savings,247.98 +Food,34.99 +Food,13.52 +Transport,25.65 +Food,32.06 +Housing,320.76 +Transport,7.88 +Leisure,16.17 +Health,143.28 +Food,58.32 +Housing,327.14 +Food,18.05 +Health,52.86 +Food,27.49 +Transport,24.82 +Transport,48.81 +Transport,64.13 +Transport,17.73 +Transport,5.10 +Transport,13.38 +Food,17.60 +Leisure,26.92 +Savings,220.49 +Food,37.33 +Health,129.38 +Food,25.58 +Health,94.46 +Transport,10.72 +Transport,16.89 +Leisure,16.84 +Leisure,77.55 +Leisure,34.02 +Leisure,4.48 +Leisure,67.71 +Leisure,56.53 +Food,61.31 +Leisure,54.95 +Food,9.72 +Savings,186.29 +Transport,21.31 +Leisure,28.49 +Leisure,82.67 +Leisure,26.15 +Food,113.79 +Food,36.93 +Transport,36.62 +Food,77.12 +Savings,149.90 +Transport,6.53 +Transport,5.30 +Transport,6.11 +Savings,268.24 +Food,12.48 +Transport,25.94 +Leisure,1.00 +Health,104.23 +Leisure,58.42 +Savings,347.52 +Transport,57.08 +Transport,111.71 +Savings,305.83 +Transport,19.34 +Health,38.49 +Transport,34.09 +Food,99.53 +Transport,44.62 +Transport,19.32 +Transport,19.74 +Food,8.01 +Food,5.97 +Transport,19.05 +Food,47.92 +Transport,30.33 +Leisure,52.51 +Food,35.40 +Health,65.09 +Leisure,61.24 +Transport,39.83 +Transport,4.20 +Food,49.11 +Transport,44.07 +Food,42.87 +Food,7.66 +Transport,16.55 +Food,61.82 +Food,28.45 +Food,46.16 +Housing,1916.07 +Health,36.47 +Transport,16.92 +Food,22.91 +Housing,390.67 +Transport,14.35 +Transport,14.98 +Food,17.05 +Transport,73.86 +Leisure,50.75 +Transport,12.09 +Food,41.30 +Transport,14.63 +Food,19.82 +Health,56.73 +Transport,8.77 +Transport,11.58 +Food,79.42 +Food,39.60 +Food,90.06 +Food,13.29 +Transport,85.06 +Housing,644.77 +Savings,201.07 +Leisure,56.26 +Transport,8.05 +Food,31.23 +Transport,33.96 +Transport,6.87 +Health,51.15 +Health,28.55 +Transport,20.24 +Leisure,31.27 +Food,46.67 +Leisure,63.23 +Food,123.54 +Transport,5.68 +Leisure,14.69 +Food,99.05 +Leisure,22.92 +Food,5.58 +Food,29.66 +Food,35.94 +Transport,9.48 +Transport,3.04 +Leisure,13.96 +Food,63.82 +Transport,24.67 +Leisure,7.66 +Transport,41.16 +Food,7.24 +Savings,430.69 +Transport,46.82 +Food,36.71 +Transport,26.38 +Housing,523.47 +Transport,20.05 +Leisure,10.35 +Transport,8.83 +Food,34.25 +Transport,27.76 +Transport,15.90 +Food,26.95 +Food,31.91 +Leisure,16.20 +Food,45.83 +Transport,11.77 +Transport,64.95 +Transport,20.59 +Food,51.81 +Transport,6.13 +Transport,32.05 +Health,28.92 +Housing,1234.93 +Transport,36.82 +Transport,24.79 +Food,64.32 +Food,59.60 +Food,27.36 +Food,6.63 +Health,150.61 +Food,52.71 +Savings,132.73 +Food,62.73 +Food,25.17 +Transport,8.14 +Transport,16.18 +Food,30.03 +Leisure,28.51 +Food,46.67 +Transport,55.80 +Food,13.77 +Food,75.92 +Leisure,53.48 +Leisure,33.67 +Food,16.53 +Transport,19.68 +Food,12.29 +Food,62.18 +Food,84.11 +Leisure,40.72 +Leisure,85.70 +Food,25.78 +Food,44.73 +Leisure,19.26 +Leisure,72.79 +Savings,42.30 +Food,66.26 +Food,69.76 +Leisure,126.33 +Health,50.17 +Transport,23.98 +Food,52.40 +Transport,33.95 +Transport,21.37 +Food,53.51 +Transport,16.28 +Food,90.73 +Food,14.84 +Leisure,46.90 +Transport,10.13 +Transport,48.01 +Food,53.54 +Food,30.90 +Food,10.96 +Savings,107.89 +Transport,9.02 +Transport,40.13 +Transport,14.95 +Leisure,114.85 +Transport,28.36 +Transport,62.36 +Food,89.22 +Transport,6.26 +Transport,35.38 +Transport,15.46 +Food,98.59 +Food,32.59 +Health,14.69 +Leisure,68.99 +Transport,30.24 +Food,20.75 +Health,15.96 +Housing,841.99 +Transport,37.44 +Leisure,19.62 +Food,24.84 +Health,45.27 +Transport,32.33 +Food,62.88 +Housing,936.60 +Transport,36.03 +Food,44.74 +Savings,643.44 +Food,34.18 +Transport,24.22 +Transport,4.75 +Food,40.80 +Leisure,85.79 +Food,15.00 +Food,23.35 +Housing,992.24 +Food,68.02 +Transport,6.77 +Food,83.40 +Leisure,34.15 +Food,22.25 +Health,96.38 +Transport,9.50 +Transport,17.10 +Transport,13.31 +Transport,21.29 +Food,16.21 +Food,23.32 +Food,19.10 +Food,28.72 +Food,51.55 +Leisure,5.88 +Food,60.90 +Transport,25.28 +Leisure,18.60 +Transport,4.48 +Transport,38.37 +Food,15.86 +Food,21.84 +Savings,176.96 +Health,114.17 +Health,24.02 +Food,38.80 +Transport,25.39 +Food,15.44 +Food,22.01 +Food,40.74 +Transport,36.62 +Food,29.02 +Transport,27.06 +Leisure,26.22 +Food,20.40 +Leisure,63.82 +Savings,60.75 +Food,21.96 +Food,57.39 +Transport,14.44 +Transport,21.76 +Food,17.81 +Food,86.82 +Transport,4.01 +Food,74.59 +Transport,7.69 +Food,14.86 +Food,54.16 +Health,127.37 +Leisure,20.09 +Transport,1.86 +Health,97.95 +Transport,42.17 +Transport,10.93 +Transport,23.43 +Food,36.98 +Transport,14.14 +Food,29.59 +Transport,7.65 +Food,25.42 +Food,18.45 +Savings,408.52 +Transport,15.10 +Food,26.20 +Leisure,22.70 +Food,35.50 +Transport,1.74 +Food,6.05 +Food,26.75 +Transport,21.08 +Leisure,4.83 +Transport,18.61 +Transport,26.36 +Transport,22.79 +Transport,5.22 +Transport,1.18 +Transport,27.35 +Transport,27.69 +Health,9.77 +Food,18.50 +Housing,67.80 +Transport,27.59 +Food,94.16 +Transport,46.52 +Leisure,47.51 +Food,11.24 +Food,112.32 +Transport,25.73 +Food,3.93 +Health,26.97 +Food,28.54 +Food,52.12 +Food,79.64 +Transport,20.50 +Leisure,45.51 +Leisure,26.38 +Food,23.04 +Food,11.00 +Food,13.06 +Leisure,17.46 +Food,16.08 +Leisure,39.27 +Transport,14.75 +Transport,26.11 +Transport,43.64 +Food,9.67 +Food,25.31 +Food,13.75 +Food,47.14 +Leisure,139.72 +Health,21.27 +Transport,18.75 +Food,8.32 +Transport,6.41 +Transport,46.05 +Savings,563.46 +Transport,12.65 +Food,11.96 +Health,31.61 +Food,12.86 +Health,64.03 +Health,165.74 +Transport,7.43 +Food,49.98 +Housing,897.59 +Savings,152.64 +Savings,763.34 +Food,28.52 +Transport,5.48 +Savings,73.57 +Food,39.46 +Food,35.77 +Food,99.73 +Food,44.28 +Transport,52.14 +Transport,23.62 +Food,105.81 +Food,60.90 +Food,21.22 +Transport,14.28 +Food,33.09 +Transport,32.74 +Food,78.52 +Transport,45.02 +Transport,19.87 +Health,12.74 +Leisure,23.10 +Food,17.49 +Transport,14.14 +Savings,117.66 +Transport,44.36 +Leisure,101.34 +Savings,222.89 +Food,70.34 +Transport,22.93 +Transport,10.56 +Transport,8.08 +Leisure,39.30 +Transport,5.62 +Food,4.67 +Transport,14.85 +Savings,502.39 +Transport,20.85 +Food,9.89 +Food,63.39 +Transport,8.80 +Transport,21.39 +Transport,14.59 +Food,16.72 +Leisure,20.89 +Transport,9.61 +Food,25.38 +Health,67.63 +Food,109.64 +Transport,16.56 +Transport,11.49 +Health,15.72 +Food,32.21 +Food,24.59 +Leisure,48.65 +Leisure,66.39 +Food,49.51 +Transport,26.96 +Food,88.10 +Transport,21.21 +Food,19.99 +Health,48.46 +Food,6.98 +Food,87.78 +Transport,26.93 +Transport,23.41 +Food,39.53 +Transport,20.14 +Transport,28.11 +Food,22.11 +Food,42.11 +Transport,49.33 +Leisure,22.77 +Leisure,64.42 +Leisure,86.98 +Food,7.74 +Food,11.64 +Food,81.52 +Transport,2.50 +Leisure,20.23 +Transport,45.68 +Leisure,20.97 +Food,29.48 +Food,29.33 +Leisure,42.42 +Food,4.87 +Health,20.14 +Transport,27.50 +Transport,13.82 +Food,2.24 +Food,24.76 +Food,16.66 +Transport,7.36 +Transport,18.28 +Transport,34.16 +Food,19.92 +Transport,9.77 +Leisure,102.44 +Food,34.49 +Food,26.16 +Leisure,29.19 +Food,8.83 +Leisure,14.66 +Transport,14.00 +Transport,11.41 +Food,42.75 +Leisure,55.71 +Food,78.65 +Transport,31.17 +Transport,17.59 +Food,80.89 +Health,12.82 +Transport,17.90 +Leisure,73.37 +Food,57.92 +Leisure,31.91 +Transport,37.42 +Housing,315.59 +Leisure,14.86 +Food,23.96 +Food,69.68 +Transport,26.37 +Food,36.90 +Food,43.07 +Food,130.93 +Health,24.88 +Food,12.03 +Leisure,87.38 +Health,52.89 +Leisure,122.68 +Transport,17.93 +Food,16.66 +Leisure,28.35 +Transport,4.59 +Leisure,13.13 +Transport,39.25 +Transport,67.58 +Food,13.99 +Leisure,77.76 +Leisure,18.10 +Leisure,10.77 +Transport,18.53 +Health,20.00 +Transport,8.40 +Leisure,67.03 +Transport,8.89 +Health,38.53 +Food,8.90 +Housing,591.63 +Transport,38.41 +Transport,9.60 +Leisure,46.11 +Food,69.80 +Leisure,15.47 +Food,21.13 +Housing,1684.12 +Transport,84.17 +Food,49.71 +Transport,64.16 +Transport,31.53 +Leisure,7.78 +Food,59.94 +Food,80.50 +Food,75.35 +Food,5.15 +Leisure,62.30 +Food,12.81 +Food,54.42 +Transport,4.72 +Transport,19.79 +Leisure,12.96 +Transport,16.67 +Food,27.02 +Transport,24.71 +Leisure,97.60 +Food,37.64 +Food,54.24 +Food,70.22 +Transport,36.89 +Leisure,68.89 +Food,19.75 +Transport,27.06 +Health,32.88 +Transport,12.77 +Transport,4.50 +Leisure,26.57 +Transport,33.35 +Transport,10.38 +Transport,40.91 +Transport,2.88 +Transport,7.03 +Food,6.12 +Transport,11.71 +Leisure,88.79 +Transport,20.84 +Transport,10.73 +Food,47.03 +Transport,37.49 +Transport,1.93 +Leisure,31.26 +Food,79.04 +Food,31.63 +Food,31.34 +Transport,18.86 +Transport,103.13 +Transport,34.80 +Leisure,118.66 +Food,13.06 +Food,10.95 +Transport,8.15 +Transport,16.34 +Food,14.96 +Leisure,12.21 +Transport,18.54 +Food,27.34 +Food,12.34 +Food,16.89 +Transport,27.93 +Food,2.83 +Food,12.70 +Food,14.60 +Leisure,12.08 +Transport,4.34 +Savings,110.04 +Food,21.90 +Food,20.29 +Transport,27.21 +Food,53.00 +Food,14.03 +Health,9.05 +Transport,14.53 +Transport,39.98 +Housing,2240.41 +Leisure,56.73 +Transport,18.89 +Food,12.22 +Savings,94.83 +Transport,46.78 +Transport,26.25 +Health,24.23 +Transport,8.04 +Food,18.48 +Transport,7.40 +Transport,11.18 +Transport,43.63 +Transport,28.71 +Leisure,103.22 +Leisure,22.61 +Food,4.85 +Transport,17.98 +Food,21.34 +Transport,13.36 +Leisure,23.57 +Housing,878.80 +Transport,51.36 +Transport,42.33 +Food,11.55 +Housing,901.87 +Food,40.25 +Food,6.51 +Food,14.68 +Transport,13.38 +Leisure,14.95 +Food,62.50 +Food,24.34 +Transport,6.92 +Transport,39.00 +Leisure,41.99 +Food,149.79 +Food,57.67 +Transport,44.28 +Savings,292.60 +Food,15.11 +Leisure,59.20 +Food,99.00 +Food,2.61 +Food,29.08 +Housing,957.63 +Transport,43.21 +Food,60.38 +Leisure,92.17 +Transport,30.87 +Transport,18.48 +Health,40.60 +Food,36.15 +Food,20.79 +Food,20.49 +Transport,4.94 +Housing,65.99 +Leisure,2.65 +Food,68.32 +Food,25.72 +Leisure,54.52 +Food,20.90 +Food,33.00 +Housing,557.46 +Transport,83.42 +Food,1.87 +Food,66.16 +Transport,7.09 +Food,33.13 +Transport,6.06 +Transport,18.60 +Health,53.51 +Health,64.93 +Food,8.11 +Food,30.50 +Housing,740.55 +Food,23.73 +Leisure,47.34 +Transport,76.94 +Food,7.47 +Leisure,33.14 +Food,111.70 +Food,55.53 +Transport,28.94 +Leisure,43.76 +Leisure,2.53 +Transport,41.90 +Transport,25.75 +Leisure,84.99 +Leisure,49.93 +Leisure,16.37 +Food,79.48 +Health,64.87 +Food,26.88 +Transport,14.09 +Leisure,63.35 +Food,24.36 +Food,49.89 +Food,27.78 +Transport,16.41 +Food,85.25 +Transport,17.16 +Transport,1.71 +Leisure,11.33 +Food,48.52 +Food,36.72 +Savings,776.70 +Transport,42.95 +Leisure,33.77 +Health,177.33 +Food,35.63 +Transport,8.79 +Food,15.13 +Food,36.10 +Transport,19.22 +Transport,16.93 +Food,27.96 +Transport,31.94 +Health,69.33 +Transport,6.16 +Food,14.22 +Transport,24.91 +Housing,1517.71 +Leisure,61.91 +Leisure,10.88 +Leisure,9.48 +Food,36.23 +Food,29.20 +Health,105.74 +Transport,14.44 +Health,56.50 +Food,33.20 +Food,9.37 +Food,59.55 +Transport,15.14 +Transport,13.78 +Food,51.46 +Transport,28.51 +Food,24.16 +Transport,42.29 +Food,20.24 +Transport,13.22 +Transport,14.21 +Health,85.58 +Housing,222.64 +Food,38.04 +Food,26.91 +Transport,13.14 +Transport,15.30 +Housing,819.84 +Transport,6.25 +Leisure,32.48 +Transport,31.49 +Food,26.58 +Leisure,111.93 +Transport,7.20 +Leisure,80.99 +Transport,9.58 +Food,20.02 +Leisure,25.19 +Housing,742.76 +Food,11.70 +Transport,13.44 +Food,26.14 +Transport,16.09 +Transport,10.40 +Transport,13.93 +Health,129.99 +Transport,11.84 +Leisure,45.36 +Transport,45.39 +Transport,55.72 +Transport,63.14 +Transport,19.90 +Food,97.01 +Transport,38.27 +Transport,20.44 +Transport,19.82 +Food,16.49 +Transport,12.41 +Transport,20.77 +Health,104.76 +Food,33.15 +Transport,8.47 +Transport,21.11 +Food,29.72 +Food,96.86 +Food,53.42 +Health,153.28 +Savings,676.37 +Transport,21.86 +Transport,23.84 +Food,35.65 +Transport,24.39 +Health,19.42 +Food,16.12 +Housing,659.22 +Leisure,5.88 +Transport,26.39 +Food,55.67 +Food,44.53 +Food,167.08 +Transport,38.60 +Transport,34.07 +Transport,1.40 +Transport,93.53 +Food,13.99 +Food,31.03 +Food,14.50 +Transport,57.52 +Transport,56.39 +Food,22.78 +Leisure,33.93 +Food,9.93 +Food,1.51 +Housing,986.81 +Food,39.55 +Leisure,16.03 +Leisure,60.85 +Transport,17.25 +Transport,17.07 +Transport,52.68 +Leisure,24.95 +Transport,19.80 +Transport,24.80 +Leisure,49.03 +Leisure,22.57 +Food,36.55 +Leisure,84.01 +Transport,1.50 +Health,12.51 +Leisure,56.59 +Transport,20.20 +Savings,492.85 +Food,44.62 +Transport,10.15 +Transport,6.13 +Leisure,47.39 +Food,26.73 +Transport,86.12 +Transport,3.13 +Transport,28.88 +Transport,10.30 +Leisure,39.53 +Savings,229.54 +Food,23.40 +Transport,27.00 +Transport,15.99 +Leisure,14.98 +Food,14.17 +Transport,25.96 +Savings,569.13 +Transport,26.08 +Food,76.06 +Housing,1388.51 +Food,23.39 +Food,41.54 +Leisure,21.60 +Food,36.68 +Food,8.96 +Transport,28.19 +Food,22.51 +Food,35.71 +Leisure,19.49 +Food,60.44 +Leisure,29.36 +Leisure,41.76 +Savings,284.57 +Leisure,32.63 +Food,61.40 +Transport,11.29 +Transport,32.33 +Food,20.46 +Food,109.18 +Health,109.24 +Transport,23.77 +Transport,25.88 +Leisure,38.04 +Transport,6.82 +Food,72.46 +Food,41.23 +Health,37.66 +Leisure,62.00 +Food,77.21 +Health,30.18 +Housing,2577.01 +Transport,1.52 +Food,28.93 +Food,76.19 +Transport,21.51 +Transport,46.05 +Transport,31.51 +Savings,165.18 +Food,131.17 +Leisure,43.92 +Food,6.53 +Health,45.71 +Transport,2.61 +Transport,6.56 +Food,22.69 +Food,9.56 +Food,83.90 +Food,43.83 +Food,46.23 +Transport,18.78 +Food,48.89 +Food,87.90 +Food,86.86 +Food,31.34 +Housing,2787.64 +Savings,198.98 +Transport,18.01 +Food,145.83 +Leisure,104.60 +Transport,6.10 +Transport,11.49 +Transport,38.99 +Food,29.46 +Transport,37.34 +Health,42.18 +Leisure,15.86 +Transport,21.50 +Transport,13.23 +Transport,19.60 +Housing,1166.25 +Food,2.60 +Transport,34.99 +Transport,4.68 +Transport,20.46 +Food,93.72 +Leisure,9.22 +Food,55.29 +Leisure,12.18 +Food,14.29 +Transport,9.03 +Housing,443.11 +Leisure,15.97 +Health,180.55 +Transport,4.70 +Food,51.58 +Food,23.04 +Health,6.98 +Leisure,138.00 +Food,4.09 +Health,63.15 +Food,26.40 +Food,75.14 +Food,36.29 +Leisure,47.20 +Food,19.00 +Food,19.43 +Food,83.73 +Food,17.23 +Transport,4.03 +Leisure,70.46 +Food,32.67 +Food,9.96 +Food,13.15 +Food,15.27 +Leisure,40.23 +Transport,21.08 +Food,22.91 +Savings,89.12 +Food,74.55 +Leisure,24.55 +Transport,16.14 +Transport,34.45 +Leisure,45.49 +Food,25.64 +Transport,14.40 +Leisure,50.72 +Food,8.98 +Food,11.15 +Food,40.64 +Savings,449.22 +Food,71.47 +Transport,33.01 +Housing,671.78 +Transport,22.14 +Food,49.90 +Food,3.47 +Transport,76.35 +Food,27.27 +Health,93.06 +Food,28.90 +Transport,20.22 +Housing,610.79 +Transport,8.37 +Savings,323.12 +Food,9.32 +Health,68.25 +Transport,14.72 +Transport,17.36 +Leisure,8.48 +Leisure,28.58 +Leisure,93.09 +Food,10.07 +Transport,29.32 +Transport,15.01 +Savings,483.99 +Leisure,7.93 +Transport,20.80 +Food,47.69 +Food,44.42 +Transport,29.10 +Health,115.84 +Food,30.74 +Food,87.32 +Transport,24.20 +Food,39.17 +Food,17.11 +Transport,18.39 +Transport,32.39 +Food,60.31 +Leisure,24.43 +Leisure,53.32 +Food,101.07 +Food,11.78 +Leisure,20.42 +Food,47.83 +Transport,13.55 +Transport,12.72 +Transport,15.50 +Food,29.88 +Transport,4.10 +Food,114.28 +Leisure,44.38 +Food,81.62 +Leisure,42.74 +Leisure,41.77 +Transport,33.05 +Transport,6.78 +Transport,27.95 +Food,9.88 +Transport,40.32 +Transport,4.99 +Food,18.38 +Transport,30.36 +Leisure,69.91 +Food,25.56 +Food,8.53 +Transport,34.80 +Leisure,37.18 +Health,66.96 +Transport,33.60 +Transport,11.37 +Housing,1688.35 +Savings,139.09 +Transport,31.03 +Food,47.18 +Food,34.43 +Health,66.67 +Health,34.74 +Food,39.77 +Food,93.47 +Food,18.10 +Food,111.47 +Transport,18.40 +Transport,17.08 +Food,69.70 +Food,78.51 +Food,27.75 +Savings,379.86 +Transport,47.21 +Food,33.42 +Food,22.10 +Food,47.73 +Leisure,38.35 +Food,25.71 +Food,33.20 +Food,80.62 +Transport,8.90 +Food,22.95 +Transport,40.43 +Transport,1.32 +Transport,13.68 +Food,21.15 +Food,131.06 +Transport,19.89 +Food,50.30 +Transport,5.35 +Food,25.97 +Leisure,14.44 +Transport,18.87 +Food,17.14 +Health,93.88 +Transport,23.99 +Food,30.48 +Food,23.17 +Food,8.42 +Health,44.79 +Health,105.06 +Food,33.43 +Food,69.76 +Transport,61.94 +Food,45.51 +Food,23.84 +Food,46.17 +Leisure,31.34 +Food,17.54 +Health,62.78 +Food,6.59 +Food,15.31 +Food,26.72 +Food,1.52 +Transport,8.78 +Leisure,15.04 +Food,67.44 +Transport,16.00 +Transport,30.21 +Leisure,197.96 +Health,72.94 +Food,16.13 +Housing,555.51 +Leisure,100.05 +Food,42.88 +Transport,18.39 +Health,129.82 +Leisure,29.92 +Transport,27.31 +Health,51.67 +Food,38.60 +Transport,34.53 +Food,21.95 +Transport,26.04 +Health,30.79 +Transport,10.61 +Transport,9.16 +Food,12.37 +Leisure,53.78 +Health,53.57 +Transport,11.73 +Food,92.72 +Transport,8.51 +Transport,15.48 +Leisure,54.09 +Food,142.13 +Food,43.46 +Transport,19.09 +Transport,27.74 +Transport,24.72 +Transport,2.59 +Transport,13.37 +Food,25.37 +Leisure,29.05 +Transport,26.62 +Transport,9.21 +Transport,32.18 +Food,33.27 +Housing,340.35 +Health,109.78 +Transport,18.02 +Housing,1685.99 +Food,138.23 +Food,26.34 +Transport,24.41 +Food,10.35 +Food,32.65 +Transport,46.84 +Transport,12.44 +Food,14.86 +Transport,34.23 +Leisure,29.78 +Housing,39.42 +Transport,38.67 +Food,31.90 +Savings,304.49 +Food,48.80 +Food,7.72 +Leisure,20.98 +Housing,843.32 +Transport,49.65 +Health,131.51 +Food,16.53 +Food,20.80 +Food,9.20 +Transport,4.50 +Food,60.77 +Leisure,35.07 +Transport,32.32 +Food,44.14 +Health,30.14 +Health,101.51 +Transport,35.06 +Transport,53.35 +Food,4.17 +Transport,22.69 +Transport,24.19 +Transport,6.04 +Leisure,71.85 +Leisure,25.26 +Transport,43.73 +Transport,54.04 +Leisure,50.74 +Food,22.52 +Food,32.79 +Food,25.17 +Food,22.08 +Transport,27.74 +Transport,6.84 +Food,32.64 +Leisure,10.17 +Transport,20.81 +Food,30.66 +Food,45.08 +Food,50.75 +Transport,14.02 +Leisure,86.38 +Transport,25.53 +Food,38.40 +Food,65.68 +Savings,394.67 +Health,99.07 +Transport,2.13 +Transport,8.29 +Health,57.87 +Transport,22.02 +Food,22.68 +Housing,364.08 +Food,55.26 +Transport,10.57 +Health,22.06 +Leisure,14.61 +Food,4.29 +Leisure,5.05 +Food,92.35 +Food,73.67 +Transport,21.71 +Health,31.33 +Savings,317.13 +Food,29.69 +Food,35.69 +Food,38.64 +Food,21.62 +Leisure,26.76 +Food,13.35 +Leisure,23.06 +Food,48.35 +Leisure,38.42 +Transport,12.95 +Food,31.18 +Transport,38.61 +Transport,22.49 +Transport,9.32 +Food,56.01 +Savings,1314.59 +Transport,34.89 +Transport,20.69 +Food,21.27 +Health,92.83 +Transport,10.43 +Transport,11.50 +Food,12.39 +Health,48.52 +Transport,1.00 +Housing,1226.99 +Food,4.02 +Transport,6.57 +Leisure,32.56 +Leisure,57.76 +Food,13.63 +Food,34.48 +Transport,13.56 +Transport,21.16 +Food,25.00 +Food,5.98 +Food,80.77 +Savings,415.70 +Transport,19.60 +Food,61.50 +Health,7.30 +Food,24.02 +Food,67.41 +Transport,22.67 +Leisure,19.68 +Food,67.78 +Food,24.65 +Leisure,42.51 +Health,153.38 +Food,47.52 +Food,86.85 +Transport,22.23 +Food,36.76 +Food,5.28 +Transport,15.45 +Food,22.66 +Food,195.94 +Housing,745.92 +Food,21.16 +Transport,47.51 +Food,45.61 +Transport,28.89 +Food,55.20 +Food,16.11 +Food,28.56 +Transport,21.92 +Transport,15.39 +Health,39.99 +Leisure,14.02 +Transport,27.99 +Food,16.20 +Food,23.27 +Transport,34.05 +Food,33.30 +Health,14.89 +Food,34.56 +Food,11.77 +Health,109.13 +Savings,127.33 +Food,19.51 +Leisure,12.72 +Transport,13.99 +Transport,2.33 +Food,43.38 +Health,102.79 +Food,23.25 +Transport,30.06 +Savings,53.90 +Food,93.90 +Transport,26.98 +Health,143.98 +Leisure,54.68 +Transport,38.69 +Transport,55.97 +Food,16.92 +Food,9.81 +Leisure,23.26 +Leisure,57.28 +Transport,8.05 +Food,14.41 +Leisure,27.01 +Food,29.12 +Transport,21.87 +Food,39.46 +Transport,26.82 +Food,13.74 +Food,13.01 +Transport,32.00 +Leisure,65.03 +Food,52.14 +Housing,2000.29 +Food,9.86 +Food,44.63 +Housing,966.93 +Food,36.52 +Health,81.60 +Food,2.79 +Leisure,29.75 +Food,35.62 +Transport,19.86 +Food,30.61 +Transport,47.46 +Savings,156.33 +Food,38.98 +Health,21.43 +Leisure,97.83 +Food,17.33 +Transport,14.31 +Transport,27.63 +Transport,26.49 +Food,30.14 +Food,25.69 +Transport,32.50 +Leisure,9.94 +Food,33.84 +Leisure,12.83 +Food,71.84 +Food,33.28 +Transport,40.30 +Leisure,62.66 +Transport,25.60 +Transport,39.34 +Food,87.81 +Savings,144.05 +Savings,49.69 +Food,65.66 +Food,76.69 +Transport,23.01 +Health,89.13 +Transport,20.77 +Food,23.61 +Health,74.95 +Health,25.63 +Housing,639.29 +Transport,18.04 +Transport,3.15 +Transport,15.51 +Transport,15.44 +Food,5.17 +Food,8.97 +Transport,5.50 +Food,58.43 +Transport,14.88 +Food,29.28 +Food,33.50 +Transport,18.15 +Savings,244.71 +Health,61.65 +Transport,7.96 +Transport,18.43 +Health,58.28 +Health,30.48 +Transport,4.45 +Health,37.44 +Food,71.07 +Leisure,13.53 +Transport,26.87 +Transport,38.20 +Leisure,53.77 +Savings,239.13 +Transport,7.78 +Food,26.14 +Food,17.72 +Transport,29.43 +Food,17.96 +Food,31.39 +Food,32.88 +Leisure,25.11 +Food,34.29 +Savings,189.57 +Leisure,69.09 +Transport,33.00 +Food,12.04 +Leisure,67.96 +Transport,9.26 +Transport,35.32 +Transport,14.98 +Leisure,28.39 +Transport,29.56 +Housing,216.31 +Food,20.56 +Food,27.80 +Transport,104.98 +Transport,52.00 +Food,54.95 +Transport,18.65 +Transport,14.73 +Housing,416.48 +Leisure,9.32 +Food,61.95 +Transport,38.45 +Transport,17.73 +Food,6.78 +Food,46.27 +Transport,9.76 +Housing,353.08 +Leisure,47.54 +Food,39.58 +Food,16.38 +Food,75.88 +Transport,15.20 +Leisure,47.76 +Food,22.27 +Transport,9.45 +Transport,24.14 +Leisure,12.34 +Transport,50.68 +Food,18.76 +Health,32.98 +Transport,30.78 +Food,29.35 +Food,99.36 +Transport,29.50 +Leisure,84.70 +Transport,10.87 +Housing,745.04 +Food,42.33 +Food,84.51 +Transport,46.84 +Transport,41.12 +Transport,18.79 +Transport,31.34 +Food,46.60 +Food,26.56 +Leisure,74.62 +Food,20.53 +Health,53.70 +Food,36.65 +Housing,836.20 +Food,70.23 +Food,77.25 +Transport,21.32 +Leisure,25.17 +Transport,43.41 +Food,9.68 +Transport,7.03 +Leisure,59.97 +Food,84.60 +Transport,8.23 +Transport,16.32 +Transport,35.56 +Food,18.93 +Transport,32.89 +Food,30.22 +Food,30.59 +Transport,22.26 +Food,37.34 +Food,28.14 +Transport,28.63 +Leisure,33.54 +Transport,32.26 +Transport,1.85 +Food,21.10 +Food,38.05 +Transport,3.63 +Food,24.87 +Leisure,24.91 +Food,73.00 +Transport,39.57 +Leisure,18.62 +Food,59.68 +Food,58.56 +Transport,42.37 +Transport,33.86 +Transport,69.69 +Leisure,30.24 +Food,43.05 +Food,76.85 +Food,19.69 +Savings,110.25 +Transport,40.60 +Transport,10.03 +Transport,9.65 +Food,44.11 +Transport,39.37 +Food,99.74 +Health,74.36 +Leisure,3.51 +Food,45.21 +Food,65.22 +Food,31.58 +Transport,19.03 +Transport,15.45 +Savings,55.71 +Transport,5.99 +Transport,10.63 +Food,23.67 +Transport,4.54 +Food,79.48 +Transport,37.79 +Health,14.85 +Savings,132.45 +Leisure,90.42 +Transport,13.36 +Food,24.09 +Health,40.93 +Food,19.13 +Leisure,39.06 +Food,46.40 +Transport,44.22 +Leisure,84.10 +Leisure,14.58 +Transport,27.99 +Food,18.65 +Health,11.03 +Food,60.84 +Food,17.25 +Transport,30.94 +Transport,12.10 +Food,27.01 +Transport,19.15 +Food,80.86 +Food,28.10 +Transport,13.44 +Food,27.12 +Leisure,29.62 +Food,32.03 +Health,31.98 +Transport,8.94 +Food,67.38 +Leisure,3.92 +Leisure,112.15 +Transport,46.41 +Food,11.87 +Leisure,27.71 +Health,42.24 +Leisure,28.66 +Transport,38.50 +Savings,247.57 +Food,49.51 +Food,47.63 +Transport,11.90 +Leisure,44.14 +Transport,9.33 +Transport,67.31 +Food,26.62 +Transport,15.38 +Transport,8.57 +Transport,25.16 +Food,18.63 +Housing,643.30 +Transport,14.92 +Transport,17.12 +Food,8.69 +Transport,17.20 +Leisure,97.36 +Transport,54.92 +Leisure,24.09 +Food,20.20 +Food,19.65 +Leisure,41.60 +Transport,7.49 +Transport,10.77 +Transport,25.50 +Transport,10.88 +Leisure,55.20 +Health,106.37 +Transport,6.02 +Transport,39.92 +Food,10.45 +Health,43.25 +Food,23.67 +Food,34.68 +Transport,9.79 +Transport,32.71 +Transport,14.19 +Food,39.72 +Transport,24.43 +Transport,17.11 +Transport,14.55 +Transport,15.39 +Transport,22.52 +Health,91.35 +Health,18.61 +Food,58.21 +Food,65.64 +Food,25.65 +Food,39.39 +Transport,32.91 +Food,34.11 +Food,17.31 +Transport,41.51 +Leisure,75.59 +Food,17.01 +Food,22.02 +Health,24.80 +Leisure,12.24 +Housing,346.55 +Leisure,113.48 +Transport,7.67 +Savings,324.48 +Leisure,26.04 +Leisure,29.94 +Leisure,57.11 +Food,42.88 +Food,52.50 +Transport,19.39 +Food,46.14 +Food,18.04 +Leisure,55.66 +Transport,36.51 +Transport,19.52 +Food,68.19 +Food,31.02 +Leisure,25.31 +Transport,51.78 +Health,28.33 +Transport,5.69 +Health,105.46 +Leisure,8.73 +Health,20.79 +Transport,10.37 +Food,19.28 +Food,14.04 +Food,37.84 +Transport,27.77 +Housing,1027.07 +Transport,20.83 +Food,48.07 +Food,91.99 +Leisure,97.29 +Transport,17.75 +Transport,8.73 +Leisure,76.70 +Transport,20.12 +Transport,19.76 +Savings,330.50 +Health,26.42 +Food,113.19 +Transport,33.67 +Food,46.39 +Transport,42.48 +Food,16.57 +Savings,106.86 +Food,12.16 +Health,2.83 +Transport,28.34 +Food,44.17 +Transport,29.82 +Transport,20.86 +Transport,28.62 +Food,28.01 +Food,43.66 +Leisure,50.96 +Food,65.92 +Food,35.84 +Food,25.63 +Food,11.68 +Transport,64.12 +Health,99.12 +Food,32.21 +Food,20.94 +Food,37.07 +Food,23.93 +Leisure,13.99 +Food,29.05 +Leisure,69.57 +Transport,4.00 +Food,59.78 +Leisure,29.57 +Food,13.80 +Food,49.47 +Transport,12.05 +Food,20.73 +Food,33.90 +Transport,9.28 +Food,34.69 +Leisure,6.11 +Savings,433.11 +Transport,37.04 +Leisure,108.76 +Leisure,30.90 +Food,48.12 +Food,30.05 +Food,47.20 +Transport,2.09 +Food,81.69 +Leisure,43.51 +Transport,58.41 +Food,21.48 +Transport,29.50 +Savings,338.28 +Transport,9.33 +Transport,33.73 +Food,28.44 +Leisure,89.53 +Transport,10.22 +Food,36.94 +Food,6.66 +Housing,735.62 +Transport,38.80 +Food,33.38 +Food,11.83 +Food,65.40 +Transport,75.68 +Food,32.92 +Leisure,45.57 +Transport,21.34 +Leisure,58.15 +Transport,2.49 +Food,34.64 +Food,58.62 +Transport,18.63 +Transport,9.07 +Transport,13.32 +Food,80.69 +Health,39.77 +Food,21.67 +Food,106.91 +Leisure,5.35 +Leisure,82.06 +Transport,30.85 +Transport,34.16 +Transport,24.18 +Transport,8.49 +Housing,407.16 +Leisure,45.35 +Transport,54.09 +Leisure,20.21 +Food,28.83 +Transport,28.58 +Transport,6.05 +Transport,23.82 +Transport,14.24 +Leisure,61.79 +Leisure,32.71 +Health,84.53 +Food,39.76 +Housing,101.73 +Transport,14.66 +Food,19.63 +Health,115.32 +Transport,15.39 +Transport,30.67 +Food,22.56 +Leisure,13.14 +Transport,39.53 +Housing,1978.89 +Housing,3161.63 +Transport,33.22 +Transport,28.96 +Health,82.83 +Leisure,30.61 +Leisure,27.78 +Leisure,146.28 +Transport,6.08 +Food,32.80 +Leisure,76.13 +Savings,465.96 +Food,31.35 +Food,25.03 +Transport,8.74 +Housing,207.72 +Transport,30.46 +Transport,24.51 +Leisure,44.61 +Health,79.23 +Food,18.82 +Health,61.15 +Health,91.39 +Food,48.80 +Savings,265.56 +Food,77.85 +Transport,23.20 +Food,62.38 +Transport,27.44 +Leisure,42.46 +Food,80.39 +Food,50.97 +Food,3.29 +Transport,4.56 +Food,40.82 +Health,195.22 +Transport,41.46 +Leisure,24.77 +Leisure,24.70 +Transport,9.03 +Health,33.26 +Food,36.55 +Health,127.52 +Leisure,37.63 +Transport,4.80 +Food,76.01 +Transport,45.92 +Transport,34.49 +Food,32.29 +Food,41.31 +Transport,50.31 +Health,82.31 +Food,57.15 +Transport,22.37 +Transport,23.60 +Food,44.61 +Transport,18.56 +Food,123.95 +Health,83.31 +Transport,52.34 +Transport,18.40 +Food,57.61 +Leisure,36.48 +Leisure,79.26 +Food,60.43 +Health,64.01 +Food,5.38 +Housing,1187.74 +Transport,21.44 +Leisure,85.03 +Transport,46.19 +Food,21.74 +Food,15.48 +Savings,354.34 +Food,4.30 +Food,51.30 +Food,39.49 +Food,25.01 +Transport,45.79 +Leisure,58.02 +Leisure,4.71 +Transport,20.52 +Health,37.98 +Transport,19.22 +Leisure,95.75 +Transport,15.47 +Leisure,76.49 +Leisure,115.72 +Transport,10.09 +Food,104.21 +Transport,23.72 +Food,36.34 +Transport,22.05 +Transport,26.32 +Health,45.42 +Transport,28.57 +Food,23.33 +Transport,21.51 +Food,23.67 +Transport,61.89 +Food,26.00 +Leisure,63.70 +Transport,28.16 +Food,32.20 +Health,52.94 +Health,51.83 +Leisure,16.62 +Transport,22.06 +Food,86.25 +Leisure,65.42 +Transport,32.82 +Transport,11.03 +Food,6.12 +Transport,21.40 +Transport,36.88 +Health,89.53 +Food,19.84 +Leisure,187.74 +Transport,30.44 +Health,67.57 +Transport,24.59 +Transport,28.88 +Food,20.82 +Leisure,91.22 +Leisure,61.24 +Leisure,105.41 +Leisure,44.17 +Transport,16.42 +Leisure,40.67 +Food,35.10 +Transport,15.53 +Food,11.12 +Savings,519.62 +Food,9.68 +Leisure,51.05 +Food,18.98 +Transport,29.24 +Transport,25.02 +Food,20.93 +Savings,248.18 +Transport,19.61 +Leisure,30.14 +Transport,21.96 +Food,45.76 +Food,86.18 +Food,79.05 +Food,13.37 +Food,18.22 +Leisure,71.81 +Health,44.13 +Transport,37.21 +Food,13.00 +Leisure,33.22 +Transport,51.06 +Transport,13.44 +Food,24.20 +Housing,2233.32 +Leisure,41.37 +Food,67.60 +Transport,66.64 +Food,32.36 +Food,44.75 +Transport,10.52 +Transport,5.75 +Food,115.48 +Food,12.36 +Transport,69.12 +Food,14.34 +Housing,210.95 +Transport,2.91 +Transport,8.18 +Food,38.96 +Transport,30.03 +Food,87.45 +Food,50.41 +Transport,13.42 +Leisure,24.71 +Transport,46.98 +Transport,30.30 +Health,64.71 +Food,35.63 +Savings,412.31 +Food,19.52 +Health,43.38 +Food,25.46 +Transport,29.38 +Food,13.25 +Leisure,14.24 +Transport,14.54 +Health,96.14 +Food,51.71 +Transport,34.24 +Food,20.03 +Transport,56.34 +Leisure,20.91 +Food,6.15 +Health,57.12 +Health,91.67 +Transport,65.21 +Food,39.32 +Food,50.41 +Transport,7.13 +Transport,32.06 +Health,25.01 +Health,10.17 +Transport,6.00 +Leisure,64.93 +Transport,55.63 +Food,5.48 +Food,36.32 +Health,37.01 +Food,46.56 +Food,101.16 +Leisure,56.61 +Transport,8.15 +Food,18.10 +Health,102.24 +Transport,37.31 +Transport,36.13 +Transport,27.34 +Leisure,55.34 +Leisure,69.72 +Food,44.04 +Leisure,36.03 +Leisure,45.20 +Food,17.39 +Leisure,73.23 +Transport,12.25 +Food,16.69 +Transport,12.22 +Health,28.62 +Transport,29.51 +Transport,54.89 +Leisure,54.52 +Food,15.17 +Transport,14.82 +Food,3.78 +Transport,10.13 +Leisure,44.32 +Food,60.71 +Food,28.56 +Transport,8.58 +Savings,202.88 +Transport,24.40 +Food,17.15 +Transport,9.62 +Savings,523.34 +Transport,24.49 +Transport,40.03 +Leisure,24.05 +Food,36.89 +Transport,13.95 +Transport,8.26 +Food,28.60 +Food,60.30 +Transport,49.68 +Food,84.23 +Leisure,51.01 +Food,30.02 +Health,133.28 +Food,58.05 +Transport,19.81 +Transport,12.54 +Transport,8.75 +Transport,56.80 +Food,77.94 +Transport,10.65 +Transport,16.60 +Transport,42.96 +Transport,13.65 +Transport,29.21 +Transport,13.82 +Food,42.83 +Food,32.32 +Health,28.76 +Food,25.86 +Transport,23.82 +Housing,361.70 +Food,10.39 +Transport,44.37 +Food,29.89 +Leisure,24.58 +Leisure,73.59 +Transport,20.38 +Transport,37.73 +Food,52.57 +Food,29.10 +Leisure,2.50 +Food,12.31 +Food,21.51 +Housing,380.31 +Transport,19.34 +Food,18.51 +Health,13.59 +Health,190.58 +Food,58.38 +Health,38.37 +Transport,23.68 +Food,10.59 +Transport,4.60 +Transport,7.12 +Food,42.66 +Leisure,48.13 +Leisure,98.06 +Food,26.59 +Health,150.36 +Food,32.06 +Transport,20.78 +Transport,54.34 +Leisure,20.96 +Transport,11.18 +Food,22.86 +Food,83.97 +Food,7.69 +Food,36.21 +Transport,17.07 +Leisure,13.79 +Food,45.17 +Food,15.42 +Health,72.44 +Transport,47.19 +Transport,35.94 +Transport,10.99 +Transport,8.21 +Transport,28.57 +Health,62.74 +Health,35.22 +Transport,17.60 +Transport,17.76 +Food,54.12 +Transport,31.72 +Food,8.36 +Food,19.50 +Leisure,19.62 +Savings,253.81 +Leisure,131.15 +Food,21.60 +Transport,14.89 +Food,47.81 +Food,61.42 +Transport,18.01 +Food,52.62 +Transport,8.78 +Food,73.99 +Health,72.02 +Transport,43.51 +Food,32.28 +Transport,31.75 +Leisure,9.90 +Health,28.09 +Food,14.37 +Housing,1153.68 +Leisure,26.46 +Transport,11.70 +Food,41.17 +Transport,41.36 +Leisure,47.12 +Health,52.57 +Food,60.89 +Transport,9.85 +Food,29.91 +Health,87.74 +Transport,24.20 +Leisure,24.22 +Food,28.46 +Food,36.03 +Leisure,40.42 +Food,17.80 +Health,109.49 +Leisure,47.10 +Leisure,34.81 +Health,121.29 +Health,52.15 +Leisure,43.67 +Food,45.77 +Leisure,59.75 +Food,16.92 +Food,28.90 +Food,34.33 +Transport,42.68 +Food,16.92 +Leisure,56.62 +Food,47.10 +Leisure,33.09 +Health,5.70 +Leisure,49.76 +Food,30.54 +Savings,422.99 +Food,48.89 +Food,103.93 +Health,71.31 +Transport,21.79 +Food,41.26 +Food,83.57 +Food,23.82 +Savings,109.84 +Food,50.72 +Food,82.92 +Transport,38.18 +Food,37.10 +Leisure,100.27 +Savings,92.08 +Food,25.97 +Food,20.22 +Leisure,127.62 +Savings,57.32 +Transport,18.38 +Transport,5.91 +Transport,5.15 +Food,15.09 +Leisure,15.15 +Food,2.17 +Transport,5.82 +Transport,37.02 +Food,28.53 +Transport,41.33 +Housing,1123.34 +Transport,14.52 +Health,61.21 +Transport,11.48 +Housing,650.70 +Transport,24.99 +Transport,11.38 +Food,58.42 +Transport,52.95 +Transport,43.56 +Food,34.25 +Food,11.44 +Transport,2.78 +Food,28.89 +Housing,71.44 +Transport,11.57 +Transport,22.13 +Food,47.24 +Leisure,119.44 +Transport,5.93 +Transport,21.92 +Health,90.15 +Food,51.76 +Food,42.41 +Leisure,106.42 +Transport,24.74 +Health,63.67 +Food,45.55 +Leisure,4.55 +Food,45.05 +Food,12.09 +Leisure,20.99 +Transport,18.30 +Transport,4.06 +Savings,151.05 +Transport,28.99 +Transport,8.90 +Savings,205.64 +Transport,8.80 +Transport,23.59 +Leisure,46.08 +Food,69.75 +Transport,4.56 +Leisure,30.02 +Housing,800.11 +Food,31.15 +Food,12.08 +Food,36.24 +Food,11.72 +Food,114.49 +Food,43.45 +Leisure,37.67 +Transport,5.93 +Leisure,33.44 +Food,28.01 +Leisure,25.09 +Food,53.09 +Food,83.84 +Food,15.42 +Transport,3.38 +Health,90.88 +Transport,2.11 +Food,36.12 +Food,64.12 +Savings,206.98 +Transport,8.60 +Transport,45.53 +Housing,1295.05 +Food,14.25 +Food,4.39 +Transport,23.95 +Transport,20.28 +Transport,35.29 +Savings,198.44 +Food,51.64 +Food,39.59 +Leisure,46.41 +Food,78.96 +Transport,53.33 +Transport,13.39 +Transport,47.24 +Food,60.81 +Transport,36.81 +Food,14.60 +Transport,27.61 +Food,11.43 +Food,27.07 +Health,34.02 +Transport,10.14 +Food,1.37 +Food,17.00 +Food,87.72 +Leisure,23.98 +Food,20.75 +Transport,18.83 +Transport,7.39 +Leisure,83.02 +Food,11.33 +Transport,9.77 +Transport,16.66 +Transport,13.39 +Leisure,6.66 +Leisure,52.68 +Transport,87.30 +Food,36.02 +Transport,4.52 +Food,27.72 +Food,53.81 +Transport,4.76 +Food,68.44 +Food,88.49 +Food,41.52 +Transport,16.40 +Transport,15.00 +Food,34.97 +Food,17.80 +Leisure,76.40 +Transport,6.30 +Transport,25.48 +Food,44.49 +Transport,32.69 +Leisure,32.59 +Transport,43.82 +Transport,28.09 +Transport,11.27 +Food,18.37 +Food,34.80 +Housing,1237.70 +Transport,19.03 +Food,6.49 +Transport,39.77 +Leisure,9.88 +Food,80.46 +Food,43.16 +Food,17.23 +Transport,14.46 +Transport,59.47 +Food,25.62 +Food,9.80 +Health,59.78 +Leisure,44.99 +Transport,7.67 +Savings,593.53 +Transport,22.96 +Leisure,34.08 +Food,30.02 +Transport,9.87 +Food,91.36 +Leisure,11.00 +Food,35.64 +Transport,2.66 +Transport,48.33 +Food,26.25 +Leisure,35.95 +Transport,28.00 +Transport,18.98 +Transport,43.07 +Food,38.45 +Food,106.55 +Transport,11.28 +Transport,48.97 +Transport,3.20 +Savings,176.18 +Savings,124.91 +Housing,161.10 +Food,43.83 +Leisure,29.53 +Food,10.16 +Food,28.52 +Transport,10.71 +Transport,29.38 +Food,25.24 +Transport,26.63 +Leisure,45.89 +Savings,497.30 +Food,42.30 +Transport,6.58 +Food,59.94 +Transport,20.92 +Housing,175.47 +Health,86.17 +Health,48.44 +Leisure,20.78 +Food,24.91 +Health,47.36 +Housing,656.55 +Transport,11.43 +Food,2.83 +Housing,810.76 +Housing,816.22 +Transport,25.14 +Food,32.45 +Leisure,38.09 +Food,14.09 +Food,36.68 +Transport,57.64 +Leisure,26.90 +Food,40.88 +Food,27.98 +Transport,11.30 +Housing,614.17 +Transport,1.00 +Food,18.39 +Food,21.35 +Health,110.20 +Food,56.89 +Food,12.97 +Leisure,57.08 +Transport,9.16 +Food,139.83 +Housing,2252.62 +Food,24.62 +Food,61.95 +Transport,19.75 +Food,7.91 +Savings,558.30 +Transport,10.39 +Savings,405.79 +Transport,15.39 +Transport,30.57 +Food,53.23 +Transport,26.24 +Food,63.96 +Leisure,131.71 +Food,32.56 +Food,17.47 +Transport,14.78 +Leisure,11.58 +Leisure,16.71 +Food,2.78 +Food,11.21 +Food,27.21 +Health,64.00 +Food,10.28 +Housing,309.23 +Health,19.30 +Transport,2.96 +Transport,28.93 +Food,7.29 +Transport,60.20 +Transport,17.88 +Food,23.17 +Transport,13.02 +Food,19.43 +Leisure,44.44 +Food,45.34 +Food,33.08 +Transport,4.71 +Transport,72.17 +Transport,13.33 +Transport,12.33 +Food,12.28 +Food,31.95 +Food,63.24 +Leisure,14.03 +Food,28.25 +Leisure,62.14 +Health,20.06 +Transport,9.27 +Savings,22.38 +Food,6.76 +Transport,63.83 +Food,29.65 +Transport,24.00 +Food,52.74 +Health,107.15 +Leisure,112.75 +Leisure,34.62 +Food,20.69 +Transport,38.94 +Food,10.16 +Transport,21.87 +Food,28.19 +Food,49.99 +Food,52.93 +Transport,29.55 +Leisure,50.01 +Leisure,28.29 +Food,25.87 +Health,66.80 +Leisure,93.58 +Leisure,15.75 +Food,42.60 +Food,7.87 +Transport,7.98 +Food,82.61 +Food,53.32 +Transport,12.17 +Food,48.26 +Transport,9.15 +Housing,1978.26 +Housing,396.07 +Leisure,17.17 +Food,33.44 +Health,20.95 +Leisure,47.32 +Transport,16.75 +Health,58.19 +Food,152.76 +Leisure,32.81 +Food,75.74 +Food,95.33 +Savings,115.75 +Housing,738.72 +Transport,9.92 +Health,64.72 +Transport,11.51 +Health,44.20 +Food,83.47 +Leisure,13.94 +Food,31.61 +Food,40.75 +Food,17.97 +Savings,433.61 +Food,11.01 +Food,28.23 +Food,21.08 +Leisure,9.65 +Transport,39.30 +Food,68.71 +Health,29.00 +Transport,22.07 +Leisure,48.11 +Leisure,24.47 +Food,8.09 +Transport,2.41 +Leisure,28.59 +Transport,6.56 +Leisure,22.25 +Food,3.84 +Transport,6.45 +Transport,45.22 +Transport,10.41 +Food,10.47 +Transport,7.88 +Food,21.19 +Transport,35.43 +Food,20.46 +Transport,6.53 +Transport,23.66 +Food,20.65 +Food,22.17 +Food,37.97 +Transport,15.68 +Food,32.58 +Savings,190.15 +Leisure,114.96 +Transport,14.60 +Transport,49.98 +Transport,26.92 +Transport,31.75 +Food,27.80 +Food,24.16 +Transport,18.10 +Leisure,20.70 +Leisure,55.90 +Transport,15.59 +Food,109.48 +Savings,585.53 +Leisure,65.99 +Leisure,3.57 +Leisure,25.28 +Leisure,27.28 +Transport,17.26 +Savings,332.57 +Leisure,45.31 +Food,64.97 +Food,37.12 +Transport,47.34 +Food,23.84 +Health,55.89 +Food,22.56 +Leisure,12.90 +Food,78.80 +Food,10.67 +Leisure,8.13 +Food,22.10 +Transport,30.18 +Transport,36.58 +Health,30.72 +Transport,3.70 +Food,54.86 +Health,44.09 +Health,52.25 +Savings,117.68 +Food,58.30 +Transport,6.92 +Transport,20.21 +Food,24.84 +Leisure,53.39 +Food,18.90 +Leisure,56.68 +Transport,43.92 +Food,52.08 +Leisure,11.36 +Health,55.20 +Transport,16.86 +Food,14.76 +Food,35.95 +Transport,18.19 +Transport,21.14 +Food,60.79 +Food,40.74 +Transport,32.58 +Food,23.46 +Transport,15.99 +Food,43.75 +Food,26.38 +Food,90.58 +Food,12.50 +Transport,5.03 +Food,52.70 +Leisure,103.94 +Food,32.48 +Transport,27.74 +Food,15.38 +Transport,21.63 +Leisure,70.17 +Health,17.17 +Transport,18.61 +Leisure,115.13 +Food,46.31 +Housing,606.74 +Transport,21.64 +Food,31.32 +Food,22.18 +Savings,131.25 +Food,149.25 +Transport,60.00 +Leisure,32.29 +Leisure,59.20 +Food,25.91 +Transport,13.35 +Food,95.23 +Transport,9.21 +Food,26.61 +Leisure,27.49 +Leisure,49.99 +Transport,17.06 +Leisure,78.39 +Leisure,9.70 +Transport,20.72 +Transport,3.31 +Leisure,25.38 +Food,47.97 +Transport,6.47 +Health,92.11 +Leisure,21.02 +Health,7.98 +Transport,17.08 +Food,26.49 +Transport,10.67 +Transport,33.41 +Savings,66.14 +Housing,505.36 +Transport,5.31 +Food,13.40 +Transport,5.36 +Food,24.20 +Transport,39.37 +Food,101.65 +Leisure,13.48 +Food,108.85 +Housing,101.13 +Savings,86.66 +Transport,21.59 +Transport,14.89 +Transport,5.78 +Health,107.95 +Transport,74.63 +Leisure,14.21 +Health,35.50 +Transport,101.47 +Transport,40.38 +Savings,344.68 +Food,8.15 +Transport,15.80 +Food,88.24 +Food,14.76 +Health,18.29 +Transport,43.81 +Food,33.16 +Transport,26.66 +Housing,630.18 +Transport,11.79 +Health,63.64 +Food,43.91 +Health,79.82 +Transport,52.26 +Housing,474.66 +Food,24.63 +Food,8.82 +Food,81.74 +Food,72.09 +Transport,53.10 +Leisure,44.14 +Food,37.09 +Food,23.66 +Health,71.73 +Health,88.03 +Health,38.07 +Transport,35.67 +Food,34.28 +Food,37.89 +Food,11.76 +Transport,11.54 +Leisure,28.04 +Food,8.45 +Food,63.45 +Food,17.66 +Leisure,74.25 diff --git a/agents/evals/fixtures/cases/pie-basic-seaborn-renamed/case.json b/agents/evals/fixtures/cases/pie-basic-seaborn-renamed/case.json new file mode 100644 index 0000000000..6b3341f3ac --- /dev/null +++ b/agents/evals/fixtures/cases/pie-basic-seaborn-renamed/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "pie-basic", + "library": "seaborn", + "locale": "de", + "perturbation": "renamed", + "bindings": [ + { + "role": "category", + "column": "Ausgabenposten" + }, + { + "role": "value", + "column": "Betrag CHF" + } + ], + "expected": "accepted", + "tags": [ + "pie", + "renamed", + "synthetic", + "renamed-headers" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 909, renamed)" +} diff --git a/agents/evals/fixtures/cases/pie-basic-seaborn-renamed/data.csv b/agents/evals/fixtures/cases/pie-basic-seaborn-renamed/data.csv new file mode 100644 index 0000000000..e8f468eb77 --- /dev/null +++ b/agents/evals/fixtures/cases/pie-basic-seaborn-renamed/data.csv @@ -0,0 +1,7 @@ +Ausgabenposten,Betrag CHF +Housing,1913.25 +Food,692.31 +Transport,402.45 +Leisure,337.19 +Health,244.50 +Savings,648.13 diff --git a/agents/evals/fixtures/cases/pie-basic-seaborn-x10/case.json b/agents/evals/fixtures/cases/pie-basic-seaborn-x10/case.json new file mode 100644 index 0000000000..9c35b69a32 --- /dev/null +++ b/agents/evals/fixtures/cases/pie-basic-seaborn-x10/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "pie-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "x10", + "bindings": [ + { + "role": "category", + "column": "Expense Category" + }, + { + "role": "value", + "column": "Amount (CHF)" + } + ], + "expected": "accepted", + "tags": [ + "pie", + "x10", + "synthetic", + "scaled-values" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 909, x10)" +} diff --git a/agents/evals/fixtures/cases/pie-basic-seaborn-x10/data.csv b/agents/evals/fixtures/cases/pie-basic-seaborn-x10/data.csv new file mode 100644 index 0000000000..5d1b1cfa04 --- /dev/null +++ b/agents/evals/fixtures/cases/pie-basic-seaborn-x10/data.csv @@ -0,0 +1,7 @@ +Expense Category,Amount (CHF) +Housing,19132.53 +Food,6923.09 +Transport,4024.49 +Leisure,3371.93 +Health,2445.05 +Savings,6481.28 diff --git a/agents/evals/fixtures/cases/scatter-basic-matplotlib-date/case.json b/agents/evals/fixtures/cases/scatter-basic-matplotlib-date/case.json new file mode 100644 index 0000000000..5b4e7018e1 --- /dev/null +++ b/agents/evals/fixtures/cases/scatter-basic-matplotlib-date/case.json @@ -0,0 +1,26 @@ +{ + "spec_id": "scatter-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "date", + "bindings": [ + { + "role": "x", + "column": "Ad Spend (kCHF)" + }, + { + "role": "y", + "column": "Revenue (kCHF)" + } + ], + "expected": "accepted", + "tags": [ + "scatter", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 101, date)" +} diff --git a/agents/evals/fixtures/cases/scatter-basic-matplotlib-date/data.csv b/agents/evals/fixtures/cases/scatter-basic-matplotlib-date/data.csv new file mode 100644 index 0000000000..734bcb2343 --- /dev/null +++ b/agents/evals/fixtures/cases/scatter-basic-matplotlib-date/data.csv @@ -0,0 +1,151 @@ +Store,Ad Spend (kCHF),Revenue (kCHF),Campaign Start,Reported On +S0001,113.5,277.1,01.07.2026,2026-07-01 +S0002,46.3,100.9,10.05.2026,2026-05-12 +S0003,95.3,228.4,05.06.2026,2026-06-08 +S0004,73.0,210.7,19.05.2026,2026-05-19 +S0005,38.8,9.2,08.02.2026,2026-02-09 +S0006,111.1,211.6,07.04.2026,2026-04-11 +S0007,105.0,169.0,19.05.2026,2026-05-21 +S0008,46.9,5.0,01.05.2026,2026-05-04 +S0009,116.9,354.9,09.05.2026,2026-05-11 +S0010,30.8,206.6,25.01.2026,2026-01-25 +S0011,97.6,329.5,18.02.2026,2026-02-20 +S0012,83.3,88.6,15.01.2026,2026-01-19 +S0013,59.2,192.4,28.02.2026,2026-02-28 +S0014,8.5,106.1,13.06.2026,2026-06-13 +S0015,107.9,225.7,01.06.2026,2026-06-02 +S0016,71.0,246.9,30.05.2026,2026-05-30 +S0017,49.9,65.0,26.01.2026,2026-01-26 +S0018,45.8,59.4,20.01.2026,2026-01-24 +S0019,80.0,148.3,29.03.2026,2026-04-01 +S0020,44.9,82.6,09.04.2026,2026-04-11 +S0021,63.4,101.0,28.02.2026,2026-03-01 +S0022,47.7,208.1,30.01.2026,2026-02-03 +S0023,11.3,5.0,03.05.2026,2026-05-05 +S0024,33.8,77.6,11.03.2026,2026-03-13 +S0025,101.7,207.9,31.05.2026,2026-06-03 +S0026,99.1,404.2,19.05.2026,2026-05-20 +S0027,81.7,147.5,12.04.2026,2026-04-13 +S0028,59.1,197.3,09.02.2026,2026-02-10 +S0029,116.5,413.5,31.01.2026,2026-01-31 +S0030,101.6,169.0,08.01.2026,2026-01-11 +S0031,33.2,50.3,23.04.2026,2026-04-24 +S0032,70.3,163.8,24.06.2026,2026-06-25 +S0033,114.9,187.1,13.04.2026,2026-04-16 +S0034,95.3,326.8,20.05.2026,2026-05-23 +S0035,47.5,105.7,21.03.2026,2026-03-21 +S0036,59.0,238.2,01.04.2026,2026-04-04 +S0037,64.6,213.0,27.02.2026,2026-03-01 +S0038,108.7,269.5,24.05.2026,2026-05-28 +S0039,87.1,290.5,16.01.2026,2026-01-17 +S0040,50.8,125.0,20.02.2026,2026-02-24 +S0041,58.1,236.4,12.02.2026,2026-02-12 +S0042,15.6,5.0,21.02.2026,2026-02-22 +S0043,61.6,116.5,06.02.2026,2026-02-06 +S0044,31.3,190.8,13.03.2026,2026-03-13 +S0045,15.7,5.0,28.04.2026,2026-05-01 +S0046,15.5,105.9,24.04.2026,2026-04-26 +S0047,29.8,73.5,08.04.2026,2026-04-09 +S0048,85.4,180.7,18.06.2026,2026-06-20 +S0049,25.6,44.4,14.03.2026,2026-03-18 +S0050,70.4,278.1,06.02.2026,2026-02-08 +S0051,74.3,88.4,14.03.2026,2026-03-16 +S0052,116.1,342.3,11.04.2026,2026-04-14 +S0053,57.7,194.6,25.02.2026,2026-02-28 +S0054,94.1,207.5,16.03.2026,2026-03-16 +S0055,9.0,52.7,27.03.2026,2026-03-30 +S0056,79.1,255.7,17.04.2026,2026-04-17 +S0057,117.7,245.4,14.06.2026,2026-06-14 +S0058,10.4,5.0,22.02.2026,2026-02-26 +S0059,109.4,289.4,16.05.2026,2026-05-19 +S0060,22.9,28.9,29.01.2026,2026-02-02 +S0061,82.7,184.7,16.04.2026,2026-04-20 +S0062,7.9,60.3,11.02.2026,2026-02-15 +S0063,12.1,117.0,30.06.2026,2026-07-04 +S0064,20.5,210.2,07.03.2026,2026-03-10 +S0065,108.7,292.1,21.04.2026,2026-04-23 +S0066,95.0,247.6,12.06.2026,2026-06-16 +S0067,81.1,267.7,14.03.2026,2026-03-18 +S0068,79.7,227.3,09.04.2026,2026-04-09 +S0069,38.8,5.0,12.05.2026,2026-05-13 +S0070,65.7,135.8,04.06.2026,2026-06-04 +S0071,60.4,80.1,02.07.2026,2026-07-04 +S0072,114.4,329.0,09.02.2026,2026-02-11 +S0073,57.2,249.3,09.03.2026,2026-03-13 +S0074,90.9,255.8,17.02.2026,2026-02-18 +S0075,46.2,64.9,05.02.2026,2026-02-09 +S0076,111.4,330.1,20.04.2026,2026-04-20 +S0077,103.0,188.9,02.06.2026,2026-06-06 +S0078,119.1,307.8,27.01.2026,2026-01-28 +S0079,31.1,21.3,03.05.2026,2026-05-07 +S0080,105.1,163.6,25.05.2026,2026-05-26 +S0081,59.9,67.4,03.03.2026,2026-03-07 +S0082,63.6,174.7,18.05.2026,2026-05-20 +S0083,67.3,135.0,23.03.2026,2026-03-24 +S0084,15.6,103.2,26.04.2026,2026-04-29 +S0085,106.3,172.3,08.05.2026,2026-05-08 +S0086,74.5,230.8,09.02.2026,2026-02-11 +S0087,17.1,32.6,23.01.2026,2026-01-24 +S0088,90.0,316.7,18.03.2026,2026-03-18 +S0089,18.0,149.3,28.06.2026,2026-06-29 +S0090,48.8,127.4,28.01.2026,2026-01-31 +S0091,82.0,219.8,02.02.2026,2026-02-02 +S0092,58.5,179.9,21.02.2026,2026-02-21 +S0093,12.5,98.7,22.06.2026,2026-06-22 +S0094,76.6,181.6,25.04.2026,2026-04-29 +S0095,47.2,215.8,01.02.2026,2026-02-01 +S0096,48.9,107.0,17.02.2026,2026-02-19 +S0097,23.7,5.0,11.05.2026,2026-05-13 +S0098,26.1,112.2,19.01.2026,2026-01-19 +S0099,119.2,282.7,15.04.2026,2026-04-18 +S0100,74.5,254.7,17.06.2026,2026-06-19 +S0101,72.6,234.1,17.06.2026,2026-06-19 +S0102,94.8,248.2,24.05.2026,2026-05-24 +S0103,49.1,150.6,08.01.2026,2026-01-11 +S0104,22.7,96.6,27.05.2026,2026-05-28 +S0105,74.8,151.0,01.05.2026,2026-05-04 +S0106,51.6,63.0,09.06.2026,2026-06-10 +S0107,51.4,90.5,30.01.2026,2026-01-30 +S0108,15.1,65.3,08.03.2026,2026-03-10 +S0109,53.4,5.0,30.04.2026,2026-05-02 +S0110,11.0,32.5,22.04.2026,2026-04-22 +S0111,108.7,199.6,27.04.2026,2026-04-28 +S0112,48.1,134.9,03.07.2026,2026-07-04 +S0113,87.3,166.3,02.06.2026,2026-06-06 +S0114,72.7,196.9,26.06.2026,2026-06-28 +S0115,55.6,140.8,08.04.2026,2026-04-12 +S0116,43.9,223.0,10.04.2026,2026-04-11 +S0117,8.7,34.2,05.04.2026,2026-04-06 +S0118,80.3,191.5,27.04.2026,2026-04-27 +S0119,16.4,76.3,27.01.2026,2026-01-30 +S0120,32.0,5.0,12.01.2026,2026-01-13 +S0121,115.3,207.0,26.02.2026,2026-02-28 +S0122,48.2,241.8,12.01.2026,2026-01-15 +S0123,46.7,174.2,11.02.2026,2026-02-12 +S0124,84.3,223.0,01.02.2026,2026-02-03 +S0125,36.0,191.4,07.04.2026,2026-04-09 +S0126,47.3,126.8,26.01.2026,2026-01-30 +S0127,40.4,107.3,14.05.2026,2026-05-18 +S0128,85.0,197.2,16.02.2026,2026-02-18 +S0129,13.9,5.0,02.07.2026,2026-07-04 +S0130,48.8,208.2,20.01.2026,2026-01-23 +S0131,119.7,278.1,19.06.2026,2026-06-23 +S0132,78.7,198.7,02.06.2026,2026-06-02 +S0133,59.6,141.9,24.03.2026,2026-03-27 +S0134,38.3,75.9,07.04.2026,2026-04-10 +S0135,7.6,5.0,07.01.2026,2026-01-09 +S0136,109.6,280.7,06.06.2026,2026-06-09 +S0137,110.9,425.5,01.07.2026,2026-07-05 +S0138,117.5,356.0,02.05.2026,2026-05-05 +S0139,60.1,146.1,11.06.2026,2026-06-15 +S0140,73.2,129.1,11.06.2026,2026-06-11 +S0141,38.2,122.1,16.01.2026,2026-01-20 +S0142,100.3,276.5,15.03.2026,2026-03-15 +S0143,72.0,182.8,24.05.2026,2026-05-28 +S0144,39.1,180.5,22.06.2026,2026-06-26 +S0145,38.9,55.0,10.05.2026,2026-05-11 +S0146,46.0,211.3,22.05.2026,2026-05-24 +S0147,82.1,223.3,26.03.2026,2026-03-30 +S0148,93.5,197.9,22.01.2026,2026-01-26 +S0149,16.9,55.7,19.03.2026,2026-03-19 +S0150,111.8,299.1,21.01.2026,2026-01-21 diff --git a/agents/evals/fixtures/cases/scatter-basic-matplotlib-decimal-comma/case.json b/agents/evals/fixtures/cases/scatter-basic-matplotlib-decimal-comma/case.json new file mode 100644 index 0000000000..b28d71db9d --- /dev/null +++ b/agents/evals/fixtures/cases/scatter-basic-matplotlib-decimal-comma/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "scatter-basic", + "library": "matplotlib", + "locale": "de", + "perturbation": "decimal-comma", + "bindings": [ + { + "role": "x", + "column": "Ad Spend (kCHF)" + }, + { + "role": "y", + "column": "Revenue (kCHF)" + } + ], + "expected": "accepted", + "tags": [ + "scatter", + "decimal-comma", + "synthetic", + "semicolon" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 101, decimal-comma)" +} diff --git a/agents/evals/fixtures/cases/scatter-basic-matplotlib-decimal-comma/data.csv b/agents/evals/fixtures/cases/scatter-basic-matplotlib-decimal-comma/data.csv new file mode 100644 index 0000000000..af311d49fb --- /dev/null +++ b/agents/evals/fixtures/cases/scatter-basic-matplotlib-decimal-comma/data.csv @@ -0,0 +1,151 @@ +Store;Ad Spend (kCHF);Revenue (kCHF) +S0001;113,5;277,1 +S0002;46,3;100,9 +S0003;95,3;228,4 +S0004;73,0;210,7 +S0005;38,8;9,2 +S0006;111,1;211,6 +S0007;105,0;169,0 +S0008;46,9;5,0 +S0009;116,9;354,9 +S0010;30,8;206,6 +S0011;97,6;329,5 +S0012;83,3;88,6 +S0013;59,2;192,4 +S0014;8,5;106,1 +S0015;107,9;225,7 +S0016;71,0;246,9 +S0017;49,9;65,0 +S0018;45,8;59,4 +S0019;80,0;148,3 +S0020;44,9;82,6 +S0021;63,4;101,0 +S0022;47,7;208,1 +S0023;11,3;5,0 +S0024;33,8;77,6 +S0025;101,7;207,9 +S0026;99,1;404,2 +S0027;81,7;147,5 +S0028;59,1;197,3 +S0029;116,5;413,5 +S0030;101,6;169,0 +S0031;33,2;50,3 +S0032;70,3;163,8 +S0033;114,9;187,1 +S0034;95,3;326,8 +S0035;47,5;105,7 +S0036;59,0;238,2 +S0037;64,6;213,0 +S0038;108,7;269,5 +S0039;87,1;290,5 +S0040;50,8;125,0 +S0041;58,1;236,4 +S0042;15,6;5,0 +S0043;61,6;116,5 +S0044;31,3;190,8 +S0045;15,7;5,0 +S0046;15,5;105,9 +S0047;29,8;73,5 +S0048;85,4;180,7 +S0049;25,6;44,4 +S0050;70,4;278,1 +S0051;74,3;88,4 +S0052;116,1;342,3 +S0053;57,7;194,6 +S0054;94,1;207,5 +S0055;9,0;52,7 +S0056;79,1;255,7 +S0057;117,7;245,4 +S0058;10,4;5,0 +S0059;109,4;289,4 +S0060;22,9;28,9 +S0061;82,7;184,7 +S0062;7,9;60,3 +S0063;12,1;117,0 +S0064;20,5;210,2 +S0065;108,7;292,1 +S0066;95,0;247,6 +S0067;81,1;267,7 +S0068;79,7;227,3 +S0069;38,8;5,0 +S0070;65,7;135,8 +S0071;60,4;80,1 +S0072;114,4;329,0 +S0073;57,2;249,3 +S0074;90,9;255,8 +S0075;46,2;64,9 +S0076;111,4;330,1 +S0077;103,0;188,9 +S0078;119,1;307,8 +S0079;31,1;21,3 +S0080;105,1;163,6 +S0081;59,9;67,4 +S0082;63,6;174,7 +S0083;67,3;135,0 +S0084;15,6;103,2 +S0085;106,3;172,3 +S0086;74,5;230,8 +S0087;17,1;32,6 +S0088;90,0;316,7 +S0089;18,0;149,3 +S0090;48,8;127,4 +S0091;82,0;219,8 +S0092;58,5;179,9 +S0093;12,5;98,7 +S0094;76,6;181,6 +S0095;47,2;215,8 +S0096;48,9;107,0 +S0097;23,7;5,0 +S0098;26,1;112,2 +S0099;119,2;282,7 +S0100;74,5;254,7 +S0101;72,6;234,1 +S0102;94,8;248,2 +S0103;49,1;150,6 +S0104;22,7;96,6 +S0105;74,8;151,0 +S0106;51,6;63,0 +S0107;51,4;90,5 +S0108;15,1;65,3 +S0109;53,4;5,0 +S0110;11,0;32,5 +S0111;108,7;199,6 +S0112;48,1;134,9 +S0113;87,3;166,3 +S0114;72,7;196,9 +S0115;55,6;140,8 +S0116;43,9;223,0 +S0117;8,7;34,2 +S0118;80,3;191,5 +S0119;16,4;76,3 +S0120;32,0;5,0 +S0121;115,3;207,0 +S0122;48,2;241,8 +S0123;46,7;174,2 +S0124;84,3;223,0 +S0125;36,0;191,4 +S0126;47,3;126,8 +S0127;40,4;107,3 +S0128;85,0;197,2 +S0129;13,9;5,0 +S0130;48,8;208,2 +S0131;119,7;278,1 +S0132;78,7;198,7 +S0133;59,6;141,9 +S0134;38,3;75,9 +S0135;7,6;5,0 +S0136;109,6;280,7 +S0137;110,9;425,5 +S0138;117,5;356,0 +S0139;60,1;146,1 +S0140;73,2;129,1 +S0141;38,2;122,1 +S0142;100,3;276,5 +S0143;72,0;182,8 +S0144;39,1;180,5 +S0145;38,9;55,0 +S0146;46,0;211,3 +S0147;82,1;223,3 +S0148;93,5;197,9 +S0149;16,9;55,7 +S0150;111,8;299,1 diff --git a/agents/evals/fixtures/cases/scatter-basic-matplotlib-n12/case.json b/agents/evals/fixtures/cases/scatter-basic-matplotlib-n12/case.json new file mode 100644 index 0000000000..8c706803d9 --- /dev/null +++ b/agents/evals/fixtures/cases/scatter-basic-matplotlib-n12/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "scatter-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "n12", + "bindings": [ + { + "role": "x", + "column": "Ad Spend (kCHF)" + }, + { + "role": "y", + "column": "Revenue (kCHF)" + } + ], + "expected": "accepted", + "tags": [ + "scatter", + "n12", + "synthetic", + "small" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 101, n12)" +} diff --git a/agents/evals/fixtures/cases/scatter-basic-matplotlib-n12/data.csv b/agents/evals/fixtures/cases/scatter-basic-matplotlib-n12/data.csv new file mode 100644 index 0000000000..5c1c20f3ee --- /dev/null +++ b/agents/evals/fixtures/cases/scatter-basic-matplotlib-n12/data.csv @@ -0,0 +1,13 @@ +Store,Ad Spend (kCHF),Revenue (kCHF) +S0001,101.7,199.9 +S0002,7.6,35.7 +S0003,80.9,321.5 +S0004,46.0,157.9 +S0005,57.2,183.1 +S0006,98.5,184.3 +S0007,29.4,61.1 +S0008,99.9,371.0 +S0009,98.3,214.7 +S0010,50.6,121.0 +S0011,106.5,196.8 +S0012,24.7,186.3 diff --git a/agents/evals/fixtures/cases/scatter-basic-matplotlib-n5000/case.json b/agents/evals/fixtures/cases/scatter-basic-matplotlib-n5000/case.json new file mode 100644 index 0000000000..49ec872ffa --- /dev/null +++ b/agents/evals/fixtures/cases/scatter-basic-matplotlib-n5000/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "scatter-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "n5000", + "bindings": [ + { + "role": "x", + "column": "Ad Spend (kCHF)" + }, + { + "role": "y", + "column": "Revenue (kCHF)" + } + ], + "expected": "accepted", + "tags": [ + "scatter", + "n5000", + "synthetic", + "large" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 101, n5000)" +} diff --git a/agents/evals/fixtures/cases/scatter-basic-matplotlib-n5000/data.csv b/agents/evals/fixtures/cases/scatter-basic-matplotlib-n5000/data.csv new file mode 100644 index 0000000000..873d2f0082 --- /dev/null +++ b/agents/evals/fixtures/cases/scatter-basic-matplotlib-n5000/data.csv @@ -0,0 +1,5001 @@ +Store,Ad Spend (kCHF),Revenue (kCHF) +S0001,72.1,313.3 +S0002,90.3,179.9 +S0003,71.7,201.6 +S0004,51.9,188.1 +S0005,105.6,296.8 +S0006,100.5,236.5 +S0007,110.1,320.5 +S0008,119.3,274.2 +S0009,40.4,131.5 +S0010,79.0,345.7 +S0011,39.0,155.4 +S0012,17.4,38.3 +S0013,79.6,234.3 +S0014,89.6,183.2 +S0015,54.0,202.4 +S0016,42.2,9.9 +S0017,112.8,354.2 +S0018,82.7,144.5 +S0019,66.3,227.8 +S0020,91.5,124.4 +S0021,72.3,216.9 +S0022,23.4,15.8 +S0023,96.2,213.5 +S0024,60.0,146.8 +S0025,104.4,173.5 +S0026,76.1,285.7 +S0027,33.7,70.9 +S0028,17.2,68.9 +S0029,30.0,114.3 +S0030,26.5,148.9 +S0031,50.4,45.1 +S0032,49.1,201.2 +S0033,119.5,371.6 +S0034,76.6,360.6 +S0035,56.2,125.0 +S0036,45.3,104.2 +S0037,7.8,38.6 +S0038,7.4,113.0 +S0039,18.3,35.3 +S0040,56.3,163.1 +S0041,84.4,99.9 +S0042,62.1,198.8 +S0043,7.4,5.0 +S0044,114.6,280.4 +S0045,75.1,141.6 +S0046,37.2,157.0 +S0047,25.9,56.2 +S0048,100.6,230.9 +S0049,16.1,74.2 +S0050,114.3,200.2 +S0051,103.8,235.1 +S0052,37.2,271.1 +S0053,114.8,337.2 +S0054,48.4,192.7 +S0055,76.6,169.4 +S0056,54.6,274.1 +S0057,89.4,372.0 +S0058,32.6,105.0 +S0059,65.8,213.0 +S0060,62.8,91.9 +S0061,54.7,138.1 +S0062,15.4,229.3 +S0063,37.2,172.1 +S0064,67.3,38.0 +S0065,90.8,226.9 +S0066,30.6,74.1 +S0067,42.5,130.0 +S0068,101.5,220.1 +S0069,59.4,156.6 +S0070,59.9,107.3 +S0071,82.5,374.7 +S0072,73.3,163.6 +S0073,118.8,276.7 +S0074,76.9,81.4 +S0075,10.4,68.0 +S0076,101.7,205.4 +S0077,89.8,87.3 +S0078,6.1,63.7 +S0079,65.6,151.7 +S0080,94.4,249.7 +S0081,116.7,364.1 +S0082,39.5,176.1 +S0083,75.2,43.9 +S0084,56.4,122.4 +S0085,75.4,44.9 +S0086,68.1,242.3 +S0087,82.9,222.3 +S0088,58.2,139.3 +S0089,86.8,353.6 +S0090,109.6,296.3 +S0091,57.4,287.9 +S0092,105.4,294.4 +S0093,102.5,370.4 +S0094,64.0,194.2 +S0095,16.6,5.0 +S0096,29.5,28.9 +S0097,87.8,201.6 +S0098,14.7,110.9 +S0099,98.1,151.6 +S0100,75.0,162.6 +S0101,102.7,316.7 +S0102,70.6,135.4 +S0103,97.7,269.9 +S0104,44.9,142.7 +S0105,110.6,393.8 +S0106,97.6,291.9 +S0107,81.1,289.0 +S0108,80.3,275.0 +S0109,96.8,96.8 +S0110,45.9,157.6 +S0111,81.0,198.0 +S0112,46.4,263.2 +S0113,68.0,205.0 +S0114,57.6,110.3 +S0115,40.7,208.4 +S0116,35.9,88.5 +S0117,72.1,180.4 +S0118,115.2,329.7 +S0119,60.3,206.4 +S0120,112.8,260.5 +S0121,51.9,147.8 +S0122,30.1,5.0 +S0123,118.6,356.6 +S0124,30.9,158.4 +S0125,45.6,166.9 +S0126,98.8,227.7 +S0127,39.0,144.2 +S0128,107.3,255.4 +S0129,78.0,251.4 +S0130,34.6,121.4 +S0131,62.0,141.0 +S0132,53.8,243.9 +S0133,88.4,338.2 +S0134,30.6,110.6 +S0135,67.2,113.5 +S0136,54.0,255.5 +S0137,30.8,119.5 +S0138,82.9,165.5 +S0139,24.4,98.2 +S0140,60.9,196.6 +S0141,58.9,179.6 +S0142,56.5,218.1 +S0143,46.5,123.4 +S0144,97.7,148.6 +S0145,18.5,5.0 +S0146,29.9,62.2 +S0147,109.4,233.2 +S0148,90.2,124.6 +S0149,61.6,224.9 +S0150,29.7,90.5 +S0151,53.4,99.9 +S0152,58.3,234.5 +S0153,97.3,252.5 +S0154,109.3,383.0 +S0155,104.6,212.3 +S0156,19.1,48.6 +S0157,71.6,213.7 +S0158,26.1,62.5 +S0159,94.6,222.3 +S0160,48.1,140.4 +S0161,108.0,374.0 +S0162,103.2,234.2 +S0163,53.3,171.7 +S0164,89.1,251.3 +S0165,70.4,195.1 +S0166,64.4,198.9 +S0167,41.1,175.5 +S0168,72.5,17.3 +S0169,84.4,282.0 +S0170,98.0,300.5 +S0171,6.7,5.0 +S0172,76.0,227.2 +S0173,12.0,79.4 +S0174,81.7,133.9 +S0175,47.6,130.9 +S0176,42.7,153.6 +S0177,105.4,122.9 +S0178,55.0,110.2 +S0179,84.3,268.8 +S0180,22.7,68.7 +S0181,28.1,126.5 +S0182,8.4,22.5 +S0183,38.7,103.6 +S0184,35.1,130.8 +S0185,50.6,222.4 +S0186,105.8,292.9 +S0187,95.2,201.9 +S0188,118.7,268.7 +S0189,37.0,74.7 +S0190,12.8,45.3 +S0191,7.4,5.0 +S0192,44.8,201.1 +S0193,39.9,178.2 +S0194,55.9,238.2 +S0195,35.3,103.8 +S0196,115.3,310.1 +S0197,81.0,132.6 +S0198,34.3,16.3 +S0199,83.7,174.1 +S0200,38.3,128.7 +S0201,105.6,240.5 +S0202,117.3,253.9 +S0203,81.1,354.8 +S0204,58.1,212.6 +S0205,97.1,248.4 +S0206,36.2,5.0 +S0207,5.7,99.4 +S0208,96.2,199.8 +S0209,13.0,106.4 +S0210,40.0,238.7 +S0211,87.6,193.9 +S0212,11.8,28.7 +S0213,97.1,361.7 +S0214,26.5,157.3 +S0215,48.3,62.5 +S0216,73.1,263.1 +S0217,53.2,236.0 +S0218,94.8,392.4 +S0219,99.1,392.3 +S0220,72.0,195.0 +S0221,55.5,184.0 +S0222,85.8,293.1 +S0223,68.6,137.3 +S0224,39.6,90.0 +S0225,115.0,389.8 +S0226,44.5,5.0 +S0227,27.0,189.4 +S0228,105.6,233.6 +S0229,39.7,246.9 +S0230,10.3,108.7 +S0231,70.2,195.8 +S0232,75.4,110.5 +S0233,66.8,262.6 +S0234,68.5,259.3 +S0235,32.7,5.0 +S0236,18.0,123.4 +S0237,62.8,52.9 +S0238,56.2,273.3 +S0239,28.7,13.6 +S0240,69.0,297.6 +S0241,99.4,277.4 +S0242,83.2,200.3 +S0243,113.4,140.8 +S0244,111.6,374.9 +S0245,116.1,402.0 +S0246,77.6,332.8 +S0247,93.0,184.2 +S0248,118.3,344.4 +S0249,80.8,98.0 +S0250,50.8,152.7 +S0251,21.7,152.2 +S0252,83.8,253.5 +S0253,13.2,49.9 +S0254,11.7,122.5 +S0255,61.1,198.1 +S0256,89.5,300.8 +S0257,25.5,122.2 +S0258,96.4,267.7 +S0259,73.6,156.8 +S0260,7.4,173.3 +S0261,109.7,324.1 +S0262,98.6,123.7 +S0263,48.8,152.1 +S0264,9.1,5.0 +S0265,102.6,213.5 +S0266,78.2,190.5 +S0267,109.0,359.8 +S0268,34.0,36.2 +S0269,103.4,357.4 +S0270,78.7,189.0 +S0271,115.6,324.2 +S0272,29.3,5.0 +S0273,104.0,268.1 +S0274,66.8,193.9 +S0275,40.9,57.0 +S0276,58.4,170.6 +S0277,83.5,247.8 +S0278,68.5,341.3 +S0279,52.7,100.2 +S0280,65.8,184.8 +S0281,73.2,255.6 +S0282,97.5,107.1 +S0283,65.2,172.6 +S0284,38.9,146.1 +S0285,68.1,145.2 +S0286,5.9,5.0 +S0287,58.5,75.1 +S0288,61.7,182.6 +S0289,41.2,184.0 +S0290,11.1,6.7 +S0291,21.3,75.6 +S0292,115.8,348.0 +S0293,25.1,197.3 +S0294,109.3,247.5 +S0295,21.3,6.7 +S0296,28.7,5.0 +S0297,9.6,5.0 +S0298,48.5,170.0 +S0299,102.6,204.5 +S0300,72.9,196.6 +S0301,83.5,300.2 +S0302,40.1,264.0 +S0303,48.6,115.4 +S0304,56.2,74.5 +S0305,93.1,345.4 +S0306,88.5,272.3 +S0307,23.5,132.5 +S0308,66.5,198.1 +S0309,46.9,83.0 +S0310,45.6,53.2 +S0311,82.7,323.6 +S0312,92.4,248.2 +S0313,59.2,161.5 +S0314,17.0,78.9 +S0315,29.8,103.3 +S0316,12.4,41.1 +S0317,21.9,186.6 +S0318,90.1,263.3 +S0319,20.5,217.7 +S0320,12.3,88.2 +S0321,17.8,79.1 +S0322,96.2,285.5 +S0323,10.3,111.1 +S0324,90.5,279.6 +S0325,34.7,195.3 +S0326,86.3,254.4 +S0327,28.3,75.3 +S0328,51.7,106.1 +S0329,13.5,5.0 +S0330,48.9,227.1 +S0331,70.3,149.7 +S0332,8.8,5.0 +S0333,12.2,89.4 +S0334,114.6,313.3 +S0335,86.7,221.6 +S0336,49.1,222.7 +S0337,96.8,201.6 +S0338,44.9,52.3 +S0339,34.2,27.7 +S0340,58.7,101.7 +S0341,27.1,64.3 +S0342,77.3,211.8 +S0343,119.0,167.3 +S0344,100.1,158.9 +S0345,20.8,5.0 +S0346,33.7,156.1 +S0347,34.4,55.3 +S0348,35.1,143.4 +S0349,57.5,195.7 +S0350,51.6,63.1 +S0351,21.3,30.8 +S0352,95.1,186.7 +S0353,39.6,133.2 +S0354,22.7,140.7 +S0355,109.6,279.1 +S0356,71.2,295.8 +S0357,32.3,124.9 +S0358,99.8,249.8 +S0359,70.9,167.2 +S0360,71.6,238.5 +S0361,10.0,13.0 +S0362,37.8,69.9 +S0363,92.4,383.6 +S0364,66.7,182.9 +S0365,12.8,62.8 +S0366,100.7,221.6 +S0367,9.2,111.0 +S0368,82.6,208.4 +S0369,102.0,220.5 +S0370,82.3,235.3 +S0371,81.8,269.1 +S0372,117.8,379.7 +S0373,80.3,48.9 +S0374,72.5,210.7 +S0375,57.4,171.1 +S0376,114.2,361.1 +S0377,18.1,5.0 +S0378,52.3,217.5 +S0379,100.2,339.6 +S0380,57.5,155.9 +S0381,41.6,93.1 +S0382,32.7,43.2 +S0383,104.7,168.3 +S0384,34.2,212.2 +S0385,91.8,58.9 +S0386,106.3,244.0 +S0387,82.4,252.9 +S0388,62.2,185.7 +S0389,67.4,245.9 +S0390,27.2,234.7 +S0391,76.6,168.6 +S0392,56.3,74.4 +S0393,7.9,5.0 +S0394,77.0,109.6 +S0395,32.8,141.1 +S0396,5.6,5.0 +S0397,77.4,245.4 +S0398,117.2,285.4 +S0399,80.8,189.9 +S0400,54.7,182.1 +S0401,107.8,353.6 +S0402,72.1,234.6 +S0403,99.4,147.3 +S0404,29.2,171.1 +S0405,115.8,286.3 +S0406,83.3,201.9 +S0407,69.6,140.0 +S0408,49.3,90.3 +S0409,42.6,135.7 +S0410,119.4,140.8 +S0411,104.9,359.3 +S0412,13.5,229.3 +S0413,21.6,5.0 +S0414,18.2,67.2 +S0415,112.1,266.6 +S0416,35.4,5.0 +S0417,9.2,249.4 +S0418,107.4,354.2 +S0419,70.7,79.7 +S0420,94.7,225.8 +S0421,74.8,159.3 +S0422,23.3,177.1 +S0423,99.4,288.1 +S0424,117.1,281.3 +S0425,54.9,65.9 +S0426,29.3,141.2 +S0427,42.8,134.0 +S0428,102.8,291.7 +S0429,41.2,158.7 +S0430,105.4,305.1 +S0431,85.9,198.8 +S0432,31.2,79.2 +S0433,82.1,157.2 +S0434,48.8,128.0 +S0435,105.1,172.6 +S0436,37.4,203.8 +S0437,21.7,188.1 +S0438,72.5,277.4 +S0439,29.4,143.9 +S0440,90.9,184.4 +S0441,104.3,363.2 +S0442,58.7,252.7 +S0443,73.3,174.6 +S0444,37.2,89.0 +S0445,57.1,89.1 +S0446,48.3,245.6 +S0447,71.4,301.8 +S0448,94.3,250.5 +S0449,119.1,267.4 +S0450,20.8,113.5 +S0451,107.1,195.8 +S0452,81.6,347.0 +S0453,47.1,210.5 +S0454,66.3,299.8 +S0455,47.5,33.5 +S0456,110.3,260.3 +S0457,79.7,213.9 +S0458,43.9,121.2 +S0459,35.9,32.2 +S0460,70.3,379.4 +S0461,45.6,114.6 +S0462,31.2,140.6 +S0463,37.7,149.8 +S0464,17.8,9.3 +S0465,98.7,350.4 +S0466,22.2,35.8 +S0467,101.5,289.2 +S0468,60.8,187.8 +S0469,33.9,52.7 +S0470,101.5,236.7 +S0471,43.9,96.1 +S0472,31.4,203.7 +S0473,62.6,198.9 +S0474,109.1,378.5 +S0475,23.0,40.1 +S0476,106.8,309.6 +S0477,71.6,191.9 +S0478,63.9,194.3 +S0479,83.9,189.6 +S0480,71.1,57.9 +S0481,103.7,240.4 +S0482,61.1,257.8 +S0483,73.5,285.2 +S0484,50.1,73.9 +S0485,55.9,78.3 +S0486,107.4,289.4 +S0487,10.9,83.9 +S0488,38.6,42.4 +S0489,82.5,172.3 +S0490,43.3,167.4 +S0491,57.7,104.4 +S0492,33.2,68.5 +S0493,40.6,205.6 +S0494,43.1,223.3 +S0495,19.4,57.6 +S0496,24.7,32.5 +S0497,104.1,245.9 +S0498,113.4,223.4 +S0499,80.3,178.0 +S0500,105.9,192.6 +S0501,28.1,5.0 +S0502,81.7,217.3 +S0503,30.3,201.3 +S0504,29.0,162.4 +S0505,7.5,5.0 +S0506,90.1,277.2 +S0507,102.1,305.4 +S0508,68.7,229.5 +S0509,24.1,35.8 +S0510,99.6,340.2 +S0511,100.5,229.1 +S0512,8.5,176.9 +S0513,98.7,198.1 +S0514,114.4,220.1 +S0515,79.0,177.3 +S0516,55.0,137.4 +S0517,5.3,64.7 +S0518,47.6,189.5 +S0519,35.4,106.8 +S0520,47.1,62.2 +S0521,84.8,182.4 +S0522,68.0,170.7 +S0523,70.5,108.1 +S0524,54.9,247.1 +S0525,90.0,297.1 +S0526,42.6,84.8 +S0527,106.2,254.4 +S0528,114.0,250.1 +S0529,60.5,130.6 +S0530,107.6,160.2 +S0531,50.3,260.7 +S0532,55.3,185.7 +S0533,18.9,22.7 +S0534,10.9,82.2 +S0535,106.8,204.4 +S0536,39.2,149.3 +S0537,102.4,227.4 +S0538,110.7,381.5 +S0539,23.6,87.7 +S0540,17.4,5.0 +S0541,72.1,130.7 +S0542,9.9,11.0 +S0543,9.8,42.9 +S0544,50.3,205.5 +S0545,29.3,199.1 +S0546,102.7,396.8 +S0547,78.9,251.9 +S0548,59.1,71.7 +S0549,7.3,56.3 +S0550,62.0,187.6 +S0551,44.8,76.8 +S0552,6.0,5.0 +S0553,106.6,280.6 +S0554,105.1,340.9 +S0555,23.1,99.1 +S0556,19.0,137.0 +S0557,66.3,254.7 +S0558,110.1,179.1 +S0559,119.8,215.9 +S0560,92.9,219.2 +S0561,116.2,293.2 +S0562,90.7,181.7 +S0563,78.4,203.5 +S0564,99.0,193.0 +S0565,22.6,127.7 +S0566,20.8,83.0 +S0567,15.5,109.0 +S0568,33.2,117.9 +S0569,21.7,68.2 +S0570,75.5,220.0 +S0571,79.4,316.6 +S0572,85.5,115.2 +S0573,108.9,317.1 +S0574,118.8,255.7 +S0575,89.9,242.3 +S0576,115.4,169.8 +S0577,35.5,76.0 +S0578,60.6,209.4 +S0579,38.9,218.9 +S0580,55.7,94.0 +S0581,65.3,211.2 +S0582,23.8,180.2 +S0583,119.0,340.5 +S0584,25.2,149.2 +S0585,99.5,230.6 +S0586,15.5,5.0 +S0587,24.1,36.3 +S0588,105.2,171.0 +S0589,38.2,213.9 +S0590,109.0,217.6 +S0591,38.1,207.3 +S0592,98.1,142.6 +S0593,37.7,5.0 +S0594,13.6,137.8 +S0595,34.1,163.9 +S0596,116.3,176.6 +S0597,52.6,115.3 +S0598,13.9,25.0 +S0599,118.0,325.5 +S0600,46.4,109.3 +S0601,26.3,67.1 +S0602,110.7,167.9 +S0603,102.7,257.0 +S0604,14.9,66.2 +S0605,9.1,117.1 +S0606,33.6,115.3 +S0607,59.3,201.7 +S0608,39.7,148.1 +S0609,39.7,64.8 +S0610,30.4,252.0 +S0611,96.5,284.1 +S0612,92.5,200.1 +S0613,81.4,213.1 +S0614,96.7,325.2 +S0615,106.4,298.5 +S0616,33.5,55.7 +S0617,26.5,118.5 +S0618,6.6,57.0 +S0619,82.8,296.2 +S0620,102.8,276.9 +S0621,97.5,295.7 +S0622,21.3,115.0 +S0623,31.5,181.8 +S0624,117.1,255.8 +S0625,110.7,272.2 +S0626,85.1,355.3 +S0627,107.7,253.5 +S0628,90.1,218.2 +S0629,40.1,90.8 +S0630,47.4,162.1 +S0631,110.6,308.7 +S0632,50.4,161.8 +S0633,29.5,31.3 +S0634,11.2,103.9 +S0635,100.7,155.3 +S0636,117.5,154.3 +S0637,59.6,103.4 +S0638,119.1,315.4 +S0639,119.1,275.3 +S0640,91.2,255.2 +S0641,15.0,64.5 +S0642,25.8,65.1 +S0643,81.0,190.6 +S0644,44.4,166.9 +S0645,93.1,205.5 +S0646,30.8,204.5 +S0647,46.9,82.2 +S0648,70.3,118.1 +S0649,17.0,18.6 +S0650,39.8,157.2 +S0651,103.7,130.6 +S0652,93.5,191.6 +S0653,87.7,231.4 +S0654,54.7,29.7 +S0655,63.0,203.1 +S0656,23.3,36.1 +S0657,89.9,337.4 +S0658,67.1,111.1 +S0659,97.9,186.8 +S0660,70.0,29.5 +S0661,72.3,137.1 +S0662,34.4,63.4 +S0663,81.7,223.9 +S0664,51.1,110.8 +S0665,103.7,367.6 +S0666,79.9,6.0 +S0667,32.9,133.5 +S0668,14.1,5.0 +S0669,44.5,118.6 +S0670,49.2,234.4 +S0671,35.4,300.1 +S0672,111.5,225.1 +S0673,95.4,181.6 +S0674,65.0,198.1 +S0675,24.3,36.3 +S0676,64.1,119.9 +S0677,56.5,130.1 +S0678,60.9,194.3 +S0679,17.2,41.5 +S0680,18.3,5.0 +S0681,109.9,306.2 +S0682,103.9,209.3 +S0683,50.5,123.8 +S0684,22.2,267.6 +S0685,81.8,145.4 +S0686,91.9,244.7 +S0687,25.6,128.5 +S0688,54.3,121.8 +S0689,82.4,222.6 +S0690,114.8,184.7 +S0691,61.7,35.6 +S0692,99.0,237.6 +S0693,13.0,5.0 +S0694,91.5,346.9 +S0695,43.6,38.2 +S0696,42.8,118.0 +S0697,111.3,416.6 +S0698,37.9,114.9 +S0699,18.8,10.8 +S0700,54.9,59.5 +S0701,31.7,133.9 +S0702,61.2,207.3 +S0703,71.4,110.6 +S0704,9.8,5.0 +S0705,34.6,84.3 +S0706,110.5,238.4 +S0707,117.7,422.0 +S0708,47.7,97.4 +S0709,63.7,191.4 +S0710,117.4,221.2 +S0711,80.8,206.2 +S0712,92.4,174.4 +S0713,95.5,261.4 +S0714,70.0,112.0 +S0715,91.1,344.5 +S0716,25.4,97.7 +S0717,49.9,81.6 +S0718,48.0,112.4 +S0719,39.4,166.3 +S0720,79.7,69.0 +S0721,38.0,69.0 +S0722,36.6,87.4 +S0723,93.1,220.3 +S0724,53.5,149.0 +S0725,6.8,110.1 +S0726,118.4,335.9 +S0727,9.7,68.8 +S0728,119.3,292.1 +S0729,42.4,270.1 +S0730,16.3,63.9 +S0731,24.2,60.0 +S0732,108.6,259.9 +S0733,36.1,5.0 +S0734,90.4,302.7 +S0735,10.3,40.6 +S0736,15.8,60.8 +S0737,6.0,23.1 +S0738,93.7,282.0 +S0739,95.4,164.3 +S0740,87.7,338.7 +S0741,75.7,162.8 +S0742,71.9,296.2 +S0743,75.5,214.2 +S0744,102.9,218.7 +S0745,76.9,284.5 +S0746,52.2,199.2 +S0747,28.4,67.5 +S0748,86.0,189.9 +S0749,84.7,227.2 +S0750,111.7,290.6 +S0751,37.0,70.3 +S0752,7.1,5.0 +S0753,108.9,256.7 +S0754,40.2,53.9 +S0755,44.0,160.5 +S0756,22.8,79.9 +S0757,60.7,171.2 +S0758,27.2,59.1 +S0759,89.5,143.6 +S0760,12.6,22.9 +S0761,97.0,391.4 +S0762,116.4,315.7 +S0763,38.6,151.2 +S0764,96.6,203.6 +S0765,11.0,159.4 +S0766,97.9,310.3 +S0767,11.5,5.0 +S0768,107.4,281.4 +S0769,111.1,346.1 +S0770,22.6,92.9 +S0771,109.1,204.1 +S0772,72.5,167.0 +S0773,31.3,142.0 +S0774,59.7,178.6 +S0775,64.3,220.5 +S0776,66.7,389.7 +S0777,87.5,171.5 +S0778,68.2,66.7 +S0779,23.3,99.1 +S0780,115.7,380.4 +S0781,72.5,12.6 +S0782,53.7,130.6 +S0783,31.1,253.6 +S0784,67.8,191.0 +S0785,103.7,250.8 +S0786,103.7,166.3 +S0787,24.0,142.5 +S0788,18.7,168.3 +S0789,41.2,161.5 +S0790,76.6,180.0 +S0791,65.7,157.1 +S0792,113.7,220.6 +S0793,69.5,187.8 +S0794,93.0,310.6 +S0795,114.4,356.1 +S0796,91.6,266.4 +S0797,48.0,95.0 +S0798,28.7,107.2 +S0799,41.6,212.2 +S0800,53.9,134.8 +S0801,38.8,107.0 +S0802,40.4,250.7 +S0803,110.5,205.8 +S0804,48.3,201.4 +S0805,71.7,189.6 +S0806,27.0,138.3 +S0807,66.7,30.5 +S0808,13.4,188.8 +S0809,65.3,241.2 +S0810,56.2,87.4 +S0811,64.4,237.2 +S0812,68.8,93.0 +S0813,88.4,242.9 +S0814,14.8,159.2 +S0815,116.8,191.7 +S0816,68.5,193.0 +S0817,20.6,125.5 +S0818,59.2,196.6 +S0819,118.7,401.4 +S0820,66.1,209.6 +S0821,55.7,158.7 +S0822,59.6,69.1 +S0823,66.7,145.2 +S0824,98.3,259.6 +S0825,91.1,304.4 +S0826,86.4,174.5 +S0827,14.2,5.0 +S0828,11.6,92.7 +S0829,60.1,213.7 +S0830,81.8,190.2 +S0831,51.5,152.1 +S0832,76.5,94.8 +S0833,47.9,173.9 +S0834,90.4,168.5 +S0835,62.4,226.0 +S0836,66.9,73.9 +S0837,6.8,5.0 +S0838,35.4,13.5 +S0839,102.8,94.6 +S0840,112.4,214.3 +S0841,94.1,167.0 +S0842,68.7,185.4 +S0843,13.5,84.3 +S0844,81.0,295.5 +S0845,63.6,145.4 +S0846,7.4,64.4 +S0847,95.6,204.5 +S0848,40.8,5.0 +S0849,100.4,291.4 +S0850,80.1,179.4 +S0851,92.0,164.4 +S0852,45.1,176.3 +S0853,8.1,52.9 +S0854,96.7,306.4 +S0855,119.9,306.4 +S0856,89.1,194.0 +S0857,17.5,29.9 +S0858,16.6,107.7 +S0859,46.9,72.0 +S0860,19.7,96.3 +S0861,78.6,197.8 +S0862,85.4,243.6 +S0863,102.2,209.4 +S0864,111.1,326.8 +S0865,82.2,253.6 +S0866,9.8,100.1 +S0867,77.0,91.8 +S0868,13.9,94.3 +S0869,39.9,50.4 +S0870,41.3,63.0 +S0871,58.0,306.0 +S0872,72.8,188.9 +S0873,83.5,223.3 +S0874,11.5,15.0 +S0875,80.8,241.0 +S0876,60.0,150.9 +S0877,23.4,59.9 +S0878,18.3,41.3 +S0879,109.5,189.0 +S0880,37.9,207.3 +S0881,111.4,268.2 +S0882,88.7,126.9 +S0883,75.9,178.9 +S0884,97.6,266.3 +S0885,116.4,284.5 +S0886,32.4,287.4 +S0887,15.3,41.0 +S0888,77.4,178.5 +S0889,103.5,256.3 +S0890,103.9,227.8 +S0891,110.2,211.6 +S0892,114.6,242.8 +S0893,46.0,170.2 +S0894,84.4,129.8 +S0895,79.7,185.4 +S0896,95.9,253.8 +S0897,48.4,218.8 +S0898,94.1,172.0 +S0899,98.5,227.6 +S0900,91.2,206.8 +S0901,103.4,323.2 +S0902,101.4,195.5 +S0903,81.1,160.6 +S0904,28.4,47.3 +S0905,57.3,157.1 +S0906,62.3,185.5 +S0907,93.4,279.0 +S0908,113.2,257.4 +S0909,92.8,183.2 +S0910,117.8,329.1 +S0911,110.9,356.6 +S0912,36.0,114.3 +S0913,101.8,228.5 +S0914,59.3,72.9 +S0915,88.7,155.3 +S0916,95.2,290.8 +S0917,63.3,198.4 +S0918,101.1,220.7 +S0919,112.5,404.0 +S0920,83.2,387.3 +S0921,119.8,432.6 +S0922,100.9,202.0 +S0923,87.1,114.4 +S0924,26.1,11.5 +S0925,87.8,102.9 +S0926,103.7,424.3 +S0927,75.6,68.2 +S0928,84.9,176.3 +S0929,85.3,142.8 +S0930,18.9,5.0 +S0931,24.9,127.4 +S0932,88.4,189.7 +S0933,93.5,273.1 +S0934,27.3,73.0 +S0935,27.4,111.6 +S0936,38.2,128.4 +S0937,113.9,257.7 +S0938,19.2,71.4 +S0939,117.1,296.3 +S0940,118.4,265.1 +S0941,52.0,253.8 +S0942,38.4,190.9 +S0943,104.6,337.2 +S0944,68.1,174.8 +S0945,114.2,309.7 +S0946,93.5,254.5 +S0947,32.3,5.0 +S0948,55.1,330.6 +S0949,95.7,306.8 +S0950,45.3,149.1 +S0951,86.4,258.7 +S0952,99.8,174.9 +S0953,97.9,345.9 +S0954,94.8,217.8 +S0955,73.3,147.9 +S0956,88.1,244.4 +S0957,76.7,223.8 +S0958,36.5,7.4 +S0959,51.2,198.1 +S0960,30.3,87.3 +S0961,63.9,86.0 +S0962,72.7,195.7 +S0963,69.7,283.0 +S0964,96.1,168.9 +S0965,12.1,78.6 +S0966,95.4,220.4 +S0967,72.6,254.3 +S0968,86.3,121.4 +S0969,66.5,219.0 +S0970,29.2,170.9 +S0971,102.3,327.5 +S0972,12.2,49.7 +S0973,86.2,302.7 +S0974,74.8,229.4 +S0975,101.1,314.7 +S0976,85.7,250.6 +S0977,8.1,44.1 +S0978,116.7,269.9 +S0979,70.8,130.7 +S0980,27.3,117.3 +S0981,52.1,113.4 +S0982,86.0,278.7 +S0983,84.5,371.2 +S0984,11.1,100.9 +S0985,90.9,288.2 +S0986,27.7,130.4 +S0987,112.9,361.1 +S0988,98.5,223.1 +S0989,37.2,116.2 +S0990,78.2,199.5 +S0991,48.8,141.8 +S0992,52.2,152.1 +S0993,19.0,145.6 +S0994,65.1,44.9 +S0995,98.2,195.1 +S0996,71.6,116.2 +S0997,37.8,279.3 +S0998,40.9,172.0 +S0999,71.6,262.6 +S1000,29.6,238.6 +S1001,86.4,242.8 +S1002,72.8,288.8 +S1003,65.1,115.1 +S1004,13.0,122.9 +S1005,82.1,196.0 +S1006,47.6,123.9 +S1007,84.3,159.8 +S1008,24.8,14.6 +S1009,60.5,276.8 +S1010,60.8,150.2 +S1011,38.8,152.1 +S1012,116.1,347.5 +S1013,107.2,260.4 +S1014,33.4,5.0 +S1015,70.0,152.8 +S1016,66.9,151.7 +S1017,35.2,72.7 +S1018,83.6,134.3 +S1019,90.0,269.1 +S1020,16.2,64.1 +S1021,79.2,243.2 +S1022,119.9,303.0 +S1023,84.5,167.8 +S1024,76.0,301.7 +S1025,40.2,155.1 +S1026,22.9,37.9 +S1027,90.0,247.8 +S1028,40.6,133.8 +S1029,8.5,48.5 +S1030,46.0,52.0 +S1031,25.5,47.8 +S1032,36.8,132.7 +S1033,114.6,327.8 +S1034,88.7,167.2 +S1035,43.1,116.6 +S1036,78.3,320.0 +S1037,15.3,26.2 +S1038,7.7,31.3 +S1039,34.9,103.9 +S1040,21.1,50.7 +S1041,100.2,272.3 +S1042,58.1,258.0 +S1043,49.6,5.0 +S1044,87.8,200.2 +S1045,20.7,133.6 +S1046,44.0,124.3 +S1047,15.3,5.0 +S1048,6.1,103.4 +S1049,52.6,161.7 +S1050,119.9,104.7 +S1051,81.5,117.1 +S1052,64.6,142.7 +S1053,65.2,222.8 +S1054,16.6,33.3 +S1055,60.4,261.2 +S1056,36.3,5.0 +S1057,77.8,123.3 +S1058,80.2,237.8 +S1059,13.8,10.9 +S1060,86.8,371.4 +S1061,39.3,148.2 +S1062,115.6,198.5 +S1063,101.9,328.2 +S1064,56.4,130.7 +S1065,21.0,83.2 +S1066,58.2,207.2 +S1067,98.7,184.6 +S1068,30.2,131.8 +S1069,67.9,280.1 +S1070,19.1,241.5 +S1071,105.5,199.9 +S1072,74.3,214.4 +S1073,96.8,204.1 +S1074,47.2,134.8 +S1075,43.6,252.7 +S1076,107.3,365.3 +S1077,110.0,259.5 +S1078,5.3,128.2 +S1079,112.2,355.1 +S1080,65.4,70.3 +S1081,23.3,5.6 +S1082,52.2,142.4 +S1083,16.7,154.9 +S1084,88.2,284.4 +S1085,45.4,108.0 +S1086,51.0,87.8 +S1087,60.4,310.8 +S1088,97.9,212.5 +S1089,81.6,204.8 +S1090,12.5,5.0 +S1091,9.4,150.5 +S1092,103.0,229.3 +S1093,73.3,203.5 +S1094,64.2,241.4 +S1095,87.0,165.7 +S1096,33.0,70.9 +S1097,90.0,276.2 +S1098,110.4,301.1 +S1099,31.1,196.1 +S1100,52.7,141.4 +S1101,23.8,78.9 +S1102,54.6,204.2 +S1103,80.6,193.5 +S1104,111.6,201.1 +S1105,59.0,174.9 +S1106,106.5,281.8 +S1107,117.8,368.2 +S1108,38.3,85.3 +S1109,100.9,144.2 +S1110,37.0,171.4 +S1111,24.4,99.7 +S1112,101.8,258.9 +S1113,109.1,359.1 +S1114,109.6,375.6 +S1115,111.9,312.3 +S1116,101.3,271.4 +S1117,117.2,388.9 +S1118,27.6,134.2 +S1119,83.2,266.2 +S1120,91.7,233.9 +S1121,99.9,199.8 +S1122,105.0,269.5 +S1123,55.0,77.3 +S1124,66.8,202.3 +S1125,83.4,265.7 +S1126,73.6,349.2 +S1127,27.9,233.5 +S1128,17.8,105.9 +S1129,23.4,58.8 +S1130,43.8,271.5 +S1131,74.3,127.0 +S1132,110.1,153.7 +S1133,102.2,210.9 +S1134,17.4,54.7 +S1135,109.6,309.8 +S1136,63.2,80.8 +S1137,104.6,159.7 +S1138,15.5,38.4 +S1139,99.1,238.0 +S1140,84.3,174.2 +S1141,23.1,126.2 +S1142,10.5,81.0 +S1143,37.7,21.2 +S1144,84.1,156.3 +S1145,20.4,38.0 +S1146,21.6,36.8 +S1147,85.7,213.5 +S1148,89.7,9.5 +S1149,49.5,175.0 +S1150,41.2,90.1 +S1151,93.6,264.8 +S1152,108.3,297.0 +S1153,52.4,121.7 +S1154,82.0,241.6 +S1155,67.4,100.2 +S1156,5.0,141.2 +S1157,30.8,116.7 +S1158,107.2,296.3 +S1159,55.0,41.1 +S1160,33.9,5.0 +S1161,40.9,218.2 +S1162,9.1,84.6 +S1163,5.6,26.4 +S1164,119.5,236.0 +S1165,99.7,198.1 +S1166,57.8,79.9 +S1167,21.4,11.7 +S1168,119.0,260.1 +S1169,35.7,143.5 +S1170,45.4,256.7 +S1171,39.4,84.4 +S1172,115.2,277.4 +S1173,51.5,124.0 +S1174,12.1,52.4 +S1175,87.9,238.2 +S1176,56.0,24.6 +S1177,66.4,148.9 +S1178,78.5,263.1 +S1179,34.0,182.4 +S1180,60.1,87.0 +S1181,45.6,214.8 +S1182,23.4,5.0 +S1183,104.4,309.6 +S1184,89.5,256.3 +S1185,108.9,253.0 +S1186,11.2,151.1 +S1187,89.0,283.5 +S1188,56.5,151.5 +S1189,66.5,371.2 +S1190,9.7,72.7 +S1191,82.0,107.3 +S1192,44.7,77.3 +S1193,28.4,49.0 +S1194,97.9,140.9 +S1195,31.6,5.0 +S1196,85.1,341.3 +S1197,89.3,146.4 +S1198,66.7,179.3 +S1199,105.7,196.4 +S1200,107.7,347.6 +S1201,82.1,304.9 +S1202,79.3,206.3 +S1203,93.3,161.8 +S1204,13.8,103.2 +S1205,10.9,145.8 +S1206,63.7,37.1 +S1207,28.5,128.1 +S1208,119.6,296.4 +S1209,15.8,5.0 +S1210,24.9,82.2 +S1211,104.5,202.9 +S1212,116.1,319.9 +S1213,40.1,156.9 +S1214,116.7,357.0 +S1215,34.2,117.6 +S1216,65.9,262.7 +S1217,96.3,443.4 +S1218,87.2,247.1 +S1219,100.9,273.3 +S1220,54.2,294.5 +S1221,9.5,73.3 +S1222,113.8,114.6 +S1223,53.6,158.1 +S1224,46.0,142.4 +S1225,115.1,185.6 +S1226,91.6,215.7 +S1227,66.0,202.0 +S1228,55.9,170.3 +S1229,64.7,132.9 +S1230,21.0,140.0 +S1231,57.8,210.8 +S1232,109.6,256.8 +S1233,114.7,321.8 +S1234,91.5,361.1 +S1235,50.4,108.4 +S1236,114.3,373.3 +S1237,13.0,123.3 +S1238,59.4,150.7 +S1239,31.3,203.1 +S1240,92.8,154.6 +S1241,112.5,251.5 +S1242,49.0,137.5 +S1243,105.6,307.6 +S1244,5.6,64.6 +S1245,24.3,86.1 +S1246,103.7,267.8 +S1247,46.4,189.1 +S1248,95.5,173.3 +S1249,99.9,207.4 +S1250,113.0,338.8 +S1251,107.1,297.1 +S1252,97.5,335.9 +S1253,32.5,196.8 +S1254,43.8,130.8 +S1255,66.3,176.1 +S1256,75.4,99.2 +S1257,12.2,136.6 +S1258,34.5,147.6 +S1259,78.8,99.5 +S1260,7.2,92.6 +S1261,36.7,239.4 +S1262,83.1,189.6 +S1263,111.7,321.6 +S1264,27.3,169.2 +S1265,55.3,264.7 +S1266,102.7,257.2 +S1267,28.2,136.6 +S1268,91.8,234.4 +S1269,31.3,76.0 +S1270,116.7,338.2 +S1271,37.3,75.3 +S1272,104.8,262.7 +S1273,86.2,103.1 +S1274,62.4,151.0 +S1275,103.5,292.3 +S1276,16.4,25.4 +S1277,50.4,146.8 +S1278,99.8,251.8 +S1279,96.1,308.2 +S1280,57.4,107.6 +S1281,111.0,253.6 +S1282,79.5,54.3 +S1283,58.3,63.8 +S1284,75.3,170.3 +S1285,71.1,296.9 +S1286,94.9,277.6 +S1287,17.9,265.4 +S1288,82.3,125.4 +S1289,23.5,113.9 +S1290,12.5,117.6 +S1291,7.1,79.7 +S1292,43.7,196.0 +S1293,106.9,213.4 +S1294,38.1,87.6 +S1295,86.3,277.9 +S1296,66.9,276.7 +S1297,88.0,320.3 +S1298,7.6,50.6 +S1299,34.6,109.4 +S1300,30.4,127.6 +S1301,63.2,305.0 +S1302,22.4,38.3 +S1303,118.5,233.1 +S1304,49.4,200.5 +S1305,119.3,301.9 +S1306,80.0,200.3 +S1307,21.8,98.6 +S1308,50.8,183.7 +S1309,47.7,113.3 +S1310,61.3,171.4 +S1311,98.9,141.5 +S1312,14.4,53.6 +S1313,33.6,210.3 +S1314,21.5,238.0 +S1315,115.1,227.4 +S1316,40.6,194.0 +S1317,5.9,64.5 +S1318,60.0,95.9 +S1319,56.1,204.8 +S1320,97.1,242.7 +S1321,22.8,251.1 +S1322,84.1,325.8 +S1323,77.8,288.4 +S1324,21.8,134.5 +S1325,83.5,177.3 +S1326,119.9,282.2 +S1327,105.8,189.4 +S1328,29.9,118.6 +S1329,37.4,175.3 +S1330,111.5,109.4 +S1331,74.7,264.4 +S1332,73.2,169.3 +S1333,99.2,125.8 +S1334,45.9,240.6 +S1335,6.4,20.9 +S1336,108.7,349.3 +S1337,94.1,79.4 +S1338,52.3,131.2 +S1339,89.5,167.3 +S1340,62.2,275.4 +S1341,57.2,216.1 +S1342,77.1,166.2 +S1343,14.0,5.0 +S1344,67.8,104.7 +S1345,44.4,180.5 +S1346,53.9,232.3 +S1347,114.9,98.6 +S1348,114.8,348.2 +S1349,112.1,399.2 +S1350,27.0,10.8 +S1351,65.9,191.8 +S1352,114.1,329.9 +S1353,93.4,250.3 +S1354,113.6,99.6 +S1355,7.5,62.7 +S1356,78.6,95.6 +S1357,57.9,239.1 +S1358,87.9,186.0 +S1359,75.3,159.7 +S1360,13.2,122.9 +S1361,70.8,266.3 +S1362,53.6,201.1 +S1363,81.3,131.8 +S1364,62.6,5.0 +S1365,58.9,147.5 +S1366,42.3,37.5 +S1367,41.2,108.0 +S1368,114.6,242.1 +S1369,22.7,88.3 +S1370,108.5,278.8 +S1371,35.6,14.5 +S1372,43.6,208.7 +S1373,28.2,172.9 +S1374,11.4,92.1 +S1375,83.8,250.8 +S1376,110.7,324.6 +S1377,114.3,359.9 +S1378,107.8,140.8 +S1379,81.8,226.5 +S1380,22.3,100.8 +S1381,58.1,174.1 +S1382,29.6,21.6 +S1383,39.5,5.0 +S1384,111.6,228.0 +S1385,41.6,67.2 +S1386,63.8,187.2 +S1387,66.1,189.6 +S1388,50.8,153.5 +S1389,99.2,369.7 +S1390,115.7,247.3 +S1391,46.0,143.9 +S1392,75.1,61.2 +S1393,60.5,152.3 +S1394,108.2,248.8 +S1395,6.9,5.0 +S1396,15.8,62.7 +S1397,100.3,303.8 +S1398,96.0,326.7 +S1399,43.5,176.4 +S1400,86.5,151.7 +S1401,117.8,329.4 +S1402,49.2,133.0 +S1403,41.8,185.6 +S1404,19.3,139.3 +S1405,101.3,111.1 +S1406,54.0,186.0 +S1407,80.5,115.0 +S1408,71.5,211.3 +S1409,118.3,335.3 +S1410,99.8,355.9 +S1411,56.2,180.3 +S1412,48.4,205.0 +S1413,60.4,201.7 +S1414,29.6,194.4 +S1415,62.3,74.4 +S1416,24.3,25.0 +S1417,76.0,127.9 +S1418,37.4,199.0 +S1419,5.8,252.2 +S1420,46.1,158.2 +S1421,56.4,216.5 +S1422,85.1,303.3 +S1423,94.8,157.3 +S1424,32.2,136.6 +S1425,83.5,209.0 +S1426,29.0,65.9 +S1427,88.7,209.2 +S1428,25.8,164.4 +S1429,10.7,97.7 +S1430,34.6,140.0 +S1431,27.8,124.4 +S1432,17.8,43.1 +S1433,84.0,318.6 +S1434,113.6,269.1 +S1435,84.6,262.5 +S1436,104.3,327.8 +S1437,44.3,107.5 +S1438,86.0,260.3 +S1439,92.6,213.5 +S1440,27.6,7.4 +S1441,25.8,147.1 +S1442,66.5,233.2 +S1443,88.3,230.0 +S1444,108.5,353.5 +S1445,44.0,90.5 +S1446,93.5,191.1 +S1447,8.9,35.6 +S1448,54.1,5.0 +S1449,91.8,273.2 +S1450,40.2,106.3 +S1451,31.9,250.3 +S1452,25.4,5.0 +S1453,35.0,114.9 +S1454,59.3,96.7 +S1455,39.7,62.0 +S1456,119.4,201.3 +S1457,51.8,36.8 +S1458,94.2,252.1 +S1459,79.2,212.8 +S1460,38.5,93.2 +S1461,116.3,372.9 +S1462,85.7,200.4 +S1463,49.0,124.7 +S1464,14.2,5.0 +S1465,34.3,185.8 +S1466,29.4,178.1 +S1467,80.5,272.2 +S1468,41.7,77.9 +S1469,52.0,97.3 +S1470,81.9,281.7 +S1471,22.3,154.2 +S1472,31.8,153.8 +S1473,34.3,168.7 +S1474,98.7,327.8 +S1475,61.8,162.9 +S1476,64.6,193.2 +S1477,18.4,56.3 +S1478,31.4,37.1 +S1479,113.6,147.2 +S1480,63.5,163.8 +S1481,88.4,288.9 +S1482,31.4,54.0 +S1483,92.4,187.3 +S1484,64.1,192.6 +S1485,45.1,195.6 +S1486,82.9,345.7 +S1487,119.3,346.5 +S1488,85.7,224.3 +S1489,15.1,83.4 +S1490,41.7,111.6 +S1491,10.8,88.2 +S1492,106.3,186.7 +S1493,25.8,87.7 +S1494,119.7,204.5 +S1495,117.5,160.4 +S1496,54.0,139.7 +S1497,57.6,195.8 +S1498,24.2,129.6 +S1499,11.2,5.0 +S1500,85.7,170.7 +S1501,116.4,176.0 +S1502,76.1,120.7 +S1503,66.3,230.7 +S1504,109.3,179.7 +S1505,87.9,253.9 +S1506,86.8,225.9 +S1507,111.7,347.2 +S1508,101.8,269.3 +S1509,32.1,157.8 +S1510,86.0,272.6 +S1511,112.3,292.8 +S1512,57.6,221.9 +S1513,76.1,199.2 +S1514,79.3,135.2 +S1515,73.9,291.9 +S1516,118.3,311.8 +S1517,83.4,183.8 +S1518,28.6,170.8 +S1519,23.7,32.9 +S1520,46.8,154.0 +S1521,62.8,335.8 +S1522,63.4,201.8 +S1523,97.2,250.0 +S1524,107.8,286.9 +S1525,98.3,208.9 +S1526,64.9,146.9 +S1527,9.1,5.0 +S1528,44.9,87.7 +S1529,68.1,245.0 +S1530,63.2,176.0 +S1531,29.3,58.7 +S1532,113.7,348.7 +S1533,48.5,179.0 +S1534,90.4,125.8 +S1535,93.8,192.1 +S1536,49.3,171.3 +S1537,102.1,177.4 +S1538,21.8,88.2 +S1539,111.3,322.8 +S1540,14.7,70.8 +S1541,68.8,228.6 +S1542,23.3,116.0 +S1543,12.0,50.7 +S1544,39.7,5.0 +S1545,19.7,104.8 +S1546,78.8,257.8 +S1547,65.9,238.0 +S1548,39.9,147.7 +S1549,27.3,156.2 +S1550,98.0,288.9 +S1551,117.7,236.9 +S1552,109.1,230.0 +S1553,13.3,139.9 +S1554,97.2,221.9 +S1555,15.1,47.4 +S1556,109.1,205.9 +S1557,60.3,127.2 +S1558,14.4,59.8 +S1559,52.5,145.2 +S1560,40.5,146.0 +S1561,117.0,182.9 +S1562,67.3,146.2 +S1563,94.6,290.2 +S1564,110.8,363.9 +S1565,90.9,337.2 +S1566,86.0,261.9 +S1567,107.1,244.2 +S1568,50.3,145.0 +S1569,64.4,91.0 +S1570,65.0,248.2 +S1571,83.6,250.8 +S1572,34.4,186.5 +S1573,61.0,144.6 +S1574,33.8,231.0 +S1575,52.0,49.9 +S1576,74.9,81.9 +S1577,54.0,226.9 +S1578,59.7,79.1 +S1579,108.6,208.1 +S1580,61.8,136.5 +S1581,68.3,172.7 +S1582,102.6,394.8 +S1583,79.2,248.4 +S1584,118.7,299.9 +S1585,106.9,287.9 +S1586,43.4,115.6 +S1587,93.4,180.6 +S1588,25.8,87.9 +S1589,51.4,182.3 +S1590,87.4,192.0 +S1591,12.3,98.6 +S1592,76.3,196.0 +S1593,100.7,274.3 +S1594,50.3,81.1 +S1595,65.1,149.4 +S1596,46.6,63.8 +S1597,93.4,238.4 +S1598,40.3,51.6 +S1599,7.5,8.1 +S1600,15.6,5.0 +S1601,89.0,219.4 +S1602,102.5,348.6 +S1603,105.5,268.9 +S1604,23.1,123.3 +S1605,100.4,421.5 +S1606,102.7,267.1 +S1607,32.9,5.0 +S1608,9.0,97.0 +S1609,115.1,302.9 +S1610,14.6,5.0 +S1611,85.3,162.3 +S1612,89.6,313.7 +S1613,81.2,122.9 +S1614,91.3,287.8 +S1615,97.8,310.8 +S1616,94.1,202.2 +S1617,91.5,187.7 +S1618,66.0,207.2 +S1619,41.8,33.0 +S1620,88.8,280.1 +S1621,107.5,194.3 +S1622,31.0,36.6 +S1623,37.5,113.9 +S1624,82.2,295.2 +S1625,71.4,57.7 +S1626,95.9,142.9 +S1627,79.4,216.9 +S1628,117.3,174.4 +S1629,70.7,222.4 +S1630,58.1,104.2 +S1631,39.2,124.0 +S1632,46.8,55.7 +S1633,61.8,155.5 +S1634,116.3,354.1 +S1635,85.7,197.9 +S1636,83.6,289.9 +S1637,56.0,5.0 +S1638,99.3,288.7 +S1639,22.1,5.0 +S1640,39.7,204.5 +S1641,92.0,268.1 +S1642,101.2,212.4 +S1643,80.0,149.3 +S1644,105.1,218.2 +S1645,26.1,238.4 +S1646,87.0,229.0 +S1647,15.5,77.0 +S1648,88.2,285.3 +S1649,40.3,158.1 +S1650,70.1,140.7 +S1651,51.7,165.3 +S1652,9.9,119.0 +S1653,26.6,184.1 +S1654,50.6,129.5 +S1655,7.3,93.2 +S1656,75.8,233.7 +S1657,113.0,246.9 +S1658,67.8,289.6 +S1659,78.9,205.5 +S1660,69.4,251.7 +S1661,104.0,234.9 +S1662,37.7,253.3 +S1663,108.9,343.7 +S1664,78.6,320.9 +S1665,72.8,267.0 +S1666,103.3,161.1 +S1667,52.6,293.4 +S1668,19.9,182.5 +S1669,74.2,114.3 +S1670,84.7,403.6 +S1671,26.0,135.9 +S1672,50.2,136.0 +S1673,65.5,203.7 +S1674,43.4,165.2 +S1675,59.4,76.4 +S1676,87.3,178.4 +S1677,98.2,245.8 +S1678,86.3,194.0 +S1679,103.5,244.2 +S1680,52.5,144.6 +S1681,103.8,178.5 +S1682,74.1,165.7 +S1683,22.2,60.2 +S1684,49.1,191.4 +S1685,79.0,202.4 +S1686,46.0,88.5 +S1687,58.7,176.5 +S1688,57.9,50.6 +S1689,19.9,83.7 +S1690,117.3,330.9 +S1691,33.4,81.6 +S1692,9.9,35.9 +S1693,89.9,172.1 +S1694,52.9,264.6 +S1695,62.4,257.6 +S1696,50.0,75.9 +S1697,69.4,313.2 +S1698,43.8,106.8 +S1699,102.0,110.1 +S1700,66.5,167.5 +S1701,77.0,401.8 +S1702,60.3,151.3 +S1703,101.4,230.1 +S1704,23.7,107.3 +S1705,48.7,90.5 +S1706,38.9,76.4 +S1707,91.6,246.5 +S1708,113.3,290.2 +S1709,78.2,251.2 +S1710,116.5,258.9 +S1711,42.0,224.3 +S1712,79.8,188.2 +S1713,38.3,175.1 +S1714,73.3,183.2 +S1715,57.1,68.0 +S1716,84.9,271.6 +S1717,21.1,190.6 +S1718,6.5,114.3 +S1719,101.0,199.9 +S1720,20.0,41.7 +S1721,76.6,241.3 +S1722,17.2,5.0 +S1723,107.5,236.8 +S1724,29.4,62.7 +S1725,116.6,333.5 +S1726,95.6,335.4 +S1727,66.5,132.3 +S1728,56.4,151.4 +S1729,76.7,87.6 +S1730,17.1,81.1 +S1731,101.8,209.9 +S1732,23.2,69.9 +S1733,47.7,85.9 +S1734,76.7,136.2 +S1735,11.6,5.0 +S1736,63.7,186.3 +S1737,87.2,283.6 +S1738,13.3,177.5 +S1739,57.3,174.3 +S1740,26.3,195.2 +S1741,82.7,156.1 +S1742,51.1,111.7 +S1743,113.6,221.9 +S1744,102.2,229.3 +S1745,46.9,5.0 +S1746,14.7,64.4 +S1747,40.7,158.5 +S1748,33.0,64.1 +S1749,23.3,14.8 +S1750,68.7,194.1 +S1751,76.2,237.7 +S1752,105.7,279.5 +S1753,55.3,5.1 +S1754,78.2,152.3 +S1755,78.2,183.3 +S1756,41.3,238.2 +S1757,36.9,190.8 +S1758,119.6,284.9 +S1759,35.6,168.5 +S1760,86.5,179.4 +S1761,48.1,84.2 +S1762,50.3,86.1 +S1763,64.8,188.2 +S1764,67.2,309.7 +S1765,14.0,5.0 +S1766,15.9,129.6 +S1767,28.3,31.0 +S1768,53.8,126.9 +S1769,12.4,94.9 +S1770,15.9,12.4 +S1771,29.0,30.3 +S1772,65.2,229.7 +S1773,51.2,117.4 +S1774,115.3,353.2 +S1775,16.7,156.7 +S1776,60.1,72.1 +S1777,53.8,12.7 +S1778,25.3,56.2 +S1779,110.2,279.2 +S1780,110.6,316.2 +S1781,102.5,269.4 +S1782,98.6,74.9 +S1783,32.5,60.0 +S1784,64.4,97.6 +S1785,111.7,334.4 +S1786,91.3,198.6 +S1787,69.0,250.5 +S1788,65.8,122.0 +S1789,32.9,73.2 +S1790,18.6,46.1 +S1791,82.5,138.5 +S1792,56.3,150.7 +S1793,41.3,148.9 +S1794,18.1,5.0 +S1795,72.5,179.1 +S1796,79.1,250.0 +S1797,111.7,221.2 +S1798,10.3,108.8 +S1799,117.2,273.0 +S1800,11.2,137.9 +S1801,89.0,371.3 +S1802,36.9,144.6 +S1803,23.8,25.4 +S1804,98.0,182.6 +S1805,107.2,242.4 +S1806,79.8,110.3 +S1807,114.9,274.2 +S1808,112.9,215.5 +S1809,66.0,185.0 +S1810,115.0,425.2 +S1811,52.6,178.3 +S1812,35.8,59.7 +S1813,29.3,115.5 +S1814,79.0,154.0 +S1815,80.8,249.8 +S1816,46.6,89.2 +S1817,65.2,260.7 +S1818,104.9,347.5 +S1819,62.9,291.6 +S1820,55.1,259.2 +S1821,109.4,199.4 +S1822,85.4,235.7 +S1823,51.5,168.1 +S1824,97.0,250.4 +S1825,92.8,104.9 +S1826,39.1,70.2 +S1827,82.9,178.5 +S1828,32.5,179.1 +S1829,72.3,157.1 +S1830,86.4,269.5 +S1831,17.7,22.0 +S1832,113.7,317.3 +S1833,27.0,71.0 +S1834,102.7,260.2 +S1835,74.7,98.2 +S1836,23.2,211.9 +S1837,23.3,120.3 +S1838,118.3,314.1 +S1839,10.1,68.1 +S1840,87.3,152.9 +S1841,28.4,134.6 +S1842,114.8,198.9 +S1843,48.1,106.9 +S1844,99.4,228.6 +S1845,118.2,300.9 +S1846,46.8,11.5 +S1847,61.8,56.4 +S1848,33.7,91.5 +S1849,69.7,194.9 +S1850,119.4,222.3 +S1851,6.9,5.0 +S1852,55.4,209.9 +S1853,52.6,265.3 +S1854,14.9,36.4 +S1855,62.7,129.4 +S1856,83.8,280.5 +S1857,98.5,211.0 +S1858,89.8,289.6 +S1859,110.3,322.7 +S1860,25.8,144.5 +S1861,64.5,302.8 +S1862,50.7,178.3 +S1863,38.8,123.0 +S1864,94.5,307.5 +S1865,46.7,156.3 +S1866,14.8,5.0 +S1867,87.9,324.3 +S1868,35.1,140.3 +S1869,5.2,145.3 +S1870,71.4,263.6 +S1871,35.5,276.5 +S1872,14.1,96.8 +S1873,16.5,163.1 +S1874,22.0,77.9 +S1875,90.9,210.2 +S1876,93.7,198.9 +S1877,89.8,188.7 +S1878,59.0,63.9 +S1879,80.8,180.0 +S1880,103.3,314.3 +S1881,96.3,272.8 +S1882,54.0,181.2 +S1883,24.9,40.0 +S1884,46.6,189.8 +S1885,90.6,216.9 +S1886,40.4,230.3 +S1887,108.6,216.2 +S1888,27.4,17.9 +S1889,35.2,152.0 +S1890,17.2,142.3 +S1891,88.2,274.6 +S1892,48.5,202.9 +S1893,54.5,260.9 +S1894,95.5,242.6 +S1895,12.6,56.3 +S1896,26.0,90.6 +S1897,85.6,224.9 +S1898,119.7,259.1 +S1899,61.3,137.6 +S1900,107.5,173.7 +S1901,60.2,122.7 +S1902,36.8,148.9 +S1903,7.6,161.1 +S1904,22.5,152.6 +S1905,85.5,294.7 +S1906,36.7,204.9 +S1907,94.2,261.9 +S1908,21.3,5.0 +S1909,95.8,231.7 +S1910,73.2,261.5 +S1911,46.5,208.4 +S1912,106.9,212.3 +S1913,69.0,204.1 +S1914,37.8,146.9 +S1915,101.7,273.1 +S1916,67.7,154.0 +S1917,78.5,270.3 +S1918,94.6,256.2 +S1919,87.3,143.5 +S1920,88.2,197.4 +S1921,101.0,288.6 +S1922,36.1,100.8 +S1923,100.5,144.2 +S1924,44.8,236.5 +S1925,7.8,5.0 +S1926,41.8,192.2 +S1927,64.2,77.8 +S1928,77.1,265.9 +S1929,94.4,296.8 +S1930,52.2,194.2 +S1931,87.0,253.3 +S1932,41.2,120.2 +S1933,93.9,196.8 +S1934,93.1,195.6 +S1935,115.3,297.8 +S1936,119.8,347.7 +S1937,49.9,132.6 +S1938,74.5,54.1 +S1939,28.8,25.1 +S1940,40.4,137.8 +S1941,69.7,262.9 +S1942,71.0,33.4 +S1943,32.1,199.9 +S1944,48.3,131.4 +S1945,34.1,156.9 +S1946,105.8,268.8 +S1947,54.6,67.1 +S1948,96.1,86.5 +S1949,89.3,211.4 +S1950,6.9,149.2 +S1951,70.3,111.1 +S1952,89.8,190.5 +S1953,37.6,19.9 +S1954,117.0,269.8 +S1955,15.2,45.4 +S1956,83.2,229.3 +S1957,43.4,94.7 +S1958,32.3,94.1 +S1959,39.1,33.5 +S1960,67.9,190.8 +S1961,112.2,359.1 +S1962,69.4,211.9 +S1963,35.1,45.8 +S1964,47.3,145.1 +S1965,18.5,86.5 +S1966,90.9,237.9 +S1967,94.3,267.3 +S1968,65.7,129.3 +S1969,116.1,293.0 +S1970,25.6,5.0 +S1971,91.2,238.4 +S1972,54.9,141.3 +S1973,94.2,190.7 +S1974,22.3,65.5 +S1975,64.4,157.1 +S1976,76.1,232.3 +S1977,117.2,283.8 +S1978,117.7,307.9 +S1979,15.1,53.8 +S1980,97.7,230.0 +S1981,100.4,275.0 +S1982,75.1,101.7 +S1983,105.6,207.3 +S1984,108.1,197.1 +S1985,118.9,138.1 +S1986,92.3,178.4 +S1987,79.4,105.8 +S1988,82.6,200.8 +S1989,28.1,209.7 +S1990,8.4,52.4 +S1991,57.7,221.6 +S1992,79.1,250.6 +S1993,15.2,121.0 +S1994,32.9,137.9 +S1995,6.7,25.5 +S1996,113.9,245.3 +S1997,35.2,81.2 +S1998,55.3,159.5 +S1999,89.5,369.9 +S2000,59.4,77.1 +S2001,80.7,240.5 +S2002,7.3,33.3 +S2003,41.9,24.5 +S2004,17.7,5.0 +S2005,66.0,123.8 +S2006,83.4,216.5 +S2007,30.9,87.5 +S2008,73.9,300.4 +S2009,18.3,5.0 +S2010,56.6,139.3 +S2011,57.0,125.8 +S2012,79.5,194.9 +S2013,29.3,113.2 +S2014,40.6,150.8 +S2015,83.6,245.2 +S2016,118.1,201.4 +S2017,10.8,5.0 +S2018,46.1,126.5 +S2019,112.6,225.9 +S2020,44.1,5.0 +S2021,28.0,80.6 +S2022,71.0,84.5 +S2023,119.8,255.1 +S2024,15.3,5.0 +S2025,64.4,127.8 +S2026,108.3,160.1 +S2027,77.1,160.2 +S2028,106.2,284.7 +S2029,13.3,99.9 +S2030,6.9,116.7 +S2031,33.5,197.5 +S2032,54.3,98.5 +S2033,25.4,140.6 +S2034,77.6,144.9 +S2035,7.6,61.0 +S2036,15.2,181.2 +S2037,30.3,68.2 +S2038,21.8,223.2 +S2039,60.3,146.6 +S2040,79.4,259.7 +S2041,85.8,130.3 +S2042,107.7,317.7 +S2043,10.8,16.7 +S2044,24.8,110.6 +S2045,26.2,90.8 +S2046,105.9,381.0 +S2047,115.0,328.6 +S2048,79.4,146.8 +S2049,86.8,169.9 +S2050,73.8,231.1 +S2051,110.2,274.4 +S2052,117.0,381.0 +S2053,39.3,81.2 +S2054,84.8,125.3 +S2055,83.5,358.9 +S2056,54.7,372.7 +S2057,11.7,5.0 +S2058,101.6,259.1 +S2059,40.3,135.8 +S2060,118.5,234.0 +S2061,21.7,78.4 +S2062,6.3,22.2 +S2063,8.0,185.7 +S2064,31.8,56.5 +S2065,112.2,247.5 +S2066,49.8,254.6 +S2067,78.8,345.0 +S2068,14.9,151.8 +S2069,104.3,258.5 +S2070,82.7,266.0 +S2071,44.2,211.4 +S2072,6.6,5.0 +S2073,86.8,174.1 +S2074,79.6,163.8 +S2075,74.9,98.0 +S2076,21.1,72.7 +S2077,57.0,119.6 +S2078,35.3,5.0 +S2079,79.1,316.4 +S2080,18.0,74.1 +S2081,66.6,198.9 +S2082,114.0,267.1 +S2083,103.9,357.7 +S2084,29.5,87.2 +S2085,106.0,258.1 +S2086,89.9,180.8 +S2087,12.8,25.0 +S2088,50.2,208.4 +S2089,115.4,267.0 +S2090,73.0,159.9 +S2091,104.2,254.2 +S2092,44.0,126.7 +S2093,74.1,209.2 +S2094,33.1,5.0 +S2095,108.8,267.7 +S2096,92.8,100.5 +S2097,116.4,274.6 +S2098,118.4,189.2 +S2099,7.5,5.0 +S2100,27.2,51.1 +S2101,44.6,280.9 +S2102,53.4,63.3 +S2103,19.9,134.2 +S2104,71.2,199.8 +S2105,18.4,157.5 +S2106,92.2,242.9 +S2107,41.9,241.7 +S2108,61.6,179.8 +S2109,38.4,31.2 +S2110,98.1,243.1 +S2111,105.3,217.5 +S2112,105.1,272.0 +S2113,58.8,221.2 +S2114,86.9,241.4 +S2115,19.8,85.4 +S2116,91.7,301.8 +S2117,77.9,271.4 +S2118,117.0,278.5 +S2119,12.0,5.0 +S2120,26.9,129.4 +S2121,95.8,192.3 +S2122,117.3,328.9 +S2123,65.4,102.7 +S2124,87.0,313.1 +S2125,119.6,380.4 +S2126,76.7,285.0 +S2127,85.2,154.2 +S2128,60.4,225.8 +S2129,92.1,315.9 +S2130,56.2,8.2 +S2131,39.7,166.8 +S2132,93.4,333.0 +S2133,63.0,117.8 +S2134,38.0,239.9 +S2135,14.2,178.8 +S2136,95.9,299.1 +S2137,49.7,121.2 +S2138,52.5,181.1 +S2139,24.5,52.1 +S2140,56.6,207.2 +S2141,54.8,214.9 +S2142,118.7,308.0 +S2143,72.3,212.0 +S2144,32.9,31.2 +S2145,16.6,24.4 +S2146,20.2,10.8 +S2147,86.2,104.9 +S2148,19.7,69.7 +S2149,50.3,135.0 +S2150,92.3,292.7 +S2151,85.3,259.1 +S2152,39.5,85.5 +S2153,110.1,375.1 +S2154,89.0,366.4 +S2155,115.5,332.4 +S2156,40.0,115.5 +S2157,99.8,185.6 +S2158,111.6,417.7 +S2159,115.9,379.4 +S2160,60.0,245.2 +S2161,9.3,143.0 +S2162,106.9,317.6 +S2163,11.1,13.5 +S2164,48.6,128.8 +S2165,35.9,117.6 +S2166,30.4,107.3 +S2167,110.7,251.1 +S2168,70.5,180.6 +S2169,60.2,232.9 +S2170,5.8,87.9 +S2171,14.4,154.1 +S2172,66.0,132.5 +S2173,5.2,50.7 +S2174,14.3,74.9 +S2175,11.5,78.9 +S2176,107.1,86.4 +S2177,26.6,102.0 +S2178,114.5,344.3 +S2179,41.3,86.6 +S2180,37.8,137.1 +S2181,48.6,64.4 +S2182,19.6,74.7 +S2183,9.4,123.0 +S2184,48.3,101.0 +S2185,84.6,197.3 +S2186,22.5,137.6 +S2187,59.2,42.1 +S2188,87.4,261.1 +S2189,29.8,174.4 +S2190,14.9,126.5 +S2191,60.8,162.4 +S2192,17.6,144.7 +S2193,116.8,268.6 +S2194,75.6,174.9 +S2195,81.7,193.4 +S2196,12.5,62.8 +S2197,84.5,139.4 +S2198,113.5,288.8 +S2199,48.1,235.3 +S2200,75.2,215.6 +S2201,35.7,122.4 +S2202,67.7,179.2 +S2203,93.5,165.9 +S2204,15.4,76.8 +S2205,58.5,64.9 +S2206,83.3,177.7 +S2207,58.7,284.1 +S2208,111.9,91.9 +S2209,105.1,219.5 +S2210,17.4,5.0 +S2211,62.3,149.6 +S2212,70.3,316.2 +S2213,118.0,280.0 +S2214,72.3,207.3 +S2215,40.5,281.3 +S2216,89.8,263.1 +S2217,65.2,298.9 +S2218,76.6,313.6 +S2219,7.0,37.8 +S2220,88.7,126.2 +S2221,66.4,176.2 +S2222,79.5,235.2 +S2223,11.2,80.4 +S2224,54.1,207.2 +S2225,86.0,144.8 +S2226,12.0,29.3 +S2227,84.1,267.4 +S2228,89.2,231.1 +S2229,104.3,90.8 +S2230,58.4,44.6 +S2231,26.2,231.1 +S2232,14.7,84.2 +S2233,97.0,309.3 +S2234,49.7,177.1 +S2235,111.2,108.6 +S2236,23.6,153.7 +S2237,76.1,149.8 +S2238,115.0,459.2 +S2239,22.5,33.4 +S2240,111.3,213.6 +S2241,93.7,336.9 +S2242,88.6,223.0 +S2243,102.2,303.7 +S2244,60.2,294.5 +S2245,33.6,89.8 +S2246,32.0,108.0 +S2247,29.4,161.5 +S2248,7.2,5.0 +S2249,44.9,219.6 +S2250,33.2,279.6 +S2251,104.3,292.9 +S2252,8.4,38.8 +S2253,68.0,139.6 +S2254,105.4,307.1 +S2255,90.9,238.6 +S2256,49.8,176.4 +S2257,64.6,133.1 +S2258,15.0,11.9 +S2259,70.1,244.9 +S2260,8.2,5.0 +S2261,72.2,76.1 +S2262,46.1,196.7 +S2263,75.7,252.4 +S2264,17.8,131.7 +S2265,36.2,101.6 +S2266,49.3,242.5 +S2267,107.4,282.2 +S2268,36.2,189.4 +S2269,90.0,172.9 +S2270,35.5,164.4 +S2271,108.5,222.6 +S2272,118.1,324.8 +S2273,27.6,176.6 +S2274,62.9,256.6 +S2275,106.4,172.6 +S2276,17.2,5.6 +S2277,29.2,37.8 +S2278,63.8,150.8 +S2279,118.6,342.7 +S2280,116.4,195.6 +S2281,111.4,261.6 +S2282,80.5,145.2 +S2283,88.3,247.7 +S2284,108.6,249.5 +S2285,110.4,302.2 +S2286,99.1,189.0 +S2287,103.1,204.6 +S2288,96.0,141.1 +S2289,75.5,183.1 +S2290,69.2,120.4 +S2291,113.7,276.5 +S2292,37.5,110.8 +S2293,49.9,95.6 +S2294,61.6,176.3 +S2295,99.8,205.7 +S2296,15.2,51.9 +S2297,18.1,131.8 +S2298,112.5,204.8 +S2299,90.9,294.3 +S2300,96.3,358.6 +S2301,81.7,135.4 +S2302,93.4,281.1 +S2303,46.7,151.1 +S2304,63.4,142.7 +S2305,98.3,344.8 +S2306,28.4,42.3 +S2307,64.2,230.8 +S2308,105.5,309.1 +S2309,107.2,258.0 +S2310,71.0,191.8 +S2311,89.6,304.3 +S2312,67.4,190.8 +S2313,102.8,252.0 +S2314,70.8,140.5 +S2315,88.3,271.1 +S2316,71.4,156.3 +S2317,95.7,392.7 +S2318,5.7,263.1 +S2319,102.9,302.3 +S2320,37.3,63.1 +S2321,71.2,144.8 +S2322,101.0,95.7 +S2323,89.5,231.0 +S2324,73.5,202.1 +S2325,43.7,226.6 +S2326,5.0,116.4 +S2327,119.1,234.2 +S2328,44.0,237.3 +S2329,40.2,16.5 +S2330,12.6,174.2 +S2331,103.6,214.4 +S2332,55.4,277.4 +S2333,15.5,162.5 +S2334,103.4,269.3 +S2335,41.9,109.6 +S2336,117.7,76.0 +S2337,70.3,140.2 +S2338,80.0,252.8 +S2339,119.5,254.9 +S2340,37.1,39.1 +S2341,11.3,114.4 +S2342,44.7,163.1 +S2343,56.1,224.6 +S2344,113.9,226.0 +S2345,72.8,163.2 +S2346,11.6,9.4 +S2347,18.3,5.0 +S2348,51.8,50.9 +S2349,106.8,308.6 +S2350,68.5,117.1 +S2351,7.7,5.0 +S2352,6.5,72.4 +S2353,33.7,166.9 +S2354,97.9,278.6 +S2355,80.9,285.9 +S2356,46.0,148.2 +S2357,29.3,109.6 +S2358,94.4,270.9 +S2359,38.3,150.7 +S2360,104.5,280.8 +S2361,17.4,59.7 +S2362,34.9,123.0 +S2363,52.9,85.9 +S2364,70.9,158.4 +S2365,65.8,161.0 +S2366,78.1,274.1 +S2367,31.6,96.7 +S2368,107.0,149.8 +S2369,94.2,259.7 +S2370,87.0,300.6 +S2371,45.6,210.0 +S2372,110.5,279.8 +S2373,18.6,58.4 +S2374,104.3,174.2 +S2375,41.6,32.5 +S2376,31.1,112.1 +S2377,68.5,59.4 +S2378,30.3,100.3 +S2379,46.7,122.9 +S2380,113.3,194.4 +S2381,6.8,16.7 +S2382,99.4,256.9 +S2383,9.2,5.0 +S2384,102.4,142.8 +S2385,37.9,146.0 +S2386,38.5,231.7 +S2387,114.5,293.2 +S2388,52.2,285.9 +S2389,64.7,122.7 +S2390,55.4,170.0 +S2391,84.4,223.8 +S2392,12.6,195.0 +S2393,8.1,153.2 +S2394,116.5,297.1 +S2395,72.2,217.7 +S2396,119.9,242.0 +S2397,61.0,124.2 +S2398,47.0,242.4 +S2399,99.9,321.4 +S2400,26.0,40.3 +S2401,78.3,162.5 +S2402,72.2,57.4 +S2403,72.1,291.5 +S2404,100.8,198.8 +S2405,54.8,178.9 +S2406,112.9,293.1 +S2407,109.4,113.4 +S2408,23.7,67.5 +S2409,102.4,185.6 +S2410,82.8,159.6 +S2411,71.8,255.5 +S2412,112.6,256.0 +S2413,34.7,65.2 +S2414,31.6,11.8 +S2415,67.8,103.0 +S2416,117.0,259.5 +S2417,71.9,273.7 +S2418,33.1,80.0 +S2419,50.5,152.6 +S2420,47.0,202.8 +S2421,54.9,281.0 +S2422,61.0,283.6 +S2423,56.2,5.0 +S2424,116.9,350.5 +S2425,111.9,288.1 +S2426,39.9,124.5 +S2427,28.9,164.7 +S2428,60.7,170.1 +S2429,116.3,210.6 +S2430,115.6,185.0 +S2431,56.0,255.1 +S2432,90.9,160.1 +S2433,66.4,109.6 +S2434,96.9,274.4 +S2435,113.1,217.7 +S2436,19.0,71.4 +S2437,31.0,52.7 +S2438,74.5,201.6 +S2439,20.2,101.6 +S2440,32.2,114.7 +S2441,91.9,275.7 +S2442,63.9,180.2 +S2443,73.2,215.5 +S2444,37.0,176.6 +S2445,29.1,167.1 +S2446,101.9,332.4 +S2447,77.3,217.5 +S2448,72.8,157.1 +S2449,76.8,168.6 +S2450,108.2,219.1 +S2451,17.9,5.0 +S2452,80.2,216.6 +S2453,88.3,278.9 +S2454,77.2,350.0 +S2455,23.7,63.1 +S2456,54.2,79.1 +S2457,39.7,181.5 +S2458,39.1,139.3 +S2459,51.9,89.6 +S2460,19.9,134.9 +S2461,10.0,35.3 +S2462,14.1,60.6 +S2463,70.5,344.3 +S2464,111.7,140.0 +S2465,111.1,247.2 +S2466,14.1,69.1 +S2467,107.1,322.9 +S2468,114.3,357.9 +S2469,74.1,192.8 +S2470,80.5,220.2 +S2471,44.6,181.4 +S2472,96.7,334.3 +S2473,52.1,74.8 +S2474,102.5,283.3 +S2475,97.0,231.1 +S2476,5.4,81.5 +S2477,12.8,132.2 +S2478,45.4,74.1 +S2479,64.7,80.5 +S2480,48.0,150.7 +S2481,39.5,142.2 +S2482,51.7,188.7 +S2483,94.1,194.5 +S2484,117.4,143.2 +S2485,104.7,154.8 +S2486,103.1,299.0 +S2487,51.8,100.2 +S2488,26.6,41.9 +S2489,105.6,337.1 +S2490,53.3,249.6 +S2491,36.7,87.8 +S2492,10.1,49.9 +S2493,108.1,308.7 +S2494,82.0,247.8 +S2495,82.4,187.9 +S2496,36.5,214.8 +S2497,85.6,264.4 +S2498,37.8,26.4 +S2499,82.0,233.2 +S2500,64.6,197.5 +S2501,97.2,182.3 +S2502,58.3,143.0 +S2503,105.1,251.6 +S2504,117.2,336.9 +S2505,87.8,235.9 +S2506,11.7,51.1 +S2507,112.6,259.7 +S2508,114.7,335.1 +S2509,107.8,276.5 +S2510,119.5,321.7 +S2511,31.7,235.9 +S2512,96.6,300.7 +S2513,75.5,159.7 +S2514,77.8,192.0 +S2515,91.3,209.7 +S2516,39.3,35.2 +S2517,118.7,385.3 +S2518,116.1,338.5 +S2519,8.9,122.5 +S2520,69.2,223.8 +S2521,88.1,230.9 +S2522,51.3,208.4 +S2523,32.5,40.3 +S2524,36.9,99.8 +S2525,114.7,257.4 +S2526,106.9,342.6 +S2527,84.4,206.4 +S2528,71.0,212.2 +S2529,44.0,149.3 +S2530,80.7,260.1 +S2531,36.6,164.8 +S2532,26.4,95.1 +S2533,76.5,315.0 +S2534,52.3,13.5 +S2535,98.8,66.3 +S2536,115.4,306.7 +S2537,86.5,191.2 +S2538,63.7,149.8 +S2539,56.3,181.1 +S2540,92.3,83.8 +S2541,112.4,280.2 +S2542,21.7,143.0 +S2543,52.3,39.6 +S2544,31.9,75.7 +S2545,104.2,103.3 +S2546,65.1,250.1 +S2547,79.2,166.0 +S2548,88.3,192.2 +S2549,20.8,101.6 +S2550,39.5,61.0 +S2551,36.7,241.2 +S2552,102.6,223.7 +S2553,112.9,196.1 +S2554,75.4,174.5 +S2555,100.7,294.4 +S2556,95.7,345.8 +S2557,14.2,56.9 +S2558,59.4,289.5 +S2559,32.2,202.2 +S2560,69.3,85.3 +S2561,117.7,293.3 +S2562,63.8,202.9 +S2563,49.7,158.0 +S2564,25.9,61.9 +S2565,68.7,221.6 +S2566,76.5,140.2 +S2567,30.4,78.2 +S2568,83.2,260.8 +S2569,100.9,444.2 +S2570,88.9,166.8 +S2571,91.4,299.4 +S2572,20.9,93.1 +S2573,13.2,84.4 +S2574,54.1,235.4 +S2575,52.2,149.5 +S2576,90.4,240.2 +S2577,28.5,224.0 +S2578,73.1,196.7 +S2579,76.7,176.5 +S2580,43.2,183.0 +S2581,79.1,338.7 +S2582,81.5,204.1 +S2583,10.5,63.4 +S2584,42.9,235.5 +S2585,92.5,212.6 +S2586,109.9,233.5 +S2587,13.4,99.1 +S2588,85.7,295.5 +S2589,25.3,18.8 +S2590,53.6,60.6 +S2591,71.4,292.5 +S2592,94.7,243.4 +S2593,38.9,130.5 +S2594,42.9,85.4 +S2595,89.1,299.8 +S2596,22.0,132.6 +S2597,56.8,207.0 +S2598,61.1,178.5 +S2599,118.2,224.2 +S2600,72.6,116.0 +S2601,11.6,101.8 +S2602,94.1,266.4 +S2603,25.1,94.9 +S2604,102.3,384.1 +S2605,45.9,170.9 +S2606,71.7,184.1 +S2607,71.6,110.8 +S2608,37.7,94.9 +S2609,30.9,133.2 +S2610,88.0,218.2 +S2611,91.2,171.8 +S2612,118.2,331.5 +S2613,50.5,5.0 +S2614,33.4,21.9 +S2615,113.4,279.6 +S2616,35.6,5.0 +S2617,97.9,224.5 +S2618,101.0,177.3 +S2619,19.7,66.0 +S2620,78.2,133.5 +S2621,38.0,44.8 +S2622,41.8,204.2 +S2623,78.7,261.8 +S2624,43.9,204.7 +S2625,30.0,106.8 +S2626,36.4,89.1 +S2627,111.9,243.2 +S2628,62.4,47.6 +S2629,10.2,12.6 +S2630,105.1,391.4 +S2631,6.0,77.5 +S2632,19.7,82.4 +S2633,40.3,5.0 +S2634,84.1,170.6 +S2635,78.7,282.1 +S2636,112.0,180.2 +S2637,87.2,214.3 +S2638,56.0,179.3 +S2639,82.8,241.0 +S2640,66.6,269.3 +S2641,91.7,251.9 +S2642,90.0,88.0 +S2643,103.5,222.0 +S2644,60.5,137.4 +S2645,71.0,257.6 +S2646,39.9,54.0 +S2647,7.0,128.7 +S2648,22.3,49.1 +S2649,37.5,191.7 +S2650,18.6,5.0 +S2651,7.2,43.7 +S2652,59.0,247.1 +S2653,81.4,311.0 +S2654,112.9,238.0 +S2655,117.1,173.5 +S2656,42.8,58.4 +S2657,93.7,223.0 +S2658,38.5,12.0 +S2659,29.2,5.0 +S2660,79.3,249.0 +S2661,24.3,63.6 +S2662,111.6,276.7 +S2663,99.9,216.2 +S2664,33.1,150.2 +S2665,107.8,256.5 +S2666,79.5,214.2 +S2667,20.5,246.7 +S2668,24.5,66.3 +S2669,25.2,5.0 +S2670,22.4,5.0 +S2671,116.0,230.9 +S2672,10.0,198.3 +S2673,33.5,120.0 +S2674,64.2,150.0 +S2675,60.4,231.2 +S2676,55.5,108.3 +S2677,13.6,5.0 +S2678,43.6,101.4 +S2679,80.3,284.0 +S2680,60.8,219.3 +S2681,53.3,101.3 +S2682,23.7,47.1 +S2683,42.1,92.8 +S2684,7.0,5.0 +S2685,78.2,308.7 +S2686,105.2,251.9 +S2687,108.0,283.3 +S2688,89.9,252.2 +S2689,22.6,41.3 +S2690,117.5,290.2 +S2691,105.3,249.3 +S2692,77.5,222.0 +S2693,64.0,109.7 +S2694,118.9,177.9 +S2695,38.4,116.9 +S2696,32.1,5.0 +S2697,69.9,153.9 +S2698,13.6,123.1 +S2699,25.5,182.8 +S2700,86.1,264.0 +S2701,119.3,272.8 +S2702,38.8,177.4 +S2703,71.6,205.1 +S2704,109.0,168.0 +S2705,40.7,91.2 +S2706,44.8,216.7 +S2707,41.2,97.3 +S2708,38.3,190.8 +S2709,54.9,240.6 +S2710,14.2,107.7 +S2711,59.4,186.4 +S2712,91.0,221.6 +S2713,97.8,224.5 +S2714,82.2,173.7 +S2715,6.5,116.8 +S2716,7.7,127.4 +S2717,99.1,212.9 +S2718,90.1,243.2 +S2719,56.4,121.8 +S2720,89.0,231.9 +S2721,61.1,121.4 +S2722,45.5,105.9 +S2723,69.4,205.4 +S2724,104.2,234.9 +S2725,88.9,169.7 +S2726,8.3,81.0 +S2727,102.4,140.2 +S2728,96.8,324.0 +S2729,17.2,130.1 +S2730,50.8,117.3 +S2731,61.8,193.0 +S2732,6.0,25.4 +S2733,81.8,229.6 +S2734,90.7,325.1 +S2735,24.8,12.2 +S2736,82.8,206.2 +S2737,78.5,190.3 +S2738,18.4,5.0 +S2739,110.5,322.2 +S2740,72.7,164.9 +S2741,93.4,194.1 +S2742,8.5,71.0 +S2743,15.6,45.8 +S2744,22.8,140.7 +S2745,119.0,287.0 +S2746,84.1,111.7 +S2747,22.3,97.2 +S2748,48.0,142.1 +S2749,31.2,116.9 +S2750,91.8,103.1 +S2751,47.9,241.1 +S2752,112.5,376.4 +S2753,22.0,5.0 +S2754,20.3,155.4 +S2755,19.3,119.9 +S2756,21.1,5.0 +S2757,66.4,124.6 +S2758,72.2,447.0 +S2759,6.2,8.7 +S2760,73.1,342.2 +S2761,87.6,169.0 +S2762,118.7,367.6 +S2763,92.7,261.6 +S2764,78.3,287.3 +S2765,94.5,200.0 +S2766,45.2,84.4 +S2767,84.0,200.0 +S2768,62.3,121.1 +S2769,7.5,35.3 +S2770,117.0,317.1 +S2771,49.4,114.6 +S2772,63.3,138.9 +S2773,23.2,116.4 +S2774,62.4,23.9 +S2775,37.0,143.2 +S2776,82.6,243.1 +S2777,90.8,159.9 +S2778,79.6,320.6 +S2779,60.3,181.5 +S2780,17.5,5.0 +S2781,11.6,5.0 +S2782,33.0,96.1 +S2783,55.1,223.5 +S2784,54.1,101.6 +S2785,61.3,62.2 +S2786,44.5,152.1 +S2787,18.6,167.1 +S2788,109.5,270.8 +S2789,8.8,86.9 +S2790,69.6,269.2 +S2791,101.0,136.1 +S2792,25.8,131.1 +S2793,14.7,200.0 +S2794,6.0,25.6 +S2795,15.0,124.2 +S2796,49.2,132.0 +S2797,107.1,283.7 +S2798,78.2,149.7 +S2799,107.2,439.6 +S2800,17.9,72.7 +S2801,82.3,240.7 +S2802,45.8,160.2 +S2803,44.2,107.6 +S2804,62.2,206.8 +S2805,109.8,213.1 +S2806,39.3,63.0 +S2807,97.1,222.2 +S2808,25.9,5.0 +S2809,74.5,186.2 +S2810,60.5,227.3 +S2811,10.7,87.2 +S2812,91.4,141.7 +S2813,90.3,163.7 +S2814,61.7,181.7 +S2815,17.7,89.2 +S2816,32.6,108.2 +S2817,12.2,20.9 +S2818,88.2,301.3 +S2819,92.7,319.2 +S2820,37.7,137.7 +S2821,118.9,283.8 +S2822,97.8,394.8 +S2823,48.1,8.0 +S2824,34.9,213.5 +S2825,91.9,288.6 +S2826,59.1,176.6 +S2827,61.5,122.6 +S2828,28.0,82.1 +S2829,62.5,117.3 +S2830,82.6,150.9 +S2831,50.5,163.5 +S2832,84.2,301.1 +S2833,11.3,62.7 +S2834,117.4,261.6 +S2835,40.8,199.9 +S2836,8.0,5.0 +S2837,102.2,111.9 +S2838,55.9,96.6 +S2839,26.1,5.0 +S2840,58.0,189.2 +S2841,111.0,241.0 +S2842,70.7,181.9 +S2843,34.4,183.0 +S2844,118.0,267.1 +S2845,22.2,123.4 +S2846,94.6,277.6 +S2847,77.7,186.3 +S2848,52.2,200.9 +S2849,6.0,151.0 +S2850,84.3,154.9 +S2851,70.1,216.2 +S2852,80.5,316.4 +S2853,72.2,200.2 +S2854,75.3,309.6 +S2855,69.3,167.0 +S2856,38.1,125.9 +S2857,109.1,234.1 +S2858,68.8,235.8 +S2859,103.3,213.4 +S2860,71.9,164.6 +S2861,97.8,232.9 +S2862,74.4,275.9 +S2863,116.4,232.5 +S2864,102.7,115.0 +S2865,78.6,260.1 +S2866,6.1,5.0 +S2867,95.7,215.0 +S2868,65.7,184.8 +S2869,108.9,259.1 +S2870,31.8,134.4 +S2871,13.9,9.4 +S2872,107.5,294.6 +S2873,21.3,122.3 +S2874,76.0,107.5 +S2875,18.3,5.0 +S2876,74.1,161.3 +S2877,89.6,253.9 +S2878,99.9,337.0 +S2879,65.3,68.3 +S2880,86.4,411.6 +S2881,96.1,209.8 +S2882,38.1,70.5 +S2883,81.7,272.4 +S2884,9.9,9.0 +S2885,14.4,5.0 +S2886,101.1,294.4 +S2887,17.5,200.6 +S2888,18.3,124.7 +S2889,13.8,41.4 +S2890,81.7,170.5 +S2891,7.0,5.0 +S2892,111.2,175.6 +S2893,108.2,269.3 +S2894,68.8,175.9 +S2895,56.2,148.3 +S2896,83.8,279.9 +S2897,88.6,135.0 +S2898,116.4,267.1 +S2899,16.5,5.0 +S2900,59.5,298.4 +S2901,21.5,5.0 +S2902,21.2,98.1 +S2903,10.8,5.0 +S2904,118.3,331.3 +S2905,78.4,114.0 +S2906,111.4,389.3 +S2907,69.2,96.5 +S2908,118.6,290.8 +S2909,32.1,200.5 +S2910,91.4,235.8 +S2911,92.6,188.2 +S2912,29.2,5.7 +S2913,104.5,217.8 +S2914,94.9,265.5 +S2915,54.5,129.1 +S2916,113.5,244.7 +S2917,111.3,251.9 +S2918,77.8,227.4 +S2919,11.8,43.8 +S2920,83.2,172.4 +S2921,108.6,296.0 +S2922,47.4,194.5 +S2923,92.3,308.7 +S2924,45.9,163.7 +S2925,103.0,250.3 +S2926,43.6,155.3 +S2927,9.5,9.2 +S2928,22.9,84.2 +S2929,102.4,271.3 +S2930,20.8,34.7 +S2931,114.6,175.2 +S2932,26.2,125.5 +S2933,16.6,50.6 +S2934,88.1,185.1 +S2935,48.9,237.2 +S2936,21.1,178.0 +S2937,83.2,285.8 +S2938,107.4,224.4 +S2939,50.9,105.9 +S2940,99.0,288.9 +S2941,76.3,213.3 +S2942,78.4,241.3 +S2943,61.9,267.8 +S2944,81.5,303.4 +S2945,64.0,55.4 +S2946,24.7,118.7 +S2947,110.4,266.4 +S2948,49.0,5.0 +S2949,68.7,178.8 +S2950,67.0,166.9 +S2951,24.2,119.3 +S2952,67.3,225.5 +S2953,61.4,237.1 +S2954,102.5,181.6 +S2955,54.7,62.6 +S2956,73.0,173.5 +S2957,68.2,149.9 +S2958,99.9,371.3 +S2959,49.5,89.3 +S2960,11.9,186.4 +S2961,84.2,252.8 +S2962,114.5,350.7 +S2963,49.7,102.8 +S2964,100.2,245.5 +S2965,43.0,93.6 +S2966,97.4,216.4 +S2967,28.9,145.5 +S2968,111.0,347.1 +S2969,113.0,197.6 +S2970,35.1,234.5 +S2971,49.4,197.1 +S2972,9.1,86.4 +S2973,32.0,36.6 +S2974,60.2,98.1 +S2975,100.9,280.5 +S2976,63.6,138.9 +S2977,96.0,102.7 +S2978,44.9,306.3 +S2979,115.0,235.7 +S2980,42.7,5.0 +S2981,32.3,84.1 +S2982,56.4,248.7 +S2983,68.8,224.3 +S2984,110.2,384.1 +S2985,32.7,163.6 +S2986,25.8,102.3 +S2987,32.9,244.8 +S2988,18.0,5.0 +S2989,25.0,90.1 +S2990,69.9,232.9 +S2991,84.3,327.0 +S2992,70.8,148.9 +S2993,58.1,122.1 +S2994,80.2,161.8 +S2995,37.3,142.6 +S2996,94.0,296.5 +S2997,6.9,76.7 +S2998,104.7,319.6 +S2999,26.0,93.6 +S3000,41.4,166.7 +S3001,73.5,110.1 +S3002,109.5,256.9 +S3003,21.1,106.0 +S3004,15.7,30.0 +S3005,97.0,275.1 +S3006,41.3,5.0 +S3007,100.6,243.8 +S3008,24.4,135.6 +S3009,17.2,160.6 +S3010,110.4,265.1 +S3011,102.9,198.8 +S3012,57.4,212.5 +S3013,39.7,106.6 +S3014,10.0,80.2 +S3015,32.7,5.0 +S3016,114.0,146.7 +S3017,59.1,278.6 +S3018,17.7,179.1 +S3019,39.4,5.0 +S3020,36.1,5.0 +S3021,38.9,228.1 +S3022,31.9,132.6 +S3023,63.3,245.2 +S3024,77.2,208.1 +S3025,87.7,377.2 +S3026,25.2,67.1 +S3027,69.3,184.2 +S3028,101.7,144.1 +S3029,40.3,94.1 +S3030,73.9,56.0 +S3031,76.4,137.9 +S3032,25.2,100.5 +S3033,80.9,174.3 +S3034,6.4,5.0 +S3035,43.2,268.0 +S3036,85.2,266.7 +S3037,52.1,232.6 +S3038,6.6,5.0 +S3039,57.5,81.5 +S3040,45.0,146.8 +S3041,10.1,110.3 +S3042,50.1,89.2 +S3043,114.8,294.7 +S3044,19.3,5.0 +S3045,103.8,109.7 +S3046,5.2,76.6 +S3047,87.5,249.5 +S3048,104.8,265.0 +S3049,69.8,165.6 +S3050,49.9,183.8 +S3051,9.8,48.1 +S3052,15.7,92.9 +S3053,34.3,5.0 +S3054,8.4,32.1 +S3055,27.3,60.4 +S3056,76.2,347.5 +S3057,34.2,220.4 +S3058,30.0,63.4 +S3059,55.2,170.3 +S3060,104.4,275.4 +S3061,74.2,263.4 +S3062,17.3,44.5 +S3063,84.1,216.9 +S3064,59.3,199.2 +S3065,53.7,62.5 +S3066,37.7,97.4 +S3067,43.8,118.2 +S3068,63.2,195.0 +S3069,78.3,27.1 +S3070,26.3,11.8 +S3071,49.8,167.5 +S3072,12.5,24.1 +S3073,36.7,187.6 +S3074,49.6,196.2 +S3075,9.8,80.4 +S3076,71.4,315.0 +S3077,68.4,68.3 +S3078,86.3,376.6 +S3079,7.8,39.4 +S3080,32.7,151.6 +S3081,96.3,227.3 +S3082,102.3,370.4 +S3083,40.1,28.6 +S3084,83.9,251.4 +S3085,95.9,262.9 +S3086,41.3,170.6 +S3087,7.7,5.0 +S3088,114.7,207.3 +S3089,102.3,204.5 +S3090,76.3,182.2 +S3091,43.6,72.7 +S3092,106.1,151.3 +S3093,64.8,154.4 +S3094,41.1,246.1 +S3095,38.2,39.1 +S3096,70.1,172.5 +S3097,113.1,227.2 +S3098,73.3,178.9 +S3099,8.1,136.5 +S3100,119.6,166.6 +S3101,6.7,5.0 +S3102,6.9,5.0 +S3103,24.1,78.5 +S3104,54.6,201.4 +S3105,29.7,73.4 +S3106,72.7,239.8 +S3107,72.6,54.0 +S3108,94.4,373.5 +S3109,15.3,70.6 +S3110,73.3,143.4 +S3111,108.6,276.9 +S3112,29.8,186.2 +S3113,116.4,240.8 +S3114,25.2,78.7 +S3115,41.5,131.8 +S3116,109.0,308.7 +S3117,23.9,48.3 +S3118,36.4,121.9 +S3119,98.0,363.7 +S3120,68.9,216.5 +S3121,82.7,236.4 +S3122,114.7,279.2 +S3123,41.1,26.1 +S3124,99.2,270.6 +S3125,70.6,206.7 +S3126,74.7,286.3 +S3127,34.8,255.9 +S3128,47.9,121.4 +S3129,112.5,223.7 +S3130,55.1,133.2 +S3131,118.7,196.1 +S3132,101.7,289.1 +S3133,29.9,100.0 +S3134,52.1,113.0 +S3135,16.3,26.4 +S3136,87.5,252.0 +S3137,67.9,128.5 +S3138,33.1,102.8 +S3139,24.1,126.5 +S3140,79.9,250.4 +S3141,8.5,72.2 +S3142,70.1,175.3 +S3143,33.0,157.7 +S3144,102.1,208.5 +S3145,108.7,225.1 +S3146,12.7,5.0 +S3147,114.2,274.0 +S3148,119.8,340.9 +S3149,83.9,203.3 +S3150,116.2,366.4 +S3151,21.6,84.6 +S3152,46.0,79.6 +S3153,22.3,16.1 +S3154,89.6,294.8 +S3155,21.7,55.5 +S3156,23.7,70.6 +S3157,99.3,352.6 +S3158,107.2,328.7 +S3159,74.8,297.5 +S3160,13.7,83.9 +S3161,108.8,122.1 +S3162,42.0,172.6 +S3163,82.6,119.1 +S3164,91.0,64.1 +S3165,32.3,170.3 +S3166,84.7,202.7 +S3167,119.7,84.0 +S3168,6.3,186.7 +S3169,114.8,263.8 +S3170,68.7,251.2 +S3171,68.3,238.3 +S3172,95.5,279.3 +S3173,108.1,197.7 +S3174,117.7,297.8 +S3175,63.2,69.8 +S3176,22.0,140.0 +S3177,78.2,144.8 +S3178,60.5,85.1 +S3179,39.8,87.2 +S3180,17.3,5.0 +S3181,39.6,103.6 +S3182,74.1,281.3 +S3183,65.3,165.9 +S3184,15.7,42.6 +S3185,70.1,124.6 +S3186,99.3,212.5 +S3187,58.0,174.9 +S3188,39.9,103.3 +S3189,77.6,156.4 +S3190,98.3,284.1 +S3191,43.8,144.0 +S3192,29.5,166.0 +S3193,98.9,199.2 +S3194,88.6,268.2 +S3195,45.7,83.5 +S3196,14.3,5.0 +S3197,32.9,5.0 +S3198,110.8,290.0 +S3199,62.8,219.9 +S3200,22.9,174.9 +S3201,27.4,226.8 +S3202,95.5,397.5 +S3203,90.1,98.2 +S3204,43.2,142.5 +S3205,7.5,5.0 +S3206,73.1,261.4 +S3207,39.3,92.8 +S3208,32.4,136.9 +S3209,86.2,256.5 +S3210,58.4,118.6 +S3211,28.6,148.5 +S3212,93.8,271.7 +S3213,34.0,149.5 +S3214,111.4,251.5 +S3215,39.3,15.2 +S3216,34.0,177.7 +S3217,67.0,284.4 +S3218,17.9,67.0 +S3219,20.9,58.1 +S3220,45.5,261.6 +S3221,8.2,33.7 +S3222,75.6,128.8 +S3223,117.1,184.2 +S3224,17.5,20.5 +S3225,93.1,174.9 +S3226,50.8,159.4 +S3227,116.7,233.5 +S3228,84.2,182.9 +S3229,82.6,259.6 +S3230,30.4,14.0 +S3231,32.0,227.7 +S3232,64.0,184.2 +S3233,23.4,172.1 +S3234,68.3,224.8 +S3235,22.4,35.1 +S3236,65.8,132.3 +S3237,91.3,193.0 +S3238,22.0,122.9 +S3239,20.5,116.4 +S3240,112.6,139.2 +S3241,92.4,292.7 +S3242,112.7,317.1 +S3243,59.4,153.9 +S3244,30.4,66.7 +S3245,27.8,162.6 +S3246,58.9,152.0 +S3247,64.9,234.7 +S3248,91.0,183.1 +S3249,41.0,156.7 +S3250,77.8,263.4 +S3251,110.0,298.2 +S3252,27.4,120.1 +S3253,104.6,162.8 +S3254,104.7,327.0 +S3255,21.2,54.9 +S3256,47.4,247.1 +S3257,34.8,5.0 +S3258,74.1,217.4 +S3259,89.8,283.6 +S3260,79.2,195.8 +S3261,114.0,320.9 +S3262,66.4,180.3 +S3263,60.3,177.6 +S3264,112.0,288.9 +S3265,118.0,220.5 +S3266,109.2,147.4 +S3267,90.1,170.3 +S3268,111.7,173.9 +S3269,88.6,156.7 +S3270,87.4,214.9 +S3271,14.5,143.0 +S3272,15.7,175.3 +S3273,6.5,195.9 +S3274,5.2,32.0 +S3275,52.3,5.0 +S3276,61.7,258.1 +S3277,56.8,265.0 +S3278,15.8,260.7 +S3279,54.8,138.5 +S3280,36.1,34.1 +S3281,33.8,24.6 +S3282,55.7,69.9 +S3283,90.6,248.7 +S3284,33.5,18.4 +S3285,74.4,209.5 +S3286,78.3,274.2 +S3287,74.3,215.1 +S3288,58.0,250.9 +S3289,89.6,290.8 +S3290,91.2,359.1 +S3291,75.2,147.4 +S3292,89.6,317.2 +S3293,41.1,85.7 +S3294,77.7,200.9 +S3295,105.5,215.9 +S3296,6.9,5.0 +S3297,5.7,79.1 +S3298,20.1,70.0 +S3299,84.9,160.0 +S3300,47.7,214.9 +S3301,109.3,239.4 +S3302,103.8,236.0 +S3303,28.0,141.0 +S3304,47.3,102.8 +S3305,66.7,208.7 +S3306,63.4,287.9 +S3307,51.9,100.8 +S3308,37.8,86.9 +S3309,72.0,230.1 +S3310,13.5,19.0 +S3311,58.5,127.7 +S3312,11.7,48.3 +S3313,66.9,264.2 +S3314,22.1,5.0 +S3315,72.1,333.6 +S3316,29.0,5.0 +S3317,6.6,5.0 +S3318,118.9,318.3 +S3319,85.0,308.8 +S3320,119.9,289.1 +S3321,80.0,227.7 +S3322,112.3,424.3 +S3323,61.7,222.7 +S3324,64.4,222.6 +S3325,67.5,263.1 +S3326,57.0,137.1 +S3327,58.0,239.4 +S3328,45.2,203.8 +S3329,95.8,269.8 +S3330,81.5,223.7 +S3331,89.8,204.4 +S3332,21.3,55.3 +S3333,28.0,138.6 +S3334,88.4,217.4 +S3335,62.5,190.5 +S3336,28.2,92.6 +S3337,110.5,356.8 +S3338,96.9,320.9 +S3339,103.8,244.1 +S3340,10.7,120.4 +S3341,114.9,198.8 +S3342,61.0,153.6 +S3343,53.5,214.1 +S3344,111.8,337.9 +S3345,80.6,173.7 +S3346,59.7,181.2 +S3347,67.4,236.5 +S3348,25.2,5.0 +S3349,37.1,172.8 +S3350,56.1,176.9 +S3351,16.2,5.0 +S3352,16.3,122.9 +S3353,84.4,224.4 +S3354,87.9,216.4 +S3355,49.5,104.8 +S3356,106.6,220.7 +S3357,37.3,245.7 +S3358,52.1,135.2 +S3359,9.3,50.5 +S3360,67.7,154.5 +S3361,67.6,206.1 +S3362,108.7,218.5 +S3363,56.3,236.4 +S3364,17.0,196.3 +S3365,74.7,194.0 +S3366,11.3,5.0 +S3367,78.7,153.3 +S3368,72.9,111.5 +S3369,27.4,106.7 +S3370,113.0,233.0 +S3371,29.0,222.5 +S3372,112.3,233.6 +S3373,85.1,267.0 +S3374,115.8,195.7 +S3375,111.9,191.8 +S3376,34.6,45.7 +S3377,47.7,123.3 +S3378,70.0,66.7 +S3379,52.2,173.3 +S3380,109.5,249.9 +S3381,105.8,293.0 +S3382,22.2,79.8 +S3383,21.4,146.0 +S3384,79.0,129.6 +S3385,35.9,15.4 +S3386,55.6,193.6 +S3387,92.0,356.5 +S3388,6.8,5.0 +S3389,43.5,20.1 +S3390,57.0,139.3 +S3391,37.6,107.7 +S3392,91.1,281.1 +S3393,66.7,255.1 +S3394,71.4,138.7 +S3395,94.6,361.9 +S3396,116.5,386.4 +S3397,26.9,22.0 +S3398,20.2,5.0 +S3399,90.2,163.1 +S3400,53.7,191.9 +S3401,66.4,240.1 +S3402,80.4,28.3 +S3403,26.9,236.6 +S3404,24.4,33.4 +S3405,36.8,89.0 +S3406,33.7,66.9 +S3407,27.2,173.7 +S3408,6.9,46.4 +S3409,51.8,47.4 +S3410,88.1,204.0 +S3411,20.6,45.7 +S3412,39.5,204.9 +S3413,35.7,120.7 +S3414,27.5,211.8 +S3415,107.3,263.4 +S3416,56.7,125.4 +S3417,18.7,5.0 +S3418,118.6,260.4 +S3419,105.3,441.7 +S3420,101.7,267.1 +S3421,33.7,170.9 +S3422,51.1,126.0 +S3423,67.2,277.3 +S3424,12.7,267.6 +S3425,65.3,259.0 +S3426,15.9,75.1 +S3427,23.7,105.8 +S3428,79.8,162.5 +S3429,27.0,113.1 +S3430,118.0,329.8 +S3431,103.6,141.9 +S3432,41.0,134.7 +S3433,28.9,79.8 +S3434,8.8,154.5 +S3435,66.7,160.7 +S3436,46.5,5.0 +S3437,25.9,71.6 +S3438,108.7,250.7 +S3439,47.1,234.1 +S3440,65.0,206.4 +S3441,106.6,216.3 +S3442,57.7,129.5 +S3443,15.0,72.8 +S3444,75.6,216.0 +S3445,49.8,240.3 +S3446,93.4,369.0 +S3447,10.2,106.2 +S3448,107.1,178.1 +S3449,8.5,210.9 +S3450,39.7,70.9 +S3451,84.7,207.8 +S3452,30.1,191.9 +S3453,99.6,189.1 +S3454,18.9,64.1 +S3455,70.2,125.0 +S3456,106.2,335.3 +S3457,99.0,109.0 +S3458,18.6,5.0 +S3459,108.9,242.9 +S3460,24.7,118.0 +S3461,90.9,215.9 +S3462,82.7,272.6 +S3463,60.2,128.6 +S3464,116.1,296.0 +S3465,6.9,153.9 +S3466,28.8,130.2 +S3467,39.6,116.1 +S3468,55.9,237.3 +S3469,36.2,128.7 +S3470,70.9,225.9 +S3471,50.4,98.2 +S3472,40.0,215.6 +S3473,75.2,197.1 +S3474,12.2,113.9 +S3475,37.5,175.8 +S3476,24.6,68.9 +S3477,118.8,124.3 +S3478,48.7,83.7 +S3479,42.1,153.8 +S3480,81.9,275.1 +S3481,24.4,150.4 +S3482,117.6,214.0 +S3483,70.6,304.2 +S3484,106.3,212.5 +S3485,5.4,44.9 +S3486,111.5,217.4 +S3487,39.2,74.3 +S3488,105.1,178.5 +S3489,107.5,216.2 +S3490,12.1,189.6 +S3491,8.8,5.0 +S3492,112.4,405.4 +S3493,36.9,166.3 +S3494,35.7,134.3 +S3495,104.1,202.5 +S3496,19.4,82.8 +S3497,71.8,128.4 +S3498,29.1,238.8 +S3499,101.7,195.9 +S3500,116.5,270.1 +S3501,97.0,178.7 +S3502,39.6,241.2 +S3503,80.4,205.4 +S3504,14.0,115.2 +S3505,32.4,61.6 +S3506,116.3,324.2 +S3507,15.5,166.3 +S3508,62.7,37.1 +S3509,41.4,161.7 +S3510,6.5,126.3 +S3511,34.1,5.0 +S3512,98.3,452.9 +S3513,13.7,33.4 +S3514,103.6,161.7 +S3515,107.0,379.6 +S3516,62.0,204.5 +S3517,51.0,157.2 +S3518,17.5,229.2 +S3519,82.2,244.3 +S3520,31.8,83.8 +S3521,105.9,237.5 +S3522,68.2,172.7 +S3523,72.0,232.2 +S3524,107.8,335.7 +S3525,13.0,96.1 +S3526,32.6,212.7 +S3527,86.5,165.4 +S3528,8.8,5.0 +S3529,51.8,161.6 +S3530,110.5,247.1 +S3531,37.2,235.3 +S3532,78.1,227.2 +S3533,81.0,288.9 +S3534,6.9,23.2 +S3535,51.0,81.1 +S3536,95.1,184.3 +S3537,72.2,201.0 +S3538,37.8,51.4 +S3539,95.9,344.0 +S3540,17.5,5.0 +S3541,58.1,200.3 +S3542,67.9,159.1 +S3543,90.3,229.3 +S3544,42.3,99.2 +S3545,95.5,219.0 +S3546,67.3,194.2 +S3547,13.0,5.0 +S3548,76.0,94.6 +S3549,109.4,138.6 +S3550,70.7,141.1 +S3551,10.2,102.8 +S3552,26.5,108.2 +S3553,91.8,261.6 +S3554,19.9,38.1 +S3555,86.0,276.6 +S3556,7.8,155.8 +S3557,81.7,285.3 +S3558,54.8,32.0 +S3559,56.9,241.8 +S3560,58.3,92.0 +S3561,61.5,147.4 +S3562,84.6,302.8 +S3563,37.7,180.2 +S3564,48.7,217.4 +S3565,69.8,223.6 +S3566,48.5,118.0 +S3567,105.4,217.0 +S3568,107.4,323.0 +S3569,97.6,137.5 +S3570,77.7,186.5 +S3571,64.7,314.0 +S3572,113.8,352.3 +S3573,63.6,192.6 +S3574,17.5,25.6 +S3575,111.9,223.6 +S3576,51.4,58.9 +S3577,117.1,250.0 +S3578,38.8,195.0 +S3579,58.9,126.3 +S3580,18.7,155.9 +S3581,88.2,186.6 +S3582,13.0,5.0 +S3583,96.0,288.1 +S3584,82.1,228.5 +S3585,69.5,246.8 +S3586,75.4,228.0 +S3587,65.6,127.6 +S3588,57.7,47.7 +S3589,78.9,167.9 +S3590,62.0,42.5 +S3591,107.6,282.0 +S3592,58.3,131.3 +S3593,102.1,263.8 +S3594,110.9,209.1 +S3595,77.9,346.6 +S3596,96.5,216.5 +S3597,30.0,76.5 +S3598,118.9,287.0 +S3599,26.5,212.6 +S3600,83.8,160.1 +S3601,79.5,243.0 +S3602,10.0,5.0 +S3603,40.2,242.5 +S3604,6.3,36.5 +S3605,65.8,253.8 +S3606,73.7,269.6 +S3607,117.6,456.0 +S3608,34.3,57.5 +S3609,17.6,81.0 +S3610,74.4,343.0 +S3611,35.8,114.5 +S3612,98.8,329.2 +S3613,59.4,144.4 +S3614,104.0,303.8 +S3615,17.2,124.1 +S3616,66.5,123.1 +S3617,89.1,168.0 +S3618,29.0,18.8 +S3619,41.1,5.0 +S3620,71.2,141.7 +S3621,45.3,5.0 +S3622,92.5,235.9 +S3623,61.5,211.0 +S3624,110.6,194.7 +S3625,81.9,227.2 +S3626,12.5,116.3 +S3627,54.9,135.1 +S3628,33.7,158.2 +S3629,66.3,92.7 +S3630,91.5,176.7 +S3631,24.9,48.8 +S3632,36.0,116.0 +S3633,105.6,319.0 +S3634,88.7,122.7 +S3635,108.2,281.7 +S3636,13.6,5.0 +S3637,94.8,256.2 +S3638,93.2,238.3 +S3639,92.4,203.5 +S3640,16.1,102.5 +S3641,26.7,100.0 +S3642,21.0,16.0 +S3643,52.5,167.2 +S3644,102.0,208.3 +S3645,85.6,278.4 +S3646,59.4,195.3 +S3647,69.3,119.7 +S3648,55.5,75.6 +S3649,51.4,155.0 +S3650,23.1,147.9 +S3651,20.2,61.5 +S3652,52.9,116.6 +S3653,85.1,135.8 +S3654,59.3,224.8 +S3655,69.7,365.2 +S3656,45.8,215.8 +S3657,48.2,66.5 +S3658,17.5,5.0 +S3659,48.5,60.3 +S3660,36.0,106.5 +S3661,67.2,152.8 +S3662,76.1,149.7 +S3663,61.9,106.7 +S3664,51.9,155.5 +S3665,64.3,131.3 +S3666,5.1,81.1 +S3667,81.0,342.0 +S3668,49.7,216.1 +S3669,100.2,231.9 +S3670,56.4,29.5 +S3671,83.8,350.0 +S3672,96.7,231.8 +S3673,61.4,143.3 +S3674,26.9,125.4 +S3675,50.2,101.9 +S3676,43.3,45.6 +S3677,7.5,57.2 +S3678,109.6,244.2 +S3679,26.5,128.3 +S3680,24.8,196.1 +S3681,82.0,167.4 +S3682,64.5,54.5 +S3683,17.2,140.9 +S3684,62.6,111.7 +S3685,84.2,139.0 +S3686,94.7,256.7 +S3687,12.7,5.0 +S3688,109.3,151.3 +S3689,28.6,101.0 +S3690,119.5,215.5 +S3691,33.1,228.6 +S3692,37.9,159.6 +S3693,70.1,286.8 +S3694,11.8,258.4 +S3695,21.7,104.0 +S3696,25.0,5.0 +S3697,20.8,32.3 +S3698,110.3,315.0 +S3699,91.0,335.6 +S3700,18.8,42.9 +S3701,118.0,272.2 +S3702,63.3,248.2 +S3703,11.2,5.5 +S3704,33.6,152.6 +S3705,18.3,77.8 +S3706,108.0,402.4 +S3707,42.9,117.2 +S3708,119.4,151.2 +S3709,80.1,248.8 +S3710,37.9,145.6 +S3711,32.3,27.3 +S3712,14.2,96.3 +S3713,16.1,40.7 +S3714,29.0,95.4 +S3715,87.5,183.5 +S3716,7.0,5.0 +S3717,46.1,67.6 +S3718,116.0,200.7 +S3719,88.2,343.2 +S3720,6.5,5.0 +S3721,83.9,125.7 +S3722,102.5,296.5 +S3723,54.0,110.4 +S3724,41.9,141.0 +S3725,17.1,69.5 +S3726,102.0,301.7 +S3727,42.4,140.0 +S3728,12.3,135.4 +S3729,35.3,134.0 +S3730,46.2,168.5 +S3731,119.9,244.6 +S3732,79.1,215.8 +S3733,15.7,92.9 +S3734,55.9,111.1 +S3735,93.1,228.1 +S3736,54.3,183.7 +S3737,68.4,163.1 +S3738,50.9,83.2 +S3739,51.3,186.1 +S3740,36.6,112.7 +S3741,100.5,28.4 +S3742,76.0,138.3 +S3743,94.2,224.9 +S3744,91.3,207.5 +S3745,102.4,301.0 +S3746,13.4,153.7 +S3747,111.1,262.9 +S3748,27.8,160.6 +S3749,34.9,72.0 +S3750,12.6,69.7 +S3751,115.6,345.2 +S3752,74.4,213.7 +S3753,108.4,250.1 +S3754,24.7,160.1 +S3755,46.6,312.8 +S3756,57.4,158.2 +S3757,118.3,318.6 +S3758,96.2,311.6 +S3759,67.1,78.5 +S3760,83.4,240.3 +S3761,55.5,147.1 +S3762,58.5,5.0 +S3763,56.3,63.9 +S3764,103.2,171.1 +S3765,101.4,310.6 +S3766,72.7,104.6 +S3767,115.7,319.7 +S3768,56.2,186.8 +S3769,103.4,257.8 +S3770,117.7,284.6 +S3771,70.2,204.0 +S3772,9.4,157.7 +S3773,10.0,44.6 +S3774,54.7,122.2 +S3775,26.8,138.4 +S3776,62.4,103.1 +S3777,62.6,268.4 +S3778,103.9,311.1 +S3779,115.3,311.6 +S3780,118.9,320.5 +S3781,81.8,247.3 +S3782,116.0,287.6 +S3783,65.3,167.6 +S3784,6.6,5.0 +S3785,79.3,174.3 +S3786,103.0,305.0 +S3787,113.5,195.8 +S3788,66.4,191.1 +S3789,56.7,142.4 +S3790,90.1,111.8 +S3791,93.7,354.8 +S3792,87.7,214.1 +S3793,17.6,30.5 +S3794,82.5,271.4 +S3795,88.1,209.3 +S3796,59.2,153.7 +S3797,16.5,156.2 +S3798,38.1,55.1 +S3799,24.1,79.5 +S3800,86.5,207.3 +S3801,105.0,346.9 +S3802,65.3,180.5 +S3803,87.8,261.8 +S3804,64.5,45.8 +S3805,31.3,35.8 +S3806,80.3,173.9 +S3807,52.0,224.6 +S3808,6.0,109.3 +S3809,117.3,353.0 +S3810,24.3,86.4 +S3811,58.8,23.6 +S3812,93.0,316.5 +S3813,66.5,251.8 +S3814,105.9,332.7 +S3815,27.4,127.1 +S3816,14.6,36.0 +S3817,74.1,153.5 +S3818,26.5,112.2 +S3819,64.8,228.3 +S3820,101.3,234.4 +S3821,94.5,351.0 +S3822,62.9,92.1 +S3823,8.5,19.2 +S3824,58.3,149.9 +S3825,71.6,294.7 +S3826,27.0,208.3 +S3827,40.2,30.5 +S3828,110.4,296.5 +S3829,108.4,264.4 +S3830,52.5,60.6 +S3831,75.8,160.4 +S3832,102.1,203.2 +S3833,106.2,145.4 +S3834,13.1,102.1 +S3835,110.1,262.8 +S3836,64.4,237.7 +S3837,68.4,316.0 +S3838,116.8,343.3 +S3839,59.8,129.3 +S3840,117.4,324.2 +S3841,70.6,181.3 +S3842,71.4,79.8 +S3843,63.3,203.3 +S3844,116.5,277.1 +S3845,64.3,256.7 +S3846,42.5,241.1 +S3847,7.7,47.9 +S3848,104.0,290.1 +S3849,85.0,125.9 +S3850,95.4,314.7 +S3851,93.3,344.4 +S3852,35.4,131.1 +S3853,77.3,237.9 +S3854,28.9,94.2 +S3855,98.7,150.3 +S3856,57.2,214.7 +S3857,49.9,134.4 +S3858,109.6,275.3 +S3859,97.0,99.2 +S3860,95.1,293.1 +S3861,103.4,372.3 +S3862,100.3,237.1 +S3863,61.7,123.9 +S3864,55.8,102.3 +S3865,100.8,252.5 +S3866,90.1,208.7 +S3867,78.4,111.3 +S3868,30.6,150.8 +S3869,28.1,73.0 +S3870,16.5,133.0 +S3871,116.6,328.2 +S3872,46.7,88.4 +S3873,9.3,99.6 +S3874,40.1,122.4 +S3875,119.3,266.5 +S3876,116.3,150.7 +S3877,39.6,167.6 +S3878,30.1,128.1 +S3879,84.9,291.1 +S3880,41.5,290.3 +S3881,37.9,79.4 +S3882,9.8,67.3 +S3883,39.5,45.8 +S3884,85.9,256.2 +S3885,87.9,221.5 +S3886,82.1,115.1 +S3887,21.4,182.5 +S3888,93.0,288.9 +S3889,88.8,112.9 +S3890,44.0,134.7 +S3891,38.8,145.2 +S3892,36.6,155.6 +S3893,60.7,193.4 +S3894,93.2,242.8 +S3895,41.6,118.3 +S3896,48.6,168.2 +S3897,23.6,11.3 +S3898,16.1,88.9 +S3899,80.6,173.1 +S3900,60.2,258.1 +S3901,27.9,135.8 +S3902,62.5,183.7 +S3903,105.1,239.6 +S3904,116.0,246.1 +S3905,113.5,341.8 +S3906,44.4,202.0 +S3907,98.5,237.3 +S3908,83.9,268.3 +S3909,117.4,294.2 +S3910,20.8,150.4 +S3911,82.6,212.7 +S3912,99.3,238.3 +S3913,116.4,381.7 +S3914,111.5,381.7 +S3915,62.9,230.7 +S3916,69.6,262.7 +S3917,30.7,111.1 +S3918,50.6,109.1 +S3919,15.6,68.1 +S3920,68.9,142.6 +S3921,61.4,194.8 +S3922,30.5,72.5 +S3923,37.6,216.6 +S3924,113.1,167.2 +S3925,89.8,260.6 +S3926,107.3,244.1 +S3927,119.1,337.4 +S3928,61.5,240.4 +S3929,61.9,52.4 +S3930,113.7,338.1 +S3931,29.5,171.4 +S3932,58.9,207.4 +S3933,41.5,174.1 +S3934,22.7,5.0 +S3935,91.3,168.8 +S3936,91.7,168.8 +S3937,66.4,194.9 +S3938,116.9,329.2 +S3939,24.0,31.5 +S3940,33.3,107.8 +S3941,68.5,135.9 +S3942,23.8,142.7 +S3943,35.5,209.1 +S3944,75.9,62.4 +S3945,92.7,159.4 +S3946,116.6,307.7 +S3947,98.6,101.4 +S3948,31.4,132.2 +S3949,41.8,194.3 +S3950,31.8,155.4 +S3951,74.8,237.8 +S3952,44.5,151.8 +S3953,101.0,230.0 +S3954,16.1,5.0 +S3955,34.9,124.9 +S3956,90.1,218.4 +S3957,113.7,405.7 +S3958,98.9,393.8 +S3959,109.6,349.3 +S3960,62.0,200.9 +S3961,58.7,222.4 +S3962,40.0,175.6 +S3963,70.2,157.2 +S3964,23.8,208.1 +S3965,62.9,288.9 +S3966,117.6,385.4 +S3967,72.8,216.0 +S3968,29.5,134.6 +S3969,116.2,355.5 +S3970,51.1,180.2 +S3971,43.7,165.8 +S3972,26.9,86.5 +S3973,51.1,167.2 +S3974,28.7,159.1 +S3975,50.2,246.1 +S3976,44.6,81.8 +S3977,81.4,289.1 +S3978,45.7,193.3 +S3979,24.7,101.1 +S3980,68.9,140.0 +S3981,98.1,197.8 +S3982,38.7,85.9 +S3983,58.2,27.9 +S3984,36.7,149.5 +S3985,57.3,168.4 +S3986,70.9,243.8 +S3987,69.6,241.3 +S3988,9.0,37.6 +S3989,28.7,5.0 +S3990,12.3,5.0 +S3991,111.8,166.4 +S3992,117.7,314.6 +S3993,104.7,198.0 +S3994,89.4,234.0 +S3995,56.0,140.6 +S3996,107.1,222.2 +S3997,77.4,196.8 +S3998,11.9,13.9 +S3999,16.0,52.6 +S4000,15.3,76.7 +S4001,107.8,242.2 +S4002,94.3,210.9 +S4003,59.6,133.4 +S4004,13.1,198.9 +S4005,118.6,312.2 +S4006,34.3,5.0 +S4007,20.8,98.1 +S4008,71.1,206.5 +S4009,21.2,157.8 +S4010,40.0,111.6 +S4011,104.3,210.5 +S4012,6.7,5.0 +S4013,14.7,34.5 +S4014,109.6,414.5 +S4015,48.6,95.0 +S4016,68.7,271.7 +S4017,115.8,371.2 +S4018,95.7,333.0 +S4019,27.2,29.3 +S4020,45.0,128.8 +S4021,13.8,121.6 +S4022,44.9,171.2 +S4023,41.0,210.0 +S4024,15.3,190.0 +S4025,57.1,223.5 +S4026,51.8,243.7 +S4027,50.8,113.0 +S4028,93.1,259.5 +S4029,69.7,203.5 +S4030,100.8,274.3 +S4031,12.9,80.0 +S4032,33.7,150.9 +S4033,61.9,157.7 +S4034,99.4,316.6 +S4035,74.0,226.0 +S4036,78.6,231.6 +S4037,83.6,281.2 +S4038,69.2,247.0 +S4039,54.0,246.1 +S4040,29.8,91.0 +S4041,62.5,145.8 +S4042,82.1,67.2 +S4043,102.5,321.8 +S4044,71.6,103.9 +S4045,102.9,233.3 +S4046,99.1,383.2 +S4047,99.2,222.9 +S4048,20.7,133.4 +S4049,83.8,262.3 +S4050,17.0,94.4 +S4051,15.0,57.8 +S4052,34.1,171.9 +S4053,94.2,178.1 +S4054,8.8,82.9 +S4055,16.4,9.3 +S4056,88.6,267.4 +S4057,74.0,194.3 +S4058,114.3,286.3 +S4059,31.4,155.7 +S4060,63.4,165.8 +S4061,77.9,199.1 +S4062,89.6,266.5 +S4063,29.1,79.2 +S4064,29.4,93.5 +S4065,41.4,81.2 +S4066,89.2,208.1 +S4067,36.7,44.0 +S4068,65.2,232.0 +S4069,22.0,148.7 +S4070,88.8,233.7 +S4071,31.2,29.7 +S4072,112.0,214.9 +S4073,65.5,94.6 +S4074,73.9,231.2 +S4075,97.7,154.0 +S4076,108.9,397.9 +S4077,59.7,167.2 +S4078,16.7,41.6 +S4079,116.6,384.6 +S4080,93.0,276.2 +S4081,89.4,167.1 +S4082,31.4,154.8 +S4083,52.8,90.1 +S4084,11.9,27.3 +S4085,61.8,85.3 +S4086,57.3,290.0 +S4087,103.6,215.1 +S4088,118.0,280.9 +S4089,61.3,248.2 +S4090,37.4,170.4 +S4091,67.6,155.4 +S4092,72.2,233.6 +S4093,98.9,328.2 +S4094,32.2,131.8 +S4095,30.7,47.6 +S4096,43.6,16.6 +S4097,92.7,176.5 +S4098,75.3,123.7 +S4099,30.4,78.9 +S4100,111.4,193.2 +S4101,13.1,5.0 +S4102,88.7,192.1 +S4103,76.1,96.8 +S4104,78.9,193.7 +S4105,90.0,260.3 +S4106,48.8,124.2 +S4107,88.8,243.5 +S4108,77.4,158.4 +S4109,118.4,396.4 +S4110,49.6,104.8 +S4111,94.0,127.3 +S4112,44.1,79.5 +S4113,66.7,185.3 +S4114,113.3,238.0 +S4115,110.4,253.0 +S4116,55.7,174.8 +S4117,38.2,85.7 +S4118,88.9,176.6 +S4119,110.5,359.6 +S4120,20.7,65.7 +S4121,13.9,132.6 +S4122,59.1,160.2 +S4123,66.5,211.8 +S4124,27.0,83.0 +S4125,112.4,212.2 +S4126,37.7,203.9 +S4127,100.0,322.1 +S4128,99.6,181.9 +S4129,116.2,261.0 +S4130,14.0,76.6 +S4131,54.2,139.8 +S4132,48.4,146.9 +S4133,61.2,77.7 +S4134,99.9,207.6 +S4135,91.3,200.2 +S4136,91.0,286.0 +S4137,35.3,56.9 +S4138,68.4,117.9 +S4139,46.4,287.4 +S4140,8.8,155.3 +S4141,47.2,169.9 +S4142,50.4,153.2 +S4143,12.8,51.3 +S4144,22.4,187.6 +S4145,38.3,55.8 +S4146,56.0,146.3 +S4147,103.5,267.0 +S4148,37.2,109.6 +S4149,95.1,186.8 +S4150,6.1,87.5 +S4151,88.2,306.5 +S4152,8.3,5.0 +S4153,17.2,47.7 +S4154,86.0,347.3 +S4155,82.1,275.5 +S4156,106.8,337.4 +S4157,11.4,84.2 +S4158,13.8,65.0 +S4159,51.8,125.0 +S4160,98.3,347.1 +S4161,46.6,140.3 +S4162,31.9,97.3 +S4163,64.0,197.5 +S4164,13.7,5.0 +S4165,111.7,233.5 +S4166,19.6,183.4 +S4167,77.5,146.2 +S4168,57.4,124.5 +S4169,76.4,251.8 +S4170,28.7,170.5 +S4171,102.7,359.3 +S4172,90.3,347.1 +S4173,87.5,219.3 +S4174,30.2,64.4 +S4175,45.5,139.3 +S4176,61.6,197.3 +S4177,14.0,78.7 +S4178,43.4,71.5 +S4179,14.6,32.3 +S4180,62.9,189.8 +S4181,55.5,266.3 +S4182,99.1,451.2 +S4183,33.5,5.0 +S4184,18.3,167.5 +S4185,99.1,343.5 +S4186,20.2,90.7 +S4187,46.2,96.2 +S4188,12.5,55.5 +S4189,78.6,212.9 +S4190,96.8,463.4 +S4191,102.0,258.0 +S4192,42.4,108.0 +S4193,100.1,294.1 +S4194,26.3,66.3 +S4195,70.4,123.2 +S4196,54.0,103.0 +S4197,54.9,74.3 +S4198,80.8,62.6 +S4199,105.1,355.4 +S4200,77.2,347.0 +S4201,69.9,227.4 +S4202,63.2,331.8 +S4203,8.3,23.1 +S4204,45.9,110.1 +S4205,71.5,268.0 +S4206,58.1,69.7 +S4207,19.4,108.8 +S4208,111.1,239.2 +S4209,87.3,196.6 +S4210,10.9,87.0 +S4211,40.6,277.5 +S4212,46.6,155.8 +S4213,76.4,193.8 +S4214,51.1,122.8 +S4215,100.1,276.5 +S4216,22.5,7.4 +S4217,23.8,143.9 +S4218,84.0,276.8 +S4219,76.2,328.4 +S4220,26.0,86.0 +S4221,39.4,146.0 +S4222,71.7,221.3 +S4223,110.9,194.3 +S4224,21.4,152.0 +S4225,5.5,147.8 +S4226,33.2,129.4 +S4227,111.8,296.0 +S4228,85.6,258.0 +S4229,38.1,5.0 +S4230,74.8,161.9 +S4231,79.1,306.4 +S4232,38.5,139.7 +S4233,68.9,5.0 +S4234,75.7,161.6 +S4235,41.8,235.5 +S4236,11.5,207.4 +S4237,56.6,243.1 +S4238,49.2,150.3 +S4239,38.1,197.2 +S4240,67.1,203.2 +S4241,52.1,165.7 +S4242,25.3,191.7 +S4243,50.9,175.1 +S4244,73.2,205.1 +S4245,94.7,172.9 +S4246,74.2,222.9 +S4247,83.2,150.2 +S4248,19.0,130.6 +S4249,34.8,45.7 +S4250,6.4,52.2 +S4251,86.8,252.1 +S4252,21.6,140.8 +S4253,20.2,82.2 +S4254,76.0,258.0 +S4255,55.8,85.9 +S4256,86.6,215.6 +S4257,54.3,320.1 +S4258,56.4,190.6 +S4259,18.0,8.6 +S4260,101.0,256.4 +S4261,62.7,281.3 +S4262,46.8,250.3 +S4263,84.7,102.4 +S4264,81.6,162.9 +S4265,10.2,88.7 +S4266,50.4,65.8 +S4267,54.7,234.5 +S4268,46.9,219.3 +S4269,61.0,82.2 +S4270,63.7,121.8 +S4271,25.2,31.1 +S4272,83.4,304.2 +S4273,73.5,272.6 +S4274,65.7,257.1 +S4275,47.6,175.2 +S4276,14.4,68.5 +S4277,17.6,5.0 +S4278,7.1,5.0 +S4279,80.5,174.3 +S4280,90.0,130.1 +S4281,55.3,201.1 +S4282,106.7,298.3 +S4283,39.5,136.1 +S4284,106.9,264.8 +S4285,79.2,201.3 +S4286,90.0,175.5 +S4287,85.2,176.7 +S4288,47.7,170.8 +S4289,105.0,354.9 +S4290,73.4,317.8 +S4291,82.8,191.0 +S4292,113.0,228.0 +S4293,39.8,137.6 +S4294,72.0,180.8 +S4295,82.6,200.8 +S4296,86.3,185.4 +S4297,114.2,320.1 +S4298,27.3,69.5 +S4299,81.8,95.5 +S4300,102.7,302.5 +S4301,93.0,236.3 +S4302,40.5,56.9 +S4303,102.3,159.6 +S4304,11.9,94.3 +S4305,65.1,343.1 +S4306,33.8,144.5 +S4307,93.1,249.8 +S4308,25.8,5.0 +S4309,17.3,42.1 +S4310,65.5,131.4 +S4311,17.5,5.0 +S4312,62.1,213.2 +S4313,104.7,237.8 +S4314,91.5,347.2 +S4315,26.6,153.6 +S4316,119.5,397.7 +S4317,49.6,136.8 +S4318,6.1,41.4 +S4319,8.3,27.3 +S4320,35.4,43.0 +S4321,10.5,116.1 +S4322,95.2,211.5 +S4323,112.2,267.7 +S4324,114.9,247.5 +S4325,83.1,274.0 +S4326,12.4,63.6 +S4327,36.2,108.5 +S4328,107.9,121.6 +S4329,19.2,80.0 +S4330,57.4,84.3 +S4331,109.4,232.2 +S4332,42.9,177.4 +S4333,49.1,171.3 +S4334,29.1,86.6 +S4335,115.0,175.2 +S4336,62.1,301.3 +S4337,107.8,242.8 +S4338,64.9,196.0 +S4339,76.4,163.1 +S4340,50.9,57.4 +S4341,33.0,204.8 +S4342,96.8,266.5 +S4343,92.0,261.3 +S4344,63.0,134.4 +S4345,15.7,128.7 +S4346,28.6,126.1 +S4347,55.8,116.8 +S4348,19.7,86.2 +S4349,14.4,99.7 +S4350,103.2,342.7 +S4351,51.9,170.1 +S4352,7.5,5.0 +S4353,68.2,266.7 +S4354,7.0,79.3 +S4355,73.0,298.6 +S4356,96.0,268.7 +S4357,115.5,240.0 +S4358,43.3,13.5 +S4359,67.4,65.5 +S4360,91.9,244.8 +S4361,8.5,49.8 +S4362,74.7,244.3 +S4363,24.2,70.0 +S4364,47.3,31.9 +S4365,70.2,167.5 +S4366,23.3,54.2 +S4367,13.7,82.1 +S4368,53.2,5.0 +S4369,98.4,112.3 +S4370,62.3,112.5 +S4371,13.3,5.0 +S4372,25.3,29.4 +S4373,117.8,222.1 +S4374,93.7,225.7 +S4375,82.0,300.3 +S4376,115.4,272.5 +S4377,37.8,119.6 +S4378,22.8,56.1 +S4379,36.3,78.3 +S4380,111.5,217.2 +S4381,74.2,223.4 +S4382,25.0,140.0 +S4383,103.0,310.4 +S4384,71.4,120.5 +S4385,11.4,23.4 +S4386,18.3,183.8 +S4387,50.6,77.0 +S4388,114.7,222.0 +S4389,92.1,272.8 +S4390,102.4,179.4 +S4391,19.1,60.7 +S4392,26.2,157.3 +S4393,69.3,239.8 +S4394,62.1,161.8 +S4395,64.4,216.7 +S4396,99.3,278.5 +S4397,16.7,55.1 +S4398,79.3,197.1 +S4399,5.7,94.6 +S4400,58.4,186.1 +S4401,48.0,143.0 +S4402,67.5,186.5 +S4403,102.4,266.3 +S4404,96.7,241.0 +S4405,8.2,88.1 +S4406,69.3,174.9 +S4407,77.8,190.5 +S4408,91.7,259.6 +S4409,14.8,5.0 +S4410,34.3,84.5 +S4411,58.5,130.9 +S4412,84.7,163.3 +S4413,27.2,84.8 +S4414,96.2,162.0 +S4415,106.8,354.9 +S4416,114.5,112.7 +S4417,42.6,63.6 +S4418,70.1,264.5 +S4419,49.9,85.1 +S4420,47.7,115.8 +S4421,65.3,178.8 +S4422,9.6,23.6 +S4423,97.5,238.0 +S4424,34.2,37.3 +S4425,12.6,21.1 +S4426,38.1,111.6 +S4427,111.9,222.6 +S4428,59.6,228.9 +S4429,42.6,37.9 +S4430,105.5,316.6 +S4431,107.2,179.3 +S4432,11.3,5.0 +S4433,8.8,95.4 +S4434,94.2,223.2 +S4435,97.5,281.5 +S4436,57.9,16.8 +S4437,108.2,318.6 +S4438,14.1,114.1 +S4439,55.3,206.9 +S4440,74.0,248.5 +S4441,100.2,266.9 +S4442,64.0,88.0 +S4443,56.2,209.3 +S4444,113.1,172.6 +S4445,110.1,201.9 +S4446,78.5,292.3 +S4447,12.0,78.7 +S4448,103.2,318.5 +S4449,99.6,144.3 +S4450,9.9,141.3 +S4451,13.1,5.0 +S4452,99.1,69.6 +S4453,56.6,20.6 +S4454,98.4,176.7 +S4455,63.4,192.3 +S4456,61.0,192.3 +S4457,81.8,247.2 +S4458,96.1,190.5 +S4459,104.6,316.7 +S4460,23.2,140.1 +S4461,33.4,52.3 +S4462,86.5,218.7 +S4463,83.0,183.7 +S4464,35.4,24.7 +S4465,57.1,262.9 +S4466,37.6,223.6 +S4467,31.8,54.8 +S4468,110.7,186.1 +S4469,105.3,334.8 +S4470,52.1,141.3 +S4471,23.0,136.9 +S4472,5.4,7.5 +S4473,45.0,160.6 +S4474,20.3,21.1 +S4475,71.0,289.1 +S4476,6.6,58.7 +S4477,94.8,309.1 +S4478,47.0,75.3 +S4479,107.3,190.5 +S4480,73.6,62.8 +S4481,19.5,123.4 +S4482,45.9,59.7 +S4483,78.7,157.2 +S4484,79.4,296.9 +S4485,43.6,102.3 +S4486,66.5,235.3 +S4487,117.8,289.3 +S4488,79.0,69.4 +S4489,30.9,161.5 +S4490,15.9,108.4 +S4491,95.2,456.6 +S4492,62.8,125.0 +S4493,42.1,278.3 +S4494,71.4,261.6 +S4495,49.8,162.2 +S4496,53.2,16.2 +S4497,80.1,60.0 +S4498,44.5,78.4 +S4499,81.4,281.8 +S4500,57.9,289.6 +S4501,102.5,285.1 +S4502,43.6,50.5 +S4503,38.5,128.9 +S4504,98.3,458.6 +S4505,81.5,254.4 +S4506,96.5,250.5 +S4507,42.4,204.6 +S4508,100.5,335.4 +S4509,27.5,33.2 +S4510,56.2,142.6 +S4511,101.1,365.9 +S4512,67.5,239.4 +S4513,110.7,252.8 +S4514,51.8,187.1 +S4515,114.1,400.6 +S4516,40.8,93.0 +S4517,12.8,5.0 +S4518,20.6,129.8 +S4519,86.9,160.2 +S4520,95.7,207.6 +S4521,91.3,335.7 +S4522,64.1,191.7 +S4523,87.6,206.0 +S4524,83.3,211.4 +S4525,81.6,276.5 +S4526,108.1,241.5 +S4527,57.9,141.3 +S4528,8.3,51.8 +S4529,29.4,213.1 +S4530,90.3,160.7 +S4531,90.1,113.3 +S4532,69.0,163.5 +S4533,70.1,165.2 +S4534,8.8,89.6 +S4535,29.6,76.3 +S4536,84.5,123.2 +S4537,53.0,61.0 +S4538,11.9,14.7 +S4539,60.8,208.0 +S4540,106.6,196.3 +S4541,88.1,151.9 +S4542,94.9,196.1 +S4543,25.1,136.7 +S4544,67.6,131.8 +S4545,58.9,181.2 +S4546,102.9,259.6 +S4547,84.0,227.4 +S4548,111.2,397.2 +S4549,98.3,271.5 +S4550,36.3,5.0 +S4551,54.1,109.6 +S4552,56.6,156.0 +S4553,50.3,85.1 +S4554,61.6,242.5 +S4555,11.0,232.3 +S4556,9.5,5.0 +S4557,26.1,182.1 +S4558,88.9,239.8 +S4559,54.0,165.4 +S4560,36.9,210.2 +S4561,98.6,175.5 +S4562,10.2,181.8 +S4563,43.3,78.3 +S4564,91.6,143.7 +S4565,6.0,23.3 +S4566,114.5,328.0 +S4567,23.8,69.7 +S4568,45.5,201.4 +S4569,79.8,272.2 +S4570,55.9,197.7 +S4571,8.4,14.9 +S4572,29.0,75.8 +S4573,109.5,365.1 +S4574,110.6,277.0 +S4575,58.0,198.4 +S4576,6.7,213.2 +S4577,45.6,177.6 +S4578,63.5,221.9 +S4579,101.9,281.3 +S4580,62.3,150.0 +S4581,21.6,182.8 +S4582,71.2,131.6 +S4583,38.7,166.5 +S4584,21.3,50.2 +S4585,39.9,160.2 +S4586,47.2,198.6 +S4587,61.5,230.7 +S4588,10.3,83.4 +S4589,104.4,308.3 +S4590,95.0,225.8 +S4591,51.7,76.6 +S4592,48.7,256.0 +S4593,62.5,136.6 +S4594,19.2,34.0 +S4595,77.7,129.8 +S4596,109.4,258.2 +S4597,83.5,212.5 +S4598,37.8,209.3 +S4599,17.2,83.4 +S4600,15.1,14.6 +S4601,91.7,150.5 +S4602,95.2,278.4 +S4603,24.3,117.4 +S4604,119.4,356.8 +S4605,13.6,5.0 +S4606,115.1,280.2 +S4607,16.9,36.4 +S4608,113.5,275.0 +S4609,97.2,305.4 +S4610,45.1,128.7 +S4611,103.0,224.7 +S4612,86.2,415.8 +S4613,40.0,182.8 +S4614,112.4,379.2 +S4615,9.7,67.5 +S4616,78.7,224.4 +S4617,106.8,301.5 +S4618,27.0,56.0 +S4619,99.0,224.7 +S4620,75.2,151.6 +S4621,70.7,210.7 +S4622,84.5,204.5 +S4623,55.5,95.3 +S4624,70.0,129.0 +S4625,47.1,151.0 +S4626,75.2,216.9 +S4627,31.2,210.9 +S4628,67.8,138.2 +S4629,10.5,5.0 +S4630,75.4,119.9 +S4631,52.3,166.3 +S4632,60.6,117.9 +S4633,39.6,78.2 +S4634,50.5,87.7 +S4635,28.4,103.2 +S4636,82.0,205.0 +S4637,67.5,200.4 +S4638,83.2,224.2 +S4639,77.5,127.3 +S4640,76.5,258.5 +S4641,61.5,51.7 +S4642,98.2,281.8 +S4643,42.9,5.0 +S4644,38.1,115.1 +S4645,113.1,232.5 +S4646,80.0,320.9 +S4647,85.9,244.4 +S4648,41.6,225.2 +S4649,38.7,103.9 +S4650,28.3,145.7 +S4651,44.1,72.9 +S4652,25.5,155.4 +S4653,76.2,98.7 +S4654,76.8,138.9 +S4655,42.8,180.9 +S4656,56.3,106.0 +S4657,20.3,5.0 +S4658,11.0,85.1 +S4659,95.7,276.7 +S4660,13.2,197.8 +S4661,30.4,160.6 +S4662,16.8,100.0 +S4663,104.9,328.6 +S4664,27.9,113.2 +S4665,91.7,301.7 +S4666,55.4,62.9 +S4667,35.5,69.4 +S4668,116.7,397.9 +S4669,19.6,102.0 +S4670,114.7,247.7 +S4671,52.8,123.7 +S4672,97.9,279.1 +S4673,54.6,298.8 +S4674,112.7,318.2 +S4675,99.7,121.3 +S4676,15.1,166.1 +S4677,61.9,270.9 +S4678,49.2,168.3 +S4679,89.3,231.6 +S4680,82.5,242.7 +S4681,109.3,312.6 +S4682,85.2,272.6 +S4683,102.3,415.6 +S4684,81.5,234.3 +S4685,33.2,83.6 +S4686,50.9,41.1 +S4687,68.7,88.0 +S4688,17.7,185.2 +S4689,51.4,164.9 +S4690,72.4,204.5 +S4691,111.5,327.6 +S4692,63.0,220.8 +S4693,42.7,180.5 +S4694,60.1,163.4 +S4695,5.6,95.7 +S4696,32.8,229.7 +S4697,22.8,72.0 +S4698,26.6,103.8 +S4699,57.8,66.6 +S4700,66.8,167.1 +S4701,71.2,224.2 +S4702,105.2,316.6 +S4703,75.6,276.1 +S4704,87.3,204.5 +S4705,44.4,51.7 +S4706,32.1,139.6 +S4707,94.2,201.9 +S4708,81.7,247.9 +S4709,82.5,114.1 +S4710,81.7,192.4 +S4711,49.4,147.2 +S4712,93.2,201.1 +S4713,21.7,169.2 +S4714,99.1,218.5 +S4715,10.4,13.7 +S4716,39.0,224.0 +S4717,105.9,216.0 +S4718,110.9,289.4 +S4719,65.8,62.8 +S4720,74.5,249.1 +S4721,34.8,176.4 +S4722,11.8,23.5 +S4723,90.7,216.2 +S4724,39.1,161.3 +S4725,80.6,139.0 +S4726,95.8,332.4 +S4727,55.1,183.7 +S4728,34.0,38.7 +S4729,83.5,206.4 +S4730,87.7,314.1 +S4731,43.2,91.6 +S4732,74.6,156.1 +S4733,7.5,5.0 +S4734,103.3,333.9 +S4735,28.0,134.0 +S4736,80.7,98.1 +S4737,76.2,212.9 +S4738,22.9,5.0 +S4739,79.6,166.0 +S4740,114.4,294.3 +S4741,46.5,54.3 +S4742,56.9,70.1 +S4743,55.7,261.7 +S4744,116.6,315.5 +S4745,43.9,85.2 +S4746,32.4,182.7 +S4747,14.9,21.2 +S4748,47.6,8.0 +S4749,39.7,111.1 +S4750,88.8,153.5 +S4751,110.5,196.7 +S4752,29.3,5.0 +S4753,13.1,31.1 +S4754,78.1,86.8 +S4755,52.5,224.0 +S4756,29.8,54.8 +S4757,110.4,164.1 +S4758,89.0,143.3 +S4759,33.9,125.2 +S4760,21.9,135.3 +S4761,32.5,163.0 +S4762,117.9,260.3 +S4763,44.4,66.0 +S4764,67.8,152.9 +S4765,33.8,158.9 +S4766,79.1,201.1 +S4767,116.6,281.7 +S4768,73.7,78.2 +S4769,92.1,286.6 +S4770,89.1,244.4 +S4771,67.7,168.5 +S4772,108.4,303.5 +S4773,59.1,185.2 +S4774,58.0,122.5 +S4775,34.2,59.3 +S4776,106.5,231.1 +S4777,53.2,234.0 +S4778,72.1,236.0 +S4779,117.8,230.2 +S4780,103.0,212.4 +S4781,66.5,80.7 +S4782,27.7,52.1 +S4783,62.3,248.1 +S4784,66.2,249.9 +S4785,62.5,348.1 +S4786,114.1,311.1 +S4787,79.9,276.3 +S4788,44.9,175.0 +S4789,45.5,116.7 +S4790,72.4,93.3 +S4791,90.0,124.2 +S4792,29.4,100.7 +S4793,52.7,196.3 +S4794,72.2,188.6 +S4795,53.3,158.7 +S4796,110.0,138.6 +S4797,97.7,273.0 +S4798,55.5,181.8 +S4799,96.5,239.4 +S4800,101.4,312.2 +S4801,85.6,163.5 +S4802,100.5,84.1 +S4803,46.3,109.8 +S4804,63.9,139.0 +S4805,11.8,5.0 +S4806,16.5,216.5 +S4807,47.4,159.0 +S4808,72.3,156.6 +S4809,117.2,426.5 +S4810,16.6,73.4 +S4811,69.3,212.6 +S4812,108.7,356.1 +S4813,95.8,12.6 +S4814,113.6,280.0 +S4815,13.8,7.7 +S4816,20.5,36.2 +S4817,34.3,5.0 +S4818,31.5,154.1 +S4819,26.9,5.0 +S4820,65.8,284.4 +S4821,74.6,226.6 +S4822,19.4,58.5 +S4823,29.6,137.9 +S4824,54.0,129.0 +S4825,36.8,134.6 +S4826,111.7,197.5 +S4827,7.3,5.0 +S4828,106.7,288.2 +S4829,13.2,133.0 +S4830,95.8,207.6 +S4831,10.7,14.6 +S4832,95.4,128.7 +S4833,119.2,276.4 +S4834,17.1,90.7 +S4835,94.4,189.7 +S4836,18.9,144.3 +S4837,6.2,39.2 +S4838,108.0,300.6 +S4839,46.1,212.7 +S4840,45.3,179.3 +S4841,45.9,38.8 +S4842,10.8,83.8 +S4843,118.3,317.9 +S4844,119.4,340.6 +S4845,52.3,147.8 +S4846,114.5,219.8 +S4847,42.2,117.4 +S4848,83.0,368.2 +S4849,42.6,300.0 +S4850,28.1,130.9 +S4851,55.0,199.9 +S4852,113.2,146.0 +S4853,94.1,219.6 +S4854,46.3,96.3 +S4855,14.8,13.0 +S4856,17.3,102.6 +S4857,57.7,86.1 +S4858,115.2,333.8 +S4859,44.5,95.6 +S4860,84.3,266.1 +S4861,117.0,240.9 +S4862,50.8,144.0 +S4863,73.1,223.6 +S4864,63.2,286.1 +S4865,48.4,179.9 +S4866,92.9,256.8 +S4867,98.4,328.2 +S4868,104.5,260.5 +S4869,106.8,238.6 +S4870,38.1,134.8 +S4871,15.8,43.1 +S4872,65.3,53.2 +S4873,12.9,41.1 +S4874,105.2,223.4 +S4875,88.6,323.1 +S4876,118.2,284.9 +S4877,70.6,215.5 +S4878,40.2,178.6 +S4879,5.2,85.3 +S4880,107.9,278.9 +S4881,82.5,237.0 +S4882,27.5,39.7 +S4883,85.6,228.9 +S4884,88.5,292.0 +S4885,94.5,163.7 +S4886,103.3,266.3 +S4887,49.7,261.7 +S4888,63.3,190.9 +S4889,104.1,197.7 +S4890,16.1,63.0 +S4891,76.6,165.8 +S4892,10.7,95.7 +S4893,73.8,381.3 +S4894,86.8,178.8 +S4895,109.3,272.5 +S4896,69.8,261.3 +S4897,46.1,19.5 +S4898,118.2,375.9 +S4899,10.4,5.0 +S4900,47.3,136.5 +S4901,36.5,184.8 +S4902,7.2,5.0 +S4903,34.7,194.0 +S4904,25.8,59.1 +S4905,66.5,220.6 +S4906,110.7,319.9 +S4907,15.6,104.4 +S4908,70.2,68.0 +S4909,101.2,134.1 +S4910,16.0,105.5 +S4911,69.5,269.4 +S4912,35.2,38.1 +S4913,13.3,5.0 +S4914,25.3,112.6 +S4915,105.6,345.1 +S4916,78.9,117.0 +S4917,83.7,162.8 +S4918,96.8,379.8 +S4919,58.0,77.6 +S4920,18.2,124.0 +S4921,110.1,240.5 +S4922,79.8,153.4 +S4923,60.6,126.8 +S4924,74.5,200.3 +S4925,107.8,251.7 +S4926,8.2,5.0 +S4927,92.2,310.9 +S4928,87.3,227.3 +S4929,26.4,16.3 +S4930,91.1,104.9 +S4931,69.1,220.6 +S4932,32.6,103.5 +S4933,28.5,103.0 +S4934,62.2,180.8 +S4935,76.0,128.2 +S4936,50.0,174.4 +S4937,54.6,224.1 +S4938,89.3,249.2 +S4939,116.3,351.5 +S4940,12.7,114.6 +S4941,79.1,137.3 +S4942,63.3,109.4 +S4943,90.5,248.8 +S4944,56.7,174.2 +S4945,54.4,95.0 +S4946,11.8,120.5 +S4947,21.4,115.9 +S4948,33.5,5.0 +S4949,53.8,160.4 +S4950,45.1,5.0 +S4951,21.9,5.0 +S4952,117.7,365.8 +S4953,50.1,251.8 +S4954,117.6,322.7 +S4955,25.2,125.8 +S4956,110.2,224.4 +S4957,37.9,66.2 +S4958,97.3,216.9 +S4959,68.4,95.8 +S4960,94.3,59.7 +S4961,109.0,347.7 +S4962,67.4,153.5 +S4963,95.8,147.8 +S4964,106.9,266.8 +S4965,65.9,212.8 +S4966,20.7,93.6 +S4967,97.5,279.6 +S4968,27.9,99.9 +S4969,61.2,175.0 +S4970,18.4,5.0 +S4971,74.8,157.3 +S4972,107.2,277.7 +S4973,111.1,292.1 +S4974,25.4,36.8 +S4975,56.8,142.5 +S4976,78.2,126.3 +S4977,85.0,147.4 +S4978,6.5,5.0 +S4979,94.2,315.6 +S4980,112.4,275.6 +S4981,61.4,188.6 +S4982,77.7,236.2 +S4983,58.0,211.9 +S4984,103.8,316.9 +S4985,94.3,167.6 +S4986,10.2,197.0 +S4987,16.2,195.7 +S4988,97.4,336.6 +S4989,116.0,324.7 +S4990,89.3,117.6 +S4991,109.0,239.9 +S4992,20.7,95.3 +S4993,102.1,313.9 +S4994,22.7,58.8 +S4995,69.0,175.5 +S4996,108.5,312.3 +S4997,89.4,180.0 +S4998,44.8,256.5 +S4999,53.9,153.7 +S5000,27.7,5.0 diff --git a/agents/evals/fixtures/cases/scatter-basic-matplotlib-renamed/case.json b/agents/evals/fixtures/cases/scatter-basic-matplotlib-renamed/case.json new file mode 100644 index 0000000000..620fa87c17 --- /dev/null +++ b/agents/evals/fixtures/cases/scatter-basic-matplotlib-renamed/case.json @@ -0,0 +1,25 @@ +{ + "spec_id": "scatter-basic", + "library": "matplotlib", + "locale": "de", + "perturbation": "renamed", + "bindings": [ + { + "role": "x", + "column": "Werbebudget in Tsd. CHF" + }, + { + "role": "y", + "column": "Umsatz in Tsd. CHF" + } + ], + "expected": "accepted", + "tags": [ + "scatter", + "renamed", + "synthetic", + "renamed-headers", + "smoke" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 101, renamed)" +} diff --git a/agents/evals/fixtures/cases/scatter-basic-matplotlib-renamed/data.csv b/agents/evals/fixtures/cases/scatter-basic-matplotlib-renamed/data.csv new file mode 100644 index 0000000000..a0cf2f9f32 --- /dev/null +++ b/agents/evals/fixtures/cases/scatter-basic-matplotlib-renamed/data.csv @@ -0,0 +1,151 @@ +Filiale,Werbebudget in Tsd. CHF,Umsatz in Tsd. CHF +S0001,113.5,277.1 +S0002,46.3,100.9 +S0003,95.3,228.4 +S0004,73.0,210.7 +S0005,38.8,9.2 +S0006,111.1,211.6 +S0007,105.0,169.0 +S0008,46.9,5.0 +S0009,116.9,354.9 +S0010,30.8,206.6 +S0011,97.6,329.5 +S0012,83.3,88.6 +S0013,59.2,192.4 +S0014,8.5,106.1 +S0015,107.9,225.7 +S0016,71.0,246.9 +S0017,49.9,65.0 +S0018,45.8,59.4 +S0019,80.0,148.3 +S0020,44.9,82.6 +S0021,63.4,101.0 +S0022,47.7,208.1 +S0023,11.3,5.0 +S0024,33.8,77.6 +S0025,101.7,207.9 +S0026,99.1,404.2 +S0027,81.7,147.5 +S0028,59.1,197.3 +S0029,116.5,413.5 +S0030,101.6,169.0 +S0031,33.2,50.3 +S0032,70.3,163.8 +S0033,114.9,187.1 +S0034,95.3,326.8 +S0035,47.5,105.7 +S0036,59.0,238.2 +S0037,64.6,213.0 +S0038,108.7,269.5 +S0039,87.1,290.5 +S0040,50.8,125.0 +S0041,58.1,236.4 +S0042,15.6,5.0 +S0043,61.6,116.5 +S0044,31.3,190.8 +S0045,15.7,5.0 +S0046,15.5,105.9 +S0047,29.8,73.5 +S0048,85.4,180.7 +S0049,25.6,44.4 +S0050,70.4,278.1 +S0051,74.3,88.4 +S0052,116.1,342.3 +S0053,57.7,194.6 +S0054,94.1,207.5 +S0055,9.0,52.7 +S0056,79.1,255.7 +S0057,117.7,245.4 +S0058,10.4,5.0 +S0059,109.4,289.4 +S0060,22.9,28.9 +S0061,82.7,184.7 +S0062,7.9,60.3 +S0063,12.1,117.0 +S0064,20.5,210.2 +S0065,108.7,292.1 +S0066,95.0,247.6 +S0067,81.1,267.7 +S0068,79.7,227.3 +S0069,38.8,5.0 +S0070,65.7,135.8 +S0071,60.4,80.1 +S0072,114.4,329.0 +S0073,57.2,249.3 +S0074,90.9,255.8 +S0075,46.2,64.9 +S0076,111.4,330.1 +S0077,103.0,188.9 +S0078,119.1,307.8 +S0079,31.1,21.3 +S0080,105.1,163.6 +S0081,59.9,67.4 +S0082,63.6,174.7 +S0083,67.3,135.0 +S0084,15.6,103.2 +S0085,106.3,172.3 +S0086,74.5,230.8 +S0087,17.1,32.6 +S0088,90.0,316.7 +S0089,18.0,149.3 +S0090,48.8,127.4 +S0091,82.0,219.8 +S0092,58.5,179.9 +S0093,12.5,98.7 +S0094,76.6,181.6 +S0095,47.2,215.8 +S0096,48.9,107.0 +S0097,23.7,5.0 +S0098,26.1,112.2 +S0099,119.2,282.7 +S0100,74.5,254.7 +S0101,72.6,234.1 +S0102,94.8,248.2 +S0103,49.1,150.6 +S0104,22.7,96.6 +S0105,74.8,151.0 +S0106,51.6,63.0 +S0107,51.4,90.5 +S0108,15.1,65.3 +S0109,53.4,5.0 +S0110,11.0,32.5 +S0111,108.7,199.6 +S0112,48.1,134.9 +S0113,87.3,166.3 +S0114,72.7,196.9 +S0115,55.6,140.8 +S0116,43.9,223.0 +S0117,8.7,34.2 +S0118,80.3,191.5 +S0119,16.4,76.3 +S0120,32.0,5.0 +S0121,115.3,207.0 +S0122,48.2,241.8 +S0123,46.7,174.2 +S0124,84.3,223.0 +S0125,36.0,191.4 +S0126,47.3,126.8 +S0127,40.4,107.3 +S0128,85.0,197.2 +S0129,13.9,5.0 +S0130,48.8,208.2 +S0131,119.7,278.1 +S0132,78.7,198.7 +S0133,59.6,141.9 +S0134,38.3,75.9 +S0135,7.6,5.0 +S0136,109.6,280.7 +S0137,110.9,425.5 +S0138,117.5,356.0 +S0139,60.1,146.1 +S0140,73.2,129.1 +S0141,38.2,122.1 +S0142,100.3,276.5 +S0143,72.0,182.8 +S0144,39.1,180.5 +S0145,38.9,55.0 +S0146,46.0,211.3 +S0147,82.1,223.3 +S0148,93.5,197.9 +S0149,16.9,55.7 +S0150,111.8,299.1 diff --git a/agents/evals/fixtures/cases/scatter-basic-matplotlib-x10/case.json b/agents/evals/fixtures/cases/scatter-basic-matplotlib-x10/case.json new file mode 100644 index 0000000000..d2fe9ca3c5 --- /dev/null +++ b/agents/evals/fixtures/cases/scatter-basic-matplotlib-x10/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "scatter-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "x10", + "bindings": [ + { + "role": "x", + "column": "Ad Spend (kCHF)" + }, + { + "role": "y", + "column": "Revenue (kCHF)" + } + ], + "expected": "accepted", + "tags": [ + "scatter", + "x10", + "synthetic", + "scaled-values" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 101, x10)" +} diff --git a/agents/evals/fixtures/cases/scatter-basic-matplotlib-x10/data.csv b/agents/evals/fixtures/cases/scatter-basic-matplotlib-x10/data.csv new file mode 100644 index 0000000000..069cc23cad --- /dev/null +++ b/agents/evals/fixtures/cases/scatter-basic-matplotlib-x10/data.csv @@ -0,0 +1,151 @@ +Store,Ad Spend (kCHF),Revenue (kCHF) +S0001,1135.1,2770.7 +S0002,463.3,1009.4 +S0003,952.5,2284.1 +S0004,730.0,2107.0 +S0005,388.5,91.6 +S0006,1111.1,2115.7 +S0007,1049.7,1689.9 +S0008,468.8,50.0 +S0009,1169.2,3548.7 +S0010,308.2,2066.1 +S0011,976.3,3294.7 +S0012,833.0,885.5 +S0013,591.7,1924.0 +S0014,85.4,1060.6 +S0015,1079.0,2257.1 +S0016,709.7,2469.3 +S0017,498.9,649.9 +S0018,457.9,593.6 +S0019,799.8,1483.2 +S0020,449.1,826.5 +S0021,633.7,1010.0 +S0022,476.6,2081.4 +S0023,113.5,50.0 +S0024,338.0,775.7 +S0025,1017.1,2079.3 +S0026,990.9,4041.5 +S0027,817.4,1474.7 +S0028,591.2,1973.3 +S0029,1165.3,4135.3 +S0030,1016.3,1690.1 +S0031,331.8,503.1 +S0032,702.7,1637.9 +S0033,1149.3,1870.6 +S0034,953.5,3267.8 +S0035,474.8,1057.1 +S0036,590.4,2382.1 +S0037,645.5,2129.6 +S0038,1087.2,2695.4 +S0039,871.4,2905.2 +S0040,507.9,1249.6 +S0041,581.3,2363.6 +S0042,156.2,50.0 +S0043,615.8,1165.1 +S0044,313.4,1907.8 +S0045,157.1,50.0 +S0046,155.0,1058.9 +S0047,298.2,734.5 +S0048,854.0,1806.7 +S0049,256.1,444.2 +S0050,703.6,2781.2 +S0051,743.0,883.8 +S0052,1161.2,3423.2 +S0053,576.9,1945.6 +S0054,940.7,2074.7 +S0055,90.1,527.2 +S0056,791.3,2556.6 +S0057,1177.3,2453.9 +S0058,104.5,50.0 +S0059,1093.8,2894.4 +S0060,229.1,288.5 +S0061,826.5,1846.6 +S0062,79.1,602.8 +S0063,120.7,1169.5 +S0064,204.9,2102.0 +S0065,1086.5,2921.5 +S0066,950.3,2476.3 +S0067,811.1,2676.9 +S0068,796.9,2273.5 +S0069,387.8,50.0 +S0070,657.3,1358.4 +S0071,604.1,800.9 +S0072,1143.8,3289.6 +S0073,572.3,2493.3 +S0074,909.0,2558.2 +S0075,462.5,649.1 +S0076,1114.2,3300.7 +S0077,1030.2,1889.0 +S0078,1190.7,3077.7 +S0079,311.1,213.4 +S0080,1050.9,1636.0 +S0081,598.5,673.8 +S0082,635.8,1747.3 +S0083,673.1,1350.1 +S0084,155.6,1032.3 +S0085,1063.2,1723.3 +S0086,745.1,2307.8 +S0087,171.1,325.9 +S0088,899.9,3166.6 +S0089,180.5,1492.8 +S0090,488.4,1274.3 +S0091,820.0,2197.7 +S0092,585.1,1799.1 +S0093,124.7,986.5 +S0094,765.6,1815.8 +S0095,471.7,2157.6 +S0096,488.5,1070.0 +S0097,237.4,50.0 +S0098,261.5,1121.6 +S0099,1192.1,2827.4 +S0100,745.1,2547.4 +S0101,725.5,2340.8 +S0102,948.1,2481.7 +S0103,491.1,1506.3 +S0104,227.3,966.0 +S0105,748.2,1509.8 +S0106,515.6,630.5 +S0107,514.0,904.7 +S0108,151.0,653.2 +S0109,534.0,50.0 +S0110,109.7,325.4 +S0111,1087.3,1995.9 +S0112,481.1,1348.5 +S0113,872.6,1663.1 +S0114,726.6,1969.4 +S0115,556.2,1408.2 +S0116,439.2,2229.6 +S0117,86.7,341.9 +S0118,802.8,1915.4 +S0119,164.4,763.2 +S0120,320.0,50.0 +S0121,1152.7,2070.2 +S0122,482.2,2418.0 +S0123,466.9,1742.0 +S0124,843.4,2230.1 +S0125,360.2,1913.5 +S0126,473.4,1268.0 +S0127,403.6,1073.2 +S0128,849.6,1972.3 +S0129,138.9,50.0 +S0130,488.0,2082.3 +S0131,1196.9,2781.0 +S0132,787.1,1987.0 +S0133,596.4,1418.5 +S0134,382.6,758.9 +S0135,76.1,50.0 +S0136,1095.9,2807.2 +S0137,1108.9,4255.5 +S0138,1175.3,3559.8 +S0139,601.4,1461.2 +S0140,732.3,1290.5 +S0141,382.3,1220.9 +S0142,1002.7,2765.2 +S0143,720.1,1827.9 +S0144,391.2,1805.3 +S0145,389.3,550.4 +S0146,459.7,2112.7 +S0147,821.3,2233.3 +S0148,935.0,1979.1 +S0149,169.3,556.9 +S0150,1118.2,2991.4 diff --git a/agents/evals/fixtures/cases/scatter-basic-matplotlib/case.json b/agents/evals/fixtures/cases/scatter-basic-matplotlib/case.json index a1ea58cb0d..02e73f5933 100644 --- a/agents/evals/fixtures/cases/scatter-basic-matplotlib/case.json +++ b/agents/evals/fixtures/cases/scatter-basic-matplotlib/case.json @@ -7,5 +7,6 @@ {"role": "y", "column": "Exam Score"} ], "expected": "accepted", - "tags": ["numeric", "renamed-columns", "small"] + "tags": ["numeric", "renamed-columns", "small", "smoke"], + "source": "hand-written synthetic data" } diff --git a/agents/evals/fixtures/cases/scatter-basic-seaborn-date/case.json b/agents/evals/fixtures/cases/scatter-basic-seaborn-date/case.json new file mode 100644 index 0000000000..683f2efcb5 --- /dev/null +++ b/agents/evals/fixtures/cases/scatter-basic-seaborn-date/case.json @@ -0,0 +1,26 @@ +{ + "spec_id": "scatter-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "date", + "bindings": [ + { + "role": "x", + "column": "Ad Spend (kCHF)" + }, + { + "role": "y", + "column": "Revenue (kCHF)" + } + ], + "expected": "accepted", + "tags": [ + "scatter", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 101, date)" +} diff --git a/agents/evals/fixtures/cases/scatter-basic-seaborn-date/data.csv b/agents/evals/fixtures/cases/scatter-basic-seaborn-date/data.csv new file mode 100644 index 0000000000..734bcb2343 --- /dev/null +++ b/agents/evals/fixtures/cases/scatter-basic-seaborn-date/data.csv @@ -0,0 +1,151 @@ +Store,Ad Spend (kCHF),Revenue (kCHF),Campaign Start,Reported On +S0001,113.5,277.1,01.07.2026,2026-07-01 +S0002,46.3,100.9,10.05.2026,2026-05-12 +S0003,95.3,228.4,05.06.2026,2026-06-08 +S0004,73.0,210.7,19.05.2026,2026-05-19 +S0005,38.8,9.2,08.02.2026,2026-02-09 +S0006,111.1,211.6,07.04.2026,2026-04-11 +S0007,105.0,169.0,19.05.2026,2026-05-21 +S0008,46.9,5.0,01.05.2026,2026-05-04 +S0009,116.9,354.9,09.05.2026,2026-05-11 +S0010,30.8,206.6,25.01.2026,2026-01-25 +S0011,97.6,329.5,18.02.2026,2026-02-20 +S0012,83.3,88.6,15.01.2026,2026-01-19 +S0013,59.2,192.4,28.02.2026,2026-02-28 +S0014,8.5,106.1,13.06.2026,2026-06-13 +S0015,107.9,225.7,01.06.2026,2026-06-02 +S0016,71.0,246.9,30.05.2026,2026-05-30 +S0017,49.9,65.0,26.01.2026,2026-01-26 +S0018,45.8,59.4,20.01.2026,2026-01-24 +S0019,80.0,148.3,29.03.2026,2026-04-01 +S0020,44.9,82.6,09.04.2026,2026-04-11 +S0021,63.4,101.0,28.02.2026,2026-03-01 +S0022,47.7,208.1,30.01.2026,2026-02-03 +S0023,11.3,5.0,03.05.2026,2026-05-05 +S0024,33.8,77.6,11.03.2026,2026-03-13 +S0025,101.7,207.9,31.05.2026,2026-06-03 +S0026,99.1,404.2,19.05.2026,2026-05-20 +S0027,81.7,147.5,12.04.2026,2026-04-13 +S0028,59.1,197.3,09.02.2026,2026-02-10 +S0029,116.5,413.5,31.01.2026,2026-01-31 +S0030,101.6,169.0,08.01.2026,2026-01-11 +S0031,33.2,50.3,23.04.2026,2026-04-24 +S0032,70.3,163.8,24.06.2026,2026-06-25 +S0033,114.9,187.1,13.04.2026,2026-04-16 +S0034,95.3,326.8,20.05.2026,2026-05-23 +S0035,47.5,105.7,21.03.2026,2026-03-21 +S0036,59.0,238.2,01.04.2026,2026-04-04 +S0037,64.6,213.0,27.02.2026,2026-03-01 +S0038,108.7,269.5,24.05.2026,2026-05-28 +S0039,87.1,290.5,16.01.2026,2026-01-17 +S0040,50.8,125.0,20.02.2026,2026-02-24 +S0041,58.1,236.4,12.02.2026,2026-02-12 +S0042,15.6,5.0,21.02.2026,2026-02-22 +S0043,61.6,116.5,06.02.2026,2026-02-06 +S0044,31.3,190.8,13.03.2026,2026-03-13 +S0045,15.7,5.0,28.04.2026,2026-05-01 +S0046,15.5,105.9,24.04.2026,2026-04-26 +S0047,29.8,73.5,08.04.2026,2026-04-09 +S0048,85.4,180.7,18.06.2026,2026-06-20 +S0049,25.6,44.4,14.03.2026,2026-03-18 +S0050,70.4,278.1,06.02.2026,2026-02-08 +S0051,74.3,88.4,14.03.2026,2026-03-16 +S0052,116.1,342.3,11.04.2026,2026-04-14 +S0053,57.7,194.6,25.02.2026,2026-02-28 +S0054,94.1,207.5,16.03.2026,2026-03-16 +S0055,9.0,52.7,27.03.2026,2026-03-30 +S0056,79.1,255.7,17.04.2026,2026-04-17 +S0057,117.7,245.4,14.06.2026,2026-06-14 +S0058,10.4,5.0,22.02.2026,2026-02-26 +S0059,109.4,289.4,16.05.2026,2026-05-19 +S0060,22.9,28.9,29.01.2026,2026-02-02 +S0061,82.7,184.7,16.04.2026,2026-04-20 +S0062,7.9,60.3,11.02.2026,2026-02-15 +S0063,12.1,117.0,30.06.2026,2026-07-04 +S0064,20.5,210.2,07.03.2026,2026-03-10 +S0065,108.7,292.1,21.04.2026,2026-04-23 +S0066,95.0,247.6,12.06.2026,2026-06-16 +S0067,81.1,267.7,14.03.2026,2026-03-18 +S0068,79.7,227.3,09.04.2026,2026-04-09 +S0069,38.8,5.0,12.05.2026,2026-05-13 +S0070,65.7,135.8,04.06.2026,2026-06-04 +S0071,60.4,80.1,02.07.2026,2026-07-04 +S0072,114.4,329.0,09.02.2026,2026-02-11 +S0073,57.2,249.3,09.03.2026,2026-03-13 +S0074,90.9,255.8,17.02.2026,2026-02-18 +S0075,46.2,64.9,05.02.2026,2026-02-09 +S0076,111.4,330.1,20.04.2026,2026-04-20 +S0077,103.0,188.9,02.06.2026,2026-06-06 +S0078,119.1,307.8,27.01.2026,2026-01-28 +S0079,31.1,21.3,03.05.2026,2026-05-07 +S0080,105.1,163.6,25.05.2026,2026-05-26 +S0081,59.9,67.4,03.03.2026,2026-03-07 +S0082,63.6,174.7,18.05.2026,2026-05-20 +S0083,67.3,135.0,23.03.2026,2026-03-24 +S0084,15.6,103.2,26.04.2026,2026-04-29 +S0085,106.3,172.3,08.05.2026,2026-05-08 +S0086,74.5,230.8,09.02.2026,2026-02-11 +S0087,17.1,32.6,23.01.2026,2026-01-24 +S0088,90.0,316.7,18.03.2026,2026-03-18 +S0089,18.0,149.3,28.06.2026,2026-06-29 +S0090,48.8,127.4,28.01.2026,2026-01-31 +S0091,82.0,219.8,02.02.2026,2026-02-02 +S0092,58.5,179.9,21.02.2026,2026-02-21 +S0093,12.5,98.7,22.06.2026,2026-06-22 +S0094,76.6,181.6,25.04.2026,2026-04-29 +S0095,47.2,215.8,01.02.2026,2026-02-01 +S0096,48.9,107.0,17.02.2026,2026-02-19 +S0097,23.7,5.0,11.05.2026,2026-05-13 +S0098,26.1,112.2,19.01.2026,2026-01-19 +S0099,119.2,282.7,15.04.2026,2026-04-18 +S0100,74.5,254.7,17.06.2026,2026-06-19 +S0101,72.6,234.1,17.06.2026,2026-06-19 +S0102,94.8,248.2,24.05.2026,2026-05-24 +S0103,49.1,150.6,08.01.2026,2026-01-11 +S0104,22.7,96.6,27.05.2026,2026-05-28 +S0105,74.8,151.0,01.05.2026,2026-05-04 +S0106,51.6,63.0,09.06.2026,2026-06-10 +S0107,51.4,90.5,30.01.2026,2026-01-30 +S0108,15.1,65.3,08.03.2026,2026-03-10 +S0109,53.4,5.0,30.04.2026,2026-05-02 +S0110,11.0,32.5,22.04.2026,2026-04-22 +S0111,108.7,199.6,27.04.2026,2026-04-28 +S0112,48.1,134.9,03.07.2026,2026-07-04 +S0113,87.3,166.3,02.06.2026,2026-06-06 +S0114,72.7,196.9,26.06.2026,2026-06-28 +S0115,55.6,140.8,08.04.2026,2026-04-12 +S0116,43.9,223.0,10.04.2026,2026-04-11 +S0117,8.7,34.2,05.04.2026,2026-04-06 +S0118,80.3,191.5,27.04.2026,2026-04-27 +S0119,16.4,76.3,27.01.2026,2026-01-30 +S0120,32.0,5.0,12.01.2026,2026-01-13 +S0121,115.3,207.0,26.02.2026,2026-02-28 +S0122,48.2,241.8,12.01.2026,2026-01-15 +S0123,46.7,174.2,11.02.2026,2026-02-12 +S0124,84.3,223.0,01.02.2026,2026-02-03 +S0125,36.0,191.4,07.04.2026,2026-04-09 +S0126,47.3,126.8,26.01.2026,2026-01-30 +S0127,40.4,107.3,14.05.2026,2026-05-18 +S0128,85.0,197.2,16.02.2026,2026-02-18 +S0129,13.9,5.0,02.07.2026,2026-07-04 +S0130,48.8,208.2,20.01.2026,2026-01-23 +S0131,119.7,278.1,19.06.2026,2026-06-23 +S0132,78.7,198.7,02.06.2026,2026-06-02 +S0133,59.6,141.9,24.03.2026,2026-03-27 +S0134,38.3,75.9,07.04.2026,2026-04-10 +S0135,7.6,5.0,07.01.2026,2026-01-09 +S0136,109.6,280.7,06.06.2026,2026-06-09 +S0137,110.9,425.5,01.07.2026,2026-07-05 +S0138,117.5,356.0,02.05.2026,2026-05-05 +S0139,60.1,146.1,11.06.2026,2026-06-15 +S0140,73.2,129.1,11.06.2026,2026-06-11 +S0141,38.2,122.1,16.01.2026,2026-01-20 +S0142,100.3,276.5,15.03.2026,2026-03-15 +S0143,72.0,182.8,24.05.2026,2026-05-28 +S0144,39.1,180.5,22.06.2026,2026-06-26 +S0145,38.9,55.0,10.05.2026,2026-05-11 +S0146,46.0,211.3,22.05.2026,2026-05-24 +S0147,82.1,223.3,26.03.2026,2026-03-30 +S0148,93.5,197.9,22.01.2026,2026-01-26 +S0149,16.9,55.7,19.03.2026,2026-03-19 +S0150,111.8,299.1,21.01.2026,2026-01-21 diff --git a/agents/evals/fixtures/cases/scatter-basic-seaborn-decimal-comma/case.json b/agents/evals/fixtures/cases/scatter-basic-seaborn-decimal-comma/case.json new file mode 100644 index 0000000000..fcda9c570d --- /dev/null +++ b/agents/evals/fixtures/cases/scatter-basic-seaborn-decimal-comma/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "scatter-basic", + "library": "seaborn", + "locale": "de", + "perturbation": "decimal-comma", + "bindings": [ + { + "role": "x", + "column": "Ad Spend (kCHF)" + }, + { + "role": "y", + "column": "Revenue (kCHF)" + } + ], + "expected": "accepted", + "tags": [ + "scatter", + "decimal-comma", + "synthetic", + "semicolon" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 101, decimal-comma)" +} diff --git a/agents/evals/fixtures/cases/scatter-basic-seaborn-decimal-comma/data.csv b/agents/evals/fixtures/cases/scatter-basic-seaborn-decimal-comma/data.csv new file mode 100644 index 0000000000..af311d49fb --- /dev/null +++ b/agents/evals/fixtures/cases/scatter-basic-seaborn-decimal-comma/data.csv @@ -0,0 +1,151 @@ +Store;Ad Spend (kCHF);Revenue (kCHF) +S0001;113,5;277,1 +S0002;46,3;100,9 +S0003;95,3;228,4 +S0004;73,0;210,7 +S0005;38,8;9,2 +S0006;111,1;211,6 +S0007;105,0;169,0 +S0008;46,9;5,0 +S0009;116,9;354,9 +S0010;30,8;206,6 +S0011;97,6;329,5 +S0012;83,3;88,6 +S0013;59,2;192,4 +S0014;8,5;106,1 +S0015;107,9;225,7 +S0016;71,0;246,9 +S0017;49,9;65,0 +S0018;45,8;59,4 +S0019;80,0;148,3 +S0020;44,9;82,6 +S0021;63,4;101,0 +S0022;47,7;208,1 +S0023;11,3;5,0 +S0024;33,8;77,6 +S0025;101,7;207,9 +S0026;99,1;404,2 +S0027;81,7;147,5 +S0028;59,1;197,3 +S0029;116,5;413,5 +S0030;101,6;169,0 +S0031;33,2;50,3 +S0032;70,3;163,8 +S0033;114,9;187,1 +S0034;95,3;326,8 +S0035;47,5;105,7 +S0036;59,0;238,2 +S0037;64,6;213,0 +S0038;108,7;269,5 +S0039;87,1;290,5 +S0040;50,8;125,0 +S0041;58,1;236,4 +S0042;15,6;5,0 +S0043;61,6;116,5 +S0044;31,3;190,8 +S0045;15,7;5,0 +S0046;15,5;105,9 +S0047;29,8;73,5 +S0048;85,4;180,7 +S0049;25,6;44,4 +S0050;70,4;278,1 +S0051;74,3;88,4 +S0052;116,1;342,3 +S0053;57,7;194,6 +S0054;94,1;207,5 +S0055;9,0;52,7 +S0056;79,1;255,7 +S0057;117,7;245,4 +S0058;10,4;5,0 +S0059;109,4;289,4 +S0060;22,9;28,9 +S0061;82,7;184,7 +S0062;7,9;60,3 +S0063;12,1;117,0 +S0064;20,5;210,2 +S0065;108,7;292,1 +S0066;95,0;247,6 +S0067;81,1;267,7 +S0068;79,7;227,3 +S0069;38,8;5,0 +S0070;65,7;135,8 +S0071;60,4;80,1 +S0072;114,4;329,0 +S0073;57,2;249,3 +S0074;90,9;255,8 +S0075;46,2;64,9 +S0076;111,4;330,1 +S0077;103,0;188,9 +S0078;119,1;307,8 +S0079;31,1;21,3 +S0080;105,1;163,6 +S0081;59,9;67,4 +S0082;63,6;174,7 +S0083;67,3;135,0 +S0084;15,6;103,2 +S0085;106,3;172,3 +S0086;74,5;230,8 +S0087;17,1;32,6 +S0088;90,0;316,7 +S0089;18,0;149,3 +S0090;48,8;127,4 +S0091;82,0;219,8 +S0092;58,5;179,9 +S0093;12,5;98,7 +S0094;76,6;181,6 +S0095;47,2;215,8 +S0096;48,9;107,0 +S0097;23,7;5,0 +S0098;26,1;112,2 +S0099;119,2;282,7 +S0100;74,5;254,7 +S0101;72,6;234,1 +S0102;94,8;248,2 +S0103;49,1;150,6 +S0104;22,7;96,6 +S0105;74,8;151,0 +S0106;51,6;63,0 +S0107;51,4;90,5 +S0108;15,1;65,3 +S0109;53,4;5,0 +S0110;11,0;32,5 +S0111;108,7;199,6 +S0112;48,1;134,9 +S0113;87,3;166,3 +S0114;72,7;196,9 +S0115;55,6;140,8 +S0116;43,9;223,0 +S0117;8,7;34,2 +S0118;80,3;191,5 +S0119;16,4;76,3 +S0120;32,0;5,0 +S0121;115,3;207,0 +S0122;48,2;241,8 +S0123;46,7;174,2 +S0124;84,3;223,0 +S0125;36,0;191,4 +S0126;47,3;126,8 +S0127;40,4;107,3 +S0128;85,0;197,2 +S0129;13,9;5,0 +S0130;48,8;208,2 +S0131;119,7;278,1 +S0132;78,7;198,7 +S0133;59,6;141,9 +S0134;38,3;75,9 +S0135;7,6;5,0 +S0136;109,6;280,7 +S0137;110,9;425,5 +S0138;117,5;356,0 +S0139;60,1;146,1 +S0140;73,2;129,1 +S0141;38,2;122,1 +S0142;100,3;276,5 +S0143;72,0;182,8 +S0144;39,1;180,5 +S0145;38,9;55,0 +S0146;46,0;211,3 +S0147;82,1;223,3 +S0148;93,5;197,9 +S0149;16,9;55,7 +S0150;111,8;299,1 diff --git a/agents/evals/fixtures/cases/scatter-basic-seaborn-n12/case.json b/agents/evals/fixtures/cases/scatter-basic-seaborn-n12/case.json new file mode 100644 index 0000000000..b2ecc4fdc1 --- /dev/null +++ b/agents/evals/fixtures/cases/scatter-basic-seaborn-n12/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "scatter-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "n12", + "bindings": [ + { + "role": "x", + "column": "Ad Spend (kCHF)" + }, + { + "role": "y", + "column": "Revenue (kCHF)" + } + ], + "expected": "accepted", + "tags": [ + "scatter", + "n12", + "synthetic", + "small" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 101, n12)" +} diff --git a/agents/evals/fixtures/cases/scatter-basic-seaborn-n12/data.csv b/agents/evals/fixtures/cases/scatter-basic-seaborn-n12/data.csv new file mode 100644 index 0000000000..5c1c20f3ee --- /dev/null +++ b/agents/evals/fixtures/cases/scatter-basic-seaborn-n12/data.csv @@ -0,0 +1,13 @@ +Store,Ad Spend (kCHF),Revenue (kCHF) +S0001,101.7,199.9 +S0002,7.6,35.7 +S0003,80.9,321.5 +S0004,46.0,157.9 +S0005,57.2,183.1 +S0006,98.5,184.3 +S0007,29.4,61.1 +S0008,99.9,371.0 +S0009,98.3,214.7 +S0010,50.6,121.0 +S0011,106.5,196.8 +S0012,24.7,186.3 diff --git a/agents/evals/fixtures/cases/scatter-basic-seaborn-n5000/case.json b/agents/evals/fixtures/cases/scatter-basic-seaborn-n5000/case.json new file mode 100644 index 0000000000..e58a475334 --- /dev/null +++ b/agents/evals/fixtures/cases/scatter-basic-seaborn-n5000/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "scatter-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "n5000", + "bindings": [ + { + "role": "x", + "column": "Ad Spend (kCHF)" + }, + { + "role": "y", + "column": "Revenue (kCHF)" + } + ], + "expected": "accepted", + "tags": [ + "scatter", + "n5000", + "synthetic", + "large" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 101, n5000)" +} diff --git a/agents/evals/fixtures/cases/scatter-basic-seaborn-n5000/data.csv b/agents/evals/fixtures/cases/scatter-basic-seaborn-n5000/data.csv new file mode 100644 index 0000000000..873d2f0082 --- /dev/null +++ b/agents/evals/fixtures/cases/scatter-basic-seaborn-n5000/data.csv @@ -0,0 +1,5001 @@ +Store,Ad Spend (kCHF),Revenue (kCHF) +S0001,72.1,313.3 +S0002,90.3,179.9 +S0003,71.7,201.6 +S0004,51.9,188.1 +S0005,105.6,296.8 +S0006,100.5,236.5 +S0007,110.1,320.5 +S0008,119.3,274.2 +S0009,40.4,131.5 +S0010,79.0,345.7 +S0011,39.0,155.4 +S0012,17.4,38.3 +S0013,79.6,234.3 +S0014,89.6,183.2 +S0015,54.0,202.4 +S0016,42.2,9.9 +S0017,112.8,354.2 +S0018,82.7,144.5 +S0019,66.3,227.8 +S0020,91.5,124.4 +S0021,72.3,216.9 +S0022,23.4,15.8 +S0023,96.2,213.5 +S0024,60.0,146.8 +S0025,104.4,173.5 +S0026,76.1,285.7 +S0027,33.7,70.9 +S0028,17.2,68.9 +S0029,30.0,114.3 +S0030,26.5,148.9 +S0031,50.4,45.1 +S0032,49.1,201.2 +S0033,119.5,371.6 +S0034,76.6,360.6 +S0035,56.2,125.0 +S0036,45.3,104.2 +S0037,7.8,38.6 +S0038,7.4,113.0 +S0039,18.3,35.3 +S0040,56.3,163.1 +S0041,84.4,99.9 +S0042,62.1,198.8 +S0043,7.4,5.0 +S0044,114.6,280.4 +S0045,75.1,141.6 +S0046,37.2,157.0 +S0047,25.9,56.2 +S0048,100.6,230.9 +S0049,16.1,74.2 +S0050,114.3,200.2 +S0051,103.8,235.1 +S0052,37.2,271.1 +S0053,114.8,337.2 +S0054,48.4,192.7 +S0055,76.6,169.4 +S0056,54.6,274.1 +S0057,89.4,372.0 +S0058,32.6,105.0 +S0059,65.8,213.0 +S0060,62.8,91.9 +S0061,54.7,138.1 +S0062,15.4,229.3 +S0063,37.2,172.1 +S0064,67.3,38.0 +S0065,90.8,226.9 +S0066,30.6,74.1 +S0067,42.5,130.0 +S0068,101.5,220.1 +S0069,59.4,156.6 +S0070,59.9,107.3 +S0071,82.5,374.7 +S0072,73.3,163.6 +S0073,118.8,276.7 +S0074,76.9,81.4 +S0075,10.4,68.0 +S0076,101.7,205.4 +S0077,89.8,87.3 +S0078,6.1,63.7 +S0079,65.6,151.7 +S0080,94.4,249.7 +S0081,116.7,364.1 +S0082,39.5,176.1 +S0083,75.2,43.9 +S0084,56.4,122.4 +S0085,75.4,44.9 +S0086,68.1,242.3 +S0087,82.9,222.3 +S0088,58.2,139.3 +S0089,86.8,353.6 +S0090,109.6,296.3 +S0091,57.4,287.9 +S0092,105.4,294.4 +S0093,102.5,370.4 +S0094,64.0,194.2 +S0095,16.6,5.0 +S0096,29.5,28.9 +S0097,87.8,201.6 +S0098,14.7,110.9 +S0099,98.1,151.6 +S0100,75.0,162.6 +S0101,102.7,316.7 +S0102,70.6,135.4 +S0103,97.7,269.9 +S0104,44.9,142.7 +S0105,110.6,393.8 +S0106,97.6,291.9 +S0107,81.1,289.0 +S0108,80.3,275.0 +S0109,96.8,96.8 +S0110,45.9,157.6 +S0111,81.0,198.0 +S0112,46.4,263.2 +S0113,68.0,205.0 +S0114,57.6,110.3 +S0115,40.7,208.4 +S0116,35.9,88.5 +S0117,72.1,180.4 +S0118,115.2,329.7 +S0119,60.3,206.4 +S0120,112.8,260.5 +S0121,51.9,147.8 +S0122,30.1,5.0 +S0123,118.6,356.6 +S0124,30.9,158.4 +S0125,45.6,166.9 +S0126,98.8,227.7 +S0127,39.0,144.2 +S0128,107.3,255.4 +S0129,78.0,251.4 +S0130,34.6,121.4 +S0131,62.0,141.0 +S0132,53.8,243.9 +S0133,88.4,338.2 +S0134,30.6,110.6 +S0135,67.2,113.5 +S0136,54.0,255.5 +S0137,30.8,119.5 +S0138,82.9,165.5 +S0139,24.4,98.2 +S0140,60.9,196.6 +S0141,58.9,179.6 +S0142,56.5,218.1 +S0143,46.5,123.4 +S0144,97.7,148.6 +S0145,18.5,5.0 +S0146,29.9,62.2 +S0147,109.4,233.2 +S0148,90.2,124.6 +S0149,61.6,224.9 +S0150,29.7,90.5 +S0151,53.4,99.9 +S0152,58.3,234.5 +S0153,97.3,252.5 +S0154,109.3,383.0 +S0155,104.6,212.3 +S0156,19.1,48.6 +S0157,71.6,213.7 +S0158,26.1,62.5 +S0159,94.6,222.3 +S0160,48.1,140.4 +S0161,108.0,374.0 +S0162,103.2,234.2 +S0163,53.3,171.7 +S0164,89.1,251.3 +S0165,70.4,195.1 +S0166,64.4,198.9 +S0167,41.1,175.5 +S0168,72.5,17.3 +S0169,84.4,282.0 +S0170,98.0,300.5 +S0171,6.7,5.0 +S0172,76.0,227.2 +S0173,12.0,79.4 +S0174,81.7,133.9 +S0175,47.6,130.9 +S0176,42.7,153.6 +S0177,105.4,122.9 +S0178,55.0,110.2 +S0179,84.3,268.8 +S0180,22.7,68.7 +S0181,28.1,126.5 +S0182,8.4,22.5 +S0183,38.7,103.6 +S0184,35.1,130.8 +S0185,50.6,222.4 +S0186,105.8,292.9 +S0187,95.2,201.9 +S0188,118.7,268.7 +S0189,37.0,74.7 +S0190,12.8,45.3 +S0191,7.4,5.0 +S0192,44.8,201.1 +S0193,39.9,178.2 +S0194,55.9,238.2 +S0195,35.3,103.8 +S0196,115.3,310.1 +S0197,81.0,132.6 +S0198,34.3,16.3 +S0199,83.7,174.1 +S0200,38.3,128.7 +S0201,105.6,240.5 +S0202,117.3,253.9 +S0203,81.1,354.8 +S0204,58.1,212.6 +S0205,97.1,248.4 +S0206,36.2,5.0 +S0207,5.7,99.4 +S0208,96.2,199.8 +S0209,13.0,106.4 +S0210,40.0,238.7 +S0211,87.6,193.9 +S0212,11.8,28.7 +S0213,97.1,361.7 +S0214,26.5,157.3 +S0215,48.3,62.5 +S0216,73.1,263.1 +S0217,53.2,236.0 +S0218,94.8,392.4 +S0219,99.1,392.3 +S0220,72.0,195.0 +S0221,55.5,184.0 +S0222,85.8,293.1 +S0223,68.6,137.3 +S0224,39.6,90.0 +S0225,115.0,389.8 +S0226,44.5,5.0 +S0227,27.0,189.4 +S0228,105.6,233.6 +S0229,39.7,246.9 +S0230,10.3,108.7 +S0231,70.2,195.8 +S0232,75.4,110.5 +S0233,66.8,262.6 +S0234,68.5,259.3 +S0235,32.7,5.0 +S0236,18.0,123.4 +S0237,62.8,52.9 +S0238,56.2,273.3 +S0239,28.7,13.6 +S0240,69.0,297.6 +S0241,99.4,277.4 +S0242,83.2,200.3 +S0243,113.4,140.8 +S0244,111.6,374.9 +S0245,116.1,402.0 +S0246,77.6,332.8 +S0247,93.0,184.2 +S0248,118.3,344.4 +S0249,80.8,98.0 +S0250,50.8,152.7 +S0251,21.7,152.2 +S0252,83.8,253.5 +S0253,13.2,49.9 +S0254,11.7,122.5 +S0255,61.1,198.1 +S0256,89.5,300.8 +S0257,25.5,122.2 +S0258,96.4,267.7 +S0259,73.6,156.8 +S0260,7.4,173.3 +S0261,109.7,324.1 +S0262,98.6,123.7 +S0263,48.8,152.1 +S0264,9.1,5.0 +S0265,102.6,213.5 +S0266,78.2,190.5 +S0267,109.0,359.8 +S0268,34.0,36.2 +S0269,103.4,357.4 +S0270,78.7,189.0 +S0271,115.6,324.2 +S0272,29.3,5.0 +S0273,104.0,268.1 +S0274,66.8,193.9 +S0275,40.9,57.0 +S0276,58.4,170.6 +S0277,83.5,247.8 +S0278,68.5,341.3 +S0279,52.7,100.2 +S0280,65.8,184.8 +S0281,73.2,255.6 +S0282,97.5,107.1 +S0283,65.2,172.6 +S0284,38.9,146.1 +S0285,68.1,145.2 +S0286,5.9,5.0 +S0287,58.5,75.1 +S0288,61.7,182.6 +S0289,41.2,184.0 +S0290,11.1,6.7 +S0291,21.3,75.6 +S0292,115.8,348.0 +S0293,25.1,197.3 +S0294,109.3,247.5 +S0295,21.3,6.7 +S0296,28.7,5.0 +S0297,9.6,5.0 +S0298,48.5,170.0 +S0299,102.6,204.5 +S0300,72.9,196.6 +S0301,83.5,300.2 +S0302,40.1,264.0 +S0303,48.6,115.4 +S0304,56.2,74.5 +S0305,93.1,345.4 +S0306,88.5,272.3 +S0307,23.5,132.5 +S0308,66.5,198.1 +S0309,46.9,83.0 +S0310,45.6,53.2 +S0311,82.7,323.6 +S0312,92.4,248.2 +S0313,59.2,161.5 +S0314,17.0,78.9 +S0315,29.8,103.3 +S0316,12.4,41.1 +S0317,21.9,186.6 +S0318,90.1,263.3 +S0319,20.5,217.7 +S0320,12.3,88.2 +S0321,17.8,79.1 +S0322,96.2,285.5 +S0323,10.3,111.1 +S0324,90.5,279.6 +S0325,34.7,195.3 +S0326,86.3,254.4 +S0327,28.3,75.3 +S0328,51.7,106.1 +S0329,13.5,5.0 +S0330,48.9,227.1 +S0331,70.3,149.7 +S0332,8.8,5.0 +S0333,12.2,89.4 +S0334,114.6,313.3 +S0335,86.7,221.6 +S0336,49.1,222.7 +S0337,96.8,201.6 +S0338,44.9,52.3 +S0339,34.2,27.7 +S0340,58.7,101.7 +S0341,27.1,64.3 +S0342,77.3,211.8 +S0343,119.0,167.3 +S0344,100.1,158.9 +S0345,20.8,5.0 +S0346,33.7,156.1 +S0347,34.4,55.3 +S0348,35.1,143.4 +S0349,57.5,195.7 +S0350,51.6,63.1 +S0351,21.3,30.8 +S0352,95.1,186.7 +S0353,39.6,133.2 +S0354,22.7,140.7 +S0355,109.6,279.1 +S0356,71.2,295.8 +S0357,32.3,124.9 +S0358,99.8,249.8 +S0359,70.9,167.2 +S0360,71.6,238.5 +S0361,10.0,13.0 +S0362,37.8,69.9 +S0363,92.4,383.6 +S0364,66.7,182.9 +S0365,12.8,62.8 +S0366,100.7,221.6 +S0367,9.2,111.0 +S0368,82.6,208.4 +S0369,102.0,220.5 +S0370,82.3,235.3 +S0371,81.8,269.1 +S0372,117.8,379.7 +S0373,80.3,48.9 +S0374,72.5,210.7 +S0375,57.4,171.1 +S0376,114.2,361.1 +S0377,18.1,5.0 +S0378,52.3,217.5 +S0379,100.2,339.6 +S0380,57.5,155.9 +S0381,41.6,93.1 +S0382,32.7,43.2 +S0383,104.7,168.3 +S0384,34.2,212.2 +S0385,91.8,58.9 +S0386,106.3,244.0 +S0387,82.4,252.9 +S0388,62.2,185.7 +S0389,67.4,245.9 +S0390,27.2,234.7 +S0391,76.6,168.6 +S0392,56.3,74.4 +S0393,7.9,5.0 +S0394,77.0,109.6 +S0395,32.8,141.1 +S0396,5.6,5.0 +S0397,77.4,245.4 +S0398,117.2,285.4 +S0399,80.8,189.9 +S0400,54.7,182.1 +S0401,107.8,353.6 +S0402,72.1,234.6 +S0403,99.4,147.3 +S0404,29.2,171.1 +S0405,115.8,286.3 +S0406,83.3,201.9 +S0407,69.6,140.0 +S0408,49.3,90.3 +S0409,42.6,135.7 +S0410,119.4,140.8 +S0411,104.9,359.3 +S0412,13.5,229.3 +S0413,21.6,5.0 +S0414,18.2,67.2 +S0415,112.1,266.6 +S0416,35.4,5.0 +S0417,9.2,249.4 +S0418,107.4,354.2 +S0419,70.7,79.7 +S0420,94.7,225.8 +S0421,74.8,159.3 +S0422,23.3,177.1 +S0423,99.4,288.1 +S0424,117.1,281.3 +S0425,54.9,65.9 +S0426,29.3,141.2 +S0427,42.8,134.0 +S0428,102.8,291.7 +S0429,41.2,158.7 +S0430,105.4,305.1 +S0431,85.9,198.8 +S0432,31.2,79.2 +S0433,82.1,157.2 +S0434,48.8,128.0 +S0435,105.1,172.6 +S0436,37.4,203.8 +S0437,21.7,188.1 +S0438,72.5,277.4 +S0439,29.4,143.9 +S0440,90.9,184.4 +S0441,104.3,363.2 +S0442,58.7,252.7 +S0443,73.3,174.6 +S0444,37.2,89.0 +S0445,57.1,89.1 +S0446,48.3,245.6 +S0447,71.4,301.8 +S0448,94.3,250.5 +S0449,119.1,267.4 +S0450,20.8,113.5 +S0451,107.1,195.8 +S0452,81.6,347.0 +S0453,47.1,210.5 +S0454,66.3,299.8 +S0455,47.5,33.5 +S0456,110.3,260.3 +S0457,79.7,213.9 +S0458,43.9,121.2 +S0459,35.9,32.2 +S0460,70.3,379.4 +S0461,45.6,114.6 +S0462,31.2,140.6 +S0463,37.7,149.8 +S0464,17.8,9.3 +S0465,98.7,350.4 +S0466,22.2,35.8 +S0467,101.5,289.2 +S0468,60.8,187.8 +S0469,33.9,52.7 +S0470,101.5,236.7 +S0471,43.9,96.1 +S0472,31.4,203.7 +S0473,62.6,198.9 +S0474,109.1,378.5 +S0475,23.0,40.1 +S0476,106.8,309.6 +S0477,71.6,191.9 +S0478,63.9,194.3 +S0479,83.9,189.6 +S0480,71.1,57.9 +S0481,103.7,240.4 +S0482,61.1,257.8 +S0483,73.5,285.2 +S0484,50.1,73.9 +S0485,55.9,78.3 +S0486,107.4,289.4 +S0487,10.9,83.9 +S0488,38.6,42.4 +S0489,82.5,172.3 +S0490,43.3,167.4 +S0491,57.7,104.4 +S0492,33.2,68.5 +S0493,40.6,205.6 +S0494,43.1,223.3 +S0495,19.4,57.6 +S0496,24.7,32.5 +S0497,104.1,245.9 +S0498,113.4,223.4 +S0499,80.3,178.0 +S0500,105.9,192.6 +S0501,28.1,5.0 +S0502,81.7,217.3 +S0503,30.3,201.3 +S0504,29.0,162.4 +S0505,7.5,5.0 +S0506,90.1,277.2 +S0507,102.1,305.4 +S0508,68.7,229.5 +S0509,24.1,35.8 +S0510,99.6,340.2 +S0511,100.5,229.1 +S0512,8.5,176.9 +S0513,98.7,198.1 +S0514,114.4,220.1 +S0515,79.0,177.3 +S0516,55.0,137.4 +S0517,5.3,64.7 +S0518,47.6,189.5 +S0519,35.4,106.8 +S0520,47.1,62.2 +S0521,84.8,182.4 +S0522,68.0,170.7 +S0523,70.5,108.1 +S0524,54.9,247.1 +S0525,90.0,297.1 +S0526,42.6,84.8 +S0527,106.2,254.4 +S0528,114.0,250.1 +S0529,60.5,130.6 +S0530,107.6,160.2 +S0531,50.3,260.7 +S0532,55.3,185.7 +S0533,18.9,22.7 +S0534,10.9,82.2 +S0535,106.8,204.4 +S0536,39.2,149.3 +S0537,102.4,227.4 +S0538,110.7,381.5 +S0539,23.6,87.7 +S0540,17.4,5.0 +S0541,72.1,130.7 +S0542,9.9,11.0 +S0543,9.8,42.9 +S0544,50.3,205.5 +S0545,29.3,199.1 +S0546,102.7,396.8 +S0547,78.9,251.9 +S0548,59.1,71.7 +S0549,7.3,56.3 +S0550,62.0,187.6 +S0551,44.8,76.8 +S0552,6.0,5.0 +S0553,106.6,280.6 +S0554,105.1,340.9 +S0555,23.1,99.1 +S0556,19.0,137.0 +S0557,66.3,254.7 +S0558,110.1,179.1 +S0559,119.8,215.9 +S0560,92.9,219.2 +S0561,116.2,293.2 +S0562,90.7,181.7 +S0563,78.4,203.5 +S0564,99.0,193.0 +S0565,22.6,127.7 +S0566,20.8,83.0 +S0567,15.5,109.0 +S0568,33.2,117.9 +S0569,21.7,68.2 +S0570,75.5,220.0 +S0571,79.4,316.6 +S0572,85.5,115.2 +S0573,108.9,317.1 +S0574,118.8,255.7 +S0575,89.9,242.3 +S0576,115.4,169.8 +S0577,35.5,76.0 +S0578,60.6,209.4 +S0579,38.9,218.9 +S0580,55.7,94.0 +S0581,65.3,211.2 +S0582,23.8,180.2 +S0583,119.0,340.5 +S0584,25.2,149.2 +S0585,99.5,230.6 +S0586,15.5,5.0 +S0587,24.1,36.3 +S0588,105.2,171.0 +S0589,38.2,213.9 +S0590,109.0,217.6 +S0591,38.1,207.3 +S0592,98.1,142.6 +S0593,37.7,5.0 +S0594,13.6,137.8 +S0595,34.1,163.9 +S0596,116.3,176.6 +S0597,52.6,115.3 +S0598,13.9,25.0 +S0599,118.0,325.5 +S0600,46.4,109.3 +S0601,26.3,67.1 +S0602,110.7,167.9 +S0603,102.7,257.0 +S0604,14.9,66.2 +S0605,9.1,117.1 +S0606,33.6,115.3 +S0607,59.3,201.7 +S0608,39.7,148.1 +S0609,39.7,64.8 +S0610,30.4,252.0 +S0611,96.5,284.1 +S0612,92.5,200.1 +S0613,81.4,213.1 +S0614,96.7,325.2 +S0615,106.4,298.5 +S0616,33.5,55.7 +S0617,26.5,118.5 +S0618,6.6,57.0 +S0619,82.8,296.2 +S0620,102.8,276.9 +S0621,97.5,295.7 +S0622,21.3,115.0 +S0623,31.5,181.8 +S0624,117.1,255.8 +S0625,110.7,272.2 +S0626,85.1,355.3 +S0627,107.7,253.5 +S0628,90.1,218.2 +S0629,40.1,90.8 +S0630,47.4,162.1 +S0631,110.6,308.7 +S0632,50.4,161.8 +S0633,29.5,31.3 +S0634,11.2,103.9 +S0635,100.7,155.3 +S0636,117.5,154.3 +S0637,59.6,103.4 +S0638,119.1,315.4 +S0639,119.1,275.3 +S0640,91.2,255.2 +S0641,15.0,64.5 +S0642,25.8,65.1 +S0643,81.0,190.6 +S0644,44.4,166.9 +S0645,93.1,205.5 +S0646,30.8,204.5 +S0647,46.9,82.2 +S0648,70.3,118.1 +S0649,17.0,18.6 +S0650,39.8,157.2 +S0651,103.7,130.6 +S0652,93.5,191.6 +S0653,87.7,231.4 +S0654,54.7,29.7 +S0655,63.0,203.1 +S0656,23.3,36.1 +S0657,89.9,337.4 +S0658,67.1,111.1 +S0659,97.9,186.8 +S0660,70.0,29.5 +S0661,72.3,137.1 +S0662,34.4,63.4 +S0663,81.7,223.9 +S0664,51.1,110.8 +S0665,103.7,367.6 +S0666,79.9,6.0 +S0667,32.9,133.5 +S0668,14.1,5.0 +S0669,44.5,118.6 +S0670,49.2,234.4 +S0671,35.4,300.1 +S0672,111.5,225.1 +S0673,95.4,181.6 +S0674,65.0,198.1 +S0675,24.3,36.3 +S0676,64.1,119.9 +S0677,56.5,130.1 +S0678,60.9,194.3 +S0679,17.2,41.5 +S0680,18.3,5.0 +S0681,109.9,306.2 +S0682,103.9,209.3 +S0683,50.5,123.8 +S0684,22.2,267.6 +S0685,81.8,145.4 +S0686,91.9,244.7 +S0687,25.6,128.5 +S0688,54.3,121.8 +S0689,82.4,222.6 +S0690,114.8,184.7 +S0691,61.7,35.6 +S0692,99.0,237.6 +S0693,13.0,5.0 +S0694,91.5,346.9 +S0695,43.6,38.2 +S0696,42.8,118.0 +S0697,111.3,416.6 +S0698,37.9,114.9 +S0699,18.8,10.8 +S0700,54.9,59.5 +S0701,31.7,133.9 +S0702,61.2,207.3 +S0703,71.4,110.6 +S0704,9.8,5.0 +S0705,34.6,84.3 +S0706,110.5,238.4 +S0707,117.7,422.0 +S0708,47.7,97.4 +S0709,63.7,191.4 +S0710,117.4,221.2 +S0711,80.8,206.2 +S0712,92.4,174.4 +S0713,95.5,261.4 +S0714,70.0,112.0 +S0715,91.1,344.5 +S0716,25.4,97.7 +S0717,49.9,81.6 +S0718,48.0,112.4 +S0719,39.4,166.3 +S0720,79.7,69.0 +S0721,38.0,69.0 +S0722,36.6,87.4 +S0723,93.1,220.3 +S0724,53.5,149.0 +S0725,6.8,110.1 +S0726,118.4,335.9 +S0727,9.7,68.8 +S0728,119.3,292.1 +S0729,42.4,270.1 +S0730,16.3,63.9 +S0731,24.2,60.0 +S0732,108.6,259.9 +S0733,36.1,5.0 +S0734,90.4,302.7 +S0735,10.3,40.6 +S0736,15.8,60.8 +S0737,6.0,23.1 +S0738,93.7,282.0 +S0739,95.4,164.3 +S0740,87.7,338.7 +S0741,75.7,162.8 +S0742,71.9,296.2 +S0743,75.5,214.2 +S0744,102.9,218.7 +S0745,76.9,284.5 +S0746,52.2,199.2 +S0747,28.4,67.5 +S0748,86.0,189.9 +S0749,84.7,227.2 +S0750,111.7,290.6 +S0751,37.0,70.3 +S0752,7.1,5.0 +S0753,108.9,256.7 +S0754,40.2,53.9 +S0755,44.0,160.5 +S0756,22.8,79.9 +S0757,60.7,171.2 +S0758,27.2,59.1 +S0759,89.5,143.6 +S0760,12.6,22.9 +S0761,97.0,391.4 +S0762,116.4,315.7 +S0763,38.6,151.2 +S0764,96.6,203.6 +S0765,11.0,159.4 +S0766,97.9,310.3 +S0767,11.5,5.0 +S0768,107.4,281.4 +S0769,111.1,346.1 +S0770,22.6,92.9 +S0771,109.1,204.1 +S0772,72.5,167.0 +S0773,31.3,142.0 +S0774,59.7,178.6 +S0775,64.3,220.5 +S0776,66.7,389.7 +S0777,87.5,171.5 +S0778,68.2,66.7 +S0779,23.3,99.1 +S0780,115.7,380.4 +S0781,72.5,12.6 +S0782,53.7,130.6 +S0783,31.1,253.6 +S0784,67.8,191.0 +S0785,103.7,250.8 +S0786,103.7,166.3 +S0787,24.0,142.5 +S0788,18.7,168.3 +S0789,41.2,161.5 +S0790,76.6,180.0 +S0791,65.7,157.1 +S0792,113.7,220.6 +S0793,69.5,187.8 +S0794,93.0,310.6 +S0795,114.4,356.1 +S0796,91.6,266.4 +S0797,48.0,95.0 +S0798,28.7,107.2 +S0799,41.6,212.2 +S0800,53.9,134.8 +S0801,38.8,107.0 +S0802,40.4,250.7 +S0803,110.5,205.8 +S0804,48.3,201.4 +S0805,71.7,189.6 +S0806,27.0,138.3 +S0807,66.7,30.5 +S0808,13.4,188.8 +S0809,65.3,241.2 +S0810,56.2,87.4 +S0811,64.4,237.2 +S0812,68.8,93.0 +S0813,88.4,242.9 +S0814,14.8,159.2 +S0815,116.8,191.7 +S0816,68.5,193.0 +S0817,20.6,125.5 +S0818,59.2,196.6 +S0819,118.7,401.4 +S0820,66.1,209.6 +S0821,55.7,158.7 +S0822,59.6,69.1 +S0823,66.7,145.2 +S0824,98.3,259.6 +S0825,91.1,304.4 +S0826,86.4,174.5 +S0827,14.2,5.0 +S0828,11.6,92.7 +S0829,60.1,213.7 +S0830,81.8,190.2 +S0831,51.5,152.1 +S0832,76.5,94.8 +S0833,47.9,173.9 +S0834,90.4,168.5 +S0835,62.4,226.0 +S0836,66.9,73.9 +S0837,6.8,5.0 +S0838,35.4,13.5 +S0839,102.8,94.6 +S0840,112.4,214.3 +S0841,94.1,167.0 +S0842,68.7,185.4 +S0843,13.5,84.3 +S0844,81.0,295.5 +S0845,63.6,145.4 +S0846,7.4,64.4 +S0847,95.6,204.5 +S0848,40.8,5.0 +S0849,100.4,291.4 +S0850,80.1,179.4 +S0851,92.0,164.4 +S0852,45.1,176.3 +S0853,8.1,52.9 +S0854,96.7,306.4 +S0855,119.9,306.4 +S0856,89.1,194.0 +S0857,17.5,29.9 +S0858,16.6,107.7 +S0859,46.9,72.0 +S0860,19.7,96.3 +S0861,78.6,197.8 +S0862,85.4,243.6 +S0863,102.2,209.4 +S0864,111.1,326.8 +S0865,82.2,253.6 +S0866,9.8,100.1 +S0867,77.0,91.8 +S0868,13.9,94.3 +S0869,39.9,50.4 +S0870,41.3,63.0 +S0871,58.0,306.0 +S0872,72.8,188.9 +S0873,83.5,223.3 +S0874,11.5,15.0 +S0875,80.8,241.0 +S0876,60.0,150.9 +S0877,23.4,59.9 +S0878,18.3,41.3 +S0879,109.5,189.0 +S0880,37.9,207.3 +S0881,111.4,268.2 +S0882,88.7,126.9 +S0883,75.9,178.9 +S0884,97.6,266.3 +S0885,116.4,284.5 +S0886,32.4,287.4 +S0887,15.3,41.0 +S0888,77.4,178.5 +S0889,103.5,256.3 +S0890,103.9,227.8 +S0891,110.2,211.6 +S0892,114.6,242.8 +S0893,46.0,170.2 +S0894,84.4,129.8 +S0895,79.7,185.4 +S0896,95.9,253.8 +S0897,48.4,218.8 +S0898,94.1,172.0 +S0899,98.5,227.6 +S0900,91.2,206.8 +S0901,103.4,323.2 +S0902,101.4,195.5 +S0903,81.1,160.6 +S0904,28.4,47.3 +S0905,57.3,157.1 +S0906,62.3,185.5 +S0907,93.4,279.0 +S0908,113.2,257.4 +S0909,92.8,183.2 +S0910,117.8,329.1 +S0911,110.9,356.6 +S0912,36.0,114.3 +S0913,101.8,228.5 +S0914,59.3,72.9 +S0915,88.7,155.3 +S0916,95.2,290.8 +S0917,63.3,198.4 +S0918,101.1,220.7 +S0919,112.5,404.0 +S0920,83.2,387.3 +S0921,119.8,432.6 +S0922,100.9,202.0 +S0923,87.1,114.4 +S0924,26.1,11.5 +S0925,87.8,102.9 +S0926,103.7,424.3 +S0927,75.6,68.2 +S0928,84.9,176.3 +S0929,85.3,142.8 +S0930,18.9,5.0 +S0931,24.9,127.4 +S0932,88.4,189.7 +S0933,93.5,273.1 +S0934,27.3,73.0 +S0935,27.4,111.6 +S0936,38.2,128.4 +S0937,113.9,257.7 +S0938,19.2,71.4 +S0939,117.1,296.3 +S0940,118.4,265.1 +S0941,52.0,253.8 +S0942,38.4,190.9 +S0943,104.6,337.2 +S0944,68.1,174.8 +S0945,114.2,309.7 +S0946,93.5,254.5 +S0947,32.3,5.0 +S0948,55.1,330.6 +S0949,95.7,306.8 +S0950,45.3,149.1 +S0951,86.4,258.7 +S0952,99.8,174.9 +S0953,97.9,345.9 +S0954,94.8,217.8 +S0955,73.3,147.9 +S0956,88.1,244.4 +S0957,76.7,223.8 +S0958,36.5,7.4 +S0959,51.2,198.1 +S0960,30.3,87.3 +S0961,63.9,86.0 +S0962,72.7,195.7 +S0963,69.7,283.0 +S0964,96.1,168.9 +S0965,12.1,78.6 +S0966,95.4,220.4 +S0967,72.6,254.3 +S0968,86.3,121.4 +S0969,66.5,219.0 +S0970,29.2,170.9 +S0971,102.3,327.5 +S0972,12.2,49.7 +S0973,86.2,302.7 +S0974,74.8,229.4 +S0975,101.1,314.7 +S0976,85.7,250.6 +S0977,8.1,44.1 +S0978,116.7,269.9 +S0979,70.8,130.7 +S0980,27.3,117.3 +S0981,52.1,113.4 +S0982,86.0,278.7 +S0983,84.5,371.2 +S0984,11.1,100.9 +S0985,90.9,288.2 +S0986,27.7,130.4 +S0987,112.9,361.1 +S0988,98.5,223.1 +S0989,37.2,116.2 +S0990,78.2,199.5 +S0991,48.8,141.8 +S0992,52.2,152.1 +S0993,19.0,145.6 +S0994,65.1,44.9 +S0995,98.2,195.1 +S0996,71.6,116.2 +S0997,37.8,279.3 +S0998,40.9,172.0 +S0999,71.6,262.6 +S1000,29.6,238.6 +S1001,86.4,242.8 +S1002,72.8,288.8 +S1003,65.1,115.1 +S1004,13.0,122.9 +S1005,82.1,196.0 +S1006,47.6,123.9 +S1007,84.3,159.8 +S1008,24.8,14.6 +S1009,60.5,276.8 +S1010,60.8,150.2 +S1011,38.8,152.1 +S1012,116.1,347.5 +S1013,107.2,260.4 +S1014,33.4,5.0 +S1015,70.0,152.8 +S1016,66.9,151.7 +S1017,35.2,72.7 +S1018,83.6,134.3 +S1019,90.0,269.1 +S1020,16.2,64.1 +S1021,79.2,243.2 +S1022,119.9,303.0 +S1023,84.5,167.8 +S1024,76.0,301.7 +S1025,40.2,155.1 +S1026,22.9,37.9 +S1027,90.0,247.8 +S1028,40.6,133.8 +S1029,8.5,48.5 +S1030,46.0,52.0 +S1031,25.5,47.8 +S1032,36.8,132.7 +S1033,114.6,327.8 +S1034,88.7,167.2 +S1035,43.1,116.6 +S1036,78.3,320.0 +S1037,15.3,26.2 +S1038,7.7,31.3 +S1039,34.9,103.9 +S1040,21.1,50.7 +S1041,100.2,272.3 +S1042,58.1,258.0 +S1043,49.6,5.0 +S1044,87.8,200.2 +S1045,20.7,133.6 +S1046,44.0,124.3 +S1047,15.3,5.0 +S1048,6.1,103.4 +S1049,52.6,161.7 +S1050,119.9,104.7 +S1051,81.5,117.1 +S1052,64.6,142.7 +S1053,65.2,222.8 +S1054,16.6,33.3 +S1055,60.4,261.2 +S1056,36.3,5.0 +S1057,77.8,123.3 +S1058,80.2,237.8 +S1059,13.8,10.9 +S1060,86.8,371.4 +S1061,39.3,148.2 +S1062,115.6,198.5 +S1063,101.9,328.2 +S1064,56.4,130.7 +S1065,21.0,83.2 +S1066,58.2,207.2 +S1067,98.7,184.6 +S1068,30.2,131.8 +S1069,67.9,280.1 +S1070,19.1,241.5 +S1071,105.5,199.9 +S1072,74.3,214.4 +S1073,96.8,204.1 +S1074,47.2,134.8 +S1075,43.6,252.7 +S1076,107.3,365.3 +S1077,110.0,259.5 +S1078,5.3,128.2 +S1079,112.2,355.1 +S1080,65.4,70.3 +S1081,23.3,5.6 +S1082,52.2,142.4 +S1083,16.7,154.9 +S1084,88.2,284.4 +S1085,45.4,108.0 +S1086,51.0,87.8 +S1087,60.4,310.8 +S1088,97.9,212.5 +S1089,81.6,204.8 +S1090,12.5,5.0 +S1091,9.4,150.5 +S1092,103.0,229.3 +S1093,73.3,203.5 +S1094,64.2,241.4 +S1095,87.0,165.7 +S1096,33.0,70.9 +S1097,90.0,276.2 +S1098,110.4,301.1 +S1099,31.1,196.1 +S1100,52.7,141.4 +S1101,23.8,78.9 +S1102,54.6,204.2 +S1103,80.6,193.5 +S1104,111.6,201.1 +S1105,59.0,174.9 +S1106,106.5,281.8 +S1107,117.8,368.2 +S1108,38.3,85.3 +S1109,100.9,144.2 +S1110,37.0,171.4 +S1111,24.4,99.7 +S1112,101.8,258.9 +S1113,109.1,359.1 +S1114,109.6,375.6 +S1115,111.9,312.3 +S1116,101.3,271.4 +S1117,117.2,388.9 +S1118,27.6,134.2 +S1119,83.2,266.2 +S1120,91.7,233.9 +S1121,99.9,199.8 +S1122,105.0,269.5 +S1123,55.0,77.3 +S1124,66.8,202.3 +S1125,83.4,265.7 +S1126,73.6,349.2 +S1127,27.9,233.5 +S1128,17.8,105.9 +S1129,23.4,58.8 +S1130,43.8,271.5 +S1131,74.3,127.0 +S1132,110.1,153.7 +S1133,102.2,210.9 +S1134,17.4,54.7 +S1135,109.6,309.8 +S1136,63.2,80.8 +S1137,104.6,159.7 +S1138,15.5,38.4 +S1139,99.1,238.0 +S1140,84.3,174.2 +S1141,23.1,126.2 +S1142,10.5,81.0 +S1143,37.7,21.2 +S1144,84.1,156.3 +S1145,20.4,38.0 +S1146,21.6,36.8 +S1147,85.7,213.5 +S1148,89.7,9.5 +S1149,49.5,175.0 +S1150,41.2,90.1 +S1151,93.6,264.8 +S1152,108.3,297.0 +S1153,52.4,121.7 +S1154,82.0,241.6 +S1155,67.4,100.2 +S1156,5.0,141.2 +S1157,30.8,116.7 +S1158,107.2,296.3 +S1159,55.0,41.1 +S1160,33.9,5.0 +S1161,40.9,218.2 +S1162,9.1,84.6 +S1163,5.6,26.4 +S1164,119.5,236.0 +S1165,99.7,198.1 +S1166,57.8,79.9 +S1167,21.4,11.7 +S1168,119.0,260.1 +S1169,35.7,143.5 +S1170,45.4,256.7 +S1171,39.4,84.4 +S1172,115.2,277.4 +S1173,51.5,124.0 +S1174,12.1,52.4 +S1175,87.9,238.2 +S1176,56.0,24.6 +S1177,66.4,148.9 +S1178,78.5,263.1 +S1179,34.0,182.4 +S1180,60.1,87.0 +S1181,45.6,214.8 +S1182,23.4,5.0 +S1183,104.4,309.6 +S1184,89.5,256.3 +S1185,108.9,253.0 +S1186,11.2,151.1 +S1187,89.0,283.5 +S1188,56.5,151.5 +S1189,66.5,371.2 +S1190,9.7,72.7 +S1191,82.0,107.3 +S1192,44.7,77.3 +S1193,28.4,49.0 +S1194,97.9,140.9 +S1195,31.6,5.0 +S1196,85.1,341.3 +S1197,89.3,146.4 +S1198,66.7,179.3 +S1199,105.7,196.4 +S1200,107.7,347.6 +S1201,82.1,304.9 +S1202,79.3,206.3 +S1203,93.3,161.8 +S1204,13.8,103.2 +S1205,10.9,145.8 +S1206,63.7,37.1 +S1207,28.5,128.1 +S1208,119.6,296.4 +S1209,15.8,5.0 +S1210,24.9,82.2 +S1211,104.5,202.9 +S1212,116.1,319.9 +S1213,40.1,156.9 +S1214,116.7,357.0 +S1215,34.2,117.6 +S1216,65.9,262.7 +S1217,96.3,443.4 +S1218,87.2,247.1 +S1219,100.9,273.3 +S1220,54.2,294.5 +S1221,9.5,73.3 +S1222,113.8,114.6 +S1223,53.6,158.1 +S1224,46.0,142.4 +S1225,115.1,185.6 +S1226,91.6,215.7 +S1227,66.0,202.0 +S1228,55.9,170.3 +S1229,64.7,132.9 +S1230,21.0,140.0 +S1231,57.8,210.8 +S1232,109.6,256.8 +S1233,114.7,321.8 +S1234,91.5,361.1 +S1235,50.4,108.4 +S1236,114.3,373.3 +S1237,13.0,123.3 +S1238,59.4,150.7 +S1239,31.3,203.1 +S1240,92.8,154.6 +S1241,112.5,251.5 +S1242,49.0,137.5 +S1243,105.6,307.6 +S1244,5.6,64.6 +S1245,24.3,86.1 +S1246,103.7,267.8 +S1247,46.4,189.1 +S1248,95.5,173.3 +S1249,99.9,207.4 +S1250,113.0,338.8 +S1251,107.1,297.1 +S1252,97.5,335.9 +S1253,32.5,196.8 +S1254,43.8,130.8 +S1255,66.3,176.1 +S1256,75.4,99.2 +S1257,12.2,136.6 +S1258,34.5,147.6 +S1259,78.8,99.5 +S1260,7.2,92.6 +S1261,36.7,239.4 +S1262,83.1,189.6 +S1263,111.7,321.6 +S1264,27.3,169.2 +S1265,55.3,264.7 +S1266,102.7,257.2 +S1267,28.2,136.6 +S1268,91.8,234.4 +S1269,31.3,76.0 +S1270,116.7,338.2 +S1271,37.3,75.3 +S1272,104.8,262.7 +S1273,86.2,103.1 +S1274,62.4,151.0 +S1275,103.5,292.3 +S1276,16.4,25.4 +S1277,50.4,146.8 +S1278,99.8,251.8 +S1279,96.1,308.2 +S1280,57.4,107.6 +S1281,111.0,253.6 +S1282,79.5,54.3 +S1283,58.3,63.8 +S1284,75.3,170.3 +S1285,71.1,296.9 +S1286,94.9,277.6 +S1287,17.9,265.4 +S1288,82.3,125.4 +S1289,23.5,113.9 +S1290,12.5,117.6 +S1291,7.1,79.7 +S1292,43.7,196.0 +S1293,106.9,213.4 +S1294,38.1,87.6 +S1295,86.3,277.9 +S1296,66.9,276.7 +S1297,88.0,320.3 +S1298,7.6,50.6 +S1299,34.6,109.4 +S1300,30.4,127.6 +S1301,63.2,305.0 +S1302,22.4,38.3 +S1303,118.5,233.1 +S1304,49.4,200.5 +S1305,119.3,301.9 +S1306,80.0,200.3 +S1307,21.8,98.6 +S1308,50.8,183.7 +S1309,47.7,113.3 +S1310,61.3,171.4 +S1311,98.9,141.5 +S1312,14.4,53.6 +S1313,33.6,210.3 +S1314,21.5,238.0 +S1315,115.1,227.4 +S1316,40.6,194.0 +S1317,5.9,64.5 +S1318,60.0,95.9 +S1319,56.1,204.8 +S1320,97.1,242.7 +S1321,22.8,251.1 +S1322,84.1,325.8 +S1323,77.8,288.4 +S1324,21.8,134.5 +S1325,83.5,177.3 +S1326,119.9,282.2 +S1327,105.8,189.4 +S1328,29.9,118.6 +S1329,37.4,175.3 +S1330,111.5,109.4 +S1331,74.7,264.4 +S1332,73.2,169.3 +S1333,99.2,125.8 +S1334,45.9,240.6 +S1335,6.4,20.9 +S1336,108.7,349.3 +S1337,94.1,79.4 +S1338,52.3,131.2 +S1339,89.5,167.3 +S1340,62.2,275.4 +S1341,57.2,216.1 +S1342,77.1,166.2 +S1343,14.0,5.0 +S1344,67.8,104.7 +S1345,44.4,180.5 +S1346,53.9,232.3 +S1347,114.9,98.6 +S1348,114.8,348.2 +S1349,112.1,399.2 +S1350,27.0,10.8 +S1351,65.9,191.8 +S1352,114.1,329.9 +S1353,93.4,250.3 +S1354,113.6,99.6 +S1355,7.5,62.7 +S1356,78.6,95.6 +S1357,57.9,239.1 +S1358,87.9,186.0 +S1359,75.3,159.7 +S1360,13.2,122.9 +S1361,70.8,266.3 +S1362,53.6,201.1 +S1363,81.3,131.8 +S1364,62.6,5.0 +S1365,58.9,147.5 +S1366,42.3,37.5 +S1367,41.2,108.0 +S1368,114.6,242.1 +S1369,22.7,88.3 +S1370,108.5,278.8 +S1371,35.6,14.5 +S1372,43.6,208.7 +S1373,28.2,172.9 +S1374,11.4,92.1 +S1375,83.8,250.8 +S1376,110.7,324.6 +S1377,114.3,359.9 +S1378,107.8,140.8 +S1379,81.8,226.5 +S1380,22.3,100.8 +S1381,58.1,174.1 +S1382,29.6,21.6 +S1383,39.5,5.0 +S1384,111.6,228.0 +S1385,41.6,67.2 +S1386,63.8,187.2 +S1387,66.1,189.6 +S1388,50.8,153.5 +S1389,99.2,369.7 +S1390,115.7,247.3 +S1391,46.0,143.9 +S1392,75.1,61.2 +S1393,60.5,152.3 +S1394,108.2,248.8 +S1395,6.9,5.0 +S1396,15.8,62.7 +S1397,100.3,303.8 +S1398,96.0,326.7 +S1399,43.5,176.4 +S1400,86.5,151.7 +S1401,117.8,329.4 +S1402,49.2,133.0 +S1403,41.8,185.6 +S1404,19.3,139.3 +S1405,101.3,111.1 +S1406,54.0,186.0 +S1407,80.5,115.0 +S1408,71.5,211.3 +S1409,118.3,335.3 +S1410,99.8,355.9 +S1411,56.2,180.3 +S1412,48.4,205.0 +S1413,60.4,201.7 +S1414,29.6,194.4 +S1415,62.3,74.4 +S1416,24.3,25.0 +S1417,76.0,127.9 +S1418,37.4,199.0 +S1419,5.8,252.2 +S1420,46.1,158.2 +S1421,56.4,216.5 +S1422,85.1,303.3 +S1423,94.8,157.3 +S1424,32.2,136.6 +S1425,83.5,209.0 +S1426,29.0,65.9 +S1427,88.7,209.2 +S1428,25.8,164.4 +S1429,10.7,97.7 +S1430,34.6,140.0 +S1431,27.8,124.4 +S1432,17.8,43.1 +S1433,84.0,318.6 +S1434,113.6,269.1 +S1435,84.6,262.5 +S1436,104.3,327.8 +S1437,44.3,107.5 +S1438,86.0,260.3 +S1439,92.6,213.5 +S1440,27.6,7.4 +S1441,25.8,147.1 +S1442,66.5,233.2 +S1443,88.3,230.0 +S1444,108.5,353.5 +S1445,44.0,90.5 +S1446,93.5,191.1 +S1447,8.9,35.6 +S1448,54.1,5.0 +S1449,91.8,273.2 +S1450,40.2,106.3 +S1451,31.9,250.3 +S1452,25.4,5.0 +S1453,35.0,114.9 +S1454,59.3,96.7 +S1455,39.7,62.0 +S1456,119.4,201.3 +S1457,51.8,36.8 +S1458,94.2,252.1 +S1459,79.2,212.8 +S1460,38.5,93.2 +S1461,116.3,372.9 +S1462,85.7,200.4 +S1463,49.0,124.7 +S1464,14.2,5.0 +S1465,34.3,185.8 +S1466,29.4,178.1 +S1467,80.5,272.2 +S1468,41.7,77.9 +S1469,52.0,97.3 +S1470,81.9,281.7 +S1471,22.3,154.2 +S1472,31.8,153.8 +S1473,34.3,168.7 +S1474,98.7,327.8 +S1475,61.8,162.9 +S1476,64.6,193.2 +S1477,18.4,56.3 +S1478,31.4,37.1 +S1479,113.6,147.2 +S1480,63.5,163.8 +S1481,88.4,288.9 +S1482,31.4,54.0 +S1483,92.4,187.3 +S1484,64.1,192.6 +S1485,45.1,195.6 +S1486,82.9,345.7 +S1487,119.3,346.5 +S1488,85.7,224.3 +S1489,15.1,83.4 +S1490,41.7,111.6 +S1491,10.8,88.2 +S1492,106.3,186.7 +S1493,25.8,87.7 +S1494,119.7,204.5 +S1495,117.5,160.4 +S1496,54.0,139.7 +S1497,57.6,195.8 +S1498,24.2,129.6 +S1499,11.2,5.0 +S1500,85.7,170.7 +S1501,116.4,176.0 +S1502,76.1,120.7 +S1503,66.3,230.7 +S1504,109.3,179.7 +S1505,87.9,253.9 +S1506,86.8,225.9 +S1507,111.7,347.2 +S1508,101.8,269.3 +S1509,32.1,157.8 +S1510,86.0,272.6 +S1511,112.3,292.8 +S1512,57.6,221.9 +S1513,76.1,199.2 +S1514,79.3,135.2 +S1515,73.9,291.9 +S1516,118.3,311.8 +S1517,83.4,183.8 +S1518,28.6,170.8 +S1519,23.7,32.9 +S1520,46.8,154.0 +S1521,62.8,335.8 +S1522,63.4,201.8 +S1523,97.2,250.0 +S1524,107.8,286.9 +S1525,98.3,208.9 +S1526,64.9,146.9 +S1527,9.1,5.0 +S1528,44.9,87.7 +S1529,68.1,245.0 +S1530,63.2,176.0 +S1531,29.3,58.7 +S1532,113.7,348.7 +S1533,48.5,179.0 +S1534,90.4,125.8 +S1535,93.8,192.1 +S1536,49.3,171.3 +S1537,102.1,177.4 +S1538,21.8,88.2 +S1539,111.3,322.8 +S1540,14.7,70.8 +S1541,68.8,228.6 +S1542,23.3,116.0 +S1543,12.0,50.7 +S1544,39.7,5.0 +S1545,19.7,104.8 +S1546,78.8,257.8 +S1547,65.9,238.0 +S1548,39.9,147.7 +S1549,27.3,156.2 +S1550,98.0,288.9 +S1551,117.7,236.9 +S1552,109.1,230.0 +S1553,13.3,139.9 +S1554,97.2,221.9 +S1555,15.1,47.4 +S1556,109.1,205.9 +S1557,60.3,127.2 +S1558,14.4,59.8 +S1559,52.5,145.2 +S1560,40.5,146.0 +S1561,117.0,182.9 +S1562,67.3,146.2 +S1563,94.6,290.2 +S1564,110.8,363.9 +S1565,90.9,337.2 +S1566,86.0,261.9 +S1567,107.1,244.2 +S1568,50.3,145.0 +S1569,64.4,91.0 +S1570,65.0,248.2 +S1571,83.6,250.8 +S1572,34.4,186.5 +S1573,61.0,144.6 +S1574,33.8,231.0 +S1575,52.0,49.9 +S1576,74.9,81.9 +S1577,54.0,226.9 +S1578,59.7,79.1 +S1579,108.6,208.1 +S1580,61.8,136.5 +S1581,68.3,172.7 +S1582,102.6,394.8 +S1583,79.2,248.4 +S1584,118.7,299.9 +S1585,106.9,287.9 +S1586,43.4,115.6 +S1587,93.4,180.6 +S1588,25.8,87.9 +S1589,51.4,182.3 +S1590,87.4,192.0 +S1591,12.3,98.6 +S1592,76.3,196.0 +S1593,100.7,274.3 +S1594,50.3,81.1 +S1595,65.1,149.4 +S1596,46.6,63.8 +S1597,93.4,238.4 +S1598,40.3,51.6 +S1599,7.5,8.1 +S1600,15.6,5.0 +S1601,89.0,219.4 +S1602,102.5,348.6 +S1603,105.5,268.9 +S1604,23.1,123.3 +S1605,100.4,421.5 +S1606,102.7,267.1 +S1607,32.9,5.0 +S1608,9.0,97.0 +S1609,115.1,302.9 +S1610,14.6,5.0 +S1611,85.3,162.3 +S1612,89.6,313.7 +S1613,81.2,122.9 +S1614,91.3,287.8 +S1615,97.8,310.8 +S1616,94.1,202.2 +S1617,91.5,187.7 +S1618,66.0,207.2 +S1619,41.8,33.0 +S1620,88.8,280.1 +S1621,107.5,194.3 +S1622,31.0,36.6 +S1623,37.5,113.9 +S1624,82.2,295.2 +S1625,71.4,57.7 +S1626,95.9,142.9 +S1627,79.4,216.9 +S1628,117.3,174.4 +S1629,70.7,222.4 +S1630,58.1,104.2 +S1631,39.2,124.0 +S1632,46.8,55.7 +S1633,61.8,155.5 +S1634,116.3,354.1 +S1635,85.7,197.9 +S1636,83.6,289.9 +S1637,56.0,5.0 +S1638,99.3,288.7 +S1639,22.1,5.0 +S1640,39.7,204.5 +S1641,92.0,268.1 +S1642,101.2,212.4 +S1643,80.0,149.3 +S1644,105.1,218.2 +S1645,26.1,238.4 +S1646,87.0,229.0 +S1647,15.5,77.0 +S1648,88.2,285.3 +S1649,40.3,158.1 +S1650,70.1,140.7 +S1651,51.7,165.3 +S1652,9.9,119.0 +S1653,26.6,184.1 +S1654,50.6,129.5 +S1655,7.3,93.2 +S1656,75.8,233.7 +S1657,113.0,246.9 +S1658,67.8,289.6 +S1659,78.9,205.5 +S1660,69.4,251.7 +S1661,104.0,234.9 +S1662,37.7,253.3 +S1663,108.9,343.7 +S1664,78.6,320.9 +S1665,72.8,267.0 +S1666,103.3,161.1 +S1667,52.6,293.4 +S1668,19.9,182.5 +S1669,74.2,114.3 +S1670,84.7,403.6 +S1671,26.0,135.9 +S1672,50.2,136.0 +S1673,65.5,203.7 +S1674,43.4,165.2 +S1675,59.4,76.4 +S1676,87.3,178.4 +S1677,98.2,245.8 +S1678,86.3,194.0 +S1679,103.5,244.2 +S1680,52.5,144.6 +S1681,103.8,178.5 +S1682,74.1,165.7 +S1683,22.2,60.2 +S1684,49.1,191.4 +S1685,79.0,202.4 +S1686,46.0,88.5 +S1687,58.7,176.5 +S1688,57.9,50.6 +S1689,19.9,83.7 +S1690,117.3,330.9 +S1691,33.4,81.6 +S1692,9.9,35.9 +S1693,89.9,172.1 +S1694,52.9,264.6 +S1695,62.4,257.6 +S1696,50.0,75.9 +S1697,69.4,313.2 +S1698,43.8,106.8 +S1699,102.0,110.1 +S1700,66.5,167.5 +S1701,77.0,401.8 +S1702,60.3,151.3 +S1703,101.4,230.1 +S1704,23.7,107.3 +S1705,48.7,90.5 +S1706,38.9,76.4 +S1707,91.6,246.5 +S1708,113.3,290.2 +S1709,78.2,251.2 +S1710,116.5,258.9 +S1711,42.0,224.3 +S1712,79.8,188.2 +S1713,38.3,175.1 +S1714,73.3,183.2 +S1715,57.1,68.0 +S1716,84.9,271.6 +S1717,21.1,190.6 +S1718,6.5,114.3 +S1719,101.0,199.9 +S1720,20.0,41.7 +S1721,76.6,241.3 +S1722,17.2,5.0 +S1723,107.5,236.8 +S1724,29.4,62.7 +S1725,116.6,333.5 +S1726,95.6,335.4 +S1727,66.5,132.3 +S1728,56.4,151.4 +S1729,76.7,87.6 +S1730,17.1,81.1 +S1731,101.8,209.9 +S1732,23.2,69.9 +S1733,47.7,85.9 +S1734,76.7,136.2 +S1735,11.6,5.0 +S1736,63.7,186.3 +S1737,87.2,283.6 +S1738,13.3,177.5 +S1739,57.3,174.3 +S1740,26.3,195.2 +S1741,82.7,156.1 +S1742,51.1,111.7 +S1743,113.6,221.9 +S1744,102.2,229.3 +S1745,46.9,5.0 +S1746,14.7,64.4 +S1747,40.7,158.5 +S1748,33.0,64.1 +S1749,23.3,14.8 +S1750,68.7,194.1 +S1751,76.2,237.7 +S1752,105.7,279.5 +S1753,55.3,5.1 +S1754,78.2,152.3 +S1755,78.2,183.3 +S1756,41.3,238.2 +S1757,36.9,190.8 +S1758,119.6,284.9 +S1759,35.6,168.5 +S1760,86.5,179.4 +S1761,48.1,84.2 +S1762,50.3,86.1 +S1763,64.8,188.2 +S1764,67.2,309.7 +S1765,14.0,5.0 +S1766,15.9,129.6 +S1767,28.3,31.0 +S1768,53.8,126.9 +S1769,12.4,94.9 +S1770,15.9,12.4 +S1771,29.0,30.3 +S1772,65.2,229.7 +S1773,51.2,117.4 +S1774,115.3,353.2 +S1775,16.7,156.7 +S1776,60.1,72.1 +S1777,53.8,12.7 +S1778,25.3,56.2 +S1779,110.2,279.2 +S1780,110.6,316.2 +S1781,102.5,269.4 +S1782,98.6,74.9 +S1783,32.5,60.0 +S1784,64.4,97.6 +S1785,111.7,334.4 +S1786,91.3,198.6 +S1787,69.0,250.5 +S1788,65.8,122.0 +S1789,32.9,73.2 +S1790,18.6,46.1 +S1791,82.5,138.5 +S1792,56.3,150.7 +S1793,41.3,148.9 +S1794,18.1,5.0 +S1795,72.5,179.1 +S1796,79.1,250.0 +S1797,111.7,221.2 +S1798,10.3,108.8 +S1799,117.2,273.0 +S1800,11.2,137.9 +S1801,89.0,371.3 +S1802,36.9,144.6 +S1803,23.8,25.4 +S1804,98.0,182.6 +S1805,107.2,242.4 +S1806,79.8,110.3 +S1807,114.9,274.2 +S1808,112.9,215.5 +S1809,66.0,185.0 +S1810,115.0,425.2 +S1811,52.6,178.3 +S1812,35.8,59.7 +S1813,29.3,115.5 +S1814,79.0,154.0 +S1815,80.8,249.8 +S1816,46.6,89.2 +S1817,65.2,260.7 +S1818,104.9,347.5 +S1819,62.9,291.6 +S1820,55.1,259.2 +S1821,109.4,199.4 +S1822,85.4,235.7 +S1823,51.5,168.1 +S1824,97.0,250.4 +S1825,92.8,104.9 +S1826,39.1,70.2 +S1827,82.9,178.5 +S1828,32.5,179.1 +S1829,72.3,157.1 +S1830,86.4,269.5 +S1831,17.7,22.0 +S1832,113.7,317.3 +S1833,27.0,71.0 +S1834,102.7,260.2 +S1835,74.7,98.2 +S1836,23.2,211.9 +S1837,23.3,120.3 +S1838,118.3,314.1 +S1839,10.1,68.1 +S1840,87.3,152.9 +S1841,28.4,134.6 +S1842,114.8,198.9 +S1843,48.1,106.9 +S1844,99.4,228.6 +S1845,118.2,300.9 +S1846,46.8,11.5 +S1847,61.8,56.4 +S1848,33.7,91.5 +S1849,69.7,194.9 +S1850,119.4,222.3 +S1851,6.9,5.0 +S1852,55.4,209.9 +S1853,52.6,265.3 +S1854,14.9,36.4 +S1855,62.7,129.4 +S1856,83.8,280.5 +S1857,98.5,211.0 +S1858,89.8,289.6 +S1859,110.3,322.7 +S1860,25.8,144.5 +S1861,64.5,302.8 +S1862,50.7,178.3 +S1863,38.8,123.0 +S1864,94.5,307.5 +S1865,46.7,156.3 +S1866,14.8,5.0 +S1867,87.9,324.3 +S1868,35.1,140.3 +S1869,5.2,145.3 +S1870,71.4,263.6 +S1871,35.5,276.5 +S1872,14.1,96.8 +S1873,16.5,163.1 +S1874,22.0,77.9 +S1875,90.9,210.2 +S1876,93.7,198.9 +S1877,89.8,188.7 +S1878,59.0,63.9 +S1879,80.8,180.0 +S1880,103.3,314.3 +S1881,96.3,272.8 +S1882,54.0,181.2 +S1883,24.9,40.0 +S1884,46.6,189.8 +S1885,90.6,216.9 +S1886,40.4,230.3 +S1887,108.6,216.2 +S1888,27.4,17.9 +S1889,35.2,152.0 +S1890,17.2,142.3 +S1891,88.2,274.6 +S1892,48.5,202.9 +S1893,54.5,260.9 +S1894,95.5,242.6 +S1895,12.6,56.3 +S1896,26.0,90.6 +S1897,85.6,224.9 +S1898,119.7,259.1 +S1899,61.3,137.6 +S1900,107.5,173.7 +S1901,60.2,122.7 +S1902,36.8,148.9 +S1903,7.6,161.1 +S1904,22.5,152.6 +S1905,85.5,294.7 +S1906,36.7,204.9 +S1907,94.2,261.9 +S1908,21.3,5.0 +S1909,95.8,231.7 +S1910,73.2,261.5 +S1911,46.5,208.4 +S1912,106.9,212.3 +S1913,69.0,204.1 +S1914,37.8,146.9 +S1915,101.7,273.1 +S1916,67.7,154.0 +S1917,78.5,270.3 +S1918,94.6,256.2 +S1919,87.3,143.5 +S1920,88.2,197.4 +S1921,101.0,288.6 +S1922,36.1,100.8 +S1923,100.5,144.2 +S1924,44.8,236.5 +S1925,7.8,5.0 +S1926,41.8,192.2 +S1927,64.2,77.8 +S1928,77.1,265.9 +S1929,94.4,296.8 +S1930,52.2,194.2 +S1931,87.0,253.3 +S1932,41.2,120.2 +S1933,93.9,196.8 +S1934,93.1,195.6 +S1935,115.3,297.8 +S1936,119.8,347.7 +S1937,49.9,132.6 +S1938,74.5,54.1 +S1939,28.8,25.1 +S1940,40.4,137.8 +S1941,69.7,262.9 +S1942,71.0,33.4 +S1943,32.1,199.9 +S1944,48.3,131.4 +S1945,34.1,156.9 +S1946,105.8,268.8 +S1947,54.6,67.1 +S1948,96.1,86.5 +S1949,89.3,211.4 +S1950,6.9,149.2 +S1951,70.3,111.1 +S1952,89.8,190.5 +S1953,37.6,19.9 +S1954,117.0,269.8 +S1955,15.2,45.4 +S1956,83.2,229.3 +S1957,43.4,94.7 +S1958,32.3,94.1 +S1959,39.1,33.5 +S1960,67.9,190.8 +S1961,112.2,359.1 +S1962,69.4,211.9 +S1963,35.1,45.8 +S1964,47.3,145.1 +S1965,18.5,86.5 +S1966,90.9,237.9 +S1967,94.3,267.3 +S1968,65.7,129.3 +S1969,116.1,293.0 +S1970,25.6,5.0 +S1971,91.2,238.4 +S1972,54.9,141.3 +S1973,94.2,190.7 +S1974,22.3,65.5 +S1975,64.4,157.1 +S1976,76.1,232.3 +S1977,117.2,283.8 +S1978,117.7,307.9 +S1979,15.1,53.8 +S1980,97.7,230.0 +S1981,100.4,275.0 +S1982,75.1,101.7 +S1983,105.6,207.3 +S1984,108.1,197.1 +S1985,118.9,138.1 +S1986,92.3,178.4 +S1987,79.4,105.8 +S1988,82.6,200.8 +S1989,28.1,209.7 +S1990,8.4,52.4 +S1991,57.7,221.6 +S1992,79.1,250.6 +S1993,15.2,121.0 +S1994,32.9,137.9 +S1995,6.7,25.5 +S1996,113.9,245.3 +S1997,35.2,81.2 +S1998,55.3,159.5 +S1999,89.5,369.9 +S2000,59.4,77.1 +S2001,80.7,240.5 +S2002,7.3,33.3 +S2003,41.9,24.5 +S2004,17.7,5.0 +S2005,66.0,123.8 +S2006,83.4,216.5 +S2007,30.9,87.5 +S2008,73.9,300.4 +S2009,18.3,5.0 +S2010,56.6,139.3 +S2011,57.0,125.8 +S2012,79.5,194.9 +S2013,29.3,113.2 +S2014,40.6,150.8 +S2015,83.6,245.2 +S2016,118.1,201.4 +S2017,10.8,5.0 +S2018,46.1,126.5 +S2019,112.6,225.9 +S2020,44.1,5.0 +S2021,28.0,80.6 +S2022,71.0,84.5 +S2023,119.8,255.1 +S2024,15.3,5.0 +S2025,64.4,127.8 +S2026,108.3,160.1 +S2027,77.1,160.2 +S2028,106.2,284.7 +S2029,13.3,99.9 +S2030,6.9,116.7 +S2031,33.5,197.5 +S2032,54.3,98.5 +S2033,25.4,140.6 +S2034,77.6,144.9 +S2035,7.6,61.0 +S2036,15.2,181.2 +S2037,30.3,68.2 +S2038,21.8,223.2 +S2039,60.3,146.6 +S2040,79.4,259.7 +S2041,85.8,130.3 +S2042,107.7,317.7 +S2043,10.8,16.7 +S2044,24.8,110.6 +S2045,26.2,90.8 +S2046,105.9,381.0 +S2047,115.0,328.6 +S2048,79.4,146.8 +S2049,86.8,169.9 +S2050,73.8,231.1 +S2051,110.2,274.4 +S2052,117.0,381.0 +S2053,39.3,81.2 +S2054,84.8,125.3 +S2055,83.5,358.9 +S2056,54.7,372.7 +S2057,11.7,5.0 +S2058,101.6,259.1 +S2059,40.3,135.8 +S2060,118.5,234.0 +S2061,21.7,78.4 +S2062,6.3,22.2 +S2063,8.0,185.7 +S2064,31.8,56.5 +S2065,112.2,247.5 +S2066,49.8,254.6 +S2067,78.8,345.0 +S2068,14.9,151.8 +S2069,104.3,258.5 +S2070,82.7,266.0 +S2071,44.2,211.4 +S2072,6.6,5.0 +S2073,86.8,174.1 +S2074,79.6,163.8 +S2075,74.9,98.0 +S2076,21.1,72.7 +S2077,57.0,119.6 +S2078,35.3,5.0 +S2079,79.1,316.4 +S2080,18.0,74.1 +S2081,66.6,198.9 +S2082,114.0,267.1 +S2083,103.9,357.7 +S2084,29.5,87.2 +S2085,106.0,258.1 +S2086,89.9,180.8 +S2087,12.8,25.0 +S2088,50.2,208.4 +S2089,115.4,267.0 +S2090,73.0,159.9 +S2091,104.2,254.2 +S2092,44.0,126.7 +S2093,74.1,209.2 +S2094,33.1,5.0 +S2095,108.8,267.7 +S2096,92.8,100.5 +S2097,116.4,274.6 +S2098,118.4,189.2 +S2099,7.5,5.0 +S2100,27.2,51.1 +S2101,44.6,280.9 +S2102,53.4,63.3 +S2103,19.9,134.2 +S2104,71.2,199.8 +S2105,18.4,157.5 +S2106,92.2,242.9 +S2107,41.9,241.7 +S2108,61.6,179.8 +S2109,38.4,31.2 +S2110,98.1,243.1 +S2111,105.3,217.5 +S2112,105.1,272.0 +S2113,58.8,221.2 +S2114,86.9,241.4 +S2115,19.8,85.4 +S2116,91.7,301.8 +S2117,77.9,271.4 +S2118,117.0,278.5 +S2119,12.0,5.0 +S2120,26.9,129.4 +S2121,95.8,192.3 +S2122,117.3,328.9 +S2123,65.4,102.7 +S2124,87.0,313.1 +S2125,119.6,380.4 +S2126,76.7,285.0 +S2127,85.2,154.2 +S2128,60.4,225.8 +S2129,92.1,315.9 +S2130,56.2,8.2 +S2131,39.7,166.8 +S2132,93.4,333.0 +S2133,63.0,117.8 +S2134,38.0,239.9 +S2135,14.2,178.8 +S2136,95.9,299.1 +S2137,49.7,121.2 +S2138,52.5,181.1 +S2139,24.5,52.1 +S2140,56.6,207.2 +S2141,54.8,214.9 +S2142,118.7,308.0 +S2143,72.3,212.0 +S2144,32.9,31.2 +S2145,16.6,24.4 +S2146,20.2,10.8 +S2147,86.2,104.9 +S2148,19.7,69.7 +S2149,50.3,135.0 +S2150,92.3,292.7 +S2151,85.3,259.1 +S2152,39.5,85.5 +S2153,110.1,375.1 +S2154,89.0,366.4 +S2155,115.5,332.4 +S2156,40.0,115.5 +S2157,99.8,185.6 +S2158,111.6,417.7 +S2159,115.9,379.4 +S2160,60.0,245.2 +S2161,9.3,143.0 +S2162,106.9,317.6 +S2163,11.1,13.5 +S2164,48.6,128.8 +S2165,35.9,117.6 +S2166,30.4,107.3 +S2167,110.7,251.1 +S2168,70.5,180.6 +S2169,60.2,232.9 +S2170,5.8,87.9 +S2171,14.4,154.1 +S2172,66.0,132.5 +S2173,5.2,50.7 +S2174,14.3,74.9 +S2175,11.5,78.9 +S2176,107.1,86.4 +S2177,26.6,102.0 +S2178,114.5,344.3 +S2179,41.3,86.6 +S2180,37.8,137.1 +S2181,48.6,64.4 +S2182,19.6,74.7 +S2183,9.4,123.0 +S2184,48.3,101.0 +S2185,84.6,197.3 +S2186,22.5,137.6 +S2187,59.2,42.1 +S2188,87.4,261.1 +S2189,29.8,174.4 +S2190,14.9,126.5 +S2191,60.8,162.4 +S2192,17.6,144.7 +S2193,116.8,268.6 +S2194,75.6,174.9 +S2195,81.7,193.4 +S2196,12.5,62.8 +S2197,84.5,139.4 +S2198,113.5,288.8 +S2199,48.1,235.3 +S2200,75.2,215.6 +S2201,35.7,122.4 +S2202,67.7,179.2 +S2203,93.5,165.9 +S2204,15.4,76.8 +S2205,58.5,64.9 +S2206,83.3,177.7 +S2207,58.7,284.1 +S2208,111.9,91.9 +S2209,105.1,219.5 +S2210,17.4,5.0 +S2211,62.3,149.6 +S2212,70.3,316.2 +S2213,118.0,280.0 +S2214,72.3,207.3 +S2215,40.5,281.3 +S2216,89.8,263.1 +S2217,65.2,298.9 +S2218,76.6,313.6 +S2219,7.0,37.8 +S2220,88.7,126.2 +S2221,66.4,176.2 +S2222,79.5,235.2 +S2223,11.2,80.4 +S2224,54.1,207.2 +S2225,86.0,144.8 +S2226,12.0,29.3 +S2227,84.1,267.4 +S2228,89.2,231.1 +S2229,104.3,90.8 +S2230,58.4,44.6 +S2231,26.2,231.1 +S2232,14.7,84.2 +S2233,97.0,309.3 +S2234,49.7,177.1 +S2235,111.2,108.6 +S2236,23.6,153.7 +S2237,76.1,149.8 +S2238,115.0,459.2 +S2239,22.5,33.4 +S2240,111.3,213.6 +S2241,93.7,336.9 +S2242,88.6,223.0 +S2243,102.2,303.7 +S2244,60.2,294.5 +S2245,33.6,89.8 +S2246,32.0,108.0 +S2247,29.4,161.5 +S2248,7.2,5.0 +S2249,44.9,219.6 +S2250,33.2,279.6 +S2251,104.3,292.9 +S2252,8.4,38.8 +S2253,68.0,139.6 +S2254,105.4,307.1 +S2255,90.9,238.6 +S2256,49.8,176.4 +S2257,64.6,133.1 +S2258,15.0,11.9 +S2259,70.1,244.9 +S2260,8.2,5.0 +S2261,72.2,76.1 +S2262,46.1,196.7 +S2263,75.7,252.4 +S2264,17.8,131.7 +S2265,36.2,101.6 +S2266,49.3,242.5 +S2267,107.4,282.2 +S2268,36.2,189.4 +S2269,90.0,172.9 +S2270,35.5,164.4 +S2271,108.5,222.6 +S2272,118.1,324.8 +S2273,27.6,176.6 +S2274,62.9,256.6 +S2275,106.4,172.6 +S2276,17.2,5.6 +S2277,29.2,37.8 +S2278,63.8,150.8 +S2279,118.6,342.7 +S2280,116.4,195.6 +S2281,111.4,261.6 +S2282,80.5,145.2 +S2283,88.3,247.7 +S2284,108.6,249.5 +S2285,110.4,302.2 +S2286,99.1,189.0 +S2287,103.1,204.6 +S2288,96.0,141.1 +S2289,75.5,183.1 +S2290,69.2,120.4 +S2291,113.7,276.5 +S2292,37.5,110.8 +S2293,49.9,95.6 +S2294,61.6,176.3 +S2295,99.8,205.7 +S2296,15.2,51.9 +S2297,18.1,131.8 +S2298,112.5,204.8 +S2299,90.9,294.3 +S2300,96.3,358.6 +S2301,81.7,135.4 +S2302,93.4,281.1 +S2303,46.7,151.1 +S2304,63.4,142.7 +S2305,98.3,344.8 +S2306,28.4,42.3 +S2307,64.2,230.8 +S2308,105.5,309.1 +S2309,107.2,258.0 +S2310,71.0,191.8 +S2311,89.6,304.3 +S2312,67.4,190.8 +S2313,102.8,252.0 +S2314,70.8,140.5 +S2315,88.3,271.1 +S2316,71.4,156.3 +S2317,95.7,392.7 +S2318,5.7,263.1 +S2319,102.9,302.3 +S2320,37.3,63.1 +S2321,71.2,144.8 +S2322,101.0,95.7 +S2323,89.5,231.0 +S2324,73.5,202.1 +S2325,43.7,226.6 +S2326,5.0,116.4 +S2327,119.1,234.2 +S2328,44.0,237.3 +S2329,40.2,16.5 +S2330,12.6,174.2 +S2331,103.6,214.4 +S2332,55.4,277.4 +S2333,15.5,162.5 +S2334,103.4,269.3 +S2335,41.9,109.6 +S2336,117.7,76.0 +S2337,70.3,140.2 +S2338,80.0,252.8 +S2339,119.5,254.9 +S2340,37.1,39.1 +S2341,11.3,114.4 +S2342,44.7,163.1 +S2343,56.1,224.6 +S2344,113.9,226.0 +S2345,72.8,163.2 +S2346,11.6,9.4 +S2347,18.3,5.0 +S2348,51.8,50.9 +S2349,106.8,308.6 +S2350,68.5,117.1 +S2351,7.7,5.0 +S2352,6.5,72.4 +S2353,33.7,166.9 +S2354,97.9,278.6 +S2355,80.9,285.9 +S2356,46.0,148.2 +S2357,29.3,109.6 +S2358,94.4,270.9 +S2359,38.3,150.7 +S2360,104.5,280.8 +S2361,17.4,59.7 +S2362,34.9,123.0 +S2363,52.9,85.9 +S2364,70.9,158.4 +S2365,65.8,161.0 +S2366,78.1,274.1 +S2367,31.6,96.7 +S2368,107.0,149.8 +S2369,94.2,259.7 +S2370,87.0,300.6 +S2371,45.6,210.0 +S2372,110.5,279.8 +S2373,18.6,58.4 +S2374,104.3,174.2 +S2375,41.6,32.5 +S2376,31.1,112.1 +S2377,68.5,59.4 +S2378,30.3,100.3 +S2379,46.7,122.9 +S2380,113.3,194.4 +S2381,6.8,16.7 +S2382,99.4,256.9 +S2383,9.2,5.0 +S2384,102.4,142.8 +S2385,37.9,146.0 +S2386,38.5,231.7 +S2387,114.5,293.2 +S2388,52.2,285.9 +S2389,64.7,122.7 +S2390,55.4,170.0 +S2391,84.4,223.8 +S2392,12.6,195.0 +S2393,8.1,153.2 +S2394,116.5,297.1 +S2395,72.2,217.7 +S2396,119.9,242.0 +S2397,61.0,124.2 +S2398,47.0,242.4 +S2399,99.9,321.4 +S2400,26.0,40.3 +S2401,78.3,162.5 +S2402,72.2,57.4 +S2403,72.1,291.5 +S2404,100.8,198.8 +S2405,54.8,178.9 +S2406,112.9,293.1 +S2407,109.4,113.4 +S2408,23.7,67.5 +S2409,102.4,185.6 +S2410,82.8,159.6 +S2411,71.8,255.5 +S2412,112.6,256.0 +S2413,34.7,65.2 +S2414,31.6,11.8 +S2415,67.8,103.0 +S2416,117.0,259.5 +S2417,71.9,273.7 +S2418,33.1,80.0 +S2419,50.5,152.6 +S2420,47.0,202.8 +S2421,54.9,281.0 +S2422,61.0,283.6 +S2423,56.2,5.0 +S2424,116.9,350.5 +S2425,111.9,288.1 +S2426,39.9,124.5 +S2427,28.9,164.7 +S2428,60.7,170.1 +S2429,116.3,210.6 +S2430,115.6,185.0 +S2431,56.0,255.1 +S2432,90.9,160.1 +S2433,66.4,109.6 +S2434,96.9,274.4 +S2435,113.1,217.7 +S2436,19.0,71.4 +S2437,31.0,52.7 +S2438,74.5,201.6 +S2439,20.2,101.6 +S2440,32.2,114.7 +S2441,91.9,275.7 +S2442,63.9,180.2 +S2443,73.2,215.5 +S2444,37.0,176.6 +S2445,29.1,167.1 +S2446,101.9,332.4 +S2447,77.3,217.5 +S2448,72.8,157.1 +S2449,76.8,168.6 +S2450,108.2,219.1 +S2451,17.9,5.0 +S2452,80.2,216.6 +S2453,88.3,278.9 +S2454,77.2,350.0 +S2455,23.7,63.1 +S2456,54.2,79.1 +S2457,39.7,181.5 +S2458,39.1,139.3 +S2459,51.9,89.6 +S2460,19.9,134.9 +S2461,10.0,35.3 +S2462,14.1,60.6 +S2463,70.5,344.3 +S2464,111.7,140.0 +S2465,111.1,247.2 +S2466,14.1,69.1 +S2467,107.1,322.9 +S2468,114.3,357.9 +S2469,74.1,192.8 +S2470,80.5,220.2 +S2471,44.6,181.4 +S2472,96.7,334.3 +S2473,52.1,74.8 +S2474,102.5,283.3 +S2475,97.0,231.1 +S2476,5.4,81.5 +S2477,12.8,132.2 +S2478,45.4,74.1 +S2479,64.7,80.5 +S2480,48.0,150.7 +S2481,39.5,142.2 +S2482,51.7,188.7 +S2483,94.1,194.5 +S2484,117.4,143.2 +S2485,104.7,154.8 +S2486,103.1,299.0 +S2487,51.8,100.2 +S2488,26.6,41.9 +S2489,105.6,337.1 +S2490,53.3,249.6 +S2491,36.7,87.8 +S2492,10.1,49.9 +S2493,108.1,308.7 +S2494,82.0,247.8 +S2495,82.4,187.9 +S2496,36.5,214.8 +S2497,85.6,264.4 +S2498,37.8,26.4 +S2499,82.0,233.2 +S2500,64.6,197.5 +S2501,97.2,182.3 +S2502,58.3,143.0 +S2503,105.1,251.6 +S2504,117.2,336.9 +S2505,87.8,235.9 +S2506,11.7,51.1 +S2507,112.6,259.7 +S2508,114.7,335.1 +S2509,107.8,276.5 +S2510,119.5,321.7 +S2511,31.7,235.9 +S2512,96.6,300.7 +S2513,75.5,159.7 +S2514,77.8,192.0 +S2515,91.3,209.7 +S2516,39.3,35.2 +S2517,118.7,385.3 +S2518,116.1,338.5 +S2519,8.9,122.5 +S2520,69.2,223.8 +S2521,88.1,230.9 +S2522,51.3,208.4 +S2523,32.5,40.3 +S2524,36.9,99.8 +S2525,114.7,257.4 +S2526,106.9,342.6 +S2527,84.4,206.4 +S2528,71.0,212.2 +S2529,44.0,149.3 +S2530,80.7,260.1 +S2531,36.6,164.8 +S2532,26.4,95.1 +S2533,76.5,315.0 +S2534,52.3,13.5 +S2535,98.8,66.3 +S2536,115.4,306.7 +S2537,86.5,191.2 +S2538,63.7,149.8 +S2539,56.3,181.1 +S2540,92.3,83.8 +S2541,112.4,280.2 +S2542,21.7,143.0 +S2543,52.3,39.6 +S2544,31.9,75.7 +S2545,104.2,103.3 +S2546,65.1,250.1 +S2547,79.2,166.0 +S2548,88.3,192.2 +S2549,20.8,101.6 +S2550,39.5,61.0 +S2551,36.7,241.2 +S2552,102.6,223.7 +S2553,112.9,196.1 +S2554,75.4,174.5 +S2555,100.7,294.4 +S2556,95.7,345.8 +S2557,14.2,56.9 +S2558,59.4,289.5 +S2559,32.2,202.2 +S2560,69.3,85.3 +S2561,117.7,293.3 +S2562,63.8,202.9 +S2563,49.7,158.0 +S2564,25.9,61.9 +S2565,68.7,221.6 +S2566,76.5,140.2 +S2567,30.4,78.2 +S2568,83.2,260.8 +S2569,100.9,444.2 +S2570,88.9,166.8 +S2571,91.4,299.4 +S2572,20.9,93.1 +S2573,13.2,84.4 +S2574,54.1,235.4 +S2575,52.2,149.5 +S2576,90.4,240.2 +S2577,28.5,224.0 +S2578,73.1,196.7 +S2579,76.7,176.5 +S2580,43.2,183.0 +S2581,79.1,338.7 +S2582,81.5,204.1 +S2583,10.5,63.4 +S2584,42.9,235.5 +S2585,92.5,212.6 +S2586,109.9,233.5 +S2587,13.4,99.1 +S2588,85.7,295.5 +S2589,25.3,18.8 +S2590,53.6,60.6 +S2591,71.4,292.5 +S2592,94.7,243.4 +S2593,38.9,130.5 +S2594,42.9,85.4 +S2595,89.1,299.8 +S2596,22.0,132.6 +S2597,56.8,207.0 +S2598,61.1,178.5 +S2599,118.2,224.2 +S2600,72.6,116.0 +S2601,11.6,101.8 +S2602,94.1,266.4 +S2603,25.1,94.9 +S2604,102.3,384.1 +S2605,45.9,170.9 +S2606,71.7,184.1 +S2607,71.6,110.8 +S2608,37.7,94.9 +S2609,30.9,133.2 +S2610,88.0,218.2 +S2611,91.2,171.8 +S2612,118.2,331.5 +S2613,50.5,5.0 +S2614,33.4,21.9 +S2615,113.4,279.6 +S2616,35.6,5.0 +S2617,97.9,224.5 +S2618,101.0,177.3 +S2619,19.7,66.0 +S2620,78.2,133.5 +S2621,38.0,44.8 +S2622,41.8,204.2 +S2623,78.7,261.8 +S2624,43.9,204.7 +S2625,30.0,106.8 +S2626,36.4,89.1 +S2627,111.9,243.2 +S2628,62.4,47.6 +S2629,10.2,12.6 +S2630,105.1,391.4 +S2631,6.0,77.5 +S2632,19.7,82.4 +S2633,40.3,5.0 +S2634,84.1,170.6 +S2635,78.7,282.1 +S2636,112.0,180.2 +S2637,87.2,214.3 +S2638,56.0,179.3 +S2639,82.8,241.0 +S2640,66.6,269.3 +S2641,91.7,251.9 +S2642,90.0,88.0 +S2643,103.5,222.0 +S2644,60.5,137.4 +S2645,71.0,257.6 +S2646,39.9,54.0 +S2647,7.0,128.7 +S2648,22.3,49.1 +S2649,37.5,191.7 +S2650,18.6,5.0 +S2651,7.2,43.7 +S2652,59.0,247.1 +S2653,81.4,311.0 +S2654,112.9,238.0 +S2655,117.1,173.5 +S2656,42.8,58.4 +S2657,93.7,223.0 +S2658,38.5,12.0 +S2659,29.2,5.0 +S2660,79.3,249.0 +S2661,24.3,63.6 +S2662,111.6,276.7 +S2663,99.9,216.2 +S2664,33.1,150.2 +S2665,107.8,256.5 +S2666,79.5,214.2 +S2667,20.5,246.7 +S2668,24.5,66.3 +S2669,25.2,5.0 +S2670,22.4,5.0 +S2671,116.0,230.9 +S2672,10.0,198.3 +S2673,33.5,120.0 +S2674,64.2,150.0 +S2675,60.4,231.2 +S2676,55.5,108.3 +S2677,13.6,5.0 +S2678,43.6,101.4 +S2679,80.3,284.0 +S2680,60.8,219.3 +S2681,53.3,101.3 +S2682,23.7,47.1 +S2683,42.1,92.8 +S2684,7.0,5.0 +S2685,78.2,308.7 +S2686,105.2,251.9 +S2687,108.0,283.3 +S2688,89.9,252.2 +S2689,22.6,41.3 +S2690,117.5,290.2 +S2691,105.3,249.3 +S2692,77.5,222.0 +S2693,64.0,109.7 +S2694,118.9,177.9 +S2695,38.4,116.9 +S2696,32.1,5.0 +S2697,69.9,153.9 +S2698,13.6,123.1 +S2699,25.5,182.8 +S2700,86.1,264.0 +S2701,119.3,272.8 +S2702,38.8,177.4 +S2703,71.6,205.1 +S2704,109.0,168.0 +S2705,40.7,91.2 +S2706,44.8,216.7 +S2707,41.2,97.3 +S2708,38.3,190.8 +S2709,54.9,240.6 +S2710,14.2,107.7 +S2711,59.4,186.4 +S2712,91.0,221.6 +S2713,97.8,224.5 +S2714,82.2,173.7 +S2715,6.5,116.8 +S2716,7.7,127.4 +S2717,99.1,212.9 +S2718,90.1,243.2 +S2719,56.4,121.8 +S2720,89.0,231.9 +S2721,61.1,121.4 +S2722,45.5,105.9 +S2723,69.4,205.4 +S2724,104.2,234.9 +S2725,88.9,169.7 +S2726,8.3,81.0 +S2727,102.4,140.2 +S2728,96.8,324.0 +S2729,17.2,130.1 +S2730,50.8,117.3 +S2731,61.8,193.0 +S2732,6.0,25.4 +S2733,81.8,229.6 +S2734,90.7,325.1 +S2735,24.8,12.2 +S2736,82.8,206.2 +S2737,78.5,190.3 +S2738,18.4,5.0 +S2739,110.5,322.2 +S2740,72.7,164.9 +S2741,93.4,194.1 +S2742,8.5,71.0 +S2743,15.6,45.8 +S2744,22.8,140.7 +S2745,119.0,287.0 +S2746,84.1,111.7 +S2747,22.3,97.2 +S2748,48.0,142.1 +S2749,31.2,116.9 +S2750,91.8,103.1 +S2751,47.9,241.1 +S2752,112.5,376.4 +S2753,22.0,5.0 +S2754,20.3,155.4 +S2755,19.3,119.9 +S2756,21.1,5.0 +S2757,66.4,124.6 +S2758,72.2,447.0 +S2759,6.2,8.7 +S2760,73.1,342.2 +S2761,87.6,169.0 +S2762,118.7,367.6 +S2763,92.7,261.6 +S2764,78.3,287.3 +S2765,94.5,200.0 +S2766,45.2,84.4 +S2767,84.0,200.0 +S2768,62.3,121.1 +S2769,7.5,35.3 +S2770,117.0,317.1 +S2771,49.4,114.6 +S2772,63.3,138.9 +S2773,23.2,116.4 +S2774,62.4,23.9 +S2775,37.0,143.2 +S2776,82.6,243.1 +S2777,90.8,159.9 +S2778,79.6,320.6 +S2779,60.3,181.5 +S2780,17.5,5.0 +S2781,11.6,5.0 +S2782,33.0,96.1 +S2783,55.1,223.5 +S2784,54.1,101.6 +S2785,61.3,62.2 +S2786,44.5,152.1 +S2787,18.6,167.1 +S2788,109.5,270.8 +S2789,8.8,86.9 +S2790,69.6,269.2 +S2791,101.0,136.1 +S2792,25.8,131.1 +S2793,14.7,200.0 +S2794,6.0,25.6 +S2795,15.0,124.2 +S2796,49.2,132.0 +S2797,107.1,283.7 +S2798,78.2,149.7 +S2799,107.2,439.6 +S2800,17.9,72.7 +S2801,82.3,240.7 +S2802,45.8,160.2 +S2803,44.2,107.6 +S2804,62.2,206.8 +S2805,109.8,213.1 +S2806,39.3,63.0 +S2807,97.1,222.2 +S2808,25.9,5.0 +S2809,74.5,186.2 +S2810,60.5,227.3 +S2811,10.7,87.2 +S2812,91.4,141.7 +S2813,90.3,163.7 +S2814,61.7,181.7 +S2815,17.7,89.2 +S2816,32.6,108.2 +S2817,12.2,20.9 +S2818,88.2,301.3 +S2819,92.7,319.2 +S2820,37.7,137.7 +S2821,118.9,283.8 +S2822,97.8,394.8 +S2823,48.1,8.0 +S2824,34.9,213.5 +S2825,91.9,288.6 +S2826,59.1,176.6 +S2827,61.5,122.6 +S2828,28.0,82.1 +S2829,62.5,117.3 +S2830,82.6,150.9 +S2831,50.5,163.5 +S2832,84.2,301.1 +S2833,11.3,62.7 +S2834,117.4,261.6 +S2835,40.8,199.9 +S2836,8.0,5.0 +S2837,102.2,111.9 +S2838,55.9,96.6 +S2839,26.1,5.0 +S2840,58.0,189.2 +S2841,111.0,241.0 +S2842,70.7,181.9 +S2843,34.4,183.0 +S2844,118.0,267.1 +S2845,22.2,123.4 +S2846,94.6,277.6 +S2847,77.7,186.3 +S2848,52.2,200.9 +S2849,6.0,151.0 +S2850,84.3,154.9 +S2851,70.1,216.2 +S2852,80.5,316.4 +S2853,72.2,200.2 +S2854,75.3,309.6 +S2855,69.3,167.0 +S2856,38.1,125.9 +S2857,109.1,234.1 +S2858,68.8,235.8 +S2859,103.3,213.4 +S2860,71.9,164.6 +S2861,97.8,232.9 +S2862,74.4,275.9 +S2863,116.4,232.5 +S2864,102.7,115.0 +S2865,78.6,260.1 +S2866,6.1,5.0 +S2867,95.7,215.0 +S2868,65.7,184.8 +S2869,108.9,259.1 +S2870,31.8,134.4 +S2871,13.9,9.4 +S2872,107.5,294.6 +S2873,21.3,122.3 +S2874,76.0,107.5 +S2875,18.3,5.0 +S2876,74.1,161.3 +S2877,89.6,253.9 +S2878,99.9,337.0 +S2879,65.3,68.3 +S2880,86.4,411.6 +S2881,96.1,209.8 +S2882,38.1,70.5 +S2883,81.7,272.4 +S2884,9.9,9.0 +S2885,14.4,5.0 +S2886,101.1,294.4 +S2887,17.5,200.6 +S2888,18.3,124.7 +S2889,13.8,41.4 +S2890,81.7,170.5 +S2891,7.0,5.0 +S2892,111.2,175.6 +S2893,108.2,269.3 +S2894,68.8,175.9 +S2895,56.2,148.3 +S2896,83.8,279.9 +S2897,88.6,135.0 +S2898,116.4,267.1 +S2899,16.5,5.0 +S2900,59.5,298.4 +S2901,21.5,5.0 +S2902,21.2,98.1 +S2903,10.8,5.0 +S2904,118.3,331.3 +S2905,78.4,114.0 +S2906,111.4,389.3 +S2907,69.2,96.5 +S2908,118.6,290.8 +S2909,32.1,200.5 +S2910,91.4,235.8 +S2911,92.6,188.2 +S2912,29.2,5.7 +S2913,104.5,217.8 +S2914,94.9,265.5 +S2915,54.5,129.1 +S2916,113.5,244.7 +S2917,111.3,251.9 +S2918,77.8,227.4 +S2919,11.8,43.8 +S2920,83.2,172.4 +S2921,108.6,296.0 +S2922,47.4,194.5 +S2923,92.3,308.7 +S2924,45.9,163.7 +S2925,103.0,250.3 +S2926,43.6,155.3 +S2927,9.5,9.2 +S2928,22.9,84.2 +S2929,102.4,271.3 +S2930,20.8,34.7 +S2931,114.6,175.2 +S2932,26.2,125.5 +S2933,16.6,50.6 +S2934,88.1,185.1 +S2935,48.9,237.2 +S2936,21.1,178.0 +S2937,83.2,285.8 +S2938,107.4,224.4 +S2939,50.9,105.9 +S2940,99.0,288.9 +S2941,76.3,213.3 +S2942,78.4,241.3 +S2943,61.9,267.8 +S2944,81.5,303.4 +S2945,64.0,55.4 +S2946,24.7,118.7 +S2947,110.4,266.4 +S2948,49.0,5.0 +S2949,68.7,178.8 +S2950,67.0,166.9 +S2951,24.2,119.3 +S2952,67.3,225.5 +S2953,61.4,237.1 +S2954,102.5,181.6 +S2955,54.7,62.6 +S2956,73.0,173.5 +S2957,68.2,149.9 +S2958,99.9,371.3 +S2959,49.5,89.3 +S2960,11.9,186.4 +S2961,84.2,252.8 +S2962,114.5,350.7 +S2963,49.7,102.8 +S2964,100.2,245.5 +S2965,43.0,93.6 +S2966,97.4,216.4 +S2967,28.9,145.5 +S2968,111.0,347.1 +S2969,113.0,197.6 +S2970,35.1,234.5 +S2971,49.4,197.1 +S2972,9.1,86.4 +S2973,32.0,36.6 +S2974,60.2,98.1 +S2975,100.9,280.5 +S2976,63.6,138.9 +S2977,96.0,102.7 +S2978,44.9,306.3 +S2979,115.0,235.7 +S2980,42.7,5.0 +S2981,32.3,84.1 +S2982,56.4,248.7 +S2983,68.8,224.3 +S2984,110.2,384.1 +S2985,32.7,163.6 +S2986,25.8,102.3 +S2987,32.9,244.8 +S2988,18.0,5.0 +S2989,25.0,90.1 +S2990,69.9,232.9 +S2991,84.3,327.0 +S2992,70.8,148.9 +S2993,58.1,122.1 +S2994,80.2,161.8 +S2995,37.3,142.6 +S2996,94.0,296.5 +S2997,6.9,76.7 +S2998,104.7,319.6 +S2999,26.0,93.6 +S3000,41.4,166.7 +S3001,73.5,110.1 +S3002,109.5,256.9 +S3003,21.1,106.0 +S3004,15.7,30.0 +S3005,97.0,275.1 +S3006,41.3,5.0 +S3007,100.6,243.8 +S3008,24.4,135.6 +S3009,17.2,160.6 +S3010,110.4,265.1 +S3011,102.9,198.8 +S3012,57.4,212.5 +S3013,39.7,106.6 +S3014,10.0,80.2 +S3015,32.7,5.0 +S3016,114.0,146.7 +S3017,59.1,278.6 +S3018,17.7,179.1 +S3019,39.4,5.0 +S3020,36.1,5.0 +S3021,38.9,228.1 +S3022,31.9,132.6 +S3023,63.3,245.2 +S3024,77.2,208.1 +S3025,87.7,377.2 +S3026,25.2,67.1 +S3027,69.3,184.2 +S3028,101.7,144.1 +S3029,40.3,94.1 +S3030,73.9,56.0 +S3031,76.4,137.9 +S3032,25.2,100.5 +S3033,80.9,174.3 +S3034,6.4,5.0 +S3035,43.2,268.0 +S3036,85.2,266.7 +S3037,52.1,232.6 +S3038,6.6,5.0 +S3039,57.5,81.5 +S3040,45.0,146.8 +S3041,10.1,110.3 +S3042,50.1,89.2 +S3043,114.8,294.7 +S3044,19.3,5.0 +S3045,103.8,109.7 +S3046,5.2,76.6 +S3047,87.5,249.5 +S3048,104.8,265.0 +S3049,69.8,165.6 +S3050,49.9,183.8 +S3051,9.8,48.1 +S3052,15.7,92.9 +S3053,34.3,5.0 +S3054,8.4,32.1 +S3055,27.3,60.4 +S3056,76.2,347.5 +S3057,34.2,220.4 +S3058,30.0,63.4 +S3059,55.2,170.3 +S3060,104.4,275.4 +S3061,74.2,263.4 +S3062,17.3,44.5 +S3063,84.1,216.9 +S3064,59.3,199.2 +S3065,53.7,62.5 +S3066,37.7,97.4 +S3067,43.8,118.2 +S3068,63.2,195.0 +S3069,78.3,27.1 +S3070,26.3,11.8 +S3071,49.8,167.5 +S3072,12.5,24.1 +S3073,36.7,187.6 +S3074,49.6,196.2 +S3075,9.8,80.4 +S3076,71.4,315.0 +S3077,68.4,68.3 +S3078,86.3,376.6 +S3079,7.8,39.4 +S3080,32.7,151.6 +S3081,96.3,227.3 +S3082,102.3,370.4 +S3083,40.1,28.6 +S3084,83.9,251.4 +S3085,95.9,262.9 +S3086,41.3,170.6 +S3087,7.7,5.0 +S3088,114.7,207.3 +S3089,102.3,204.5 +S3090,76.3,182.2 +S3091,43.6,72.7 +S3092,106.1,151.3 +S3093,64.8,154.4 +S3094,41.1,246.1 +S3095,38.2,39.1 +S3096,70.1,172.5 +S3097,113.1,227.2 +S3098,73.3,178.9 +S3099,8.1,136.5 +S3100,119.6,166.6 +S3101,6.7,5.0 +S3102,6.9,5.0 +S3103,24.1,78.5 +S3104,54.6,201.4 +S3105,29.7,73.4 +S3106,72.7,239.8 +S3107,72.6,54.0 +S3108,94.4,373.5 +S3109,15.3,70.6 +S3110,73.3,143.4 +S3111,108.6,276.9 +S3112,29.8,186.2 +S3113,116.4,240.8 +S3114,25.2,78.7 +S3115,41.5,131.8 +S3116,109.0,308.7 +S3117,23.9,48.3 +S3118,36.4,121.9 +S3119,98.0,363.7 +S3120,68.9,216.5 +S3121,82.7,236.4 +S3122,114.7,279.2 +S3123,41.1,26.1 +S3124,99.2,270.6 +S3125,70.6,206.7 +S3126,74.7,286.3 +S3127,34.8,255.9 +S3128,47.9,121.4 +S3129,112.5,223.7 +S3130,55.1,133.2 +S3131,118.7,196.1 +S3132,101.7,289.1 +S3133,29.9,100.0 +S3134,52.1,113.0 +S3135,16.3,26.4 +S3136,87.5,252.0 +S3137,67.9,128.5 +S3138,33.1,102.8 +S3139,24.1,126.5 +S3140,79.9,250.4 +S3141,8.5,72.2 +S3142,70.1,175.3 +S3143,33.0,157.7 +S3144,102.1,208.5 +S3145,108.7,225.1 +S3146,12.7,5.0 +S3147,114.2,274.0 +S3148,119.8,340.9 +S3149,83.9,203.3 +S3150,116.2,366.4 +S3151,21.6,84.6 +S3152,46.0,79.6 +S3153,22.3,16.1 +S3154,89.6,294.8 +S3155,21.7,55.5 +S3156,23.7,70.6 +S3157,99.3,352.6 +S3158,107.2,328.7 +S3159,74.8,297.5 +S3160,13.7,83.9 +S3161,108.8,122.1 +S3162,42.0,172.6 +S3163,82.6,119.1 +S3164,91.0,64.1 +S3165,32.3,170.3 +S3166,84.7,202.7 +S3167,119.7,84.0 +S3168,6.3,186.7 +S3169,114.8,263.8 +S3170,68.7,251.2 +S3171,68.3,238.3 +S3172,95.5,279.3 +S3173,108.1,197.7 +S3174,117.7,297.8 +S3175,63.2,69.8 +S3176,22.0,140.0 +S3177,78.2,144.8 +S3178,60.5,85.1 +S3179,39.8,87.2 +S3180,17.3,5.0 +S3181,39.6,103.6 +S3182,74.1,281.3 +S3183,65.3,165.9 +S3184,15.7,42.6 +S3185,70.1,124.6 +S3186,99.3,212.5 +S3187,58.0,174.9 +S3188,39.9,103.3 +S3189,77.6,156.4 +S3190,98.3,284.1 +S3191,43.8,144.0 +S3192,29.5,166.0 +S3193,98.9,199.2 +S3194,88.6,268.2 +S3195,45.7,83.5 +S3196,14.3,5.0 +S3197,32.9,5.0 +S3198,110.8,290.0 +S3199,62.8,219.9 +S3200,22.9,174.9 +S3201,27.4,226.8 +S3202,95.5,397.5 +S3203,90.1,98.2 +S3204,43.2,142.5 +S3205,7.5,5.0 +S3206,73.1,261.4 +S3207,39.3,92.8 +S3208,32.4,136.9 +S3209,86.2,256.5 +S3210,58.4,118.6 +S3211,28.6,148.5 +S3212,93.8,271.7 +S3213,34.0,149.5 +S3214,111.4,251.5 +S3215,39.3,15.2 +S3216,34.0,177.7 +S3217,67.0,284.4 +S3218,17.9,67.0 +S3219,20.9,58.1 +S3220,45.5,261.6 +S3221,8.2,33.7 +S3222,75.6,128.8 +S3223,117.1,184.2 +S3224,17.5,20.5 +S3225,93.1,174.9 +S3226,50.8,159.4 +S3227,116.7,233.5 +S3228,84.2,182.9 +S3229,82.6,259.6 +S3230,30.4,14.0 +S3231,32.0,227.7 +S3232,64.0,184.2 +S3233,23.4,172.1 +S3234,68.3,224.8 +S3235,22.4,35.1 +S3236,65.8,132.3 +S3237,91.3,193.0 +S3238,22.0,122.9 +S3239,20.5,116.4 +S3240,112.6,139.2 +S3241,92.4,292.7 +S3242,112.7,317.1 +S3243,59.4,153.9 +S3244,30.4,66.7 +S3245,27.8,162.6 +S3246,58.9,152.0 +S3247,64.9,234.7 +S3248,91.0,183.1 +S3249,41.0,156.7 +S3250,77.8,263.4 +S3251,110.0,298.2 +S3252,27.4,120.1 +S3253,104.6,162.8 +S3254,104.7,327.0 +S3255,21.2,54.9 +S3256,47.4,247.1 +S3257,34.8,5.0 +S3258,74.1,217.4 +S3259,89.8,283.6 +S3260,79.2,195.8 +S3261,114.0,320.9 +S3262,66.4,180.3 +S3263,60.3,177.6 +S3264,112.0,288.9 +S3265,118.0,220.5 +S3266,109.2,147.4 +S3267,90.1,170.3 +S3268,111.7,173.9 +S3269,88.6,156.7 +S3270,87.4,214.9 +S3271,14.5,143.0 +S3272,15.7,175.3 +S3273,6.5,195.9 +S3274,5.2,32.0 +S3275,52.3,5.0 +S3276,61.7,258.1 +S3277,56.8,265.0 +S3278,15.8,260.7 +S3279,54.8,138.5 +S3280,36.1,34.1 +S3281,33.8,24.6 +S3282,55.7,69.9 +S3283,90.6,248.7 +S3284,33.5,18.4 +S3285,74.4,209.5 +S3286,78.3,274.2 +S3287,74.3,215.1 +S3288,58.0,250.9 +S3289,89.6,290.8 +S3290,91.2,359.1 +S3291,75.2,147.4 +S3292,89.6,317.2 +S3293,41.1,85.7 +S3294,77.7,200.9 +S3295,105.5,215.9 +S3296,6.9,5.0 +S3297,5.7,79.1 +S3298,20.1,70.0 +S3299,84.9,160.0 +S3300,47.7,214.9 +S3301,109.3,239.4 +S3302,103.8,236.0 +S3303,28.0,141.0 +S3304,47.3,102.8 +S3305,66.7,208.7 +S3306,63.4,287.9 +S3307,51.9,100.8 +S3308,37.8,86.9 +S3309,72.0,230.1 +S3310,13.5,19.0 +S3311,58.5,127.7 +S3312,11.7,48.3 +S3313,66.9,264.2 +S3314,22.1,5.0 +S3315,72.1,333.6 +S3316,29.0,5.0 +S3317,6.6,5.0 +S3318,118.9,318.3 +S3319,85.0,308.8 +S3320,119.9,289.1 +S3321,80.0,227.7 +S3322,112.3,424.3 +S3323,61.7,222.7 +S3324,64.4,222.6 +S3325,67.5,263.1 +S3326,57.0,137.1 +S3327,58.0,239.4 +S3328,45.2,203.8 +S3329,95.8,269.8 +S3330,81.5,223.7 +S3331,89.8,204.4 +S3332,21.3,55.3 +S3333,28.0,138.6 +S3334,88.4,217.4 +S3335,62.5,190.5 +S3336,28.2,92.6 +S3337,110.5,356.8 +S3338,96.9,320.9 +S3339,103.8,244.1 +S3340,10.7,120.4 +S3341,114.9,198.8 +S3342,61.0,153.6 +S3343,53.5,214.1 +S3344,111.8,337.9 +S3345,80.6,173.7 +S3346,59.7,181.2 +S3347,67.4,236.5 +S3348,25.2,5.0 +S3349,37.1,172.8 +S3350,56.1,176.9 +S3351,16.2,5.0 +S3352,16.3,122.9 +S3353,84.4,224.4 +S3354,87.9,216.4 +S3355,49.5,104.8 +S3356,106.6,220.7 +S3357,37.3,245.7 +S3358,52.1,135.2 +S3359,9.3,50.5 +S3360,67.7,154.5 +S3361,67.6,206.1 +S3362,108.7,218.5 +S3363,56.3,236.4 +S3364,17.0,196.3 +S3365,74.7,194.0 +S3366,11.3,5.0 +S3367,78.7,153.3 +S3368,72.9,111.5 +S3369,27.4,106.7 +S3370,113.0,233.0 +S3371,29.0,222.5 +S3372,112.3,233.6 +S3373,85.1,267.0 +S3374,115.8,195.7 +S3375,111.9,191.8 +S3376,34.6,45.7 +S3377,47.7,123.3 +S3378,70.0,66.7 +S3379,52.2,173.3 +S3380,109.5,249.9 +S3381,105.8,293.0 +S3382,22.2,79.8 +S3383,21.4,146.0 +S3384,79.0,129.6 +S3385,35.9,15.4 +S3386,55.6,193.6 +S3387,92.0,356.5 +S3388,6.8,5.0 +S3389,43.5,20.1 +S3390,57.0,139.3 +S3391,37.6,107.7 +S3392,91.1,281.1 +S3393,66.7,255.1 +S3394,71.4,138.7 +S3395,94.6,361.9 +S3396,116.5,386.4 +S3397,26.9,22.0 +S3398,20.2,5.0 +S3399,90.2,163.1 +S3400,53.7,191.9 +S3401,66.4,240.1 +S3402,80.4,28.3 +S3403,26.9,236.6 +S3404,24.4,33.4 +S3405,36.8,89.0 +S3406,33.7,66.9 +S3407,27.2,173.7 +S3408,6.9,46.4 +S3409,51.8,47.4 +S3410,88.1,204.0 +S3411,20.6,45.7 +S3412,39.5,204.9 +S3413,35.7,120.7 +S3414,27.5,211.8 +S3415,107.3,263.4 +S3416,56.7,125.4 +S3417,18.7,5.0 +S3418,118.6,260.4 +S3419,105.3,441.7 +S3420,101.7,267.1 +S3421,33.7,170.9 +S3422,51.1,126.0 +S3423,67.2,277.3 +S3424,12.7,267.6 +S3425,65.3,259.0 +S3426,15.9,75.1 +S3427,23.7,105.8 +S3428,79.8,162.5 +S3429,27.0,113.1 +S3430,118.0,329.8 +S3431,103.6,141.9 +S3432,41.0,134.7 +S3433,28.9,79.8 +S3434,8.8,154.5 +S3435,66.7,160.7 +S3436,46.5,5.0 +S3437,25.9,71.6 +S3438,108.7,250.7 +S3439,47.1,234.1 +S3440,65.0,206.4 +S3441,106.6,216.3 +S3442,57.7,129.5 +S3443,15.0,72.8 +S3444,75.6,216.0 +S3445,49.8,240.3 +S3446,93.4,369.0 +S3447,10.2,106.2 +S3448,107.1,178.1 +S3449,8.5,210.9 +S3450,39.7,70.9 +S3451,84.7,207.8 +S3452,30.1,191.9 +S3453,99.6,189.1 +S3454,18.9,64.1 +S3455,70.2,125.0 +S3456,106.2,335.3 +S3457,99.0,109.0 +S3458,18.6,5.0 +S3459,108.9,242.9 +S3460,24.7,118.0 +S3461,90.9,215.9 +S3462,82.7,272.6 +S3463,60.2,128.6 +S3464,116.1,296.0 +S3465,6.9,153.9 +S3466,28.8,130.2 +S3467,39.6,116.1 +S3468,55.9,237.3 +S3469,36.2,128.7 +S3470,70.9,225.9 +S3471,50.4,98.2 +S3472,40.0,215.6 +S3473,75.2,197.1 +S3474,12.2,113.9 +S3475,37.5,175.8 +S3476,24.6,68.9 +S3477,118.8,124.3 +S3478,48.7,83.7 +S3479,42.1,153.8 +S3480,81.9,275.1 +S3481,24.4,150.4 +S3482,117.6,214.0 +S3483,70.6,304.2 +S3484,106.3,212.5 +S3485,5.4,44.9 +S3486,111.5,217.4 +S3487,39.2,74.3 +S3488,105.1,178.5 +S3489,107.5,216.2 +S3490,12.1,189.6 +S3491,8.8,5.0 +S3492,112.4,405.4 +S3493,36.9,166.3 +S3494,35.7,134.3 +S3495,104.1,202.5 +S3496,19.4,82.8 +S3497,71.8,128.4 +S3498,29.1,238.8 +S3499,101.7,195.9 +S3500,116.5,270.1 +S3501,97.0,178.7 +S3502,39.6,241.2 +S3503,80.4,205.4 +S3504,14.0,115.2 +S3505,32.4,61.6 +S3506,116.3,324.2 +S3507,15.5,166.3 +S3508,62.7,37.1 +S3509,41.4,161.7 +S3510,6.5,126.3 +S3511,34.1,5.0 +S3512,98.3,452.9 +S3513,13.7,33.4 +S3514,103.6,161.7 +S3515,107.0,379.6 +S3516,62.0,204.5 +S3517,51.0,157.2 +S3518,17.5,229.2 +S3519,82.2,244.3 +S3520,31.8,83.8 +S3521,105.9,237.5 +S3522,68.2,172.7 +S3523,72.0,232.2 +S3524,107.8,335.7 +S3525,13.0,96.1 +S3526,32.6,212.7 +S3527,86.5,165.4 +S3528,8.8,5.0 +S3529,51.8,161.6 +S3530,110.5,247.1 +S3531,37.2,235.3 +S3532,78.1,227.2 +S3533,81.0,288.9 +S3534,6.9,23.2 +S3535,51.0,81.1 +S3536,95.1,184.3 +S3537,72.2,201.0 +S3538,37.8,51.4 +S3539,95.9,344.0 +S3540,17.5,5.0 +S3541,58.1,200.3 +S3542,67.9,159.1 +S3543,90.3,229.3 +S3544,42.3,99.2 +S3545,95.5,219.0 +S3546,67.3,194.2 +S3547,13.0,5.0 +S3548,76.0,94.6 +S3549,109.4,138.6 +S3550,70.7,141.1 +S3551,10.2,102.8 +S3552,26.5,108.2 +S3553,91.8,261.6 +S3554,19.9,38.1 +S3555,86.0,276.6 +S3556,7.8,155.8 +S3557,81.7,285.3 +S3558,54.8,32.0 +S3559,56.9,241.8 +S3560,58.3,92.0 +S3561,61.5,147.4 +S3562,84.6,302.8 +S3563,37.7,180.2 +S3564,48.7,217.4 +S3565,69.8,223.6 +S3566,48.5,118.0 +S3567,105.4,217.0 +S3568,107.4,323.0 +S3569,97.6,137.5 +S3570,77.7,186.5 +S3571,64.7,314.0 +S3572,113.8,352.3 +S3573,63.6,192.6 +S3574,17.5,25.6 +S3575,111.9,223.6 +S3576,51.4,58.9 +S3577,117.1,250.0 +S3578,38.8,195.0 +S3579,58.9,126.3 +S3580,18.7,155.9 +S3581,88.2,186.6 +S3582,13.0,5.0 +S3583,96.0,288.1 +S3584,82.1,228.5 +S3585,69.5,246.8 +S3586,75.4,228.0 +S3587,65.6,127.6 +S3588,57.7,47.7 +S3589,78.9,167.9 +S3590,62.0,42.5 +S3591,107.6,282.0 +S3592,58.3,131.3 +S3593,102.1,263.8 +S3594,110.9,209.1 +S3595,77.9,346.6 +S3596,96.5,216.5 +S3597,30.0,76.5 +S3598,118.9,287.0 +S3599,26.5,212.6 +S3600,83.8,160.1 +S3601,79.5,243.0 +S3602,10.0,5.0 +S3603,40.2,242.5 +S3604,6.3,36.5 +S3605,65.8,253.8 +S3606,73.7,269.6 +S3607,117.6,456.0 +S3608,34.3,57.5 +S3609,17.6,81.0 +S3610,74.4,343.0 +S3611,35.8,114.5 +S3612,98.8,329.2 +S3613,59.4,144.4 +S3614,104.0,303.8 +S3615,17.2,124.1 +S3616,66.5,123.1 +S3617,89.1,168.0 +S3618,29.0,18.8 +S3619,41.1,5.0 +S3620,71.2,141.7 +S3621,45.3,5.0 +S3622,92.5,235.9 +S3623,61.5,211.0 +S3624,110.6,194.7 +S3625,81.9,227.2 +S3626,12.5,116.3 +S3627,54.9,135.1 +S3628,33.7,158.2 +S3629,66.3,92.7 +S3630,91.5,176.7 +S3631,24.9,48.8 +S3632,36.0,116.0 +S3633,105.6,319.0 +S3634,88.7,122.7 +S3635,108.2,281.7 +S3636,13.6,5.0 +S3637,94.8,256.2 +S3638,93.2,238.3 +S3639,92.4,203.5 +S3640,16.1,102.5 +S3641,26.7,100.0 +S3642,21.0,16.0 +S3643,52.5,167.2 +S3644,102.0,208.3 +S3645,85.6,278.4 +S3646,59.4,195.3 +S3647,69.3,119.7 +S3648,55.5,75.6 +S3649,51.4,155.0 +S3650,23.1,147.9 +S3651,20.2,61.5 +S3652,52.9,116.6 +S3653,85.1,135.8 +S3654,59.3,224.8 +S3655,69.7,365.2 +S3656,45.8,215.8 +S3657,48.2,66.5 +S3658,17.5,5.0 +S3659,48.5,60.3 +S3660,36.0,106.5 +S3661,67.2,152.8 +S3662,76.1,149.7 +S3663,61.9,106.7 +S3664,51.9,155.5 +S3665,64.3,131.3 +S3666,5.1,81.1 +S3667,81.0,342.0 +S3668,49.7,216.1 +S3669,100.2,231.9 +S3670,56.4,29.5 +S3671,83.8,350.0 +S3672,96.7,231.8 +S3673,61.4,143.3 +S3674,26.9,125.4 +S3675,50.2,101.9 +S3676,43.3,45.6 +S3677,7.5,57.2 +S3678,109.6,244.2 +S3679,26.5,128.3 +S3680,24.8,196.1 +S3681,82.0,167.4 +S3682,64.5,54.5 +S3683,17.2,140.9 +S3684,62.6,111.7 +S3685,84.2,139.0 +S3686,94.7,256.7 +S3687,12.7,5.0 +S3688,109.3,151.3 +S3689,28.6,101.0 +S3690,119.5,215.5 +S3691,33.1,228.6 +S3692,37.9,159.6 +S3693,70.1,286.8 +S3694,11.8,258.4 +S3695,21.7,104.0 +S3696,25.0,5.0 +S3697,20.8,32.3 +S3698,110.3,315.0 +S3699,91.0,335.6 +S3700,18.8,42.9 +S3701,118.0,272.2 +S3702,63.3,248.2 +S3703,11.2,5.5 +S3704,33.6,152.6 +S3705,18.3,77.8 +S3706,108.0,402.4 +S3707,42.9,117.2 +S3708,119.4,151.2 +S3709,80.1,248.8 +S3710,37.9,145.6 +S3711,32.3,27.3 +S3712,14.2,96.3 +S3713,16.1,40.7 +S3714,29.0,95.4 +S3715,87.5,183.5 +S3716,7.0,5.0 +S3717,46.1,67.6 +S3718,116.0,200.7 +S3719,88.2,343.2 +S3720,6.5,5.0 +S3721,83.9,125.7 +S3722,102.5,296.5 +S3723,54.0,110.4 +S3724,41.9,141.0 +S3725,17.1,69.5 +S3726,102.0,301.7 +S3727,42.4,140.0 +S3728,12.3,135.4 +S3729,35.3,134.0 +S3730,46.2,168.5 +S3731,119.9,244.6 +S3732,79.1,215.8 +S3733,15.7,92.9 +S3734,55.9,111.1 +S3735,93.1,228.1 +S3736,54.3,183.7 +S3737,68.4,163.1 +S3738,50.9,83.2 +S3739,51.3,186.1 +S3740,36.6,112.7 +S3741,100.5,28.4 +S3742,76.0,138.3 +S3743,94.2,224.9 +S3744,91.3,207.5 +S3745,102.4,301.0 +S3746,13.4,153.7 +S3747,111.1,262.9 +S3748,27.8,160.6 +S3749,34.9,72.0 +S3750,12.6,69.7 +S3751,115.6,345.2 +S3752,74.4,213.7 +S3753,108.4,250.1 +S3754,24.7,160.1 +S3755,46.6,312.8 +S3756,57.4,158.2 +S3757,118.3,318.6 +S3758,96.2,311.6 +S3759,67.1,78.5 +S3760,83.4,240.3 +S3761,55.5,147.1 +S3762,58.5,5.0 +S3763,56.3,63.9 +S3764,103.2,171.1 +S3765,101.4,310.6 +S3766,72.7,104.6 +S3767,115.7,319.7 +S3768,56.2,186.8 +S3769,103.4,257.8 +S3770,117.7,284.6 +S3771,70.2,204.0 +S3772,9.4,157.7 +S3773,10.0,44.6 +S3774,54.7,122.2 +S3775,26.8,138.4 +S3776,62.4,103.1 +S3777,62.6,268.4 +S3778,103.9,311.1 +S3779,115.3,311.6 +S3780,118.9,320.5 +S3781,81.8,247.3 +S3782,116.0,287.6 +S3783,65.3,167.6 +S3784,6.6,5.0 +S3785,79.3,174.3 +S3786,103.0,305.0 +S3787,113.5,195.8 +S3788,66.4,191.1 +S3789,56.7,142.4 +S3790,90.1,111.8 +S3791,93.7,354.8 +S3792,87.7,214.1 +S3793,17.6,30.5 +S3794,82.5,271.4 +S3795,88.1,209.3 +S3796,59.2,153.7 +S3797,16.5,156.2 +S3798,38.1,55.1 +S3799,24.1,79.5 +S3800,86.5,207.3 +S3801,105.0,346.9 +S3802,65.3,180.5 +S3803,87.8,261.8 +S3804,64.5,45.8 +S3805,31.3,35.8 +S3806,80.3,173.9 +S3807,52.0,224.6 +S3808,6.0,109.3 +S3809,117.3,353.0 +S3810,24.3,86.4 +S3811,58.8,23.6 +S3812,93.0,316.5 +S3813,66.5,251.8 +S3814,105.9,332.7 +S3815,27.4,127.1 +S3816,14.6,36.0 +S3817,74.1,153.5 +S3818,26.5,112.2 +S3819,64.8,228.3 +S3820,101.3,234.4 +S3821,94.5,351.0 +S3822,62.9,92.1 +S3823,8.5,19.2 +S3824,58.3,149.9 +S3825,71.6,294.7 +S3826,27.0,208.3 +S3827,40.2,30.5 +S3828,110.4,296.5 +S3829,108.4,264.4 +S3830,52.5,60.6 +S3831,75.8,160.4 +S3832,102.1,203.2 +S3833,106.2,145.4 +S3834,13.1,102.1 +S3835,110.1,262.8 +S3836,64.4,237.7 +S3837,68.4,316.0 +S3838,116.8,343.3 +S3839,59.8,129.3 +S3840,117.4,324.2 +S3841,70.6,181.3 +S3842,71.4,79.8 +S3843,63.3,203.3 +S3844,116.5,277.1 +S3845,64.3,256.7 +S3846,42.5,241.1 +S3847,7.7,47.9 +S3848,104.0,290.1 +S3849,85.0,125.9 +S3850,95.4,314.7 +S3851,93.3,344.4 +S3852,35.4,131.1 +S3853,77.3,237.9 +S3854,28.9,94.2 +S3855,98.7,150.3 +S3856,57.2,214.7 +S3857,49.9,134.4 +S3858,109.6,275.3 +S3859,97.0,99.2 +S3860,95.1,293.1 +S3861,103.4,372.3 +S3862,100.3,237.1 +S3863,61.7,123.9 +S3864,55.8,102.3 +S3865,100.8,252.5 +S3866,90.1,208.7 +S3867,78.4,111.3 +S3868,30.6,150.8 +S3869,28.1,73.0 +S3870,16.5,133.0 +S3871,116.6,328.2 +S3872,46.7,88.4 +S3873,9.3,99.6 +S3874,40.1,122.4 +S3875,119.3,266.5 +S3876,116.3,150.7 +S3877,39.6,167.6 +S3878,30.1,128.1 +S3879,84.9,291.1 +S3880,41.5,290.3 +S3881,37.9,79.4 +S3882,9.8,67.3 +S3883,39.5,45.8 +S3884,85.9,256.2 +S3885,87.9,221.5 +S3886,82.1,115.1 +S3887,21.4,182.5 +S3888,93.0,288.9 +S3889,88.8,112.9 +S3890,44.0,134.7 +S3891,38.8,145.2 +S3892,36.6,155.6 +S3893,60.7,193.4 +S3894,93.2,242.8 +S3895,41.6,118.3 +S3896,48.6,168.2 +S3897,23.6,11.3 +S3898,16.1,88.9 +S3899,80.6,173.1 +S3900,60.2,258.1 +S3901,27.9,135.8 +S3902,62.5,183.7 +S3903,105.1,239.6 +S3904,116.0,246.1 +S3905,113.5,341.8 +S3906,44.4,202.0 +S3907,98.5,237.3 +S3908,83.9,268.3 +S3909,117.4,294.2 +S3910,20.8,150.4 +S3911,82.6,212.7 +S3912,99.3,238.3 +S3913,116.4,381.7 +S3914,111.5,381.7 +S3915,62.9,230.7 +S3916,69.6,262.7 +S3917,30.7,111.1 +S3918,50.6,109.1 +S3919,15.6,68.1 +S3920,68.9,142.6 +S3921,61.4,194.8 +S3922,30.5,72.5 +S3923,37.6,216.6 +S3924,113.1,167.2 +S3925,89.8,260.6 +S3926,107.3,244.1 +S3927,119.1,337.4 +S3928,61.5,240.4 +S3929,61.9,52.4 +S3930,113.7,338.1 +S3931,29.5,171.4 +S3932,58.9,207.4 +S3933,41.5,174.1 +S3934,22.7,5.0 +S3935,91.3,168.8 +S3936,91.7,168.8 +S3937,66.4,194.9 +S3938,116.9,329.2 +S3939,24.0,31.5 +S3940,33.3,107.8 +S3941,68.5,135.9 +S3942,23.8,142.7 +S3943,35.5,209.1 +S3944,75.9,62.4 +S3945,92.7,159.4 +S3946,116.6,307.7 +S3947,98.6,101.4 +S3948,31.4,132.2 +S3949,41.8,194.3 +S3950,31.8,155.4 +S3951,74.8,237.8 +S3952,44.5,151.8 +S3953,101.0,230.0 +S3954,16.1,5.0 +S3955,34.9,124.9 +S3956,90.1,218.4 +S3957,113.7,405.7 +S3958,98.9,393.8 +S3959,109.6,349.3 +S3960,62.0,200.9 +S3961,58.7,222.4 +S3962,40.0,175.6 +S3963,70.2,157.2 +S3964,23.8,208.1 +S3965,62.9,288.9 +S3966,117.6,385.4 +S3967,72.8,216.0 +S3968,29.5,134.6 +S3969,116.2,355.5 +S3970,51.1,180.2 +S3971,43.7,165.8 +S3972,26.9,86.5 +S3973,51.1,167.2 +S3974,28.7,159.1 +S3975,50.2,246.1 +S3976,44.6,81.8 +S3977,81.4,289.1 +S3978,45.7,193.3 +S3979,24.7,101.1 +S3980,68.9,140.0 +S3981,98.1,197.8 +S3982,38.7,85.9 +S3983,58.2,27.9 +S3984,36.7,149.5 +S3985,57.3,168.4 +S3986,70.9,243.8 +S3987,69.6,241.3 +S3988,9.0,37.6 +S3989,28.7,5.0 +S3990,12.3,5.0 +S3991,111.8,166.4 +S3992,117.7,314.6 +S3993,104.7,198.0 +S3994,89.4,234.0 +S3995,56.0,140.6 +S3996,107.1,222.2 +S3997,77.4,196.8 +S3998,11.9,13.9 +S3999,16.0,52.6 +S4000,15.3,76.7 +S4001,107.8,242.2 +S4002,94.3,210.9 +S4003,59.6,133.4 +S4004,13.1,198.9 +S4005,118.6,312.2 +S4006,34.3,5.0 +S4007,20.8,98.1 +S4008,71.1,206.5 +S4009,21.2,157.8 +S4010,40.0,111.6 +S4011,104.3,210.5 +S4012,6.7,5.0 +S4013,14.7,34.5 +S4014,109.6,414.5 +S4015,48.6,95.0 +S4016,68.7,271.7 +S4017,115.8,371.2 +S4018,95.7,333.0 +S4019,27.2,29.3 +S4020,45.0,128.8 +S4021,13.8,121.6 +S4022,44.9,171.2 +S4023,41.0,210.0 +S4024,15.3,190.0 +S4025,57.1,223.5 +S4026,51.8,243.7 +S4027,50.8,113.0 +S4028,93.1,259.5 +S4029,69.7,203.5 +S4030,100.8,274.3 +S4031,12.9,80.0 +S4032,33.7,150.9 +S4033,61.9,157.7 +S4034,99.4,316.6 +S4035,74.0,226.0 +S4036,78.6,231.6 +S4037,83.6,281.2 +S4038,69.2,247.0 +S4039,54.0,246.1 +S4040,29.8,91.0 +S4041,62.5,145.8 +S4042,82.1,67.2 +S4043,102.5,321.8 +S4044,71.6,103.9 +S4045,102.9,233.3 +S4046,99.1,383.2 +S4047,99.2,222.9 +S4048,20.7,133.4 +S4049,83.8,262.3 +S4050,17.0,94.4 +S4051,15.0,57.8 +S4052,34.1,171.9 +S4053,94.2,178.1 +S4054,8.8,82.9 +S4055,16.4,9.3 +S4056,88.6,267.4 +S4057,74.0,194.3 +S4058,114.3,286.3 +S4059,31.4,155.7 +S4060,63.4,165.8 +S4061,77.9,199.1 +S4062,89.6,266.5 +S4063,29.1,79.2 +S4064,29.4,93.5 +S4065,41.4,81.2 +S4066,89.2,208.1 +S4067,36.7,44.0 +S4068,65.2,232.0 +S4069,22.0,148.7 +S4070,88.8,233.7 +S4071,31.2,29.7 +S4072,112.0,214.9 +S4073,65.5,94.6 +S4074,73.9,231.2 +S4075,97.7,154.0 +S4076,108.9,397.9 +S4077,59.7,167.2 +S4078,16.7,41.6 +S4079,116.6,384.6 +S4080,93.0,276.2 +S4081,89.4,167.1 +S4082,31.4,154.8 +S4083,52.8,90.1 +S4084,11.9,27.3 +S4085,61.8,85.3 +S4086,57.3,290.0 +S4087,103.6,215.1 +S4088,118.0,280.9 +S4089,61.3,248.2 +S4090,37.4,170.4 +S4091,67.6,155.4 +S4092,72.2,233.6 +S4093,98.9,328.2 +S4094,32.2,131.8 +S4095,30.7,47.6 +S4096,43.6,16.6 +S4097,92.7,176.5 +S4098,75.3,123.7 +S4099,30.4,78.9 +S4100,111.4,193.2 +S4101,13.1,5.0 +S4102,88.7,192.1 +S4103,76.1,96.8 +S4104,78.9,193.7 +S4105,90.0,260.3 +S4106,48.8,124.2 +S4107,88.8,243.5 +S4108,77.4,158.4 +S4109,118.4,396.4 +S4110,49.6,104.8 +S4111,94.0,127.3 +S4112,44.1,79.5 +S4113,66.7,185.3 +S4114,113.3,238.0 +S4115,110.4,253.0 +S4116,55.7,174.8 +S4117,38.2,85.7 +S4118,88.9,176.6 +S4119,110.5,359.6 +S4120,20.7,65.7 +S4121,13.9,132.6 +S4122,59.1,160.2 +S4123,66.5,211.8 +S4124,27.0,83.0 +S4125,112.4,212.2 +S4126,37.7,203.9 +S4127,100.0,322.1 +S4128,99.6,181.9 +S4129,116.2,261.0 +S4130,14.0,76.6 +S4131,54.2,139.8 +S4132,48.4,146.9 +S4133,61.2,77.7 +S4134,99.9,207.6 +S4135,91.3,200.2 +S4136,91.0,286.0 +S4137,35.3,56.9 +S4138,68.4,117.9 +S4139,46.4,287.4 +S4140,8.8,155.3 +S4141,47.2,169.9 +S4142,50.4,153.2 +S4143,12.8,51.3 +S4144,22.4,187.6 +S4145,38.3,55.8 +S4146,56.0,146.3 +S4147,103.5,267.0 +S4148,37.2,109.6 +S4149,95.1,186.8 +S4150,6.1,87.5 +S4151,88.2,306.5 +S4152,8.3,5.0 +S4153,17.2,47.7 +S4154,86.0,347.3 +S4155,82.1,275.5 +S4156,106.8,337.4 +S4157,11.4,84.2 +S4158,13.8,65.0 +S4159,51.8,125.0 +S4160,98.3,347.1 +S4161,46.6,140.3 +S4162,31.9,97.3 +S4163,64.0,197.5 +S4164,13.7,5.0 +S4165,111.7,233.5 +S4166,19.6,183.4 +S4167,77.5,146.2 +S4168,57.4,124.5 +S4169,76.4,251.8 +S4170,28.7,170.5 +S4171,102.7,359.3 +S4172,90.3,347.1 +S4173,87.5,219.3 +S4174,30.2,64.4 +S4175,45.5,139.3 +S4176,61.6,197.3 +S4177,14.0,78.7 +S4178,43.4,71.5 +S4179,14.6,32.3 +S4180,62.9,189.8 +S4181,55.5,266.3 +S4182,99.1,451.2 +S4183,33.5,5.0 +S4184,18.3,167.5 +S4185,99.1,343.5 +S4186,20.2,90.7 +S4187,46.2,96.2 +S4188,12.5,55.5 +S4189,78.6,212.9 +S4190,96.8,463.4 +S4191,102.0,258.0 +S4192,42.4,108.0 +S4193,100.1,294.1 +S4194,26.3,66.3 +S4195,70.4,123.2 +S4196,54.0,103.0 +S4197,54.9,74.3 +S4198,80.8,62.6 +S4199,105.1,355.4 +S4200,77.2,347.0 +S4201,69.9,227.4 +S4202,63.2,331.8 +S4203,8.3,23.1 +S4204,45.9,110.1 +S4205,71.5,268.0 +S4206,58.1,69.7 +S4207,19.4,108.8 +S4208,111.1,239.2 +S4209,87.3,196.6 +S4210,10.9,87.0 +S4211,40.6,277.5 +S4212,46.6,155.8 +S4213,76.4,193.8 +S4214,51.1,122.8 +S4215,100.1,276.5 +S4216,22.5,7.4 +S4217,23.8,143.9 +S4218,84.0,276.8 +S4219,76.2,328.4 +S4220,26.0,86.0 +S4221,39.4,146.0 +S4222,71.7,221.3 +S4223,110.9,194.3 +S4224,21.4,152.0 +S4225,5.5,147.8 +S4226,33.2,129.4 +S4227,111.8,296.0 +S4228,85.6,258.0 +S4229,38.1,5.0 +S4230,74.8,161.9 +S4231,79.1,306.4 +S4232,38.5,139.7 +S4233,68.9,5.0 +S4234,75.7,161.6 +S4235,41.8,235.5 +S4236,11.5,207.4 +S4237,56.6,243.1 +S4238,49.2,150.3 +S4239,38.1,197.2 +S4240,67.1,203.2 +S4241,52.1,165.7 +S4242,25.3,191.7 +S4243,50.9,175.1 +S4244,73.2,205.1 +S4245,94.7,172.9 +S4246,74.2,222.9 +S4247,83.2,150.2 +S4248,19.0,130.6 +S4249,34.8,45.7 +S4250,6.4,52.2 +S4251,86.8,252.1 +S4252,21.6,140.8 +S4253,20.2,82.2 +S4254,76.0,258.0 +S4255,55.8,85.9 +S4256,86.6,215.6 +S4257,54.3,320.1 +S4258,56.4,190.6 +S4259,18.0,8.6 +S4260,101.0,256.4 +S4261,62.7,281.3 +S4262,46.8,250.3 +S4263,84.7,102.4 +S4264,81.6,162.9 +S4265,10.2,88.7 +S4266,50.4,65.8 +S4267,54.7,234.5 +S4268,46.9,219.3 +S4269,61.0,82.2 +S4270,63.7,121.8 +S4271,25.2,31.1 +S4272,83.4,304.2 +S4273,73.5,272.6 +S4274,65.7,257.1 +S4275,47.6,175.2 +S4276,14.4,68.5 +S4277,17.6,5.0 +S4278,7.1,5.0 +S4279,80.5,174.3 +S4280,90.0,130.1 +S4281,55.3,201.1 +S4282,106.7,298.3 +S4283,39.5,136.1 +S4284,106.9,264.8 +S4285,79.2,201.3 +S4286,90.0,175.5 +S4287,85.2,176.7 +S4288,47.7,170.8 +S4289,105.0,354.9 +S4290,73.4,317.8 +S4291,82.8,191.0 +S4292,113.0,228.0 +S4293,39.8,137.6 +S4294,72.0,180.8 +S4295,82.6,200.8 +S4296,86.3,185.4 +S4297,114.2,320.1 +S4298,27.3,69.5 +S4299,81.8,95.5 +S4300,102.7,302.5 +S4301,93.0,236.3 +S4302,40.5,56.9 +S4303,102.3,159.6 +S4304,11.9,94.3 +S4305,65.1,343.1 +S4306,33.8,144.5 +S4307,93.1,249.8 +S4308,25.8,5.0 +S4309,17.3,42.1 +S4310,65.5,131.4 +S4311,17.5,5.0 +S4312,62.1,213.2 +S4313,104.7,237.8 +S4314,91.5,347.2 +S4315,26.6,153.6 +S4316,119.5,397.7 +S4317,49.6,136.8 +S4318,6.1,41.4 +S4319,8.3,27.3 +S4320,35.4,43.0 +S4321,10.5,116.1 +S4322,95.2,211.5 +S4323,112.2,267.7 +S4324,114.9,247.5 +S4325,83.1,274.0 +S4326,12.4,63.6 +S4327,36.2,108.5 +S4328,107.9,121.6 +S4329,19.2,80.0 +S4330,57.4,84.3 +S4331,109.4,232.2 +S4332,42.9,177.4 +S4333,49.1,171.3 +S4334,29.1,86.6 +S4335,115.0,175.2 +S4336,62.1,301.3 +S4337,107.8,242.8 +S4338,64.9,196.0 +S4339,76.4,163.1 +S4340,50.9,57.4 +S4341,33.0,204.8 +S4342,96.8,266.5 +S4343,92.0,261.3 +S4344,63.0,134.4 +S4345,15.7,128.7 +S4346,28.6,126.1 +S4347,55.8,116.8 +S4348,19.7,86.2 +S4349,14.4,99.7 +S4350,103.2,342.7 +S4351,51.9,170.1 +S4352,7.5,5.0 +S4353,68.2,266.7 +S4354,7.0,79.3 +S4355,73.0,298.6 +S4356,96.0,268.7 +S4357,115.5,240.0 +S4358,43.3,13.5 +S4359,67.4,65.5 +S4360,91.9,244.8 +S4361,8.5,49.8 +S4362,74.7,244.3 +S4363,24.2,70.0 +S4364,47.3,31.9 +S4365,70.2,167.5 +S4366,23.3,54.2 +S4367,13.7,82.1 +S4368,53.2,5.0 +S4369,98.4,112.3 +S4370,62.3,112.5 +S4371,13.3,5.0 +S4372,25.3,29.4 +S4373,117.8,222.1 +S4374,93.7,225.7 +S4375,82.0,300.3 +S4376,115.4,272.5 +S4377,37.8,119.6 +S4378,22.8,56.1 +S4379,36.3,78.3 +S4380,111.5,217.2 +S4381,74.2,223.4 +S4382,25.0,140.0 +S4383,103.0,310.4 +S4384,71.4,120.5 +S4385,11.4,23.4 +S4386,18.3,183.8 +S4387,50.6,77.0 +S4388,114.7,222.0 +S4389,92.1,272.8 +S4390,102.4,179.4 +S4391,19.1,60.7 +S4392,26.2,157.3 +S4393,69.3,239.8 +S4394,62.1,161.8 +S4395,64.4,216.7 +S4396,99.3,278.5 +S4397,16.7,55.1 +S4398,79.3,197.1 +S4399,5.7,94.6 +S4400,58.4,186.1 +S4401,48.0,143.0 +S4402,67.5,186.5 +S4403,102.4,266.3 +S4404,96.7,241.0 +S4405,8.2,88.1 +S4406,69.3,174.9 +S4407,77.8,190.5 +S4408,91.7,259.6 +S4409,14.8,5.0 +S4410,34.3,84.5 +S4411,58.5,130.9 +S4412,84.7,163.3 +S4413,27.2,84.8 +S4414,96.2,162.0 +S4415,106.8,354.9 +S4416,114.5,112.7 +S4417,42.6,63.6 +S4418,70.1,264.5 +S4419,49.9,85.1 +S4420,47.7,115.8 +S4421,65.3,178.8 +S4422,9.6,23.6 +S4423,97.5,238.0 +S4424,34.2,37.3 +S4425,12.6,21.1 +S4426,38.1,111.6 +S4427,111.9,222.6 +S4428,59.6,228.9 +S4429,42.6,37.9 +S4430,105.5,316.6 +S4431,107.2,179.3 +S4432,11.3,5.0 +S4433,8.8,95.4 +S4434,94.2,223.2 +S4435,97.5,281.5 +S4436,57.9,16.8 +S4437,108.2,318.6 +S4438,14.1,114.1 +S4439,55.3,206.9 +S4440,74.0,248.5 +S4441,100.2,266.9 +S4442,64.0,88.0 +S4443,56.2,209.3 +S4444,113.1,172.6 +S4445,110.1,201.9 +S4446,78.5,292.3 +S4447,12.0,78.7 +S4448,103.2,318.5 +S4449,99.6,144.3 +S4450,9.9,141.3 +S4451,13.1,5.0 +S4452,99.1,69.6 +S4453,56.6,20.6 +S4454,98.4,176.7 +S4455,63.4,192.3 +S4456,61.0,192.3 +S4457,81.8,247.2 +S4458,96.1,190.5 +S4459,104.6,316.7 +S4460,23.2,140.1 +S4461,33.4,52.3 +S4462,86.5,218.7 +S4463,83.0,183.7 +S4464,35.4,24.7 +S4465,57.1,262.9 +S4466,37.6,223.6 +S4467,31.8,54.8 +S4468,110.7,186.1 +S4469,105.3,334.8 +S4470,52.1,141.3 +S4471,23.0,136.9 +S4472,5.4,7.5 +S4473,45.0,160.6 +S4474,20.3,21.1 +S4475,71.0,289.1 +S4476,6.6,58.7 +S4477,94.8,309.1 +S4478,47.0,75.3 +S4479,107.3,190.5 +S4480,73.6,62.8 +S4481,19.5,123.4 +S4482,45.9,59.7 +S4483,78.7,157.2 +S4484,79.4,296.9 +S4485,43.6,102.3 +S4486,66.5,235.3 +S4487,117.8,289.3 +S4488,79.0,69.4 +S4489,30.9,161.5 +S4490,15.9,108.4 +S4491,95.2,456.6 +S4492,62.8,125.0 +S4493,42.1,278.3 +S4494,71.4,261.6 +S4495,49.8,162.2 +S4496,53.2,16.2 +S4497,80.1,60.0 +S4498,44.5,78.4 +S4499,81.4,281.8 +S4500,57.9,289.6 +S4501,102.5,285.1 +S4502,43.6,50.5 +S4503,38.5,128.9 +S4504,98.3,458.6 +S4505,81.5,254.4 +S4506,96.5,250.5 +S4507,42.4,204.6 +S4508,100.5,335.4 +S4509,27.5,33.2 +S4510,56.2,142.6 +S4511,101.1,365.9 +S4512,67.5,239.4 +S4513,110.7,252.8 +S4514,51.8,187.1 +S4515,114.1,400.6 +S4516,40.8,93.0 +S4517,12.8,5.0 +S4518,20.6,129.8 +S4519,86.9,160.2 +S4520,95.7,207.6 +S4521,91.3,335.7 +S4522,64.1,191.7 +S4523,87.6,206.0 +S4524,83.3,211.4 +S4525,81.6,276.5 +S4526,108.1,241.5 +S4527,57.9,141.3 +S4528,8.3,51.8 +S4529,29.4,213.1 +S4530,90.3,160.7 +S4531,90.1,113.3 +S4532,69.0,163.5 +S4533,70.1,165.2 +S4534,8.8,89.6 +S4535,29.6,76.3 +S4536,84.5,123.2 +S4537,53.0,61.0 +S4538,11.9,14.7 +S4539,60.8,208.0 +S4540,106.6,196.3 +S4541,88.1,151.9 +S4542,94.9,196.1 +S4543,25.1,136.7 +S4544,67.6,131.8 +S4545,58.9,181.2 +S4546,102.9,259.6 +S4547,84.0,227.4 +S4548,111.2,397.2 +S4549,98.3,271.5 +S4550,36.3,5.0 +S4551,54.1,109.6 +S4552,56.6,156.0 +S4553,50.3,85.1 +S4554,61.6,242.5 +S4555,11.0,232.3 +S4556,9.5,5.0 +S4557,26.1,182.1 +S4558,88.9,239.8 +S4559,54.0,165.4 +S4560,36.9,210.2 +S4561,98.6,175.5 +S4562,10.2,181.8 +S4563,43.3,78.3 +S4564,91.6,143.7 +S4565,6.0,23.3 +S4566,114.5,328.0 +S4567,23.8,69.7 +S4568,45.5,201.4 +S4569,79.8,272.2 +S4570,55.9,197.7 +S4571,8.4,14.9 +S4572,29.0,75.8 +S4573,109.5,365.1 +S4574,110.6,277.0 +S4575,58.0,198.4 +S4576,6.7,213.2 +S4577,45.6,177.6 +S4578,63.5,221.9 +S4579,101.9,281.3 +S4580,62.3,150.0 +S4581,21.6,182.8 +S4582,71.2,131.6 +S4583,38.7,166.5 +S4584,21.3,50.2 +S4585,39.9,160.2 +S4586,47.2,198.6 +S4587,61.5,230.7 +S4588,10.3,83.4 +S4589,104.4,308.3 +S4590,95.0,225.8 +S4591,51.7,76.6 +S4592,48.7,256.0 +S4593,62.5,136.6 +S4594,19.2,34.0 +S4595,77.7,129.8 +S4596,109.4,258.2 +S4597,83.5,212.5 +S4598,37.8,209.3 +S4599,17.2,83.4 +S4600,15.1,14.6 +S4601,91.7,150.5 +S4602,95.2,278.4 +S4603,24.3,117.4 +S4604,119.4,356.8 +S4605,13.6,5.0 +S4606,115.1,280.2 +S4607,16.9,36.4 +S4608,113.5,275.0 +S4609,97.2,305.4 +S4610,45.1,128.7 +S4611,103.0,224.7 +S4612,86.2,415.8 +S4613,40.0,182.8 +S4614,112.4,379.2 +S4615,9.7,67.5 +S4616,78.7,224.4 +S4617,106.8,301.5 +S4618,27.0,56.0 +S4619,99.0,224.7 +S4620,75.2,151.6 +S4621,70.7,210.7 +S4622,84.5,204.5 +S4623,55.5,95.3 +S4624,70.0,129.0 +S4625,47.1,151.0 +S4626,75.2,216.9 +S4627,31.2,210.9 +S4628,67.8,138.2 +S4629,10.5,5.0 +S4630,75.4,119.9 +S4631,52.3,166.3 +S4632,60.6,117.9 +S4633,39.6,78.2 +S4634,50.5,87.7 +S4635,28.4,103.2 +S4636,82.0,205.0 +S4637,67.5,200.4 +S4638,83.2,224.2 +S4639,77.5,127.3 +S4640,76.5,258.5 +S4641,61.5,51.7 +S4642,98.2,281.8 +S4643,42.9,5.0 +S4644,38.1,115.1 +S4645,113.1,232.5 +S4646,80.0,320.9 +S4647,85.9,244.4 +S4648,41.6,225.2 +S4649,38.7,103.9 +S4650,28.3,145.7 +S4651,44.1,72.9 +S4652,25.5,155.4 +S4653,76.2,98.7 +S4654,76.8,138.9 +S4655,42.8,180.9 +S4656,56.3,106.0 +S4657,20.3,5.0 +S4658,11.0,85.1 +S4659,95.7,276.7 +S4660,13.2,197.8 +S4661,30.4,160.6 +S4662,16.8,100.0 +S4663,104.9,328.6 +S4664,27.9,113.2 +S4665,91.7,301.7 +S4666,55.4,62.9 +S4667,35.5,69.4 +S4668,116.7,397.9 +S4669,19.6,102.0 +S4670,114.7,247.7 +S4671,52.8,123.7 +S4672,97.9,279.1 +S4673,54.6,298.8 +S4674,112.7,318.2 +S4675,99.7,121.3 +S4676,15.1,166.1 +S4677,61.9,270.9 +S4678,49.2,168.3 +S4679,89.3,231.6 +S4680,82.5,242.7 +S4681,109.3,312.6 +S4682,85.2,272.6 +S4683,102.3,415.6 +S4684,81.5,234.3 +S4685,33.2,83.6 +S4686,50.9,41.1 +S4687,68.7,88.0 +S4688,17.7,185.2 +S4689,51.4,164.9 +S4690,72.4,204.5 +S4691,111.5,327.6 +S4692,63.0,220.8 +S4693,42.7,180.5 +S4694,60.1,163.4 +S4695,5.6,95.7 +S4696,32.8,229.7 +S4697,22.8,72.0 +S4698,26.6,103.8 +S4699,57.8,66.6 +S4700,66.8,167.1 +S4701,71.2,224.2 +S4702,105.2,316.6 +S4703,75.6,276.1 +S4704,87.3,204.5 +S4705,44.4,51.7 +S4706,32.1,139.6 +S4707,94.2,201.9 +S4708,81.7,247.9 +S4709,82.5,114.1 +S4710,81.7,192.4 +S4711,49.4,147.2 +S4712,93.2,201.1 +S4713,21.7,169.2 +S4714,99.1,218.5 +S4715,10.4,13.7 +S4716,39.0,224.0 +S4717,105.9,216.0 +S4718,110.9,289.4 +S4719,65.8,62.8 +S4720,74.5,249.1 +S4721,34.8,176.4 +S4722,11.8,23.5 +S4723,90.7,216.2 +S4724,39.1,161.3 +S4725,80.6,139.0 +S4726,95.8,332.4 +S4727,55.1,183.7 +S4728,34.0,38.7 +S4729,83.5,206.4 +S4730,87.7,314.1 +S4731,43.2,91.6 +S4732,74.6,156.1 +S4733,7.5,5.0 +S4734,103.3,333.9 +S4735,28.0,134.0 +S4736,80.7,98.1 +S4737,76.2,212.9 +S4738,22.9,5.0 +S4739,79.6,166.0 +S4740,114.4,294.3 +S4741,46.5,54.3 +S4742,56.9,70.1 +S4743,55.7,261.7 +S4744,116.6,315.5 +S4745,43.9,85.2 +S4746,32.4,182.7 +S4747,14.9,21.2 +S4748,47.6,8.0 +S4749,39.7,111.1 +S4750,88.8,153.5 +S4751,110.5,196.7 +S4752,29.3,5.0 +S4753,13.1,31.1 +S4754,78.1,86.8 +S4755,52.5,224.0 +S4756,29.8,54.8 +S4757,110.4,164.1 +S4758,89.0,143.3 +S4759,33.9,125.2 +S4760,21.9,135.3 +S4761,32.5,163.0 +S4762,117.9,260.3 +S4763,44.4,66.0 +S4764,67.8,152.9 +S4765,33.8,158.9 +S4766,79.1,201.1 +S4767,116.6,281.7 +S4768,73.7,78.2 +S4769,92.1,286.6 +S4770,89.1,244.4 +S4771,67.7,168.5 +S4772,108.4,303.5 +S4773,59.1,185.2 +S4774,58.0,122.5 +S4775,34.2,59.3 +S4776,106.5,231.1 +S4777,53.2,234.0 +S4778,72.1,236.0 +S4779,117.8,230.2 +S4780,103.0,212.4 +S4781,66.5,80.7 +S4782,27.7,52.1 +S4783,62.3,248.1 +S4784,66.2,249.9 +S4785,62.5,348.1 +S4786,114.1,311.1 +S4787,79.9,276.3 +S4788,44.9,175.0 +S4789,45.5,116.7 +S4790,72.4,93.3 +S4791,90.0,124.2 +S4792,29.4,100.7 +S4793,52.7,196.3 +S4794,72.2,188.6 +S4795,53.3,158.7 +S4796,110.0,138.6 +S4797,97.7,273.0 +S4798,55.5,181.8 +S4799,96.5,239.4 +S4800,101.4,312.2 +S4801,85.6,163.5 +S4802,100.5,84.1 +S4803,46.3,109.8 +S4804,63.9,139.0 +S4805,11.8,5.0 +S4806,16.5,216.5 +S4807,47.4,159.0 +S4808,72.3,156.6 +S4809,117.2,426.5 +S4810,16.6,73.4 +S4811,69.3,212.6 +S4812,108.7,356.1 +S4813,95.8,12.6 +S4814,113.6,280.0 +S4815,13.8,7.7 +S4816,20.5,36.2 +S4817,34.3,5.0 +S4818,31.5,154.1 +S4819,26.9,5.0 +S4820,65.8,284.4 +S4821,74.6,226.6 +S4822,19.4,58.5 +S4823,29.6,137.9 +S4824,54.0,129.0 +S4825,36.8,134.6 +S4826,111.7,197.5 +S4827,7.3,5.0 +S4828,106.7,288.2 +S4829,13.2,133.0 +S4830,95.8,207.6 +S4831,10.7,14.6 +S4832,95.4,128.7 +S4833,119.2,276.4 +S4834,17.1,90.7 +S4835,94.4,189.7 +S4836,18.9,144.3 +S4837,6.2,39.2 +S4838,108.0,300.6 +S4839,46.1,212.7 +S4840,45.3,179.3 +S4841,45.9,38.8 +S4842,10.8,83.8 +S4843,118.3,317.9 +S4844,119.4,340.6 +S4845,52.3,147.8 +S4846,114.5,219.8 +S4847,42.2,117.4 +S4848,83.0,368.2 +S4849,42.6,300.0 +S4850,28.1,130.9 +S4851,55.0,199.9 +S4852,113.2,146.0 +S4853,94.1,219.6 +S4854,46.3,96.3 +S4855,14.8,13.0 +S4856,17.3,102.6 +S4857,57.7,86.1 +S4858,115.2,333.8 +S4859,44.5,95.6 +S4860,84.3,266.1 +S4861,117.0,240.9 +S4862,50.8,144.0 +S4863,73.1,223.6 +S4864,63.2,286.1 +S4865,48.4,179.9 +S4866,92.9,256.8 +S4867,98.4,328.2 +S4868,104.5,260.5 +S4869,106.8,238.6 +S4870,38.1,134.8 +S4871,15.8,43.1 +S4872,65.3,53.2 +S4873,12.9,41.1 +S4874,105.2,223.4 +S4875,88.6,323.1 +S4876,118.2,284.9 +S4877,70.6,215.5 +S4878,40.2,178.6 +S4879,5.2,85.3 +S4880,107.9,278.9 +S4881,82.5,237.0 +S4882,27.5,39.7 +S4883,85.6,228.9 +S4884,88.5,292.0 +S4885,94.5,163.7 +S4886,103.3,266.3 +S4887,49.7,261.7 +S4888,63.3,190.9 +S4889,104.1,197.7 +S4890,16.1,63.0 +S4891,76.6,165.8 +S4892,10.7,95.7 +S4893,73.8,381.3 +S4894,86.8,178.8 +S4895,109.3,272.5 +S4896,69.8,261.3 +S4897,46.1,19.5 +S4898,118.2,375.9 +S4899,10.4,5.0 +S4900,47.3,136.5 +S4901,36.5,184.8 +S4902,7.2,5.0 +S4903,34.7,194.0 +S4904,25.8,59.1 +S4905,66.5,220.6 +S4906,110.7,319.9 +S4907,15.6,104.4 +S4908,70.2,68.0 +S4909,101.2,134.1 +S4910,16.0,105.5 +S4911,69.5,269.4 +S4912,35.2,38.1 +S4913,13.3,5.0 +S4914,25.3,112.6 +S4915,105.6,345.1 +S4916,78.9,117.0 +S4917,83.7,162.8 +S4918,96.8,379.8 +S4919,58.0,77.6 +S4920,18.2,124.0 +S4921,110.1,240.5 +S4922,79.8,153.4 +S4923,60.6,126.8 +S4924,74.5,200.3 +S4925,107.8,251.7 +S4926,8.2,5.0 +S4927,92.2,310.9 +S4928,87.3,227.3 +S4929,26.4,16.3 +S4930,91.1,104.9 +S4931,69.1,220.6 +S4932,32.6,103.5 +S4933,28.5,103.0 +S4934,62.2,180.8 +S4935,76.0,128.2 +S4936,50.0,174.4 +S4937,54.6,224.1 +S4938,89.3,249.2 +S4939,116.3,351.5 +S4940,12.7,114.6 +S4941,79.1,137.3 +S4942,63.3,109.4 +S4943,90.5,248.8 +S4944,56.7,174.2 +S4945,54.4,95.0 +S4946,11.8,120.5 +S4947,21.4,115.9 +S4948,33.5,5.0 +S4949,53.8,160.4 +S4950,45.1,5.0 +S4951,21.9,5.0 +S4952,117.7,365.8 +S4953,50.1,251.8 +S4954,117.6,322.7 +S4955,25.2,125.8 +S4956,110.2,224.4 +S4957,37.9,66.2 +S4958,97.3,216.9 +S4959,68.4,95.8 +S4960,94.3,59.7 +S4961,109.0,347.7 +S4962,67.4,153.5 +S4963,95.8,147.8 +S4964,106.9,266.8 +S4965,65.9,212.8 +S4966,20.7,93.6 +S4967,97.5,279.6 +S4968,27.9,99.9 +S4969,61.2,175.0 +S4970,18.4,5.0 +S4971,74.8,157.3 +S4972,107.2,277.7 +S4973,111.1,292.1 +S4974,25.4,36.8 +S4975,56.8,142.5 +S4976,78.2,126.3 +S4977,85.0,147.4 +S4978,6.5,5.0 +S4979,94.2,315.6 +S4980,112.4,275.6 +S4981,61.4,188.6 +S4982,77.7,236.2 +S4983,58.0,211.9 +S4984,103.8,316.9 +S4985,94.3,167.6 +S4986,10.2,197.0 +S4987,16.2,195.7 +S4988,97.4,336.6 +S4989,116.0,324.7 +S4990,89.3,117.6 +S4991,109.0,239.9 +S4992,20.7,95.3 +S4993,102.1,313.9 +S4994,22.7,58.8 +S4995,69.0,175.5 +S4996,108.5,312.3 +S4997,89.4,180.0 +S4998,44.8,256.5 +S4999,53.9,153.7 +S5000,27.7,5.0 diff --git a/agents/evals/fixtures/cases/scatter-basic-seaborn-renamed/case.json b/agents/evals/fixtures/cases/scatter-basic-seaborn-renamed/case.json new file mode 100644 index 0000000000..02252851d0 --- /dev/null +++ b/agents/evals/fixtures/cases/scatter-basic-seaborn-renamed/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "scatter-basic", + "library": "seaborn", + "locale": "de", + "perturbation": "renamed", + "bindings": [ + { + "role": "x", + "column": "Werbebudget in Tsd. CHF" + }, + { + "role": "y", + "column": "Umsatz in Tsd. CHF" + } + ], + "expected": "accepted", + "tags": [ + "scatter", + "renamed", + "synthetic", + "renamed-headers" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 101, renamed)" +} diff --git a/agents/evals/fixtures/cases/scatter-basic-seaborn-renamed/data.csv b/agents/evals/fixtures/cases/scatter-basic-seaborn-renamed/data.csv new file mode 100644 index 0000000000..a0cf2f9f32 --- /dev/null +++ b/agents/evals/fixtures/cases/scatter-basic-seaborn-renamed/data.csv @@ -0,0 +1,151 @@ +Filiale,Werbebudget in Tsd. CHF,Umsatz in Tsd. CHF +S0001,113.5,277.1 +S0002,46.3,100.9 +S0003,95.3,228.4 +S0004,73.0,210.7 +S0005,38.8,9.2 +S0006,111.1,211.6 +S0007,105.0,169.0 +S0008,46.9,5.0 +S0009,116.9,354.9 +S0010,30.8,206.6 +S0011,97.6,329.5 +S0012,83.3,88.6 +S0013,59.2,192.4 +S0014,8.5,106.1 +S0015,107.9,225.7 +S0016,71.0,246.9 +S0017,49.9,65.0 +S0018,45.8,59.4 +S0019,80.0,148.3 +S0020,44.9,82.6 +S0021,63.4,101.0 +S0022,47.7,208.1 +S0023,11.3,5.0 +S0024,33.8,77.6 +S0025,101.7,207.9 +S0026,99.1,404.2 +S0027,81.7,147.5 +S0028,59.1,197.3 +S0029,116.5,413.5 +S0030,101.6,169.0 +S0031,33.2,50.3 +S0032,70.3,163.8 +S0033,114.9,187.1 +S0034,95.3,326.8 +S0035,47.5,105.7 +S0036,59.0,238.2 +S0037,64.6,213.0 +S0038,108.7,269.5 +S0039,87.1,290.5 +S0040,50.8,125.0 +S0041,58.1,236.4 +S0042,15.6,5.0 +S0043,61.6,116.5 +S0044,31.3,190.8 +S0045,15.7,5.0 +S0046,15.5,105.9 +S0047,29.8,73.5 +S0048,85.4,180.7 +S0049,25.6,44.4 +S0050,70.4,278.1 +S0051,74.3,88.4 +S0052,116.1,342.3 +S0053,57.7,194.6 +S0054,94.1,207.5 +S0055,9.0,52.7 +S0056,79.1,255.7 +S0057,117.7,245.4 +S0058,10.4,5.0 +S0059,109.4,289.4 +S0060,22.9,28.9 +S0061,82.7,184.7 +S0062,7.9,60.3 +S0063,12.1,117.0 +S0064,20.5,210.2 +S0065,108.7,292.1 +S0066,95.0,247.6 +S0067,81.1,267.7 +S0068,79.7,227.3 +S0069,38.8,5.0 +S0070,65.7,135.8 +S0071,60.4,80.1 +S0072,114.4,329.0 +S0073,57.2,249.3 +S0074,90.9,255.8 +S0075,46.2,64.9 +S0076,111.4,330.1 +S0077,103.0,188.9 +S0078,119.1,307.8 +S0079,31.1,21.3 +S0080,105.1,163.6 +S0081,59.9,67.4 +S0082,63.6,174.7 +S0083,67.3,135.0 +S0084,15.6,103.2 +S0085,106.3,172.3 +S0086,74.5,230.8 +S0087,17.1,32.6 +S0088,90.0,316.7 +S0089,18.0,149.3 +S0090,48.8,127.4 +S0091,82.0,219.8 +S0092,58.5,179.9 +S0093,12.5,98.7 +S0094,76.6,181.6 +S0095,47.2,215.8 +S0096,48.9,107.0 +S0097,23.7,5.0 +S0098,26.1,112.2 +S0099,119.2,282.7 +S0100,74.5,254.7 +S0101,72.6,234.1 +S0102,94.8,248.2 +S0103,49.1,150.6 +S0104,22.7,96.6 +S0105,74.8,151.0 +S0106,51.6,63.0 +S0107,51.4,90.5 +S0108,15.1,65.3 +S0109,53.4,5.0 +S0110,11.0,32.5 +S0111,108.7,199.6 +S0112,48.1,134.9 +S0113,87.3,166.3 +S0114,72.7,196.9 +S0115,55.6,140.8 +S0116,43.9,223.0 +S0117,8.7,34.2 +S0118,80.3,191.5 +S0119,16.4,76.3 +S0120,32.0,5.0 +S0121,115.3,207.0 +S0122,48.2,241.8 +S0123,46.7,174.2 +S0124,84.3,223.0 +S0125,36.0,191.4 +S0126,47.3,126.8 +S0127,40.4,107.3 +S0128,85.0,197.2 +S0129,13.9,5.0 +S0130,48.8,208.2 +S0131,119.7,278.1 +S0132,78.7,198.7 +S0133,59.6,141.9 +S0134,38.3,75.9 +S0135,7.6,5.0 +S0136,109.6,280.7 +S0137,110.9,425.5 +S0138,117.5,356.0 +S0139,60.1,146.1 +S0140,73.2,129.1 +S0141,38.2,122.1 +S0142,100.3,276.5 +S0143,72.0,182.8 +S0144,39.1,180.5 +S0145,38.9,55.0 +S0146,46.0,211.3 +S0147,82.1,223.3 +S0148,93.5,197.9 +S0149,16.9,55.7 +S0150,111.8,299.1 diff --git a/agents/evals/fixtures/cases/scatter-basic-seaborn-x10/case.json b/agents/evals/fixtures/cases/scatter-basic-seaborn-x10/case.json new file mode 100644 index 0000000000..a730c85965 --- /dev/null +++ b/agents/evals/fixtures/cases/scatter-basic-seaborn-x10/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "scatter-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "x10", + "bindings": [ + { + "role": "x", + "column": "Ad Spend (kCHF)" + }, + { + "role": "y", + "column": "Revenue (kCHF)" + } + ], + "expected": "accepted", + "tags": [ + "scatter", + "x10", + "synthetic", + "scaled-values" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 101, x10)" +} diff --git a/agents/evals/fixtures/cases/scatter-basic-seaborn-x10/data.csv b/agents/evals/fixtures/cases/scatter-basic-seaborn-x10/data.csv new file mode 100644 index 0000000000..069cc23cad --- /dev/null +++ b/agents/evals/fixtures/cases/scatter-basic-seaborn-x10/data.csv @@ -0,0 +1,151 @@ +Store,Ad Spend (kCHF),Revenue (kCHF) +S0001,1135.1,2770.7 +S0002,463.3,1009.4 +S0003,952.5,2284.1 +S0004,730.0,2107.0 +S0005,388.5,91.6 +S0006,1111.1,2115.7 +S0007,1049.7,1689.9 +S0008,468.8,50.0 +S0009,1169.2,3548.7 +S0010,308.2,2066.1 +S0011,976.3,3294.7 +S0012,833.0,885.5 +S0013,591.7,1924.0 +S0014,85.4,1060.6 +S0015,1079.0,2257.1 +S0016,709.7,2469.3 +S0017,498.9,649.9 +S0018,457.9,593.6 +S0019,799.8,1483.2 +S0020,449.1,826.5 +S0021,633.7,1010.0 +S0022,476.6,2081.4 +S0023,113.5,50.0 +S0024,338.0,775.7 +S0025,1017.1,2079.3 +S0026,990.9,4041.5 +S0027,817.4,1474.7 +S0028,591.2,1973.3 +S0029,1165.3,4135.3 +S0030,1016.3,1690.1 +S0031,331.8,503.1 +S0032,702.7,1637.9 +S0033,1149.3,1870.6 +S0034,953.5,3267.8 +S0035,474.8,1057.1 +S0036,590.4,2382.1 +S0037,645.5,2129.6 +S0038,1087.2,2695.4 +S0039,871.4,2905.2 +S0040,507.9,1249.6 +S0041,581.3,2363.6 +S0042,156.2,50.0 +S0043,615.8,1165.1 +S0044,313.4,1907.8 +S0045,157.1,50.0 +S0046,155.0,1058.9 +S0047,298.2,734.5 +S0048,854.0,1806.7 +S0049,256.1,444.2 +S0050,703.6,2781.2 +S0051,743.0,883.8 +S0052,1161.2,3423.2 +S0053,576.9,1945.6 +S0054,940.7,2074.7 +S0055,90.1,527.2 +S0056,791.3,2556.6 +S0057,1177.3,2453.9 +S0058,104.5,50.0 +S0059,1093.8,2894.4 +S0060,229.1,288.5 +S0061,826.5,1846.6 +S0062,79.1,602.8 +S0063,120.7,1169.5 +S0064,204.9,2102.0 +S0065,1086.5,2921.5 +S0066,950.3,2476.3 +S0067,811.1,2676.9 +S0068,796.9,2273.5 +S0069,387.8,50.0 +S0070,657.3,1358.4 +S0071,604.1,800.9 +S0072,1143.8,3289.6 +S0073,572.3,2493.3 +S0074,909.0,2558.2 +S0075,462.5,649.1 +S0076,1114.2,3300.7 +S0077,1030.2,1889.0 +S0078,1190.7,3077.7 +S0079,311.1,213.4 +S0080,1050.9,1636.0 +S0081,598.5,673.8 +S0082,635.8,1747.3 +S0083,673.1,1350.1 +S0084,155.6,1032.3 +S0085,1063.2,1723.3 +S0086,745.1,2307.8 +S0087,171.1,325.9 +S0088,899.9,3166.6 +S0089,180.5,1492.8 +S0090,488.4,1274.3 +S0091,820.0,2197.7 +S0092,585.1,1799.1 +S0093,124.7,986.5 +S0094,765.6,1815.8 +S0095,471.7,2157.6 +S0096,488.5,1070.0 +S0097,237.4,50.0 +S0098,261.5,1121.6 +S0099,1192.1,2827.4 +S0100,745.1,2547.4 +S0101,725.5,2340.8 +S0102,948.1,2481.7 +S0103,491.1,1506.3 +S0104,227.3,966.0 +S0105,748.2,1509.8 +S0106,515.6,630.5 +S0107,514.0,904.7 +S0108,151.0,653.2 +S0109,534.0,50.0 +S0110,109.7,325.4 +S0111,1087.3,1995.9 +S0112,481.1,1348.5 +S0113,872.6,1663.1 +S0114,726.6,1969.4 +S0115,556.2,1408.2 +S0116,439.2,2229.6 +S0117,86.7,341.9 +S0118,802.8,1915.4 +S0119,164.4,763.2 +S0120,320.0,50.0 +S0121,1152.7,2070.2 +S0122,482.2,2418.0 +S0123,466.9,1742.0 +S0124,843.4,2230.1 +S0125,360.2,1913.5 +S0126,473.4,1268.0 +S0127,403.6,1073.2 +S0128,849.6,1972.3 +S0129,138.9,50.0 +S0130,488.0,2082.3 +S0131,1196.9,2781.0 +S0132,787.1,1987.0 +S0133,596.4,1418.5 +S0134,382.6,758.9 +S0135,76.1,50.0 +S0136,1095.9,2807.2 +S0137,1108.9,4255.5 +S0138,1175.3,3559.8 +S0139,601.4,1461.2 +S0140,732.3,1290.5 +S0141,382.3,1220.9 +S0142,1002.7,2765.2 +S0143,720.1,1827.9 +S0144,391.2,1805.3 +S0145,389.3,550.4 +S0146,459.7,2112.7 +S0147,821.3,2233.3 +S0148,935.0,1979.1 +S0149,169.3,556.9 +S0150,1118.2,2991.4 diff --git a/agents/evals/fixtures/cases/violin-basic-matplotlib-date/case.json b/agents/evals/fixtures/cases/violin-basic-matplotlib-date/case.json new file mode 100644 index 0000000000..8ec84ba225 --- /dev/null +++ b/agents/evals/fixtures/cases/violin-basic-matplotlib-date/case.json @@ -0,0 +1,26 @@ +{ + "spec_id": "violin-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "date", + "bindings": [ + { + "role": "category", + "column": "Customer Segment" + }, + { + "role": "value", + "column": "Basket Value (EUR)" + } + ], + "expected": "accepted", + "tags": [ + "violin", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 808, date)" +} diff --git a/agents/evals/fixtures/cases/violin-basic-matplotlib-date/data.csv b/agents/evals/fixtures/cases/violin-basic-matplotlib-date/data.csv new file mode 100644 index 0000000000..0f22af43f2 --- /dev/null +++ b/agents/evals/fixtures/cases/violin-basic-matplotlib-date/data.csv @@ -0,0 +1,401 @@ +Customer Segment,Basket Value (EUR),Purchase Date,Synced On +Students,14.07,26.06.2026,2026-06-26 +Families,98.65,05.04.2026,2026-04-06 +Retirees,63.77,08.03.2026,2026-03-08 +Professionals,54.23,02.05.2026,2026-05-02 +Students,7.03,08.01.2026,2026-01-09 +Families,89.88,25.02.2026,2026-03-01 +Retirees,34.77,30.05.2026,2026-06-01 +Professionals,50.78,17.04.2026,2026-04-18 +Students,17.69,09.04.2026,2026-04-12 +Families,134.75,31.05.2026,2026-06-03 +Retirees,30.60,27.02.2026,2026-03-03 +Professionals,62.20,05.04.2026,2026-04-06 +Students,14.92,19.05.2026,2026-05-21 +Families,115.29,03.05.2026,2026-05-05 +Retirees,21.91,13.04.2026,2026-04-13 +Professionals,67.09,08.06.2026,2026-06-09 +Students,19.17,12.06.2026,2026-06-14 +Families,110.73,11.04.2026,2026-04-11 +Retirees,28.02,14.06.2026,2026-06-15 +Professionals,54.26,27.01.2026,2026-01-31 +Students,21.51,11.01.2026,2026-01-15 +Families,79.17,26.01.2026,2026-01-30 +Retirees,39.53,05.05.2026,2026-05-06 +Professionals,43.37,04.05.2026,2026-05-07 +Students,10.80,05.03.2026,2026-03-09 +Families,49.56,01.07.2026,2026-07-02 +Retirees,76.84,11.05.2026,2026-05-11 +Professionals,74.95,19.04.2026,2026-04-19 +Students,14.05,15.01.2026,2026-01-17 +Families,46.72,07.06.2026,2026-06-08 +Retirees,49.78,02.05.2026,2026-05-03 +Professionals,41.90,12.06.2026,2026-06-13 +Students,27.46,26.06.2026,2026-06-27 +Families,76.29,22.02.2026,2026-02-24 +Retirees,80.98,13.01.2026,2026-01-16 +Professionals,68.49,20.01.2026,2026-01-22 +Students,23.83,20.03.2026,2026-03-20 +Families,56.71,13.03.2026,2026-03-17 +Retirees,64.30,22.03.2026,2026-03-22 +Professionals,97.86,12.01.2026,2026-01-14 +Students,32.82,20.03.2026,2026-03-24 +Families,70.32,09.05.2026,2026-05-09 +Retirees,80.67,17.06.2026,2026-06-20 +Professionals,35.59,16.06.2026,2026-06-19 +Students,19.89,24.04.2026,2026-04-26 +Families,76.06,21.05.2026,2026-05-24 +Retirees,72.90,13.01.2026,2026-01-13 +Professionals,70.40,20.01.2026,2026-01-23 +Students,14.21,07.01.2026,2026-01-07 +Families,81.29,06.05.2026,2026-05-07 +Retirees,25.11,27.05.2026,2026-05-27 +Professionals,51.93,07.01.2026,2026-01-07 +Students,18.37,17.06.2026,2026-06-21 +Families,85.01,02.05.2026,2026-05-05 +Retirees,40.22,06.04.2026,2026-04-10 +Professionals,44.24,23.01.2026,2026-01-23 +Students,17.86,30.01.2026,2026-02-03 +Families,93.67,27.03.2026,2026-03-27 +Retirees,43.56,31.05.2026,2026-06-01 +Professionals,91.76,17.01.2026,2026-01-18 +Students,33.28,12.04.2026,2026-04-12 +Families,102.97,13.02.2026,2026-02-13 +Retirees,41.06,20.01.2026,2026-01-23 +Professionals,100.33,09.03.2026,2026-03-10 +Students,33.28,19.06.2026,2026-06-19 +Families,79.74,02.02.2026,2026-02-05 +Retirees,62.88,14.04.2026,2026-04-14 +Professionals,27.55,20.04.2026,2026-04-20 +Students,41.19,28.03.2026,2026-03-29 +Families,107.49,12.01.2026,2026-01-14 +Retirees,31.48,27.02.2026,2026-02-27 +Professionals,121.52,02.06.2026,2026-06-06 +Students,14.52,20.06.2026,2026-06-24 +Families,73.63,23.06.2026,2026-06-25 +Retirees,71.69,03.05.2026,2026-05-03 +Professionals,46.11,03.02.2026,2026-02-06 +Students,28.97,23.03.2026,2026-03-27 +Families,105.38,01.05.2026,2026-05-04 +Retirees,66.12,16.04.2026,2026-04-18 +Professionals,41.76,06.03.2026,2026-03-09 +Students,24.41,09.06.2026,2026-06-11 +Families,106.45,10.06.2026,2026-06-12 +Retirees,32.50,05.06.2026,2026-06-07 +Professionals,22.59,18.04.2026,2026-04-19 +Students,22.51,28.06.2026,2026-06-30 +Families,89.34,14.06.2026,2026-06-15 +Retirees,84.89,24.01.2026,2026-01-24 +Professionals,39.16,21.06.2026,2026-06-22 +Students,34.24,19.04.2026,2026-04-20 +Families,100.71,20.03.2026,2026-03-24 +Retirees,37.17,19.03.2026,2026-03-19 +Professionals,24.74,11.02.2026,2026-02-12 +Students,16.87,09.02.2026,2026-02-10 +Families,82.53,18.04.2026,2026-04-19 +Retirees,23.43,29.03.2026,2026-03-29 +Professionals,31.85,07.03.2026,2026-03-09 +Students,24.66,21.02.2026,2026-02-23 +Families,94.35,13.04.2026,2026-04-15 +Retirees,78.00,18.05.2026,2026-05-20 +Professionals,152.39,09.03.2026,2026-03-10 +Students,21.58,04.02.2026,2026-02-04 +Families,109.73,22.05.2026,2026-05-24 +Retirees,77.38,22.01.2026,2026-01-23 +Professionals,68.12,12.04.2026,2026-04-12 +Students,23.87,27.01.2026,2026-01-27 +Families,99.19,28.01.2026,2026-01-31 +Retirees,32.37,23.04.2026,2026-04-23 +Professionals,40.72,19.03.2026,2026-03-22 +Students,16.47,30.04.2026,2026-05-04 +Families,88.25,26.03.2026,2026-03-26 +Retirees,15.73,16.03.2026,2026-03-16 +Professionals,58.83,12.02.2026,2026-02-15 +Students,52.98,17.05.2026,2026-05-20 +Families,89.35,28.06.2026,2026-06-29 +Retirees,28.87,06.05.2026,2026-05-09 +Professionals,61.93,03.02.2026,2026-02-07 +Students,19.83,17.06.2026,2026-06-18 +Families,93.21,19.04.2026,2026-04-20 +Retirees,30.55,07.02.2026,2026-02-11 +Professionals,37.59,23.04.2026,2026-04-24 +Students,36.60,07.06.2026,2026-06-10 +Families,67.98,23.05.2026,2026-05-23 +Retirees,35.47,18.02.2026,2026-02-18 +Professionals,42.28,29.03.2026,2026-03-30 +Students,36.05,09.02.2026,2026-02-13 +Families,78.23,29.01.2026,2026-01-30 +Retirees,58.26,16.04.2026,2026-04-17 +Professionals,45.58,19.05.2026,2026-05-21 +Students,35.68,11.01.2026,2026-01-15 +Families,113.11,08.05.2026,2026-05-12 +Retirees,35.93,12.06.2026,2026-06-14 +Professionals,44.83,22.06.2026,2026-06-26 +Students,14.89,27.03.2026,2026-03-31 +Families,92.40,03.05.2026,2026-05-05 +Retirees,81.76,20.02.2026,2026-02-21 +Professionals,37.09,07.04.2026,2026-04-08 +Students,33.40,28.03.2026,2026-03-28 +Families,61.53,11.02.2026,2026-02-13 +Retirees,35.59,13.06.2026,2026-06-13 +Professionals,60.61,24.06.2026,2026-06-25 +Students,16.87,19.06.2026,2026-06-21 +Families,102.93,13.05.2026,2026-05-14 +Retirees,87.60,14.06.2026,2026-06-15 +Professionals,92.86,24.06.2026,2026-06-28 +Students,21.85,28.04.2026,2026-04-29 +Families,77.35,08.05.2026,2026-05-10 +Retirees,33.76,10.04.2026,2026-04-11 +Professionals,92.10,16.01.2026,2026-01-18 +Students,22.59,05.01.2026,2026-01-06 +Families,73.61,17.04.2026,2026-04-20 +Retirees,32.53,01.03.2026,2026-03-01 +Professionals,35.00,21.06.2026,2026-06-23 +Students,29.83,02.03.2026,2026-03-06 +Families,83.79,20.04.2026,2026-04-20 +Retirees,79.26,12.04.2026,2026-04-16 +Professionals,21.34,11.02.2026,2026-02-12 +Students,23.59,17.06.2026,2026-06-17 +Families,112.80,28.02.2026,2026-03-04 +Retirees,75.69,25.02.2026,2026-02-28 +Professionals,34.25,05.01.2026,2026-01-09 +Students,43.61,31.03.2026,2026-03-31 +Families,96.90,29.03.2026,2026-03-29 +Retirees,36.36,04.06.2026,2026-06-05 +Professionals,33.52,22.05.2026,2026-05-24 +Students,20.37,08.05.2026,2026-05-12 +Families,83.75,05.04.2026,2026-04-09 +Retirees,66.22,25.03.2026,2026-03-27 +Professionals,35.49,18.02.2026,2026-02-19 +Students,20.87,14.05.2026,2026-05-18 +Families,99.93,12.06.2026,2026-06-15 +Retirees,43.49,10.05.2026,2026-05-12 +Professionals,40.22,12.04.2026,2026-04-13 +Students,14.19,28.03.2026,2026-03-30 +Families,86.40,23.03.2026,2026-03-27 +Retirees,87.92,04.06.2026,2026-06-05 +Professionals,104.52,09.04.2026,2026-04-12 +Students,33.49,17.04.2026,2026-04-20 +Families,91.78,10.02.2026,2026-02-10 +Retirees,33.64,17.01.2026,2026-01-21 +Professionals,68.52,30.01.2026,2026-02-02 +Students,22.35,29.05.2026,2026-05-30 +Families,64.32,08.05.2026,2026-05-08 +Retirees,34.77,26.03.2026,2026-03-29 +Professionals,59.34,28.03.2026,2026-03-29 +Students,24.31,22.04.2026,2026-04-24 +Families,85.21,10.04.2026,2026-04-12 +Retirees,71.52,11.01.2026,2026-01-11 +Professionals,50.91,19.03.2026,2026-03-21 +Students,17.60,11.06.2026,2026-06-14 +Families,82.48,08.03.2026,2026-03-10 +Retirees,64.85,13.02.2026,2026-02-17 +Professionals,58.28,08.03.2026,2026-03-08 +Students,22.13,17.04.2026,2026-04-18 +Families,96.84,28.05.2026,2026-05-31 +Retirees,72.02,22.02.2026,2026-02-22 +Professionals,57.37,04.06.2026,2026-06-08 +Students,32.78,21.03.2026,2026-03-23 +Families,91.75,16.06.2026,2026-06-16 +Retirees,34.03,28.03.2026,2026-04-01 +Professionals,42.43,06.06.2026,2026-06-09 +Students,31.11,04.06.2026,2026-06-08 +Families,119.85,07.02.2026,2026-02-07 +Retirees,22.88,16.05.2026,2026-05-17 +Professionals,59.60,30.03.2026,2026-03-31 +Students,12.00,05.01.2026,2026-01-05 +Families,70.55,19.06.2026,2026-06-23 +Retirees,60.50,27.01.2026,2026-01-31 +Professionals,31.89,19.02.2026,2026-02-20 +Students,41.34,24.06.2026,2026-06-27 +Families,78.24,26.02.2026,2026-03-01 +Retirees,41.48,26.06.2026,2026-06-27 +Professionals,30.75,30.04.2026,2026-04-30 +Students,12.81,16.05.2026,2026-05-19 +Families,77.10,14.03.2026,2026-03-14 +Retirees,32.53,17.01.2026,2026-01-17 +Professionals,134.60,31.03.2026,2026-04-03 +Students,14.69,13.01.2026,2026-01-17 +Families,88.97,24.06.2026,2026-06-27 +Retirees,61.03,18.02.2026,2026-02-22 +Professionals,30.28,01.02.2026,2026-02-05 +Students,23.28,29.01.2026,2026-01-30 +Families,75.89,29.05.2026,2026-05-30 +Retirees,31.14,15.01.2026,2026-01-16 +Professionals,42.42,20.06.2026,2026-06-20 +Students,26.10,18.01.2026,2026-01-18 +Families,82.91,22.02.2026,2026-02-24 +Retirees,41.48,17.01.2026,2026-01-19 +Professionals,33.35,23.04.2026,2026-04-25 +Students,9.96,11.01.2026,2026-01-13 +Families,103.82,03.03.2026,2026-03-07 +Retirees,71.73,24.03.2026,2026-03-26 +Professionals,85.63,02.03.2026,2026-03-06 +Students,35.51,17.02.2026,2026-02-21 +Families,78.14,18.01.2026,2026-01-21 +Retirees,62.85,24.06.2026,2026-06-24 +Professionals,52.55,16.04.2026,2026-04-16 +Students,53.34,20.05.2026,2026-05-20 +Families,75.90,17.06.2026,2026-06-18 +Retirees,38.24,24.06.2026,2026-06-24 +Professionals,75.53,19.02.2026,2026-02-23 +Students,23.10,08.05.2026,2026-05-09 +Families,81.99,31.01.2026,2026-01-31 +Retirees,69.59,30.04.2026,2026-05-01 +Professionals,73.99,04.04.2026,2026-04-05 +Students,34.39,27.01.2026,2026-01-31 +Families,77.69,23.06.2026,2026-06-27 +Retirees,69.91,16.01.2026,2026-01-19 +Professionals,71.06,01.04.2026,2026-04-04 +Students,32.25,18.04.2026,2026-04-18 +Families,65.71,17.04.2026,2026-04-19 +Retirees,57.54,15.06.2026,2026-06-18 +Professionals,37.26,22.06.2026,2026-06-24 +Students,20.66,14.05.2026,2026-05-17 +Families,70.86,11.06.2026,2026-06-15 +Retirees,64.51,06.06.2026,2026-06-08 +Professionals,159.68,20.02.2026,2026-02-23 +Students,34.78,21.03.2026,2026-03-25 +Families,100.48,18.01.2026,2026-01-21 +Retirees,75.07,26.04.2026,2026-04-26 +Professionals,31.08,28.06.2026,2026-07-01 +Students,14.78,19.01.2026,2026-01-20 +Families,95.59,13.06.2026,2026-06-14 +Retirees,71.47,14.03.2026,2026-03-15 +Professionals,54.85,29.06.2026,2026-07-02 +Students,4.32,27.03.2026,2026-03-31 +Families,70.61,13.05.2026,2026-05-17 +Retirees,74.01,23.02.2026,2026-02-27 +Professionals,20.50,20.02.2026,2026-02-23 +Students,42.51,04.06.2026,2026-06-04 +Families,75.42,03.03.2026,2026-03-07 +Retirees,32.80,24.05.2026,2026-05-28 +Professionals,81.24,16.03.2026,2026-03-19 +Students,23.32,28.02.2026,2026-03-01 +Families,61.32,18.02.2026,2026-02-18 +Retirees,19.58,18.04.2026,2026-04-19 +Professionals,33.11,10.02.2026,2026-02-14 +Students,57.91,28.01.2026,2026-02-01 +Families,93.61,30.05.2026,2026-06-03 +Retirees,94.53,25.01.2026,2026-01-27 +Professionals,43.36,31.01.2026,2026-02-03 +Students,14.60,09.04.2026,2026-04-13 +Families,71.45,26.04.2026,2026-04-29 +Retirees,41.11,13.02.2026,2026-02-15 +Professionals,60.85,10.05.2026,2026-05-14 +Students,14.60,01.06.2026,2026-06-04 +Families,84.60,11.06.2026,2026-06-12 +Retirees,85.70,11.01.2026,2026-01-11 +Professionals,77.59,25.05.2026,2026-05-27 +Students,13.23,21.01.2026,2026-01-22 +Families,89.29,12.06.2026,2026-06-14 +Retirees,77.35,20.01.2026,2026-01-24 +Professionals,53.24,26.04.2026,2026-04-29 +Students,16.74,30.06.2026,2026-06-30 +Families,59.05,19.02.2026,2026-02-19 +Retirees,27.50,24.02.2026,2026-02-25 +Professionals,70.45,26.05.2026,2026-05-27 +Students,21.61,23.05.2026,2026-05-24 +Families,100.58,27.01.2026,2026-01-29 +Retirees,71.62,09.01.2026,2026-01-12 +Professionals,79.96,04.04.2026,2026-04-08 +Students,29.96,07.03.2026,2026-03-11 +Families,106.74,08.01.2026,2026-01-12 +Retirees,39.18,24.04.2026,2026-04-24 +Professionals,90.13,14.05.2026,2026-05-16 +Students,37.92,19.01.2026,2026-01-21 +Families,95.36,25.02.2026,2026-02-25 +Retirees,62.76,18.01.2026,2026-01-20 +Professionals,75.71,10.03.2026,2026-03-10 +Students,16.92,10.02.2026,2026-02-12 +Families,83.62,11.03.2026,2026-03-13 +Retirees,83.22,28.04.2026,2026-04-28 +Professionals,65.27,19.04.2026,2026-04-22 +Students,31.29,27.03.2026,2026-03-28 +Families,106.47,02.03.2026,2026-03-04 +Retirees,29.12,01.02.2026,2026-02-01 +Professionals,31.34,05.05.2026,2026-05-08 +Students,19.09,19.05.2026,2026-05-23 +Families,106.04,08.04.2026,2026-04-09 +Retirees,38.32,02.03.2026,2026-03-04 +Professionals,60.85,01.06.2026,2026-06-04 +Students,35.39,28.03.2026,2026-03-30 +Families,105.89,11.02.2026,2026-02-15 +Retirees,37.83,08.03.2026,2026-03-08 +Professionals,22.69,01.07.2026,2026-07-03 +Students,35.81,26.03.2026,2026-03-26 +Families,88.24,06.05.2026,2026-05-09 +Retirees,38.00,15.03.2026,2026-03-17 +Professionals,35.94,12.06.2026,2026-06-16 +Students,15.70,15.02.2026,2026-02-18 +Families,73.16,02.02.2026,2026-02-02 +Retirees,69.72,12.02.2026,2026-02-15 +Professionals,38.93,31.01.2026,2026-02-03 +Students,14.32,07.04.2026,2026-04-09 +Families,83.62,11.02.2026,2026-02-15 +Retirees,42.96,30.04.2026,2026-05-04 +Professionals,76.75,24.04.2026,2026-04-25 +Students,9.38,10.04.2026,2026-04-14 +Families,61.61,05.05.2026,2026-05-06 +Retirees,80.80,13.02.2026,2026-02-17 +Professionals,52.17,01.06.2026,2026-06-03 +Students,27.20,27.02.2026,2026-03-02 +Families,108.44,09.05.2026,2026-05-10 +Retirees,40.82,07.02.2026,2026-02-11 +Professionals,140.54,20.02.2026,2026-02-22 +Students,17.99,15.05.2026,2026-05-19 +Families,86.15,31.05.2026,2026-06-01 +Retirees,32.49,06.01.2026,2026-01-08 +Professionals,41.02,02.07.2026,2026-07-03 +Students,42.45,29.01.2026,2026-01-29 +Families,73.40,23.06.2026,2026-06-23 +Retirees,26.13,06.02.2026,2026-02-09 +Professionals,75.92,29.06.2026,2026-07-02 +Students,15.44,13.02.2026,2026-02-16 +Families,93.99,08.05.2026,2026-05-11 +Retirees,29.36,27.04.2026,2026-04-30 +Professionals,107.85,09.01.2026,2026-01-12 +Students,23.13,04.02.2026,2026-02-08 +Families,101.09,27.03.2026,2026-03-27 +Retirees,47.31,03.06.2026,2026-06-05 +Professionals,47.67,19.04.2026,2026-04-22 +Students,10.26,01.04.2026,2026-04-05 +Families,130.57,25.01.2026,2026-01-26 +Retirees,54.57,12.05.2026,2026-05-13 +Professionals,28.86,20.04.2026,2026-04-20 +Students,13.84,26.06.2026,2026-06-27 +Families,76.21,09.03.2026,2026-03-11 +Retirees,69.06,02.07.2026,2026-07-06 +Professionals,36.92,18.01.2026,2026-01-20 +Students,23.10,07.06.2026,2026-06-10 +Families,98.27,18.01.2026,2026-01-21 +Retirees,35.71,19.01.2026,2026-01-21 +Professionals,29.50,25.03.2026,2026-03-29 +Students,31.28,14.03.2026,2026-03-18 +Families,100.72,14.03.2026,2026-03-16 +Retirees,65.58,25.06.2026,2026-06-25 +Professionals,39.39,12.06.2026,2026-06-12 +Students,11.18,27.03.2026,2026-03-28 +Families,126.08,01.03.2026,2026-03-05 +Retirees,71.56,20.04.2026,2026-04-20 +Professionals,31.64,09.03.2026,2026-03-12 +Students,31.11,09.01.2026,2026-01-13 +Families,96.31,28.05.2026,2026-05-28 +Retirees,74.67,04.03.2026,2026-03-05 +Professionals,29.91,01.04.2026,2026-04-03 +Students,28.16,05.01.2026,2026-01-06 +Families,104.00,14.03.2026,2026-03-18 +Retirees,24.53,28.05.2026,2026-05-31 +Professionals,53.33,06.05.2026,2026-05-07 +Students,35.20,21.05.2026,2026-05-21 +Families,65.06,24.03.2026,2026-03-26 +Retirees,13.32,01.05.2026,2026-05-04 +Professionals,59.25,21.06.2026,2026-06-23 +Students,43.60,08.03.2026,2026-03-09 +Families,71.94,07.02.2026,2026-02-11 +Retirees,25.58,15.05.2026,2026-05-15 +Professionals,72.96,09.03.2026,2026-03-09 +Students,13.80,28.05.2026,2026-05-31 +Families,119.24,14.04.2026,2026-04-14 +Retirees,72.04,10.06.2026,2026-06-14 +Professionals,36.08,17.04.2026,2026-04-21 diff --git a/agents/evals/fixtures/cases/violin-basic-matplotlib-decimal-comma/case.json b/agents/evals/fixtures/cases/violin-basic-matplotlib-decimal-comma/case.json new file mode 100644 index 0000000000..96c1b523bc --- /dev/null +++ b/agents/evals/fixtures/cases/violin-basic-matplotlib-decimal-comma/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "violin-basic", + "library": "matplotlib", + "locale": "de", + "perturbation": "decimal-comma", + "bindings": [ + { + "role": "category", + "column": "Customer Segment" + }, + { + "role": "value", + "column": "Basket Value (EUR)" + } + ], + "expected": "accepted", + "tags": [ + "violin", + "decimal-comma", + "synthetic", + "semicolon" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 808, decimal-comma)" +} diff --git a/agents/evals/fixtures/cases/violin-basic-matplotlib-decimal-comma/data.csv b/agents/evals/fixtures/cases/violin-basic-matplotlib-decimal-comma/data.csv new file mode 100644 index 0000000000..356b2725ba --- /dev/null +++ b/agents/evals/fixtures/cases/violin-basic-matplotlib-decimal-comma/data.csv @@ -0,0 +1,401 @@ +Customer Segment;Basket Value (EUR) +Students;14,07 +Families;98,65 +Retirees;63,77 +Professionals;54,23 +Students;7,03 +Families;89,88 +Retirees;34,77 +Professionals;50,78 +Students;17,69 +Families;134,75 +Retirees;30,60 +Professionals;62,20 +Students;14,92 +Families;115,29 +Retirees;21,91 +Professionals;67,09 +Students;19,17 +Families;110,73 +Retirees;28,02 +Professionals;54,26 +Students;21,51 +Families;79,17 +Retirees;39,53 +Professionals;43,37 +Students;10,80 +Families;49,56 +Retirees;76,84 +Professionals;74,95 +Students;14,05 +Families;46,72 +Retirees;49,78 +Professionals;41,90 +Students;27,46 +Families;76,29 +Retirees;80,98 +Professionals;68,49 +Students;23,83 +Families;56,71 +Retirees;64,30 +Professionals;97,86 +Students;32,82 +Families;70,32 +Retirees;80,67 +Professionals;35,59 +Students;19,89 +Families;76,06 +Retirees;72,90 +Professionals;70,40 +Students;14,21 +Families;81,29 +Retirees;25,11 +Professionals;51,93 +Students;18,37 +Families;85,01 +Retirees;40,22 +Professionals;44,24 +Students;17,86 +Families;93,67 +Retirees;43,56 +Professionals;91,76 +Students;33,28 +Families;102,97 +Retirees;41,06 +Professionals;100,33 +Students;33,28 +Families;79,74 +Retirees;62,88 +Professionals;27,55 +Students;41,19 +Families;107,49 +Retirees;31,48 +Professionals;121,52 +Students;14,52 +Families;73,63 +Retirees;71,69 +Professionals;46,11 +Students;28,97 +Families;105,38 +Retirees;66,12 +Professionals;41,76 +Students;24,41 +Families;106,45 +Retirees;32,50 +Professionals;22,59 +Students;22,51 +Families;89,34 +Retirees;84,89 +Professionals;39,16 +Students;34,24 +Families;100,71 +Retirees;37,17 +Professionals;24,74 +Students;16,87 +Families;82,53 +Retirees;23,43 +Professionals;31,85 +Students;24,66 +Families;94,35 +Retirees;78,00 +Professionals;152,39 +Students;21,58 +Families;109,73 +Retirees;77,38 +Professionals;68,12 +Students;23,87 +Families;99,19 +Retirees;32,37 +Professionals;40,72 +Students;16,47 +Families;88,25 +Retirees;15,73 +Professionals;58,83 +Students;52,98 +Families;89,35 +Retirees;28,87 +Professionals;61,93 +Students;19,83 +Families;93,21 +Retirees;30,55 +Professionals;37,59 +Students;36,60 +Families;67,98 +Retirees;35,47 +Professionals;42,28 +Students;36,05 +Families;78,23 +Retirees;58,26 +Professionals;45,58 +Students;35,68 +Families;113,11 +Retirees;35,93 +Professionals;44,83 +Students;14,89 +Families;92,40 +Retirees;81,76 +Professionals;37,09 +Students;33,40 +Families;61,53 +Retirees;35,59 +Professionals;60,61 +Students;16,87 +Families;102,93 +Retirees;87,60 +Professionals;92,86 +Students;21,85 +Families;77,35 +Retirees;33,76 +Professionals;92,10 +Students;22,59 +Families;73,61 +Retirees;32,53 +Professionals;35,00 +Students;29,83 +Families;83,79 +Retirees;79,26 +Professionals;21,34 +Students;23,59 +Families;112,80 +Retirees;75,69 +Professionals;34,25 +Students;43,61 +Families;96,90 +Retirees;36,36 +Professionals;33,52 +Students;20,37 +Families;83,75 +Retirees;66,22 +Professionals;35,49 +Students;20,87 +Families;99,93 +Retirees;43,49 +Professionals;40,22 +Students;14,19 +Families;86,40 +Retirees;87,92 +Professionals;104,52 +Students;33,49 +Families;91,78 +Retirees;33,64 +Professionals;68,52 +Students;22,35 +Families;64,32 +Retirees;34,77 +Professionals;59,34 +Students;24,31 +Families;85,21 +Retirees;71,52 +Professionals;50,91 +Students;17,60 +Families;82,48 +Retirees;64,85 +Professionals;58,28 +Students;22,13 +Families;96,84 +Retirees;72,02 +Professionals;57,37 +Students;32,78 +Families;91,75 +Retirees;34,03 +Professionals;42,43 +Students;31,11 +Families;119,85 +Retirees;22,88 +Professionals;59,60 +Students;12,00 +Families;70,55 +Retirees;60,50 +Professionals;31,89 +Students;41,34 +Families;78,24 +Retirees;41,48 +Professionals;30,75 +Students;12,81 +Families;77,10 +Retirees;32,53 +Professionals;134,60 +Students;14,69 +Families;88,97 +Retirees;61,03 +Professionals;30,28 +Students;23,28 +Families;75,89 +Retirees;31,14 +Professionals;42,42 +Students;26,10 +Families;82,91 +Retirees;41,48 +Professionals;33,35 +Students;9,96 +Families;103,82 +Retirees;71,73 +Professionals;85,63 +Students;35,51 +Families;78,14 +Retirees;62,85 +Professionals;52,55 +Students;53,34 +Families;75,90 +Retirees;38,24 +Professionals;75,53 +Students;23,10 +Families;81,99 +Retirees;69,59 +Professionals;73,99 +Students;34,39 +Families;77,69 +Retirees;69,91 +Professionals;71,06 +Students;32,25 +Families;65,71 +Retirees;57,54 +Professionals;37,26 +Students;20,66 +Families;70,86 +Retirees;64,51 +Professionals;159,68 +Students;34,78 +Families;100,48 +Retirees;75,07 +Professionals;31,08 +Students;14,78 +Families;95,59 +Retirees;71,47 +Professionals;54,85 +Students;4,32 +Families;70,61 +Retirees;74,01 +Professionals;20,50 +Students;42,51 +Families;75,42 +Retirees;32,80 +Professionals;81,24 +Students;23,32 +Families;61,32 +Retirees;19,58 +Professionals;33,11 +Students;57,91 +Families;93,61 +Retirees;94,53 +Professionals;43,36 +Students;14,60 +Families;71,45 +Retirees;41,11 +Professionals;60,85 +Students;14,60 +Families;84,60 +Retirees;85,70 +Professionals;77,59 +Students;13,23 +Families;89,29 +Retirees;77,35 +Professionals;53,24 +Students;16,74 +Families;59,05 +Retirees;27,50 +Professionals;70,45 +Students;21,61 +Families;100,58 +Retirees;71,62 +Professionals;79,96 +Students;29,96 +Families;106,74 +Retirees;39,18 +Professionals;90,13 +Students;37,92 +Families;95,36 +Retirees;62,76 +Professionals;75,71 +Students;16,92 +Families;83,62 +Retirees;83,22 +Professionals;65,27 +Students;31,29 +Families;106,47 +Retirees;29,12 +Professionals;31,34 +Students;19,09 +Families;106,04 +Retirees;38,32 +Professionals;60,85 +Students;35,39 +Families;105,89 +Retirees;37,83 +Professionals;22,69 +Students;35,81 +Families;88,24 +Retirees;38,00 +Professionals;35,94 +Students;15,70 +Families;73,16 +Retirees;69,72 +Professionals;38,93 +Students;14,32 +Families;83,62 +Retirees;42,96 +Professionals;76,75 +Students;9,38 +Families;61,61 +Retirees;80,80 +Professionals;52,17 +Students;27,20 +Families;108,44 +Retirees;40,82 +Professionals;140,54 +Students;17,99 +Families;86,15 +Retirees;32,49 +Professionals;41,02 +Students;42,45 +Families;73,40 +Retirees;26,13 +Professionals;75,92 +Students;15,44 +Families;93,99 +Retirees;29,36 +Professionals;107,85 +Students;23,13 +Families;101,09 +Retirees;47,31 +Professionals;47,67 +Students;10,26 +Families;130,57 +Retirees;54,57 +Professionals;28,86 +Students;13,84 +Families;76,21 +Retirees;69,06 +Professionals;36,92 +Students;23,10 +Families;98,27 +Retirees;35,71 +Professionals;29,50 +Students;31,28 +Families;100,72 +Retirees;65,58 +Professionals;39,39 +Students;11,18 +Families;126,08 +Retirees;71,56 +Professionals;31,64 +Students;31,11 +Families;96,31 +Retirees;74,67 +Professionals;29,91 +Students;28,16 +Families;104,00 +Retirees;24,53 +Professionals;53,33 +Students;35,20 +Families;65,06 +Retirees;13,32 +Professionals;59,25 +Students;43,60 +Families;71,94 +Retirees;25,58 +Professionals;72,96 +Students;13,80 +Families;119,24 +Retirees;72,04 +Professionals;36,08 diff --git a/agents/evals/fixtures/cases/violin-basic-matplotlib-n12/case.json b/agents/evals/fixtures/cases/violin-basic-matplotlib-n12/case.json new file mode 100644 index 0000000000..f44e50e255 --- /dev/null +++ b/agents/evals/fixtures/cases/violin-basic-matplotlib-n12/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "violin-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "n12", + "bindings": [ + { + "role": "category", + "column": "Customer Segment" + }, + { + "role": "value", + "column": "Basket Value (EUR)" + } + ], + "expected": "accepted", + "tags": [ + "violin", + "n12", + "synthetic", + "small" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 808, n12)" +} diff --git a/agents/evals/fixtures/cases/violin-basic-matplotlib-n12/data.csv b/agents/evals/fixtures/cases/violin-basic-matplotlib-n12/data.csv new file mode 100644 index 0000000000..5996aed843 --- /dev/null +++ b/agents/evals/fixtures/cases/violin-basic-matplotlib-n12/data.csv @@ -0,0 +1,13 @@ +Customer Segment,Basket Value (EUR) +Students,16.29 +Families,97.22 +Retirees,60.68 +Professionals,109.72 +Students,40.49 +Families,69.68 +Retirees,35.05 +Professionals,66.85 +Students,29.06 +Families,98.27 +Retirees,77.34 +Professionals,42.64 diff --git a/agents/evals/fixtures/cases/violin-basic-matplotlib-n5000/case.json b/agents/evals/fixtures/cases/violin-basic-matplotlib-n5000/case.json new file mode 100644 index 0000000000..42b49341c9 --- /dev/null +++ b/agents/evals/fixtures/cases/violin-basic-matplotlib-n5000/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "violin-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "n5000", + "bindings": [ + { + "role": "category", + "column": "Customer Segment" + }, + { + "role": "value", + "column": "Basket Value (EUR)" + } + ], + "expected": "accepted", + "tags": [ + "violin", + "n5000", + "synthetic", + "large" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 808, n5000)" +} diff --git a/agents/evals/fixtures/cases/violin-basic-matplotlib-n5000/data.csv b/agents/evals/fixtures/cases/violin-basic-matplotlib-n5000/data.csv new file mode 100644 index 0000000000..80d091d1fb --- /dev/null +++ b/agents/evals/fixtures/cases/violin-basic-matplotlib-n5000/data.csv @@ -0,0 +1,5001 @@ +Customer Segment,Basket Value (EUR) +Students,29.08 +Families,86.84 +Retirees,32.48 +Professionals,35.15 +Students,22.09 +Families,81.24 +Retirees,34.80 +Professionals,80.35 +Students,22.64 +Families,101.66 +Retirees,79.17 +Professionals,38.22 +Students,27.42 +Families,72.21 +Retirees,40.61 +Professionals,69.36 +Students,31.85 +Families,112.31 +Retirees,33.94 +Professionals,59.29 +Students,13.16 +Families,82.82 +Retirees,30.40 +Professionals,25.08 +Students,15.15 +Families,99.80 +Retirees,72.41 +Professionals,39.46 +Students,30.78 +Families,95.29 +Retirees,32.23 +Professionals,60.47 +Students,30.31 +Families,98.38 +Retirees,37.68 +Professionals,22.07 +Students,14.70 +Families,76.93 +Retirees,33.62 +Professionals,59.68 +Students,24.05 +Families,91.13 +Retirees,67.04 +Professionals,35.21 +Students,42.12 +Families,98.25 +Retirees,35.79 +Professionals,108.69 +Students,35.12 +Families,93.67 +Retirees,38.85 +Professionals,58.85 +Students,25.30 +Families,82.07 +Retirees,89.35 +Professionals,45.72 +Students,18.71 +Families,102.02 +Retirees,75.24 +Professionals,49.87 +Students,18.17 +Families,80.86 +Retirees,68.79 +Professionals,34.74 +Students,20.39 +Families,58.12 +Retirees,19.99 +Professionals,100.83 +Students,25.84 +Families,80.01 +Retirees,34.29 +Professionals,102.74 +Students,17.00 +Families,82.37 +Retirees,71.60 +Professionals,79.69 +Students,19.79 +Families,87.48 +Retirees,33.42 +Professionals,54.15 +Students,26.95 +Families,73.00 +Retirees,43.41 +Professionals,37.44 +Students,34.92 +Families,77.34 +Retirees,67.81 +Professionals,53.65 +Students,28.61 +Families,64.18 +Retirees,54.75 +Professionals,50.26 +Students,16.66 +Families,78.63 +Retirees,43.42 +Professionals,35.23 +Students,9.31 +Families,121.95 +Retirees,38.93 +Professionals,59.66 +Students,18.20 +Families,70.25 +Retirees,49.70 +Professionals,75.94 +Students,32.38 +Families,80.01 +Retirees,39.27 +Professionals,45.46 +Students,7.17 +Families,91.20 +Retirees,46.86 +Professionals,54.86 +Students,23.35 +Families,93.20 +Retirees,64.64 +Professionals,51.11 +Students,33.12 +Families,88.66 +Retirees,61.06 +Professionals,83.31 +Students,15.43 +Families,79.71 +Retirees,33.40 +Professionals,51.49 +Students,19.40 +Families,105.25 +Retirees,81.01 +Professionals,30.06 +Students,23.36 +Families,111.88 +Retirees,26.24 +Professionals,48.29 +Students,39.33 +Families,77.46 +Retirees,76.27 +Professionals,65.05 +Students,32.13 +Families,49.39 +Retirees,84.27 +Professionals,65.04 +Students,17.33 +Families,65.96 +Retirees,31.47 +Professionals,41.52 +Students,25.10 +Families,62.35 +Retirees,31.97 +Professionals,32.72 +Students,56.15 +Families,82.39 +Retirees,71.79 +Professionals,37.83 +Students,16.23 +Families,65.08 +Retirees,41.98 +Professionals,154.68 +Students,42.04 +Families,91.85 +Retirees,69.12 +Professionals,68.10 +Students,26.72 +Families,79.76 +Retirees,77.85 +Professionals,25.81 +Students,21.26 +Families,105.79 +Retirees,27.93 +Professionals,44.14 +Students,26.17 +Families,59.05 +Retirees,29.59 +Professionals,30.89 +Students,17.71 +Families,73.98 +Retirees,38.89 +Professionals,54.43 +Students,10.22 +Families,78.62 +Retirees,37.59 +Professionals,47.55 +Students,9.76 +Families,82.63 +Retirees,63.78 +Professionals,35.17 +Students,36.23 +Families,59.30 +Retirees,27.15 +Professionals,31.05 +Students,37.97 +Families,76.23 +Retirees,34.37 +Professionals,47.28 +Students,36.39 +Families,85.71 +Retirees,35.45 +Professionals,88.59 +Students,40.39 +Families,83.95 +Retirees,37.87 +Professionals,23.24 +Students,50.46 +Families,75.78 +Retirees,17.74 +Professionals,73.64 +Students,34.21 +Families,68.03 +Retirees,36.02 +Professionals,44.71 +Students,27.37 +Families,127.40 +Retirees,60.04 +Professionals,65.16 +Students,20.30 +Families,41.05 +Retirees,73.55 +Professionals,49.07 +Students,20.01 +Families,39.53 +Retirees,25.60 +Professionals,50.75 +Students,24.07 +Families,74.06 +Retirees,38.29 +Professionals,87.15 +Students,11.70 +Families,89.98 +Retirees,19.88 +Professionals,40.13 +Students,13.31 +Families,67.11 +Retirees,30.15 +Professionals,24.61 +Students,25.94 +Families,65.33 +Retirees,42.43 +Professionals,56.94 +Students,28.46 +Families,95.22 +Retirees,31.13 +Professionals,29.84 +Students,30.44 +Families,86.27 +Retirees,39.95 +Professionals,48.03 +Students,20.34 +Families,102.48 +Retirees,35.58 +Professionals,38.36 +Students,23.59 +Families,123.82 +Retirees,40.94 +Professionals,28.31 +Students,32.47 +Families,117.75 +Retirees,62.41 +Professionals,83.27 +Students,21.37 +Families,99.05 +Retirees,39.18 +Professionals,53.36 +Students,14.81 +Families,73.33 +Retirees,83.64 +Professionals,136.38 +Students,17.93 +Families,73.89 +Retirees,58.18 +Professionals,82.99 +Students,20.74 +Families,94.89 +Retirees,41.43 +Professionals,34.88 +Students,22.47 +Families,83.14 +Retirees,29.34 +Professionals,45.81 +Students,16.71 +Families,106.85 +Retirees,76.11 +Professionals,73.18 +Students,13.77 +Families,56.31 +Retirees,71.36 +Professionals,52.51 +Students,27.32 +Families,90.20 +Retirees,41.20 +Professionals,99.65 +Students,13.15 +Families,74.03 +Retirees,27.65 +Professionals,85.94 +Students,15.94 +Families,74.84 +Retirees,73.02 +Professionals,102.06 +Students,21.19 +Families,103.88 +Retirees,25.21 +Professionals,89.50 +Students,36.04 +Families,76.40 +Retirees,78.73 +Professionals,84.35 +Students,39.73 +Families,68.32 +Retirees,42.28 +Professionals,42.64 +Students,15.15 +Families,59.51 +Retirees,72.24 +Professionals,62.12 +Students,21.25 +Families,70.87 +Retirees,18.66 +Professionals,69.88 +Students,41.65 +Families,58.98 +Retirees,74.95 +Professionals,78.18 +Students,15.86 +Families,96.21 +Retirees,24.89 +Professionals,72.14 +Students,12.47 +Families,116.47 +Retirees,39.50 +Professionals,26.22 +Students,10.92 +Families,72.31 +Retirees,24.79 +Professionals,45.69 +Students,11.89 +Families,66.43 +Retirees,26.56 +Professionals,55.52 +Students,24.40 +Families,71.93 +Retirees,32.31 +Professionals,47.88 +Students,17.93 +Families,49.59 +Retirees,37.12 +Professionals,53.72 +Students,25.47 +Families,123.85 +Retirees,74.04 +Professionals,52.85 +Students,16.32 +Families,74.68 +Retirees,30.71 +Professionals,53.60 +Students,19.31 +Families,85.41 +Retirees,40.90 +Professionals,63.20 +Students,20.48 +Families,92.21 +Retirees,65.46 +Professionals,71.92 +Students,13.79 +Families,80.20 +Retirees,30.22 +Professionals,46.43 +Students,21.58 +Families,84.13 +Retirees,75.48 +Professionals,38.26 +Students,13.54 +Families,100.16 +Retirees,37.26 +Professionals,67.56 +Students,21.46 +Families,31.87 +Retirees,35.10 +Professionals,45.99 +Students,13.58 +Families,139.49 +Retirees,31.84 +Professionals,55.02 +Students,9.31 +Families,89.09 +Retirees,66.83 +Professionals,66.40 +Students,41.66 +Families,100.79 +Retirees,35.31 +Professionals,52.31 +Students,19.29 +Families,85.52 +Retirees,70.70 +Professionals,69.73 +Students,14.02 +Families,85.43 +Retirees,18.17 +Professionals,26.14 +Students,24.57 +Families,96.63 +Retirees,38.42 +Professionals,45.13 +Students,50.13 +Families,105.63 +Retirees,41.28 +Professionals,57.76 +Students,13.90 +Families,88.96 +Retirees,59.70 +Professionals,51.44 +Students,6.18 +Families,73.49 +Retirees,83.04 +Professionals,43.50 +Students,43.67 +Families,120.23 +Retirees,70.37 +Professionals,27.57 +Students,14.98 +Families,87.98 +Retirees,43.01 +Professionals,46.62 +Students,10.95 +Families,61.78 +Retirees,25.53 +Professionals,64.54 +Students,27.05 +Families,93.22 +Retirees,42.58 +Professionals,37.05 +Students,41.86 +Families,78.68 +Retirees,81.28 +Professionals,35.79 +Students,15.39 +Families,96.51 +Retirees,80.86 +Professionals,87.10 +Students,29.66 +Families,67.50 +Retirees,77.92 +Professionals,30.93 +Students,27.92 +Families,84.13 +Retirees,30.05 +Professionals,73.20 +Students,11.40 +Families,100.10 +Retirees,82.29 +Professionals,55.75 +Students,28.07 +Families,92.05 +Retirees,35.52 +Professionals,20.79 +Students,8.75 +Families,88.81 +Retirees,31.53 +Professionals,34.54 +Students,25.58 +Families,90.66 +Retirees,38.34 +Professionals,51.33 +Students,19.94 +Families,93.57 +Retirees,70.06 +Professionals,39.74 +Students,25.39 +Families,88.65 +Retirees,79.94 +Professionals,24.29 +Students,34.83 +Families,112.18 +Retirees,40.60 +Professionals,35.95 +Students,27.09 +Families,81.95 +Retirees,35.62 +Professionals,99.39 +Students,11.73 +Families,98.24 +Retirees,54.06 +Professionals,58.07 +Students,13.45 +Families,105.42 +Retirees,75.27 +Professionals,31.29 +Students,31.63 +Families,109.66 +Retirees,75.12 +Professionals,76.82 +Students,16.89 +Families,98.58 +Retirees,56.70 +Professionals,54.89 +Students,26.01 +Families,75.98 +Retirees,44.22 +Professionals,40.29 +Students,26.66 +Families,86.60 +Retirees,31.28 +Professionals,24.54 +Students,21.04 +Families,99.27 +Retirees,41.55 +Professionals,90.72 +Students,26.38 +Families,51.33 +Retirees,72.67 +Professionals,35.25 +Students,21.70 +Families,98.36 +Retirees,74.30 +Professionals,46.18 +Students,14.24 +Families,68.12 +Retirees,74.71 +Professionals,37.73 +Students,36.27 +Families,56.98 +Retirees,81.98 +Professionals,61.02 +Students,35.61 +Families,75.08 +Retirees,40.08 +Professionals,54.44 +Students,16.49 +Families,89.65 +Retirees,82.69 +Professionals,47.49 +Students,36.46 +Families,120.96 +Retirees,26.67 +Professionals,35.03 +Students,14.05 +Families,102.97 +Retirees,73.46 +Professionals,81.47 +Students,19.39 +Families,65.59 +Retirees,37.69 +Professionals,42.08 +Students,20.52 +Families,86.53 +Retirees,75.80 +Professionals,48.19 +Students,18.36 +Families,69.17 +Retirees,34.62 +Professionals,53.81 +Students,43.64 +Families,76.78 +Retirees,30.46 +Professionals,76.45 +Students,27.05 +Families,93.11 +Retirees,69.30 +Professionals,39.56 +Students,19.88 +Families,87.42 +Retirees,31.87 +Professionals,39.33 +Students,21.08 +Families,104.67 +Retirees,48.28 +Professionals,42.48 +Students,23.26 +Families,70.93 +Retirees,75.08 +Professionals,41.74 +Students,10.10 +Families,114.79 +Retirees,28.58 +Professionals,79.92 +Students,12.63 +Families,81.40 +Retirees,39.97 +Professionals,62.97 +Students,22.59 +Families,91.71 +Retirees,73.57 +Professionals,43.15 +Students,14.04 +Families,68.84 +Retirees,46.99 +Professionals,49.18 +Students,32.15 +Families,68.00 +Retirees,30.81 +Professionals,68.54 +Students,19.40 +Families,95.05 +Retirees,32.48 +Professionals,33.31 +Students,9.80 +Families,87.49 +Retirees,26.16 +Professionals,54.36 +Students,30.46 +Families,81.91 +Retirees,87.05 +Professionals,30.10 +Students,18.68 +Families,60.76 +Retirees,91.45 +Professionals,31.91 +Students,13.64 +Families,92.40 +Retirees,36.55 +Professionals,24.57 +Students,10.19 +Families,80.36 +Retirees,32.75 +Professionals,40.14 +Students,24.72 +Families,76.54 +Retirees,51.01 +Professionals,28.35 +Students,33.94 +Families,81.42 +Retirees,19.78 +Professionals,42.96 +Students,33.68 +Families,72.84 +Retirees,83.82 +Professionals,45.95 +Students,11.05 +Families,79.58 +Retirees,39.07 +Professionals,49.49 +Students,21.98 +Families,71.02 +Retirees,79.80 +Professionals,52.71 +Students,25.35 +Families,127.48 +Retirees,76.84 +Professionals,57.44 +Students,18.16 +Families,61.45 +Retirees,39.81 +Professionals,60.51 +Students,20.60 +Families,79.72 +Retirees,69.97 +Professionals,56.40 +Students,25.95 +Families,92.80 +Retirees,45.25 +Professionals,163.27 +Students,23.18 +Families,88.39 +Retirees,86.19 +Professionals,39.49 +Students,25.42 +Families,114.46 +Retirees,38.72 +Professionals,28.34 +Students,51.03 +Families,86.34 +Retirees,22.66 +Professionals,29.43 +Students,8.84 +Families,72.86 +Retirees,53.35 +Professionals,49.57 +Students,11.86 +Families,89.06 +Retirees,43.33 +Professionals,40.48 +Students,12.60 +Families,71.92 +Retirees,31.97 +Professionals,26.04 +Students,34.85 +Families,108.15 +Retirees,71.33 +Professionals,43.96 +Students,38.77 +Families,81.88 +Retirees,87.32 +Professionals,106.38 +Students,24.24 +Families,85.64 +Retirees,34.46 +Professionals,24.48 +Students,29.35 +Families,71.85 +Retirees,61.69 +Professionals,46.75 +Students,17.17 +Families,64.14 +Retirees,60.83 +Professionals,37.82 +Students,11.42 +Families,106.48 +Retirees,52.52 +Professionals,81.66 +Students,16.78 +Families,102.62 +Retirees,27.36 +Professionals,75.76 +Students,24.59 +Families,81.23 +Retirees,34.23 +Professionals,97.49 +Students,39.87 +Families,121.50 +Retirees,85.37 +Professionals,41.60 +Students,25.87 +Families,100.00 +Retirees,37.58 +Professionals,33.91 +Students,14.57 +Families,81.37 +Retirees,41.19 +Professionals,41.94 +Students,18.49 +Families,94.46 +Retirees,93.19 +Professionals,47.54 +Students,15.11 +Families,112.15 +Retirees,54.65 +Professionals,61.90 +Students,12.51 +Families,42.60 +Retirees,83.15 +Professionals,42.85 +Students,13.42 +Families,63.66 +Retirees,45.86 +Professionals,52.79 +Students,21.68 +Families,91.08 +Retirees,30.10 +Professionals,60.56 +Students,18.35 +Families,111.90 +Retirees,31.71 +Professionals,34.15 +Students,29.77 +Families,88.27 +Retirees,39.58 +Professionals,27.26 +Students,37.93 +Families,37.47 +Retirees,25.48 +Professionals,56.07 +Students,24.73 +Families,65.94 +Retirees,41.34 +Professionals,33.84 +Students,33.92 +Families,78.91 +Retirees,72.61 +Professionals,91.55 +Students,21.56 +Families,123.68 +Retirees,32.25 +Professionals,41.82 +Students,20.38 +Families,97.05 +Retirees,32.58 +Professionals,95.39 +Students,12.25 +Families,99.63 +Retirees,74.27 +Professionals,72.23 +Students,57.51 +Families,89.08 +Retirees,58.79 +Professionals,24.92 +Students,35.92 +Families,90.10 +Retirees,34.06 +Professionals,78.43 +Students,24.41 +Families,80.94 +Retirees,38.42 +Professionals,38.85 +Students,29.88 +Families,101.60 +Retirees,72.49 +Professionals,45.95 +Students,24.11 +Families,92.52 +Retirees,76.80 +Professionals,46.73 +Students,16.06 +Families,71.97 +Retirees,51.59 +Professionals,64.99 +Students,20.51 +Families,105.36 +Retirees,35.84 +Professionals,78.11 +Students,28.90 +Families,60.57 +Retirees,65.82 +Professionals,38.22 +Students,10.02 +Families,97.99 +Retirees,71.87 +Professionals,91.77 +Students,15.33 +Families,99.35 +Retirees,80.20 +Professionals,36.45 +Students,10.36 +Families,82.51 +Retirees,62.25 +Professionals,28.91 +Students,11.03 +Families,80.36 +Retirees,26.12 +Professionals,38.20 +Students,12.16 +Families,88.00 +Retirees,70.86 +Professionals,50.31 +Students,18.07 +Families,115.38 +Retirees,38.84 +Professionals,45.68 +Students,27.36 +Families,84.50 +Retirees,61.16 +Professionals,86.58 +Students,19.38 +Families,84.79 +Retirees,50.02 +Professionals,33.94 +Students,34.17 +Families,123.75 +Retirees,71.34 +Professionals,26.48 +Students,37.43 +Families,79.86 +Retirees,41.20 +Professionals,59.42 +Students,16.74 +Families,107.31 +Retirees,67.35 +Professionals,53.07 +Students,15.61 +Families,67.74 +Retirees,68.57 +Professionals,25.63 +Students,19.39 +Families,80.40 +Retirees,29.98 +Professionals,35.68 +Students,21.21 +Families,108.55 +Retirees,26.62 +Professionals,25.83 +Students,19.88 +Families,107.59 +Retirees,73.90 +Professionals,61.57 +Students,20.10 +Families,86.22 +Retirees,33.99 +Professionals,49.32 +Students,15.13 +Families,74.80 +Retirees,57.66 +Professionals,45.97 +Students,50.25 +Families,80.06 +Retirees,59.52 +Professionals,51.10 +Students,8.11 +Families,59.65 +Retirees,35.43 +Professionals,33.37 +Students,15.26 +Families,82.31 +Retirees,42.45 +Professionals,28.58 +Students,25.31 +Families,57.13 +Retirees,54.14 +Professionals,61.58 +Students,31.07 +Families,62.43 +Retirees,25.28 +Professionals,96.01 +Students,30.03 +Families,98.36 +Retirees,40.28 +Professionals,48.60 +Students,22.70 +Families,123.55 +Retirees,15.90 +Professionals,47.95 +Students,11.86 +Families,114.32 +Retirees,56.55 +Professionals,48.03 +Students,14.32 +Families,95.76 +Retirees,20.81 +Professionals,50.11 +Students,26.54 +Families,126.55 +Retirees,37.88 +Professionals,50.46 +Students,23.36 +Families,73.12 +Retirees,83.63 +Professionals,29.70 +Students,11.91 +Families,118.04 +Retirees,64.13 +Professionals,77.09 +Students,18.83 +Families,89.79 +Retirees,68.89 +Professionals,130.14 +Students,13.70 +Families,77.19 +Retirees,41.73 +Professionals,77.37 +Students,17.62 +Families,112.17 +Retirees,71.50 +Professionals,25.13 +Students,71.75 +Families,86.99 +Retirees,80.78 +Professionals,51.19 +Students,26.66 +Families,94.82 +Retirees,28.97 +Professionals,40.60 +Students,26.62 +Families,98.25 +Retirees,86.85 +Professionals,79.22 +Students,34.34 +Families,85.29 +Retirees,29.27 +Professionals,27.05 +Students,24.89 +Families,96.55 +Retirees,37.85 +Professionals,97.15 +Students,9.42 +Families,85.13 +Retirees,32.40 +Professionals,93.72 +Students,27.57 +Families,74.95 +Retirees,31.38 +Professionals,57.82 +Students,34.87 +Families,99.74 +Retirees,34.44 +Professionals,60.13 +Students,22.92 +Families,77.99 +Retirees,64.71 +Professionals,87.38 +Students,24.41 +Families,117.19 +Retirees,24.91 +Professionals,96.08 +Students,46.13 +Families,94.09 +Retirees,69.98 +Professionals,40.25 +Students,12.92 +Families,64.91 +Retirees,28.30 +Professionals,71.50 +Students,19.60 +Families,91.16 +Retirees,37.45 +Professionals,86.80 +Students,21.93 +Families,95.05 +Retirees,26.74 +Professionals,79.25 +Students,23.91 +Families,102.37 +Retirees,86.80 +Professionals,22.45 +Students,14.05 +Families,82.78 +Retirees,33.93 +Professionals,70.84 +Students,28.93 +Families,51.07 +Retirees,42.71 +Professionals,55.90 +Students,16.06 +Families,108.86 +Retirees,39.17 +Professionals,48.84 +Students,18.70 +Families,77.14 +Retirees,23.77 +Professionals,25.11 +Students,24.46 +Families,72.39 +Retirees,70.35 +Professionals,33.94 +Students,23.87 +Families,115.27 +Retirees,36.16 +Professionals,38.46 +Students,16.01 +Families,95.48 +Retirees,41.73 +Professionals,34.19 +Students,33.94 +Families,72.43 +Retirees,72.38 +Professionals,107.91 +Students,25.30 +Families,106.68 +Retirees,62.94 +Professionals,79.46 +Students,36.41 +Families,100.27 +Retirees,77.91 +Professionals,54.65 +Students,32.48 +Families,110.43 +Retirees,40.07 +Professionals,85.38 +Students,25.74 +Families,61.19 +Retirees,87.24 +Professionals,97.01 +Students,20.38 +Families,108.02 +Retirees,70.89 +Professionals,58.84 +Students,21.50 +Families,76.25 +Retirees,88.30 +Professionals,76.12 +Students,23.02 +Families,80.67 +Retirees,69.73 +Professionals,31.56 +Students,37.07 +Families,54.36 +Retirees,81.77 +Professionals,49.63 +Students,31.20 +Families,88.99 +Retirees,71.47 +Professionals,36.91 +Students,12.11 +Families,82.96 +Retirees,35.46 +Professionals,109.60 +Students,19.74 +Families,108.08 +Retirees,78.60 +Professionals,96.02 +Students,7.70 +Families,100.11 +Retirees,37.25 +Professionals,26.89 +Students,14.13 +Families,58.28 +Retirees,73.76 +Professionals,52.63 +Students,16.42 +Families,97.75 +Retirees,34.60 +Professionals,31.37 +Students,15.64 +Families,72.41 +Retirees,72.93 +Professionals,54.76 +Students,39.04 +Families,73.60 +Retirees,92.26 +Professionals,91.13 +Students,26.55 +Families,78.75 +Retirees,40.71 +Professionals,68.09 +Students,26.51 +Families,67.71 +Retirees,27.48 +Professionals,51.54 +Students,21.74 +Families,93.10 +Retirees,67.10 +Professionals,89.74 +Students,19.22 +Families,109.81 +Retirees,64.46 +Professionals,47.19 +Students,32.24 +Families,78.59 +Retirees,70.59 +Professionals,24.79 +Students,22.54 +Families,65.85 +Retirees,36.32 +Professionals,56.34 +Students,32.85 +Families,102.61 +Retirees,45.60 +Professionals,34.86 +Students,15.91 +Families,113.77 +Retirees,19.00 +Professionals,31.36 +Students,12.36 +Families,91.73 +Retirees,64.08 +Professionals,116.46 +Students,13.34 +Families,85.36 +Retirees,43.86 +Professionals,70.64 +Students,18.87 +Families,99.18 +Retirees,34.70 +Professionals,112.70 +Students,72.66 +Families,55.63 +Retirees,55.65 +Professionals,65.65 +Students,15.77 +Families,68.46 +Retirees,50.16 +Professionals,59.78 +Students,10.50 +Families,81.53 +Retirees,36.00 +Professionals,33.41 +Students,36.47 +Families,83.80 +Retirees,29.01 +Professionals,77.62 +Students,21.21 +Families,75.98 +Retirees,79.30 +Professionals,43.26 +Students,27.22 +Families,81.23 +Retirees,31.86 +Professionals,154.29 +Students,42.16 +Families,113.38 +Retirees,70.74 +Professionals,83.31 +Students,13.75 +Families,85.03 +Retirees,34.01 +Professionals,159.36 +Students,37.08 +Families,88.90 +Retirees,26.19 +Professionals,58.53 +Students,30.11 +Families,125.99 +Retirees,79.31 +Professionals,33.75 +Students,15.32 +Families,81.39 +Retirees,36.37 +Professionals,28.91 +Students,22.36 +Families,78.77 +Retirees,33.75 +Professionals,69.73 +Students,17.04 +Families,89.48 +Retirees,34.26 +Professionals,29.19 +Students,27.45 +Families,123.06 +Retirees,29.72 +Professionals,34.27 +Students,25.18 +Families,92.00 +Retirees,40.76 +Professionals,99.01 +Students,15.81 +Families,73.96 +Retirees,72.69 +Professionals,37.50 +Students,25.13 +Families,59.79 +Retirees,30.35 +Professionals,26.31 +Students,29.63 +Families,82.96 +Retirees,70.95 +Professionals,73.84 +Students,20.77 +Families,64.39 +Retirees,76.68 +Professionals,46.67 +Students,12.80 +Families,90.55 +Retirees,24.10 +Professionals,128.30 +Students,18.69 +Families,71.33 +Retirees,33.51 +Professionals,61.67 +Students,41.07 +Families,96.54 +Retirees,70.96 +Professionals,23.72 +Students,23.20 +Families,84.18 +Retirees,43.15 +Professionals,48.17 +Students,11.80 +Families,68.64 +Retirees,71.10 +Professionals,106.30 +Students,22.23 +Families,70.74 +Retirees,27.39 +Professionals,51.47 +Students,62.27 +Families,75.67 +Retirees,41.70 +Professionals,74.35 +Students,8.67 +Families,112.96 +Retirees,30.95 +Professionals,103.18 +Students,18.75 +Families,77.35 +Retirees,80.07 +Professionals,104.89 +Students,17.47 +Families,84.72 +Retirees,35.52 +Professionals,35.15 +Students,29.31 +Families,105.31 +Retirees,82.80 +Professionals,46.05 +Students,22.77 +Families,67.70 +Retirees,23.48 +Professionals,24.89 +Students,16.46 +Families,90.11 +Retirees,25.62 +Professionals,45.01 +Students,17.47 +Families,55.50 +Retirees,33.14 +Professionals,44.53 +Students,17.75 +Families,55.38 +Retirees,32.62 +Professionals,43.57 +Students,33.63 +Families,50.06 +Retirees,42.34 +Professionals,129.18 +Students,9.11 +Families,77.19 +Retirees,77.86 +Professionals,54.34 +Students,23.02 +Families,73.00 +Retirees,76.67 +Professionals,37.40 +Students,21.53 +Families,90.69 +Retirees,67.09 +Professionals,68.11 +Students,24.27 +Families,84.42 +Retirees,22.93 +Professionals,51.16 +Students,59.82 +Families,51.01 +Retirees,31.46 +Professionals,26.12 +Students,36.52 +Families,103.85 +Retirees,27.51 +Professionals,77.67 +Students,10.59 +Families,83.37 +Retirees,39.84 +Professionals,49.61 +Students,34.60 +Families,97.32 +Retirees,73.96 +Professionals,74.30 +Students,16.05 +Families,95.86 +Retirees,36.47 +Professionals,32.50 +Students,20.09 +Families,52.23 +Retirees,35.12 +Professionals,53.01 +Students,45.27 +Families,100.77 +Retirees,14.96 +Professionals,82.16 +Students,14.93 +Families,118.75 +Retirees,75.13 +Professionals,34.83 +Students,18.83 +Families,78.97 +Retirees,44.72 +Professionals,68.65 +Students,19.30 +Families,77.65 +Retirees,39.58 +Professionals,67.81 +Students,21.87 +Families,98.19 +Retirees,70.38 +Professionals,41.20 +Students,19.91 +Families,85.31 +Retirees,18.52 +Professionals,32.59 +Students,10.97 +Families,73.66 +Retirees,26.57 +Professionals,30.87 +Students,18.35 +Families,72.47 +Retirees,78.00 +Professionals,68.52 +Students,20.89 +Families,104.48 +Retirees,29.95 +Professionals,95.46 +Students,43.89 +Families,107.77 +Retirees,75.94 +Professionals,71.08 +Students,24.83 +Families,108.01 +Retirees,42.90 +Professionals,64.67 +Students,21.09 +Families,83.40 +Retirees,59.05 +Professionals,63.11 +Students,24.34 +Families,87.17 +Retirees,71.11 +Professionals,101.79 +Students,19.61 +Families,99.51 +Retirees,36.87 +Professionals,175.08 +Students,13.43 +Families,93.00 +Retirees,72.28 +Professionals,83.81 +Students,26.56 +Families,97.48 +Retirees,35.96 +Professionals,38.90 +Students,55.13 +Families,87.61 +Retirees,78.85 +Professionals,107.07 +Students,26.95 +Families,97.20 +Retirees,52.17 +Professionals,75.07 +Students,56.42 +Families,78.94 +Retirees,68.94 +Professionals,58.28 +Students,42.73 +Families,73.60 +Retirees,82.53 +Professionals,56.72 +Students,17.90 +Families,87.78 +Retirees,38.68 +Professionals,59.41 +Students,14.73 +Families,99.79 +Retirees,62.33 +Professionals,41.39 +Students,24.88 +Families,90.26 +Retirees,56.27 +Professionals,69.61 +Students,38.68 +Families,80.33 +Retirees,30.77 +Professionals,51.89 +Students,50.83 +Families,97.37 +Retirees,37.33 +Professionals,71.71 +Students,27.58 +Families,72.44 +Retirees,37.71 +Professionals,24.57 +Students,17.90 +Families,63.02 +Retirees,59.01 +Professionals,126.38 +Students,16.32 +Families,98.74 +Retirees,43.86 +Professionals,94.67 +Students,16.46 +Families,103.66 +Retirees,86.32 +Professionals,54.95 +Students,27.59 +Families,80.34 +Retirees,26.81 +Professionals,22.56 +Students,13.27 +Families,85.96 +Retirees,20.42 +Professionals,80.51 +Students,18.74 +Families,92.44 +Retirees,29.11 +Professionals,29.04 +Students,18.06 +Families,54.22 +Retirees,75.20 +Professionals,117.87 +Students,31.91 +Families,80.16 +Retirees,66.43 +Professionals,24.57 +Students,19.50 +Families,118.93 +Retirees,38.52 +Professionals,66.45 +Students,39.40 +Families,46.11 +Retirees,76.32 +Professionals,41.05 +Students,17.65 +Families,110.88 +Retirees,38.42 +Professionals,44.65 +Students,19.16 +Families,78.85 +Retirees,26.69 +Professionals,33.19 +Students,20.53 +Families,66.15 +Retirees,73.15 +Professionals,135.48 +Students,20.66 +Families,97.56 +Retirees,65.51 +Professionals,51.68 +Students,35.95 +Families,113.97 +Retirees,62.37 +Professionals,36.49 +Students,13.83 +Families,34.11 +Retirees,27.77 +Professionals,47.44 +Students,12.54 +Families,68.51 +Retirees,81.64 +Professionals,35.49 +Students,40.56 +Families,89.33 +Retirees,66.79 +Professionals,32.55 +Students,27.47 +Families,95.53 +Retirees,70.93 +Professionals,77.30 +Students,22.86 +Families,83.53 +Retirees,62.85 +Professionals,50.29 +Students,17.09 +Families,90.76 +Retirees,60.51 +Professionals,100.66 +Students,17.33 +Families,58.77 +Retirees,74.21 +Professionals,34.43 +Students,21.50 +Families,100.09 +Retirees,27.06 +Professionals,56.12 +Students,26.16 +Families,75.31 +Retirees,89.10 +Professionals,78.01 +Students,13.73 +Families,79.12 +Retirees,73.85 +Professionals,39.61 +Students,18.02 +Families,87.32 +Retirees,84.88 +Professionals,99.05 +Students,31.90 +Families,104.84 +Retirees,37.68 +Professionals,60.32 +Students,38.12 +Families,104.88 +Retirees,31.61 +Professionals,64.34 +Students,27.20 +Families,94.49 +Retirees,24.23 +Professionals,51.34 +Students,40.43 +Families,81.08 +Retirees,39.67 +Professionals,22.92 +Students,11.10 +Families,88.29 +Retirees,30.74 +Professionals,56.33 +Students,23.84 +Families,104.03 +Retirees,40.77 +Professionals,50.36 +Students,25.05 +Families,74.91 +Retirees,37.93 +Professionals,37.23 +Students,17.06 +Families,70.68 +Retirees,73.46 +Professionals,105.02 +Students,18.28 +Families,105.93 +Retirees,35.79 +Professionals,82.42 +Students,21.34 +Families,73.41 +Retirees,36.65 +Professionals,76.58 +Students,19.46 +Families,118.89 +Retirees,61.74 +Professionals,75.08 +Students,15.98 +Families,72.11 +Retirees,73.85 +Professionals,53.58 +Students,25.20 +Families,70.34 +Retirees,28.46 +Professionals,79.26 +Students,19.88 +Families,52.16 +Retirees,66.33 +Professionals,145.03 +Students,11.33 +Families,112.02 +Retirees,75.27 +Professionals,29.07 +Students,17.67 +Families,109.29 +Retirees,77.50 +Professionals,60.53 +Students,16.16 +Families,77.64 +Retirees,36.36 +Professionals,54.27 +Students,23.62 +Families,62.12 +Retirees,46.29 +Professionals,88.62 +Students,23.22 +Families,68.78 +Retirees,75.27 +Professionals,46.27 +Students,18.58 +Families,95.88 +Retirees,47.59 +Professionals,61.96 +Students,14.26 +Families,67.40 +Retirees,30.14 +Professionals,44.47 +Students,40.32 +Families,88.68 +Retirees,55.48 +Professionals,46.28 +Students,17.70 +Families,98.43 +Retirees,76.61 +Professionals,75.21 +Students,31.61 +Families,77.47 +Retirees,33.50 +Professionals,36.06 +Students,28.67 +Families,96.93 +Retirees,67.31 +Professionals,54.47 +Students,14.30 +Families,74.08 +Retirees,32.31 +Professionals,38.88 +Students,18.84 +Families,59.03 +Retirees,35.45 +Professionals,49.59 +Students,9.48 +Families,91.96 +Retirees,18.29 +Professionals,91.58 +Students,29.61 +Families,122.23 +Retirees,75.84 +Professionals,72.54 +Students,23.07 +Families,103.47 +Retirees,41.10 +Professionals,57.79 +Students,42.53 +Families,110.83 +Retirees,26.67 +Professionals,45.35 +Students,14.73 +Families,69.78 +Retirees,28.55 +Professionals,51.49 +Students,13.83 +Families,73.32 +Retirees,26.22 +Professionals,51.11 +Students,6.07 +Families,71.59 +Retirees,30.50 +Professionals,59.18 +Students,43.10 +Families,90.94 +Retirees,57.42 +Professionals,125.47 +Students,28.30 +Families,76.26 +Retirees,83.23 +Professionals,27.14 +Students,26.29 +Families,85.02 +Retirees,69.20 +Professionals,33.82 +Students,13.42 +Families,80.18 +Retirees,85.30 +Professionals,52.73 +Students,15.15 +Families,72.20 +Retirees,42.19 +Professionals,42.16 +Students,13.94 +Families,109.62 +Retirees,70.66 +Professionals,48.46 +Students,48.29 +Families,74.59 +Retirees,34.98 +Professionals,48.24 +Students,45.50 +Families,70.17 +Retirees,62.66 +Professionals,86.12 +Students,18.20 +Families,98.68 +Retirees,67.98 +Professionals,32.60 +Students,21.40 +Families,65.73 +Retirees,59.80 +Professionals,35.73 +Students,27.66 +Families,83.62 +Retirees,31.08 +Professionals,54.57 +Students,28.46 +Families,91.45 +Retirees,39.65 +Professionals,58.43 +Students,20.83 +Families,67.92 +Retirees,78.88 +Professionals,51.60 +Students,19.29 +Families,73.73 +Retirees,62.32 +Professionals,68.45 +Students,53.51 +Families,85.94 +Retirees,31.51 +Professionals,31.30 +Students,21.09 +Families,94.10 +Retirees,27.93 +Professionals,103.78 +Students,17.57 +Families,88.38 +Retirees,58.26 +Professionals,37.63 +Students,24.75 +Families,106.02 +Retirees,28.02 +Professionals,26.64 +Students,22.85 +Families,81.24 +Retirees,76.64 +Professionals,53.46 +Students,24.62 +Families,102.89 +Retirees,29.30 +Professionals,54.86 +Students,14.93 +Families,57.85 +Retirees,48.12 +Professionals,93.81 +Students,20.90 +Families,115.97 +Retirees,38.87 +Professionals,37.46 +Students,16.99 +Families,74.01 +Retirees,33.90 +Professionals,26.17 +Students,10.72 +Families,48.61 +Retirees,40.86 +Professionals,47.11 +Students,27.53 +Families,94.86 +Retirees,60.18 +Professionals,32.68 +Students,18.31 +Families,95.93 +Retirees,38.03 +Professionals,38.17 +Students,21.82 +Families,79.01 +Retirees,34.74 +Professionals,65.86 +Students,38.65 +Families,95.91 +Retirees,67.11 +Professionals,102.21 +Students,24.38 +Families,91.83 +Retirees,65.10 +Professionals,26.02 +Students,34.85 +Families,78.81 +Retirees,69.93 +Professionals,59.47 +Students,8.30 +Families,67.54 +Retirees,33.02 +Professionals,59.62 +Students,33.95 +Families,94.52 +Retirees,74.41 +Professionals,56.25 +Students,43.28 +Families,47.52 +Retirees,34.90 +Professionals,69.15 +Students,26.79 +Families,82.60 +Retirees,35.52 +Professionals,36.44 +Students,36.39 +Families,86.28 +Retirees,66.24 +Professionals,67.83 +Students,21.21 +Families,96.18 +Retirees,71.41 +Professionals,59.21 +Students,23.59 +Families,85.90 +Retirees,24.36 +Professionals,70.98 +Students,9.78 +Families,106.48 +Retirees,82.21 +Professionals,33.11 +Students,43.55 +Families,103.15 +Retirees,73.11 +Professionals,100.66 +Students,32.92 +Families,79.52 +Retirees,46.59 +Professionals,40.20 +Students,17.59 +Families,74.99 +Retirees,40.07 +Professionals,28.54 +Students,19.95 +Families,78.45 +Retirees,98.30 +Professionals,62.91 +Students,21.21 +Families,69.73 +Retirees,42.60 +Professionals,48.61 +Students,17.57 +Families,73.93 +Retirees,88.87 +Professionals,31.98 +Students,15.40 +Families,75.75 +Retirees,38.77 +Professionals,43.79 +Students,8.90 +Families,96.99 +Retirees,27.96 +Professionals,32.40 +Students,60.49 +Families,82.18 +Retirees,28.43 +Professionals,53.50 +Students,21.52 +Families,60.83 +Retirees,69.18 +Professionals,50.40 +Students,35.58 +Families,108.19 +Retirees,79.26 +Professionals,75.77 +Students,14.27 +Families,52.95 +Retirees,67.28 +Professionals,35.63 +Students,20.40 +Families,77.92 +Retirees,26.85 +Professionals,49.15 +Students,11.63 +Families,95.48 +Retirees,30.86 +Professionals,84.82 +Students,27.67 +Families,95.93 +Retirees,37.32 +Professionals,58.44 +Students,11.47 +Families,85.23 +Retirees,75.10 +Professionals,53.55 +Students,6.20 +Families,122.04 +Retirees,68.04 +Professionals,41.45 +Students,27.19 +Families,91.42 +Retirees,70.76 +Professionals,51.60 +Students,34.93 +Families,71.64 +Retirees,73.67 +Professionals,51.89 +Students,11.61 +Families,105.88 +Retirees,68.47 +Professionals,95.43 +Students,46.12 +Families,75.80 +Retirees,64.08 +Professionals,30.50 +Students,19.45 +Families,86.42 +Retirees,29.42 +Professionals,99.88 +Students,20.20 +Families,93.88 +Retirees,36.98 +Professionals,27.29 +Students,12.30 +Families,94.36 +Retirees,29.20 +Professionals,47.36 +Students,15.84 +Families,48.22 +Retirees,62.96 +Professionals,56.23 +Students,17.22 +Families,66.36 +Retirees,41.44 +Professionals,43.75 +Students,16.73 +Families,72.45 +Retirees,68.39 +Professionals,100.32 +Students,19.97 +Families,102.51 +Retirees,33.36 +Professionals,38.84 +Students,15.07 +Families,85.05 +Retirees,61.10 +Professionals,29.70 +Students,19.19 +Families,89.59 +Retirees,83.86 +Professionals,110.65 +Students,28.98 +Families,52.97 +Retirees,53.71 +Professionals,30.17 +Students,16.76 +Families,90.84 +Retirees,43.05 +Professionals,54.83 +Students,21.17 +Families,67.38 +Retirees,37.61 +Professionals,52.49 +Students,10.91 +Families,71.13 +Retirees,70.84 +Professionals,48.81 +Students,40.45 +Families,63.21 +Retirees,25.04 +Professionals,130.90 +Students,31.50 +Families,73.60 +Retirees,41.21 +Professionals,66.86 +Students,9.58 +Families,55.00 +Retirees,24.07 +Professionals,46.65 +Students,65.96 +Families,121.17 +Retirees,31.08 +Professionals,39.55 +Students,22.30 +Families,58.98 +Retirees,36.88 +Professionals,52.85 +Students,15.43 +Families,92.02 +Retirees,87.87 +Professionals,51.03 +Students,30.09 +Families,118.71 +Retirees,33.89 +Professionals,54.73 +Students,27.80 +Families,93.69 +Retirees,35.19 +Professionals,49.25 +Students,18.81 +Families,83.22 +Retirees,89.98 +Professionals,62.11 +Students,22.77 +Families,91.56 +Retirees,60.41 +Professionals,58.04 +Students,27.94 +Families,102.00 +Retirees,62.23 +Professionals,77.08 +Students,14.21 +Families,92.57 +Retirees,66.87 +Professionals,52.85 +Students,15.97 +Families,67.97 +Retirees,38.61 +Professionals,29.77 +Students,8.20 +Families,85.63 +Retirees,38.37 +Professionals,68.55 +Students,20.74 +Families,71.66 +Retirees,57.55 +Professionals,60.39 +Students,30.47 +Families,114.46 +Retirees,59.51 +Professionals,52.68 +Students,19.93 +Families,64.04 +Retirees,20.41 +Professionals,69.53 +Students,22.89 +Families,105.62 +Retirees,30.38 +Professionals,27.19 +Students,55.01 +Families,78.74 +Retirees,71.41 +Professionals,81.66 +Students,14.80 +Families,85.12 +Retirees,39.56 +Professionals,48.34 +Students,11.32 +Families,68.23 +Retirees,82.54 +Professionals,40.32 +Students,10.36 +Families,112.02 +Retirees,57.51 +Professionals,82.60 +Students,16.12 +Families,96.48 +Retirees,65.37 +Professionals,86.21 +Students,34.45 +Families,88.03 +Retirees,81.70 +Professionals,34.39 +Students,28.00 +Families,108.72 +Retirees,94.11 +Professionals,79.70 +Students,27.91 +Families,84.79 +Retirees,83.90 +Professionals,41.61 +Students,36.37 +Families,76.10 +Retirees,70.31 +Professionals,45.14 +Students,14.92 +Families,90.86 +Retirees,31.49 +Professionals,72.61 +Students,13.50 +Families,66.18 +Retirees,25.31 +Professionals,65.21 +Students,21.09 +Families,87.79 +Retirees,42.96 +Professionals,62.86 +Students,42.51 +Families,69.99 +Retirees,66.65 +Professionals,136.01 +Students,10.05 +Families,92.15 +Retirees,79.54 +Professionals,73.29 +Students,10.60 +Families,109.24 +Retirees,38.61 +Professionals,56.72 +Students,10.88 +Families,105.18 +Retirees,51.41 +Professionals,36.65 +Students,11.72 +Families,93.21 +Retirees,25.88 +Professionals,35.80 +Students,22.99 +Families,62.51 +Retirees,72.76 +Professionals,24.95 +Students,23.42 +Families,101.48 +Retirees,38.59 +Professionals,37.62 +Students,13.16 +Families,78.27 +Retirees,80.09 +Professionals,45.75 +Students,14.66 +Families,115.55 +Retirees,31.84 +Professionals,42.30 +Students,11.07 +Families,82.56 +Retirees,28.47 +Professionals,73.12 +Students,15.08 +Families,78.95 +Retirees,31.85 +Professionals,103.06 +Students,19.70 +Families,81.31 +Retirees,77.29 +Professionals,58.09 +Students,22.49 +Families,95.54 +Retirees,37.44 +Professionals,72.73 +Students,15.28 +Families,107.01 +Retirees,28.39 +Professionals,64.40 +Students,36.36 +Families,96.50 +Retirees,55.27 +Professionals,30.75 +Students,29.30 +Families,134.42 +Retirees,64.07 +Professionals,40.65 +Students,16.69 +Families,68.34 +Retirees,50.81 +Professionals,42.03 +Students,38.08 +Families,92.58 +Retirees,55.05 +Professionals,44.96 +Students,25.72 +Families,62.68 +Retirees,77.11 +Professionals,32.21 +Students,21.70 +Families,97.85 +Retirees,45.14 +Professionals,39.85 +Students,16.69 +Families,108.91 +Retirees,25.19 +Professionals,62.29 +Students,45.47 +Families,110.01 +Retirees,24.92 +Professionals,31.42 +Students,33.44 +Families,87.30 +Retirees,25.90 +Professionals,108.55 +Students,39.00 +Families,69.07 +Retirees,17.12 +Professionals,44.67 +Students,12.71 +Families,98.77 +Retirees,54.41 +Professionals,27.00 +Students,11.69 +Families,99.28 +Retirees,68.41 +Professionals,60.09 +Students,20.25 +Families,75.05 +Retirees,76.01 +Professionals,143.85 +Students,19.04 +Families,105.84 +Retirees,38.47 +Professionals,31.49 +Students,19.62 +Families,128.76 +Retirees,39.26 +Professionals,84.34 +Students,16.28 +Families,78.62 +Retirees,43.93 +Professionals,68.25 +Students,15.18 +Families,77.48 +Retirees,35.09 +Professionals,32.64 +Students,18.31 +Families,111.08 +Retirees,26.79 +Professionals,38.03 +Students,26.91 +Families,94.45 +Retirees,75.54 +Professionals,36.22 +Students,13.57 +Families,58.16 +Retirees,69.47 +Professionals,73.27 +Students,42.20 +Families,83.04 +Retirees,35.51 +Professionals,90.18 +Students,20.08 +Families,90.73 +Retirees,51.31 +Professionals,29.79 +Students,29.09 +Families,77.31 +Retirees,37.01 +Professionals,45.04 +Students,32.09 +Families,89.58 +Retirees,74.10 +Professionals,37.01 +Students,30.50 +Families,82.41 +Retirees,32.01 +Professionals,66.71 +Students,28.73 +Families,78.73 +Retirees,94.39 +Professionals,104.79 +Students,23.39 +Families,83.74 +Retirees,30.53 +Professionals,69.54 +Students,56.30 +Families,121.55 +Retirees,41.85 +Professionals,70.70 +Students,20.60 +Families,102.72 +Retirees,61.59 +Professionals,53.18 +Students,15.35 +Families,95.85 +Retirees,30.59 +Professionals,76.85 +Students,26.54 +Families,46.22 +Retirees,40.68 +Professionals,55.90 +Students,43.60 +Families,97.58 +Retirees,30.34 +Professionals,82.51 +Students,29.41 +Families,116.04 +Retirees,33.36 +Professionals,152.91 +Students,16.46 +Families,92.87 +Retirees,74.23 +Professionals,54.50 +Students,13.10 +Families,76.42 +Retirees,27.59 +Professionals,37.40 +Students,23.01 +Families,63.47 +Retirees,42.49 +Professionals,52.06 +Students,20.13 +Families,87.36 +Retirees,73.77 +Professionals,55.89 +Students,21.45 +Families,95.01 +Retirees,31.24 +Professionals,58.09 +Students,16.28 +Families,114.65 +Retirees,78.17 +Professionals,37.29 +Students,34.74 +Families,74.09 +Retirees,60.52 +Professionals,128.29 +Students,16.19 +Families,74.74 +Retirees,36.70 +Professionals,49.81 +Students,10.53 +Families,92.99 +Retirees,57.76 +Professionals,87.62 +Students,15.41 +Families,77.15 +Retirees,37.50 +Professionals,45.48 +Students,27.60 +Families,75.61 +Retirees,32.81 +Professionals,60.05 +Students,17.20 +Families,95.35 +Retirees,34.01 +Professionals,79.09 +Students,17.30 +Families,72.48 +Retirees,79.54 +Professionals,27.55 +Students,19.20 +Families,88.59 +Retirees,35.47 +Professionals,37.59 +Students,39.85 +Families,73.56 +Retirees,30.47 +Professionals,47.33 +Students,45.03 +Families,71.20 +Retirees,34.59 +Professionals,24.14 +Students,14.49 +Families,64.33 +Retirees,76.15 +Professionals,108.26 +Students,27.31 +Families,66.90 +Retirees,21.28 +Professionals,62.78 +Students,11.37 +Families,83.81 +Retirees,40.58 +Professionals,41.98 +Students,29.03 +Families,97.77 +Retirees,41.24 +Professionals,34.56 +Students,22.76 +Families,101.59 +Retirees,72.67 +Professionals,40.89 +Students,14.85 +Families,72.93 +Retirees,64.82 +Professionals,57.96 +Students,39.45 +Families,86.84 +Retirees,32.67 +Professionals,55.73 +Students,38.95 +Families,93.11 +Retirees,63.78 +Professionals,89.40 +Students,15.51 +Families,84.02 +Retirees,63.34 +Professionals,90.96 +Students,15.62 +Families,92.06 +Retirees,63.61 +Professionals,37.19 +Students,30.32 +Families,73.67 +Retirees,31.76 +Professionals,72.58 +Students,30.05 +Families,77.33 +Retirees,62.70 +Professionals,81.10 +Students,14.93 +Families,106.15 +Retirees,36.71 +Professionals,65.37 +Students,17.20 +Families,73.23 +Retirees,59.63 +Professionals,27.01 +Students,11.24 +Families,88.71 +Retirees,92.39 +Professionals,26.28 +Students,17.27 +Families,51.53 +Retirees,61.94 +Professionals,31.08 +Students,22.68 +Families,72.79 +Retirees,74.13 +Professionals,94.78 +Students,19.85 +Families,101.72 +Retirees,65.28 +Professionals,36.51 +Students,29.62 +Families,100.03 +Retirees,98.86 +Professionals,41.97 +Students,31.19 +Families,65.42 +Retirees,80.72 +Professionals,81.46 +Students,14.49 +Families,82.78 +Retirees,29.80 +Professionals,56.52 +Students,44.55 +Families,70.79 +Retirees,61.40 +Professionals,47.04 +Students,37.20 +Families,103.96 +Retirees,35.99 +Professionals,56.80 +Students,58.76 +Families,84.76 +Retirees,71.83 +Professionals,51.10 +Students,31.91 +Families,105.98 +Retirees,66.65 +Professionals,55.11 +Students,22.70 +Families,108.41 +Retirees,88.18 +Professionals,101.28 +Students,20.88 +Families,72.82 +Retirees,76.82 +Professionals,84.77 +Students,17.32 +Families,77.40 +Retirees,21.28 +Professionals,61.06 +Students,37.29 +Families,89.88 +Retirees,35.10 +Professionals,30.35 +Students,23.88 +Families,91.18 +Retirees,81.07 +Professionals,37.77 +Students,17.06 +Families,87.78 +Retirees,41.87 +Professionals,47.16 +Students,31.63 +Families,86.66 +Retirees,27.75 +Professionals,54.20 +Students,19.02 +Families,36.37 +Retirees,31.35 +Professionals,75.60 +Students,13.44 +Families,98.64 +Retirees,66.90 +Professionals,83.22 +Students,13.28 +Families,92.06 +Retirees,74.30 +Professionals,109.86 +Students,26.73 +Families,100.33 +Retirees,33.22 +Professionals,54.75 +Students,12.50 +Families,62.56 +Retirees,29.76 +Professionals,28.79 +Students,12.79 +Families,87.42 +Retirees,32.45 +Professionals,48.28 +Students,15.02 +Families,75.67 +Retirees,67.25 +Professionals,52.28 +Students,25.55 +Families,93.41 +Retirees,80.74 +Professionals,46.00 +Students,23.58 +Families,35.76 +Retirees,23.94 +Professionals,46.63 +Students,17.04 +Families,114.85 +Retirees,73.38 +Professionals,32.07 +Students,15.37 +Families,67.14 +Retirees,34.22 +Professionals,33.41 +Students,11.37 +Families,107.72 +Retirees,26.45 +Professionals,30.80 +Students,19.99 +Families,78.04 +Retirees,38.67 +Professionals,79.03 +Students,14.17 +Families,95.01 +Retirees,35.31 +Professionals,21.82 +Students,13.26 +Families,106.64 +Retirees,83.93 +Professionals,139.63 +Students,21.46 +Families,113.24 +Retirees,82.31 +Professionals,43.36 +Students,29.82 +Families,73.94 +Retirees,37.43 +Professionals,32.21 +Students,11.49 +Families,54.01 +Retirees,68.20 +Professionals,68.44 +Students,24.49 +Families,112.00 +Retirees,22.17 +Professionals,46.66 +Students,9.01 +Families,103.98 +Retirees,40.87 +Professionals,122.17 +Students,21.66 +Families,87.72 +Retirees,41.02 +Professionals,45.32 +Students,17.45 +Families,81.90 +Retirees,79.07 +Professionals,31.84 +Students,16.64 +Families,60.67 +Retirees,68.98 +Professionals,48.51 +Students,15.65 +Families,103.80 +Retirees,60.02 +Professionals,33.23 +Students,25.78 +Families,93.73 +Retirees,76.88 +Professionals,61.38 +Students,18.40 +Families,114.96 +Retirees,22.05 +Professionals,65.88 +Students,23.34 +Families,99.84 +Retirees,29.17 +Professionals,28.87 +Students,22.47 +Families,114.45 +Retirees,37.72 +Professionals,39.48 +Students,17.74 +Families,104.61 +Retirees,43.26 +Professionals,87.82 +Students,12.69 +Families,88.37 +Retirees,40.08 +Professionals,74.46 +Students,8.65 +Families,80.26 +Retirees,39.79 +Professionals,31.54 +Students,22.46 +Families,90.06 +Retirees,67.19 +Professionals,51.48 +Students,10.95 +Families,105.25 +Retirees,76.88 +Professionals,71.50 +Students,10.70 +Families,76.70 +Retirees,63.64 +Professionals,59.87 +Students,30.29 +Families,98.70 +Retirees,71.15 +Professionals,72.85 +Students,19.15 +Families,89.67 +Retirees,31.03 +Professionals,31.28 +Students,42.69 +Families,85.92 +Retirees,78.76 +Professionals,39.14 +Students,30.96 +Families,59.30 +Retirees,61.60 +Professionals,56.16 +Students,14.57 +Families,50.08 +Retirees,31.93 +Professionals,22.53 +Students,28.59 +Families,95.25 +Retirees,46.97 +Professionals,46.49 +Students,25.44 +Families,69.86 +Retirees,32.86 +Professionals,81.68 +Students,18.55 +Families,96.08 +Retirees,75.70 +Professionals,48.79 +Students,19.80 +Families,57.58 +Retirees,30.51 +Professionals,85.48 +Students,16.33 +Families,90.55 +Retirees,34.56 +Professionals,104.30 +Students,36.03 +Families,90.82 +Retirees,45.03 +Professionals,90.59 +Students,25.13 +Families,48.78 +Retirees,35.46 +Professionals,99.30 +Students,15.34 +Families,93.14 +Retirees,35.66 +Professionals,54.49 +Students,31.30 +Families,85.69 +Retirees,85.17 +Professionals,50.68 +Students,14.92 +Families,90.14 +Retirees,33.70 +Professionals,94.40 +Students,38.07 +Families,59.03 +Retirees,33.16 +Professionals,60.49 +Students,16.46 +Families,119.99 +Retirees,61.97 +Professionals,67.45 +Students,17.74 +Families,124.63 +Retirees,71.95 +Professionals,45.90 +Students,26.60 +Families,69.29 +Retirees,81.31 +Professionals,44.13 +Students,31.76 +Families,79.02 +Retirees,34.37 +Professionals,109.87 +Students,10.11 +Families,59.27 +Retirees,23.17 +Professionals,56.72 +Students,41.55 +Families,73.53 +Retirees,23.55 +Professionals,99.66 +Students,20.96 +Families,91.67 +Retirees,47.43 +Professionals,40.21 +Students,22.86 +Families,80.03 +Retirees,61.20 +Professionals,52.24 +Students,29.84 +Families,55.20 +Retirees,30.86 +Professionals,33.43 +Students,25.26 +Families,87.71 +Retirees,72.34 +Professionals,50.35 +Students,19.59 +Families,58.84 +Retirees,47.63 +Professionals,36.33 +Students,23.80 +Families,88.41 +Retirees,37.22 +Professionals,49.71 +Students,8.80 +Families,65.29 +Retirees,69.80 +Professionals,58.84 +Students,17.40 +Families,105.67 +Retirees,37.08 +Professionals,65.99 +Students,11.68 +Families,101.75 +Retirees,39.57 +Professionals,61.54 +Students,37.29 +Families,79.97 +Retirees,69.25 +Professionals,61.34 +Students,46.20 +Families,88.04 +Retirees,35.99 +Professionals,65.82 +Students,21.45 +Families,80.35 +Retirees,36.62 +Professionals,140.12 +Students,21.27 +Families,43.17 +Retirees,28.55 +Professionals,54.80 +Students,21.65 +Families,92.21 +Retirees,61.74 +Professionals,77.43 +Students,13.87 +Families,73.79 +Retirees,44.57 +Professionals,29.74 +Students,24.58 +Families,100.35 +Retirees,15.47 +Professionals,33.32 +Students,14.57 +Families,112.54 +Retirees,46.23 +Professionals,46.01 +Students,26.96 +Families,80.42 +Retirees,30.23 +Professionals,43.91 +Students,38.42 +Families,121.80 +Retirees,70.36 +Professionals,36.99 +Students,16.53 +Families,61.46 +Retirees,37.07 +Professionals,50.37 +Students,26.56 +Families,94.86 +Retirees,34.35 +Professionals,79.72 +Students,42.79 +Families,111.88 +Retirees,44.73 +Professionals,86.28 +Students,19.96 +Families,107.14 +Retirees,60.60 +Professionals,28.07 +Students,32.23 +Families,106.32 +Retirees,87.90 +Professionals,48.02 +Students,29.21 +Families,85.65 +Retirees,44.22 +Professionals,47.10 +Students,14.25 +Families,61.16 +Retirees,42.78 +Professionals,98.77 +Students,26.33 +Families,73.55 +Retirees,28.39 +Professionals,42.31 +Students,21.04 +Families,89.16 +Retirees,73.90 +Professionals,59.37 +Students,28.32 +Families,81.20 +Retirees,37.87 +Professionals,97.97 +Students,20.01 +Families,100.57 +Retirees,69.57 +Professionals,53.43 +Students,31.27 +Families,99.15 +Retirees,70.25 +Professionals,57.11 +Students,35.81 +Families,74.88 +Retirees,69.35 +Professionals,50.85 +Students,20.96 +Families,107.56 +Retirees,30.98 +Professionals,30.93 +Students,65.31 +Families,49.74 +Retirees,26.35 +Professionals,93.20 +Students,21.19 +Families,73.42 +Retirees,28.14 +Professionals,57.15 +Students,19.41 +Families,64.48 +Retirees,68.06 +Professionals,30.69 +Students,23.09 +Families,91.11 +Retirees,85.93 +Professionals,56.55 +Students,20.76 +Families,95.41 +Retirees,48.25 +Professionals,45.02 +Students,33.81 +Families,91.41 +Retirees,75.87 +Professionals,101.01 +Students,29.32 +Families,54.43 +Retirees,31.42 +Professionals,54.88 +Students,20.51 +Families,72.45 +Retirees,23.73 +Professionals,170.41 +Students,8.10 +Families,66.17 +Retirees,30.90 +Professionals,125.93 +Students,44.90 +Families,97.19 +Retirees,34.51 +Professionals,133.14 +Students,25.19 +Families,86.93 +Retirees,71.56 +Professionals,84.59 +Students,9.66 +Families,113.83 +Retirees,80.35 +Professionals,33.68 +Students,18.07 +Families,116.27 +Retirees,70.85 +Professionals,58.69 +Students,32.10 +Families,53.61 +Retirees,73.15 +Professionals,57.11 +Students,13.05 +Families,87.25 +Retirees,31.78 +Professionals,61.49 +Students,19.44 +Families,87.73 +Retirees,30.22 +Professionals,48.20 +Students,47.12 +Families,86.94 +Retirees,35.23 +Professionals,50.52 +Students,21.14 +Families,130.73 +Retirees,45.00 +Professionals,63.73 +Students,19.08 +Families,72.23 +Retirees,20.61 +Professionals,102.63 +Students,27.74 +Families,60.53 +Retirees,31.84 +Professionals,34.91 +Students,23.47 +Families,125.20 +Retirees,82.69 +Professionals,22.33 +Students,33.71 +Families,98.06 +Retirees,78.86 +Professionals,36.86 +Students,7.99 +Families,72.78 +Retirees,20.25 +Professionals,117.51 +Students,13.11 +Families,63.14 +Retirees,51.69 +Professionals,85.01 +Students,28.51 +Families,88.18 +Retirees,82.31 +Professionals,38.26 +Students,21.25 +Families,93.71 +Retirees,29.86 +Professionals,25.44 +Students,33.85 +Families,85.99 +Retirees,76.86 +Professionals,108.09 +Students,7.61 +Families,77.56 +Retirees,28.96 +Professionals,62.46 +Students,30.62 +Families,90.85 +Retirees,37.14 +Professionals,98.26 +Students,31.14 +Families,60.62 +Retirees,25.02 +Professionals,37.63 +Students,9.39 +Families,108.10 +Retirees,86.08 +Professionals,97.98 +Students,9.74 +Families,98.15 +Retirees,79.92 +Professionals,57.51 +Students,12.92 +Families,97.50 +Retirees,27.90 +Professionals,54.30 +Students,56.24 +Families,113.33 +Retirees,38.03 +Professionals,31.75 +Students,16.90 +Families,72.44 +Retirees,68.32 +Professionals,88.41 +Students,26.23 +Families,123.69 +Retirees,72.21 +Professionals,81.01 +Students,20.86 +Families,97.82 +Retirees,16.14 +Professionals,56.99 +Students,52.85 +Families,93.50 +Retirees,74.24 +Professionals,61.17 +Students,39.07 +Families,73.93 +Retirees,32.49 +Professionals,39.80 +Students,22.11 +Families,61.16 +Retirees,88.12 +Professionals,29.04 +Students,57.34 +Families,89.17 +Retirees,74.40 +Professionals,26.84 +Students,14.53 +Families,93.59 +Retirees,49.50 +Professionals,30.19 +Students,26.66 +Families,60.41 +Retirees,70.80 +Professionals,133.89 +Students,48.86 +Families,86.43 +Retirees,72.00 +Professionals,65.62 +Students,18.15 +Families,95.94 +Retirees,80.88 +Professionals,78.42 +Students,14.32 +Families,85.11 +Retirees,75.42 +Professionals,77.32 +Students,21.18 +Families,43.71 +Retirees,54.13 +Professionals,78.98 +Students,67.98 +Families,90.50 +Retirees,76.50 +Professionals,56.56 +Students,30.92 +Families,57.72 +Retirees,32.25 +Professionals,60.50 +Students,30.78 +Families,99.44 +Retirees,26.71 +Professionals,38.99 +Students,23.84 +Families,86.86 +Retirees,82.38 +Professionals,98.35 +Students,12.58 +Families,105.90 +Retirees,37.87 +Professionals,64.57 +Students,30.91 +Families,94.45 +Retirees,75.83 +Professionals,43.95 +Students,14.54 +Families,69.90 +Retirees,42.57 +Professionals,46.59 +Students,41.38 +Families,81.85 +Retirees,34.65 +Professionals,57.90 +Students,24.37 +Families,90.24 +Retirees,27.11 +Professionals,57.77 +Students,21.97 +Families,49.70 +Retirees,29.13 +Professionals,44.49 +Students,34.65 +Families,80.01 +Retirees,18.82 +Professionals,45.33 +Students,29.37 +Families,80.79 +Retirees,37.39 +Professionals,53.39 +Students,32.16 +Families,55.83 +Retirees,33.82 +Professionals,38.54 +Students,10.78 +Families,72.65 +Retirees,50.82 +Professionals,56.83 +Students,28.71 +Families,98.40 +Retirees,73.04 +Professionals,46.87 +Students,80.34 +Families,87.97 +Retirees,20.11 +Professionals,81.25 +Students,22.79 +Families,86.59 +Retirees,32.89 +Professionals,82.75 +Students,45.61 +Families,87.39 +Retirees,40.48 +Professionals,79.16 +Students,10.07 +Families,102.20 +Retirees,32.61 +Professionals,97.79 +Students,42.90 +Families,101.60 +Retirees,32.63 +Professionals,67.20 +Students,22.99 +Families,65.12 +Retirees,34.23 +Professionals,54.02 +Students,34.11 +Families,89.42 +Retirees,32.05 +Professionals,94.67 +Students,18.68 +Families,58.60 +Retirees,31.89 +Professionals,61.91 +Students,16.77 +Families,98.36 +Retirees,70.86 +Professionals,46.00 +Students,49.02 +Families,89.09 +Retirees,28.41 +Professionals,35.83 +Students,13.47 +Families,114.09 +Retirees,48.31 +Professionals,36.24 +Students,43.07 +Families,56.54 +Retirees,54.55 +Professionals,41.13 +Students,14.04 +Families,74.47 +Retirees,63.37 +Professionals,79.48 +Students,28.27 +Families,109.70 +Retirees,51.81 +Professionals,32.96 +Students,14.48 +Families,101.50 +Retirees,72.47 +Professionals,55.97 +Students,13.92 +Families,95.25 +Retirees,71.12 +Professionals,34.96 +Students,31.44 +Families,83.62 +Retirees,71.17 +Professionals,37.53 +Students,25.59 +Families,108.81 +Retirees,73.89 +Professionals,25.64 +Students,23.21 +Families,95.23 +Retirees,82.17 +Professionals,103.65 +Students,44.78 +Families,114.78 +Retirees,27.05 +Professionals,35.79 +Students,15.11 +Families,40.66 +Retirees,33.70 +Professionals,71.17 +Students,21.72 +Families,106.67 +Retirees,24.35 +Professionals,57.04 +Students,21.35 +Families,96.34 +Retirees,29.02 +Professionals,158.25 +Students,24.32 +Families,66.59 +Retirees,86.64 +Professionals,73.51 +Students,44.79 +Families,81.50 +Retirees,88.32 +Professionals,44.59 +Students,12.65 +Families,101.58 +Retirees,48.59 +Professionals,99.17 +Students,21.42 +Families,88.47 +Retirees,70.02 +Professionals,62.10 +Students,10.25 +Families,126.52 +Retirees,38.01 +Professionals,51.59 +Students,20.75 +Families,86.25 +Retirees,31.22 +Professionals,32.84 +Students,35.17 +Families,84.81 +Retirees,67.28 +Professionals,40.47 +Students,11.71 +Families,80.14 +Retirees,41.43 +Professionals,61.85 +Students,30.23 +Families,85.39 +Retirees,76.59 +Professionals,51.71 +Students,26.82 +Families,87.60 +Retirees,41.82 +Professionals,55.14 +Students,13.05 +Families,114.30 +Retirees,31.12 +Professionals,59.08 +Students,23.46 +Families,96.03 +Retirees,55.37 +Professionals,25.11 +Students,34.88 +Families,93.22 +Retirees,36.36 +Professionals,42.94 +Students,17.47 +Families,101.09 +Retirees,21.44 +Professionals,51.61 +Students,31.10 +Families,75.38 +Retirees,73.63 +Professionals,22.54 +Students,24.82 +Families,86.52 +Retirees,74.91 +Professionals,42.70 +Students,20.24 +Families,69.29 +Retirees,79.96 +Professionals,54.60 +Students,40.49 +Families,114.84 +Retirees,44.17 +Professionals,37.56 +Students,26.27 +Families,77.08 +Retirees,66.30 +Professionals,72.26 +Students,42.30 +Families,87.61 +Retirees,31.14 +Professionals,35.29 +Students,20.99 +Families,75.66 +Retirees,25.27 +Professionals,46.17 +Students,23.73 +Families,117.15 +Retirees,26.07 +Professionals,37.39 +Students,19.44 +Families,58.04 +Retirees,27.57 +Professionals,63.00 +Students,23.44 +Families,73.56 +Retirees,80.10 +Professionals,96.47 +Students,14.04 +Families,87.15 +Retirees,28.73 +Professionals,63.04 +Students,14.95 +Families,85.82 +Retirees,30.95 +Professionals,72.07 +Students,32.54 +Families,97.66 +Retirees,40.15 +Professionals,67.87 +Students,14.17 +Families,94.56 +Retirees,77.94 +Professionals,51.98 +Students,8.55 +Families,61.35 +Retirees,43.21 +Professionals,57.04 +Students,22.81 +Families,96.00 +Retirees,41.03 +Professionals,54.20 +Students,17.85 +Families,90.52 +Retirees,29.38 +Professionals,51.44 +Students,25.41 +Families,139.71 +Retirees,29.53 +Professionals,53.84 +Students,17.58 +Families,86.93 +Retirees,59.52 +Professionals,56.89 +Students,11.53 +Families,120.65 +Retirees,34.07 +Professionals,50.34 +Students,14.59 +Families,54.24 +Retirees,40.49 +Professionals,98.12 +Students,13.95 +Families,76.24 +Retirees,82.81 +Professionals,102.48 +Students,12.46 +Families,57.66 +Retirees,78.94 +Professionals,60.71 +Students,28.94 +Families,73.71 +Retirees,27.19 +Professionals,58.43 +Students,14.32 +Families,88.56 +Retirees,41.88 +Professionals,52.76 +Students,17.14 +Families,113.65 +Retirees,31.73 +Professionals,71.33 +Students,92.91 +Families,86.00 +Retirees,40.44 +Professionals,42.22 +Students,18.18 +Families,88.70 +Retirees,35.60 +Professionals,36.23 +Students,25.50 +Families,78.34 +Retirees,75.23 +Professionals,29.71 +Students,6.98 +Families,96.46 +Retirees,26.78 +Professionals,74.72 +Students,22.27 +Families,111.31 +Retirees,65.09 +Professionals,42.99 +Students,17.05 +Families,69.49 +Retirees,34.11 +Professionals,50.94 +Students,25.51 +Families,82.39 +Retirees,73.48 +Professionals,41.86 +Students,24.16 +Families,60.11 +Retirees,71.55 +Professionals,49.24 +Students,25.21 +Families,112.05 +Retirees,35.99 +Professionals,84.22 +Students,20.15 +Families,105.75 +Retirees,69.54 +Professionals,86.67 +Students,27.84 +Families,57.64 +Retirees,24.28 +Professionals,20.22 +Students,25.18 +Families,82.92 +Retirees,40.53 +Professionals,59.85 +Students,15.87 +Families,118.04 +Retirees,66.06 +Professionals,58.81 +Students,8.93 +Families,96.55 +Retirees,32.53 +Professionals,92.15 +Students,29.48 +Families,93.15 +Retirees,31.69 +Professionals,46.90 +Students,44.11 +Families,67.33 +Retirees,31.88 +Professionals,67.86 +Students,26.80 +Families,82.53 +Retirees,39.67 +Professionals,55.95 +Students,15.53 +Families,83.03 +Retirees,28.52 +Professionals,39.22 +Students,39.04 +Families,106.66 +Retirees,33.60 +Professionals,66.83 +Students,12.94 +Families,40.89 +Retirees,76.77 +Professionals,57.02 +Students,10.61 +Families,82.80 +Retirees,68.37 +Professionals,77.35 +Students,13.59 +Families,69.81 +Retirees,59.49 +Professionals,50.69 +Students,13.29 +Families,92.30 +Retirees,54.95 +Professionals,39.65 +Students,13.82 +Families,83.47 +Retirees,60.26 +Professionals,44.69 +Students,29.06 +Families,80.37 +Retirees,77.83 +Professionals,68.42 +Students,34.12 +Families,78.28 +Retirees,81.92 +Professionals,67.69 +Students,13.33 +Families,99.21 +Retirees,29.25 +Professionals,68.25 +Students,30.14 +Families,90.46 +Retirees,65.71 +Professionals,102.65 +Students,20.18 +Families,82.61 +Retirees,69.55 +Professionals,68.22 +Students,15.06 +Families,79.81 +Retirees,75.16 +Professionals,36.46 +Students,29.62 +Families,70.42 +Retirees,42.63 +Professionals,50.26 +Students,27.74 +Families,85.90 +Retirees,65.44 +Professionals,54.02 +Students,66.60 +Families,109.38 +Retirees,43.58 +Professionals,37.96 +Students,13.54 +Families,46.18 +Retirees,60.35 +Professionals,107.29 +Students,28.94 +Families,75.54 +Retirees,26.25 +Professionals,47.75 +Students,38.87 +Families,86.11 +Retirees,78.42 +Professionals,77.16 +Students,9.22 +Families,94.31 +Retirees,35.87 +Professionals,81.54 +Students,32.21 +Families,81.12 +Retirees,44.02 +Professionals,33.20 +Students,35.29 +Families,82.82 +Retirees,69.72 +Professionals,23.43 +Students,19.94 +Families,75.41 +Retirees,92.48 +Professionals,76.96 +Students,17.07 +Families,55.91 +Retirees,32.94 +Professionals,44.96 +Students,42.91 +Families,81.29 +Retirees,30.48 +Professionals,23.02 +Students,35.79 +Families,90.19 +Retirees,68.03 +Professionals,102.19 +Students,12.21 +Families,99.53 +Retirees,70.48 +Professionals,50.21 +Students,15.08 +Families,56.45 +Retirees,74.55 +Professionals,28.12 +Students,11.38 +Families,112.19 +Retirees,43.01 +Professionals,34.80 +Students,44.98 +Families,90.66 +Retirees,66.57 +Professionals,161.54 +Students,20.94 +Families,93.19 +Retirees,67.88 +Professionals,28.61 +Students,29.55 +Families,71.60 +Retirees,36.10 +Professionals,42.52 +Students,42.49 +Families,78.19 +Retirees,76.00 +Professionals,35.66 +Students,7.59 +Families,121.08 +Retirees,60.88 +Professionals,89.34 +Students,48.63 +Families,97.95 +Retirees,45.76 +Professionals,54.99 +Students,20.18 +Families,82.56 +Retirees,90.34 +Professionals,67.80 +Students,14.98 +Families,74.50 +Retirees,69.33 +Professionals,66.01 +Students,34.26 +Families,85.98 +Retirees,81.42 +Professionals,79.80 +Students,58.99 +Families,64.16 +Retirees,37.50 +Professionals,63.11 +Students,22.67 +Families,80.90 +Retirees,76.67 +Professionals,50.49 +Students,15.88 +Families,103.07 +Retirees,37.78 +Professionals,42.85 +Students,20.20 +Families,62.64 +Retirees,69.37 +Professionals,52.11 +Students,34.19 +Families,100.53 +Retirees,36.70 +Professionals,67.44 +Students,14.75 +Families,71.17 +Retirees,72.75 +Professionals,25.02 +Students,10.02 +Families,74.38 +Retirees,27.82 +Professionals,60.68 +Students,37.02 +Families,83.46 +Retirees,70.72 +Professionals,29.22 +Students,19.48 +Families,58.22 +Retirees,71.09 +Professionals,91.12 +Students,46.76 +Families,81.50 +Retirees,30.60 +Professionals,74.30 +Students,27.18 +Families,81.22 +Retirees,75.31 +Professionals,71.70 +Students,29.90 +Families,76.03 +Retirees,28.27 +Professionals,52.10 +Students,29.49 +Families,67.46 +Retirees,71.27 +Professionals,52.00 +Students,24.20 +Families,71.52 +Retirees,58.33 +Professionals,58.13 +Students,24.34 +Families,72.03 +Retirees,74.86 +Professionals,31.79 +Students,10.14 +Families,100.47 +Retirees,67.28 +Professionals,28.46 +Students,29.92 +Families,91.08 +Retirees,69.53 +Professionals,36.93 +Students,13.14 +Families,126.16 +Retirees,44.83 +Professionals,65.85 +Students,18.02 +Families,59.54 +Retirees,67.71 +Professionals,83.18 +Students,37.91 +Families,75.78 +Retirees,43.24 +Professionals,34.49 +Students,22.67 +Families,63.15 +Retirees,69.26 +Professionals,63.94 +Students,29.96 +Families,73.16 +Retirees,60.71 +Professionals,33.59 +Students,27.42 +Families,86.15 +Retirees,56.77 +Professionals,49.01 +Students,26.38 +Families,82.81 +Retirees,68.88 +Professionals,36.00 +Students,20.06 +Families,86.59 +Retirees,31.65 +Professionals,71.42 +Students,20.84 +Families,69.82 +Retirees,28.94 +Professionals,40.76 +Students,13.25 +Families,72.69 +Retirees,87.76 +Professionals,64.65 +Students,23.54 +Families,132.31 +Retirees,38.43 +Professionals,34.27 +Students,10.47 +Families,89.86 +Retirees,84.74 +Professionals,82.51 +Students,13.07 +Families,61.01 +Retirees,62.45 +Professionals,57.86 +Students,14.04 +Families,84.83 +Retirees,89.63 +Professionals,27.36 +Students,24.08 +Families,59.74 +Retirees,25.00 +Professionals,104.12 +Students,11.38 +Families,88.76 +Retirees,42.06 +Professionals,32.03 +Students,63.12 +Families,65.59 +Retirees,81.14 +Professionals,44.24 +Students,13.07 +Families,75.99 +Retirees,32.71 +Professionals,55.76 +Students,29.76 +Families,126.24 +Retirees,25.87 +Professionals,90.92 +Students,20.42 +Families,96.80 +Retirees,60.00 +Professionals,38.07 +Students,20.28 +Families,122.61 +Retirees,37.74 +Professionals,96.00 +Students,15.73 +Families,67.70 +Retirees,28.41 +Professionals,49.47 +Students,9.79 +Families,77.49 +Retirees,38.82 +Professionals,48.49 +Students,20.77 +Families,99.84 +Retirees,77.99 +Professionals,118.37 +Students,23.61 +Families,85.54 +Retirees,59.88 +Professionals,27.18 +Students,34.26 +Families,67.30 +Retirees,78.03 +Professionals,55.11 +Students,13.37 +Families,78.43 +Retirees,37.97 +Professionals,122.96 +Students,61.06 +Families,109.24 +Retirees,35.22 +Professionals,71.92 +Students,42.73 +Families,106.71 +Retirees,41.14 +Professionals,40.71 +Students,17.82 +Families,89.02 +Retirees,71.45 +Professionals,50.05 +Students,16.88 +Families,121.81 +Retirees,48.00 +Professionals,38.53 +Students,25.04 +Families,122.18 +Retirees,73.93 +Professionals,63.47 +Students,24.21 +Families,101.15 +Retirees,65.55 +Professionals,66.23 +Students,36.40 +Families,67.91 +Retirees,88.11 +Professionals,40.07 +Students,33.29 +Families,87.94 +Retirees,34.25 +Professionals,33.28 +Students,32.46 +Families,102.26 +Retirees,41.90 +Professionals,60.53 +Students,24.54 +Families,97.06 +Retirees,70.41 +Professionals,29.08 +Students,23.19 +Families,120.24 +Retirees,39.04 +Professionals,31.16 +Students,17.11 +Families,47.70 +Retirees,91.53 +Professionals,59.01 +Students,27.53 +Families,70.66 +Retirees,19.58 +Professionals,59.39 +Students,26.71 +Families,83.53 +Retirees,37.94 +Professionals,30.93 +Students,40.29 +Families,110.62 +Retirees,32.50 +Professionals,59.43 +Students,19.87 +Families,99.43 +Retirees,33.59 +Professionals,36.45 +Students,18.05 +Families,69.06 +Retirees,45.04 +Professionals,47.14 +Students,33.52 +Families,77.01 +Retirees,72.29 +Professionals,56.18 +Students,29.26 +Families,108.55 +Retirees,75.17 +Professionals,30.57 +Students,40.51 +Families,118.52 +Retirees,44.25 +Professionals,43.47 +Students,12.21 +Families,57.71 +Retirees,20.00 +Professionals,64.59 +Students,20.88 +Families,96.08 +Retirees,41.24 +Professionals,47.12 +Students,58.38 +Families,78.83 +Retirees,72.83 +Professionals,40.17 +Students,15.29 +Families,93.87 +Retirees,76.15 +Professionals,70.55 +Students,17.31 +Families,102.17 +Retirees,84.54 +Professionals,52.78 +Students,17.22 +Families,67.51 +Retirees,82.41 +Professionals,39.64 +Students,17.72 +Families,76.96 +Retirees,35.85 +Professionals,61.60 +Students,21.94 +Families,71.76 +Retirees,63.85 +Professionals,81.56 +Students,34.35 +Families,57.55 +Retirees,39.82 +Professionals,89.22 +Students,17.24 +Families,68.54 +Retirees,69.57 +Professionals,49.97 +Students,18.35 +Families,64.09 +Retirees,80.12 +Professionals,25.72 +Students,18.19 +Families,81.64 +Retirees,57.32 +Professionals,124.35 +Students,8.22 +Families,68.07 +Retirees,67.41 +Professionals,62.45 +Students,14.58 +Families,93.10 +Retirees,41.76 +Professionals,142.49 +Students,18.20 +Families,89.39 +Retirees,31.95 +Professionals,51.11 +Students,17.97 +Families,67.10 +Retirees,77.76 +Professionals,48.68 +Students,7.43 +Families,70.27 +Retirees,26.99 +Professionals,25.96 +Students,32.97 +Families,70.70 +Retirees,64.23 +Professionals,42.96 +Students,21.18 +Families,92.62 +Retirees,67.19 +Professionals,125.84 +Students,32.61 +Families,71.14 +Retirees,67.83 +Professionals,41.62 +Students,15.40 +Families,93.32 +Retirees,30.50 +Professionals,52.33 +Students,11.79 +Families,102.14 +Retirees,69.96 +Professionals,38.81 +Students,17.67 +Families,85.65 +Retirees,79.24 +Professionals,42.23 +Students,31.04 +Families,69.34 +Retirees,24.75 +Professionals,30.20 +Students,62.07 +Families,86.59 +Retirees,23.00 +Professionals,40.47 +Students,23.73 +Families,95.73 +Retirees,65.40 +Professionals,71.67 +Students,18.29 +Families,72.46 +Retirees,50.41 +Professionals,52.30 +Students,22.23 +Families,49.58 +Retirees,38.16 +Professionals,87.89 +Students,26.74 +Families,92.54 +Retirees,45.48 +Professionals,29.40 +Students,31.33 +Families,85.45 +Retirees,23.02 +Professionals,102.86 +Students,12.71 +Families,84.49 +Retirees,72.87 +Professionals,42.71 +Students,39.69 +Families,101.33 +Retirees,76.12 +Professionals,22.12 +Students,33.64 +Families,72.89 +Retirees,70.33 +Professionals,79.36 +Students,16.66 +Families,82.73 +Retirees,90.00 +Professionals,32.24 +Students,16.58 +Families,102.77 +Retirees,73.11 +Professionals,46.13 +Students,20.11 +Families,87.33 +Retirees,69.52 +Professionals,57.86 +Students,34.35 +Families,82.98 +Retirees,39.89 +Professionals,49.56 +Students,16.14 +Families,113.06 +Retirees,20.93 +Professionals,84.41 +Students,20.91 +Families,90.89 +Retirees,29.02 +Professionals,70.29 +Students,21.54 +Families,93.67 +Retirees,35.31 +Professionals,47.75 +Students,29.93 +Families,109.44 +Retirees,34.19 +Professionals,42.09 +Students,16.47 +Families,75.92 +Retirees,44.11 +Professionals,86.15 +Students,19.18 +Families,106.12 +Retirees,36.36 +Professionals,27.38 +Students,19.09 +Families,69.30 +Retirees,27.23 +Professionals,79.14 +Students,15.60 +Families,108.70 +Retirees,55.83 +Professionals,22.93 +Students,33.09 +Families,65.72 +Retirees,74.78 +Professionals,67.19 +Students,16.06 +Families,110.43 +Retirees,74.50 +Professionals,38.62 +Students,26.97 +Families,80.03 +Retirees,31.99 +Professionals,26.04 +Students,18.58 +Families,67.22 +Retirees,23.31 +Professionals,49.58 +Students,27.19 +Families,69.54 +Retirees,82.26 +Professionals,52.83 +Students,19.22 +Families,79.25 +Retirees,73.54 +Professionals,31.68 +Students,20.72 +Families,64.57 +Retirees,22.83 +Professionals,37.93 +Students,19.64 +Families,93.23 +Retirees,74.86 +Professionals,61.90 +Students,19.38 +Families,104.75 +Retirees,36.77 +Professionals,34.16 +Students,9.63 +Families,68.51 +Retirees,26.98 +Professionals,103.67 +Students,13.66 +Families,66.07 +Retirees,59.81 +Professionals,46.78 +Students,23.07 +Families,115.17 +Retirees,20.04 +Professionals,47.79 +Students,17.75 +Families,92.10 +Retirees,73.18 +Professionals,45.93 +Students,26.74 +Families,79.02 +Retirees,37.46 +Professionals,92.23 +Students,14.86 +Families,90.66 +Retirees,37.54 +Professionals,59.18 +Students,27.52 +Families,98.92 +Retirees,34.29 +Professionals,41.60 +Students,17.51 +Families,72.76 +Retirees,44.97 +Professionals,65.76 +Students,23.10 +Families,83.71 +Retirees,34.23 +Professionals,52.10 +Students,43.08 +Families,78.52 +Retirees,31.95 +Professionals,38.13 +Students,46.36 +Families,73.39 +Retirees,24.14 +Professionals,33.82 +Students,22.13 +Families,116.55 +Retirees,26.88 +Professionals,45.06 +Students,15.85 +Families,95.09 +Retirees,25.05 +Professionals,28.47 +Students,42.59 +Families,88.29 +Retirees,92.29 +Professionals,40.92 +Students,32.12 +Families,107.41 +Retirees,89.12 +Professionals,45.22 +Students,24.95 +Families,91.45 +Retirees,59.42 +Professionals,40.89 +Students,15.02 +Families,93.25 +Retirees,71.28 +Professionals,52.88 +Students,11.57 +Families,49.73 +Retirees,84.31 +Professionals,56.84 +Students,9.33 +Families,89.68 +Retirees,59.95 +Professionals,64.13 +Students,13.54 +Families,69.31 +Retirees,19.97 +Professionals,95.65 +Students,14.20 +Families,109.91 +Retirees,31.19 +Professionals,27.78 +Students,20.86 +Families,118.53 +Retirees,59.15 +Professionals,119.92 +Students,23.43 +Families,64.61 +Retirees,28.15 +Professionals,59.56 +Students,27.31 +Families,78.33 +Retirees,67.46 +Professionals,40.28 +Students,20.41 +Families,65.47 +Retirees,69.99 +Professionals,33.86 +Students,38.53 +Families,93.02 +Retirees,62.84 +Professionals,52.87 +Students,17.74 +Families,75.83 +Retirees,80.23 +Professionals,47.67 +Students,38.29 +Families,83.77 +Retirees,36.15 +Professionals,53.13 +Students,48.07 +Families,61.63 +Retirees,46.59 +Professionals,26.37 +Students,34.73 +Families,80.13 +Retirees,72.82 +Professionals,45.20 +Students,18.78 +Families,96.23 +Retirees,43.28 +Professionals,63.59 +Students,41.59 +Families,86.97 +Retirees,69.93 +Professionals,57.67 +Students,10.07 +Families,91.80 +Retirees,24.17 +Professionals,56.65 +Students,20.73 +Families,93.51 +Retirees,68.97 +Professionals,78.06 +Students,24.71 +Families,66.60 +Retirees,63.04 +Professionals,127.24 +Students,14.83 +Families,68.44 +Retirees,63.66 +Professionals,40.44 +Students,55.60 +Families,96.26 +Retirees,80.24 +Professionals,67.81 +Students,42.44 +Families,81.67 +Retirees,54.00 +Professionals,66.93 +Students,19.48 +Families,107.11 +Retirees,30.07 +Professionals,30.47 +Students,13.48 +Families,104.96 +Retirees,33.99 +Professionals,26.78 +Students,12.56 +Families,94.11 +Retirees,31.56 +Professionals,57.14 +Students,34.32 +Families,87.11 +Retirees,65.55 +Professionals,38.66 +Students,26.65 +Families,80.57 +Retirees,37.54 +Professionals,83.43 +Students,16.67 +Families,98.72 +Retirees,75.11 +Professionals,66.20 +Students,12.77 +Families,102.25 +Retirees,35.07 +Professionals,55.64 +Students,10.59 +Families,81.36 +Retirees,74.81 +Professionals,99.09 +Students,14.24 +Families,76.90 +Retirees,35.19 +Professionals,33.75 +Students,25.75 +Families,78.60 +Retirees,75.82 +Professionals,55.08 +Students,62.76 +Families,49.66 +Retirees,32.81 +Professionals,92.75 +Students,46.69 +Families,100.17 +Retirees,79.16 +Professionals,59.67 +Students,43.18 +Families,74.86 +Retirees,71.59 +Professionals,84.04 +Students,19.67 +Families,109.29 +Retirees,71.76 +Professionals,49.00 +Students,13.99 +Families,74.46 +Retirees,88.54 +Professionals,51.91 +Students,30.47 +Families,93.63 +Retirees,31.33 +Professionals,70.71 +Students,28.66 +Families,90.63 +Retirees,26.08 +Professionals,124.04 +Students,14.08 +Families,76.64 +Retirees,56.09 +Professionals,70.61 +Students,18.13 +Families,101.30 +Retirees,49.16 +Professionals,34.39 +Students,27.94 +Families,91.61 +Retirees,58.19 +Professionals,92.08 +Students,30.82 +Families,127.10 +Retirees,59.72 +Professionals,42.82 +Students,25.61 +Families,72.88 +Retirees,45.58 +Professionals,55.43 +Students,20.83 +Families,47.25 +Retirees,86.01 +Professionals,37.88 +Students,24.49 +Families,95.31 +Retirees,49.19 +Professionals,56.75 +Students,41.19 +Families,105.79 +Retirees,39.49 +Professionals,23.15 +Students,16.95 +Families,79.04 +Retirees,47.37 +Professionals,43.73 +Students,45.09 +Families,94.21 +Retirees,71.43 +Professionals,92.06 +Students,19.94 +Families,78.22 +Retirees,64.90 +Professionals,36.16 +Students,20.26 +Families,68.44 +Retirees,63.82 +Professionals,127.95 +Students,44.54 +Families,97.03 +Retirees,73.63 +Professionals,48.33 +Students,27.39 +Families,77.14 +Retirees,42.25 +Professionals,75.16 +Students,61.41 +Families,97.27 +Retirees,62.02 +Professionals,40.67 +Students,33.31 +Families,81.63 +Retirees,34.99 +Professionals,70.73 +Students,27.64 +Families,100.34 +Retirees,37.90 +Professionals,74.40 +Students,18.62 +Families,67.82 +Retirees,23.13 +Professionals,28.17 +Students,18.13 +Families,102.41 +Retirees,82.75 +Professionals,45.65 +Students,18.63 +Families,69.31 +Retirees,66.75 +Professionals,97.03 +Students,26.98 +Families,99.96 +Retirees,47.26 +Professionals,40.29 +Students,18.55 +Families,50.10 +Retirees,30.47 +Professionals,40.71 +Students,13.87 +Families,86.48 +Retirees,35.63 +Professionals,66.88 +Students,19.89 +Families,73.98 +Retirees,74.53 +Professionals,77.34 +Students,25.96 +Families,91.33 +Retirees,32.61 +Professionals,86.43 +Students,23.55 +Families,86.02 +Retirees,37.97 +Professionals,32.83 +Students,14.56 +Families,75.28 +Retirees,14.97 +Professionals,59.54 +Students,23.67 +Families,83.85 +Retirees,31.93 +Professionals,40.28 +Students,19.76 +Families,78.86 +Retirees,25.46 +Professionals,37.91 +Students,14.82 +Families,85.40 +Retirees,32.84 +Professionals,36.03 +Students,20.22 +Families,85.52 +Retirees,78.44 +Professionals,25.23 +Students,16.99 +Families,94.45 +Retirees,52.50 +Professionals,43.06 +Students,29.39 +Families,109.14 +Retirees,71.36 +Professionals,42.31 +Students,23.71 +Families,66.66 +Retirees,74.48 +Professionals,34.52 +Students,20.79 +Families,105.11 +Retirees,77.51 +Professionals,93.47 +Students,29.14 +Families,60.39 +Retirees,40.55 +Professionals,57.07 +Students,22.72 +Families,100.79 +Retirees,29.81 +Professionals,81.71 +Students,18.35 +Families,96.05 +Retirees,73.36 +Professionals,151.55 +Students,22.14 +Families,116.88 +Retirees,37.95 +Professionals,60.14 +Students,25.67 +Families,78.32 +Retirees,73.00 +Professionals,37.62 +Students,26.40 +Families,103.86 +Retirees,77.00 +Professionals,27.37 +Students,19.08 +Families,79.46 +Retirees,85.02 +Professionals,46.48 +Students,23.64 +Families,111.24 +Retirees,89.65 +Professionals,39.79 +Students,20.39 +Families,105.40 +Retirees,82.91 +Professionals,95.08 +Students,15.27 +Families,113.55 +Retirees,43.30 +Professionals,68.63 +Students,51.75 +Families,125.23 +Retirees,88.42 +Professionals,51.60 +Students,17.31 +Families,75.10 +Retirees,81.24 +Professionals,74.25 +Students,62.72 +Families,77.78 +Retirees,35.51 +Professionals,76.63 +Students,12.58 +Families,93.04 +Retirees,37.96 +Professionals,39.30 +Students,29.11 +Families,80.79 +Retirees,78.30 +Professionals,64.79 +Students,23.04 +Families,67.61 +Retirees,19.51 +Professionals,42.50 +Students,27.64 +Families,86.86 +Retirees,33.32 +Professionals,68.98 +Students,12.35 +Families,60.63 +Retirees,36.87 +Professionals,144.60 +Students,12.23 +Families,77.64 +Retirees,27.85 +Professionals,57.59 +Students,13.80 +Families,120.51 +Retirees,80.02 +Professionals,66.29 +Students,46.38 +Families,60.35 +Retirees,35.50 +Professionals,129.81 +Students,29.50 +Families,83.88 +Retirees,62.89 +Professionals,61.65 +Students,46.24 +Families,103.04 +Retirees,30.89 +Professionals,119.57 +Students,13.56 +Families,82.87 +Retirees,20.60 +Professionals,46.18 +Students,14.25 +Families,92.02 +Retirees,36.71 +Professionals,50.94 +Students,28.81 +Families,75.20 +Retirees,42.02 +Professionals,59.14 +Students,12.20 +Families,105.75 +Retirees,71.04 +Professionals,41.44 +Students,18.26 +Families,95.35 +Retirees,80.83 +Professionals,64.57 +Students,19.47 +Families,87.89 +Retirees,84.56 +Professionals,45.30 +Students,9.40 +Families,67.98 +Retirees,74.58 +Professionals,56.41 +Students,23.44 +Families,83.94 +Retirees,77.08 +Professionals,40.84 +Students,32.27 +Families,100.02 +Retirees,69.45 +Professionals,45.14 +Students,13.90 +Families,96.70 +Retirees,27.18 +Professionals,56.97 +Students,17.21 +Families,93.19 +Retirees,44.68 +Professionals,69.76 +Students,40.42 +Families,69.99 +Retirees,52.60 +Professionals,53.34 +Students,31.90 +Families,91.15 +Retirees,29.43 +Professionals,28.91 +Students,11.15 +Families,90.34 +Retirees,36.99 +Professionals,33.63 +Students,9.25 +Families,92.92 +Retirees,38.69 +Professionals,99.75 +Students,18.30 +Families,58.85 +Retirees,77.33 +Professionals,74.26 +Students,8.37 +Families,85.05 +Retirees,74.67 +Professionals,58.89 +Students,18.10 +Families,95.56 +Retirees,32.25 +Professionals,105.26 +Students,13.13 +Families,93.95 +Retirees,67.15 +Professionals,66.09 +Students,11.95 +Families,66.13 +Retirees,38.27 +Professionals,76.23 +Students,39.57 +Families,71.55 +Retirees,37.52 +Professionals,43.51 +Students,36.89 +Families,94.19 +Retirees,76.23 +Professionals,27.90 +Students,32.88 +Families,92.95 +Retirees,39.50 +Professionals,35.89 +Students,17.11 +Families,76.61 +Retirees,66.60 +Professionals,42.24 +Students,28.46 +Families,80.44 +Retirees,58.78 +Professionals,39.91 +Students,16.83 +Families,79.03 +Retirees,25.18 +Professionals,54.92 +Students,35.59 +Families,110.12 +Retirees,25.08 +Professionals,110.40 +Students,16.92 +Families,116.13 +Retirees,35.66 +Professionals,118.37 +Students,25.98 +Families,77.09 +Retirees,55.59 +Professionals,54.27 +Students,20.23 +Families,60.29 +Retirees,71.52 +Professionals,111.82 +Students,12.64 +Families,83.00 +Retirees,31.12 +Professionals,39.66 +Students,33.27 +Families,87.89 +Retirees,41.88 +Professionals,44.34 +Students,23.65 +Families,92.43 +Retirees,79.36 +Professionals,47.64 +Students,28.54 +Families,99.42 +Retirees,68.81 +Professionals,47.71 +Students,7.51 +Families,99.50 +Retirees,43.19 +Professionals,41.18 +Students,31.81 +Families,66.27 +Retirees,85.46 +Professionals,106.76 +Students,46.05 +Families,92.13 +Retirees,31.30 +Professionals,63.73 +Students,44.03 +Families,99.04 +Retirees,16.75 +Professionals,64.83 +Students,10.18 +Families,65.32 +Retirees,34.29 +Professionals,29.01 +Students,28.06 +Families,119.95 +Retirees,36.50 +Professionals,33.61 +Students,24.79 +Families,87.51 +Retirees,26.41 +Professionals,37.25 +Students,32.56 +Families,74.29 +Retirees,83.78 +Professionals,25.97 +Students,25.03 +Families,68.13 +Retirees,29.14 +Professionals,127.28 +Students,40.55 +Families,85.53 +Retirees,62.93 +Professionals,114.39 +Students,11.55 +Families,74.18 +Retirees,67.02 +Professionals,54.68 +Students,30.21 +Families,84.21 +Retirees,34.02 +Professionals,69.45 +Students,15.09 +Families,79.32 +Retirees,73.89 +Professionals,89.53 +Students,32.11 +Families,90.65 +Retirees,27.71 +Professionals,50.93 +Students,36.52 +Families,75.58 +Retirees,40.29 +Professionals,40.63 +Students,26.13 +Families,82.93 +Retirees,61.58 +Professionals,47.58 +Students,36.30 +Families,105.93 +Retirees,50.91 +Professionals,71.24 +Students,31.42 +Families,92.96 +Retirees,55.15 +Professionals,79.37 +Students,41.32 +Families,29.25 +Retirees,69.19 +Professionals,53.20 +Students,27.90 +Families,57.58 +Retirees,33.05 +Professionals,24.12 +Students,32.08 +Families,107.58 +Retirees,40.47 +Professionals,108.77 +Students,25.78 +Families,82.95 +Retirees,34.13 +Professionals,33.32 +Students,11.71 +Families,68.06 +Retirees,64.66 +Professionals,52.76 +Students,8.63 +Families,131.75 +Retirees,27.51 +Professionals,49.30 +Students,19.69 +Families,122.29 +Retirees,83.01 +Professionals,28.47 +Students,74.84 +Families,70.47 +Retirees,67.93 +Professionals,49.57 +Students,22.17 +Families,88.77 +Retirees,42.04 +Professionals,83.17 +Students,19.01 +Families,92.64 +Retirees,67.23 +Professionals,94.31 +Students,30.30 +Families,107.03 +Retirees,38.99 +Professionals,79.65 +Students,11.69 +Families,58.21 +Retirees,77.41 +Professionals,36.39 +Students,23.66 +Families,88.23 +Retirees,63.42 +Professionals,28.73 +Students,12.77 +Families,65.77 +Retirees,53.89 +Professionals,47.29 +Students,32.57 +Families,62.67 +Retirees,77.20 +Professionals,82.46 +Students,19.02 +Families,78.16 +Retirees,32.47 +Professionals,67.57 +Students,26.54 +Families,86.89 +Retirees,63.76 +Professionals,42.04 +Students,30.24 +Families,106.41 +Retirees,61.04 +Professionals,77.01 +Students,30.62 +Families,99.96 +Retirees,78.07 +Professionals,42.89 +Students,13.28 +Families,78.25 +Retirees,73.12 +Professionals,73.89 +Students,16.62 +Families,90.40 +Retirees,59.17 +Professionals,45.92 +Students,10.71 +Families,128.27 +Retirees,32.31 +Professionals,46.86 +Students,26.83 +Families,87.26 +Retirees,35.13 +Professionals,47.60 +Students,10.80 +Families,107.84 +Retirees,29.43 +Professionals,92.14 +Students,12.01 +Families,116.70 +Retirees,71.94 +Professionals,31.51 +Students,11.62 +Families,83.60 +Retirees,86.03 +Professionals,64.99 +Students,23.69 +Families,76.75 +Retirees,27.09 +Professionals,54.22 +Students,12.08 +Families,77.48 +Retirees,72.76 +Professionals,77.56 +Students,38.42 +Families,87.86 +Retirees,71.49 +Professionals,51.68 +Students,22.89 +Families,77.92 +Retirees,56.04 +Professionals,33.12 +Students,12.68 +Families,81.72 +Retirees,80.94 +Professionals,41.46 +Students,19.78 +Families,76.62 +Retirees,82.60 +Professionals,56.36 +Students,19.52 +Families,61.25 +Retirees,44.39 +Professionals,67.68 +Students,16.19 +Families,78.96 +Retirees,32.36 +Professionals,61.81 +Students,22.74 +Families,73.14 +Retirees,26.22 +Professionals,131.59 +Students,17.93 +Families,111.31 +Retirees,27.90 +Professionals,47.77 +Students,11.85 +Families,83.47 +Retirees,35.49 +Professionals,104.97 +Students,17.29 +Families,34.94 +Retirees,30.59 +Professionals,32.44 +Students,21.41 +Families,100.47 +Retirees,40.92 +Professionals,42.00 +Students,22.49 +Families,53.26 +Retirees,49.81 +Professionals,33.24 +Students,23.21 +Families,76.44 +Retirees,43.24 +Professionals,89.71 +Students,13.09 +Families,57.97 +Retirees,83.90 +Professionals,70.87 +Students,23.48 +Families,74.88 +Retirees,34.16 +Professionals,66.52 +Students,26.30 +Families,59.29 +Retirees,29.50 +Professionals,114.81 +Students,46.14 +Families,81.99 +Retirees,76.99 +Professionals,36.59 +Students,29.03 +Families,89.62 +Retirees,72.63 +Professionals,64.46 +Students,30.48 +Families,85.68 +Retirees,77.84 +Professionals,69.04 +Students,10.32 +Families,104.92 +Retirees,34.47 +Professionals,42.50 +Students,16.74 +Families,19.81 +Retirees,31.51 +Professionals,78.40 +Students,12.00 +Families,97.02 +Retirees,72.76 +Professionals,55.79 +Students,59.65 +Families,93.33 +Retirees,40.58 +Professionals,40.36 +Students,13.57 +Families,63.48 +Retirees,27.85 +Professionals,55.90 +Students,14.24 +Families,93.57 +Retirees,26.16 +Professionals,76.47 +Students,15.87 +Families,116.40 +Retirees,29.74 +Professionals,23.16 +Students,16.44 +Families,61.65 +Retirees,34.01 +Professionals,83.52 +Students,8.78 +Families,110.22 +Retirees,67.71 +Professionals,99.38 +Students,15.49 +Families,90.03 +Retirees,67.06 +Professionals,54.17 +Students,17.86 +Families,96.83 +Retirees,58.86 +Professionals,34.45 +Students,26.70 +Families,124.13 +Retirees,50.75 +Professionals,31.43 +Students,22.20 +Families,91.17 +Retirees,31.06 +Professionals,40.44 +Students,30.91 +Families,115.20 +Retirees,86.17 +Professionals,89.57 +Students,21.38 +Families,86.21 +Retirees,56.91 +Professionals,76.33 +Students,14.50 +Families,71.77 +Retirees,27.04 +Professionals,46.48 +Students,22.01 +Families,110.17 +Retirees,94.17 +Professionals,64.28 +Students,53.51 +Families,102.68 +Retirees,31.78 +Professionals,44.19 +Students,21.16 +Families,91.50 +Retirees,36.09 +Professionals,64.95 +Students,51.95 +Families,69.50 +Retirees,42.32 +Professionals,39.93 +Students,24.27 +Families,96.80 +Retirees,28.31 +Professionals,92.35 +Students,9.85 +Families,71.31 +Retirees,65.72 +Professionals,64.36 +Students,28.77 +Families,47.46 +Retirees,27.97 +Professionals,41.95 +Students,33.05 +Families,53.74 +Retirees,78.07 +Professionals,51.79 +Students,20.23 +Families,97.86 +Retirees,24.92 +Professionals,54.77 +Students,17.10 +Families,91.45 +Retirees,64.00 +Professionals,75.75 +Students,41.91 +Families,49.63 +Retirees,64.68 +Professionals,37.48 +Students,22.22 +Families,62.43 +Retirees,65.32 +Professionals,112.75 +Students,26.71 +Families,65.83 +Retirees,66.30 +Professionals,52.39 +Students,17.96 +Families,82.11 +Retirees,79.22 +Professionals,47.43 +Students,14.02 +Families,97.98 +Retirees,73.20 +Professionals,173.06 +Students,18.41 +Families,86.44 +Retirees,43.61 +Professionals,113.15 +Students,6.77 +Families,86.80 +Retirees,27.95 +Professionals,56.72 +Students,44.58 +Families,62.78 +Retirees,73.02 +Professionals,42.28 +Students,24.80 +Families,105.11 +Retirees,35.14 +Professionals,94.24 +Students,32.34 +Families,89.36 +Retirees,78.54 +Professionals,40.18 +Students,20.14 +Families,84.46 +Retirees,76.15 +Professionals,61.36 +Students,31.88 +Families,68.35 +Retirees,69.22 +Professionals,47.20 +Students,15.58 +Families,108.67 +Retirees,34.79 +Professionals,47.03 +Students,16.72 +Families,89.77 +Retirees,66.94 +Professionals,88.97 +Students,47.72 +Families,69.54 +Retirees,24.67 +Professionals,83.66 diff --git a/agents/evals/fixtures/cases/violin-basic-matplotlib-renamed/case.json b/agents/evals/fixtures/cases/violin-basic-matplotlib-renamed/case.json new file mode 100644 index 0000000000..070366fa76 --- /dev/null +++ b/agents/evals/fixtures/cases/violin-basic-matplotlib-renamed/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "violin-basic", + "library": "matplotlib", + "locale": "de", + "perturbation": "renamed", + "bindings": [ + { + "role": "category", + "column": "segment" + }, + { + "role": "value", + "column": "basket_eur" + } + ], + "expected": "accepted", + "tags": [ + "violin", + "renamed", + "synthetic", + "renamed-headers" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 808, renamed)" +} diff --git a/agents/evals/fixtures/cases/violin-basic-matplotlib-renamed/data.csv b/agents/evals/fixtures/cases/violin-basic-matplotlib-renamed/data.csv new file mode 100644 index 0000000000..f88e643436 --- /dev/null +++ b/agents/evals/fixtures/cases/violin-basic-matplotlib-renamed/data.csv @@ -0,0 +1,401 @@ +segment,basket_eur +Students,14.07 +Families,98.65 +Retirees,63.77 +Professionals,54.23 +Students,7.03 +Families,89.88 +Retirees,34.77 +Professionals,50.78 +Students,17.69 +Families,134.75 +Retirees,30.60 +Professionals,62.20 +Students,14.92 +Families,115.29 +Retirees,21.91 +Professionals,67.09 +Students,19.17 +Families,110.73 +Retirees,28.02 +Professionals,54.26 +Students,21.51 +Families,79.17 +Retirees,39.53 +Professionals,43.37 +Students,10.80 +Families,49.56 +Retirees,76.84 +Professionals,74.95 +Students,14.05 +Families,46.72 +Retirees,49.78 +Professionals,41.90 +Students,27.46 +Families,76.29 +Retirees,80.98 +Professionals,68.49 +Students,23.83 +Families,56.71 +Retirees,64.30 +Professionals,97.86 +Students,32.82 +Families,70.32 +Retirees,80.67 +Professionals,35.59 +Students,19.89 +Families,76.06 +Retirees,72.90 +Professionals,70.40 +Students,14.21 +Families,81.29 +Retirees,25.11 +Professionals,51.93 +Students,18.37 +Families,85.01 +Retirees,40.22 +Professionals,44.24 +Students,17.86 +Families,93.67 +Retirees,43.56 +Professionals,91.76 +Students,33.28 +Families,102.97 +Retirees,41.06 +Professionals,100.33 +Students,33.28 +Families,79.74 +Retirees,62.88 +Professionals,27.55 +Students,41.19 +Families,107.49 +Retirees,31.48 +Professionals,121.52 +Students,14.52 +Families,73.63 +Retirees,71.69 +Professionals,46.11 +Students,28.97 +Families,105.38 +Retirees,66.12 +Professionals,41.76 +Students,24.41 +Families,106.45 +Retirees,32.50 +Professionals,22.59 +Students,22.51 +Families,89.34 +Retirees,84.89 +Professionals,39.16 +Students,34.24 +Families,100.71 +Retirees,37.17 +Professionals,24.74 +Students,16.87 +Families,82.53 +Retirees,23.43 +Professionals,31.85 +Students,24.66 +Families,94.35 +Retirees,78.00 +Professionals,152.39 +Students,21.58 +Families,109.73 +Retirees,77.38 +Professionals,68.12 +Students,23.87 +Families,99.19 +Retirees,32.37 +Professionals,40.72 +Students,16.47 +Families,88.25 +Retirees,15.73 +Professionals,58.83 +Students,52.98 +Families,89.35 +Retirees,28.87 +Professionals,61.93 +Students,19.83 +Families,93.21 +Retirees,30.55 +Professionals,37.59 +Students,36.60 +Families,67.98 +Retirees,35.47 +Professionals,42.28 +Students,36.05 +Families,78.23 +Retirees,58.26 +Professionals,45.58 +Students,35.68 +Families,113.11 +Retirees,35.93 +Professionals,44.83 +Students,14.89 +Families,92.40 +Retirees,81.76 +Professionals,37.09 +Students,33.40 +Families,61.53 +Retirees,35.59 +Professionals,60.61 +Students,16.87 +Families,102.93 +Retirees,87.60 +Professionals,92.86 +Students,21.85 +Families,77.35 +Retirees,33.76 +Professionals,92.10 +Students,22.59 +Families,73.61 +Retirees,32.53 +Professionals,35.00 +Students,29.83 +Families,83.79 +Retirees,79.26 +Professionals,21.34 +Students,23.59 +Families,112.80 +Retirees,75.69 +Professionals,34.25 +Students,43.61 +Families,96.90 +Retirees,36.36 +Professionals,33.52 +Students,20.37 +Families,83.75 +Retirees,66.22 +Professionals,35.49 +Students,20.87 +Families,99.93 +Retirees,43.49 +Professionals,40.22 +Students,14.19 +Families,86.40 +Retirees,87.92 +Professionals,104.52 +Students,33.49 +Families,91.78 +Retirees,33.64 +Professionals,68.52 +Students,22.35 +Families,64.32 +Retirees,34.77 +Professionals,59.34 +Students,24.31 +Families,85.21 +Retirees,71.52 +Professionals,50.91 +Students,17.60 +Families,82.48 +Retirees,64.85 +Professionals,58.28 +Students,22.13 +Families,96.84 +Retirees,72.02 +Professionals,57.37 +Students,32.78 +Families,91.75 +Retirees,34.03 +Professionals,42.43 +Students,31.11 +Families,119.85 +Retirees,22.88 +Professionals,59.60 +Students,12.00 +Families,70.55 +Retirees,60.50 +Professionals,31.89 +Students,41.34 +Families,78.24 +Retirees,41.48 +Professionals,30.75 +Students,12.81 +Families,77.10 +Retirees,32.53 +Professionals,134.60 +Students,14.69 +Families,88.97 +Retirees,61.03 +Professionals,30.28 +Students,23.28 +Families,75.89 +Retirees,31.14 +Professionals,42.42 +Students,26.10 +Families,82.91 +Retirees,41.48 +Professionals,33.35 +Students,9.96 +Families,103.82 +Retirees,71.73 +Professionals,85.63 +Students,35.51 +Families,78.14 +Retirees,62.85 +Professionals,52.55 +Students,53.34 +Families,75.90 +Retirees,38.24 +Professionals,75.53 +Students,23.10 +Families,81.99 +Retirees,69.59 +Professionals,73.99 +Students,34.39 +Families,77.69 +Retirees,69.91 +Professionals,71.06 +Students,32.25 +Families,65.71 +Retirees,57.54 +Professionals,37.26 +Students,20.66 +Families,70.86 +Retirees,64.51 +Professionals,159.68 +Students,34.78 +Families,100.48 +Retirees,75.07 +Professionals,31.08 +Students,14.78 +Families,95.59 +Retirees,71.47 +Professionals,54.85 +Students,4.32 +Families,70.61 +Retirees,74.01 +Professionals,20.50 +Students,42.51 +Families,75.42 +Retirees,32.80 +Professionals,81.24 +Students,23.32 +Families,61.32 +Retirees,19.58 +Professionals,33.11 +Students,57.91 +Families,93.61 +Retirees,94.53 +Professionals,43.36 +Students,14.60 +Families,71.45 +Retirees,41.11 +Professionals,60.85 +Students,14.60 +Families,84.60 +Retirees,85.70 +Professionals,77.59 +Students,13.23 +Families,89.29 +Retirees,77.35 +Professionals,53.24 +Students,16.74 +Families,59.05 +Retirees,27.50 +Professionals,70.45 +Students,21.61 +Families,100.58 +Retirees,71.62 +Professionals,79.96 +Students,29.96 +Families,106.74 +Retirees,39.18 +Professionals,90.13 +Students,37.92 +Families,95.36 +Retirees,62.76 +Professionals,75.71 +Students,16.92 +Families,83.62 +Retirees,83.22 +Professionals,65.27 +Students,31.29 +Families,106.47 +Retirees,29.12 +Professionals,31.34 +Students,19.09 +Families,106.04 +Retirees,38.32 +Professionals,60.85 +Students,35.39 +Families,105.89 +Retirees,37.83 +Professionals,22.69 +Students,35.81 +Families,88.24 +Retirees,38.00 +Professionals,35.94 +Students,15.70 +Families,73.16 +Retirees,69.72 +Professionals,38.93 +Students,14.32 +Families,83.62 +Retirees,42.96 +Professionals,76.75 +Students,9.38 +Families,61.61 +Retirees,80.80 +Professionals,52.17 +Students,27.20 +Families,108.44 +Retirees,40.82 +Professionals,140.54 +Students,17.99 +Families,86.15 +Retirees,32.49 +Professionals,41.02 +Students,42.45 +Families,73.40 +Retirees,26.13 +Professionals,75.92 +Students,15.44 +Families,93.99 +Retirees,29.36 +Professionals,107.85 +Students,23.13 +Families,101.09 +Retirees,47.31 +Professionals,47.67 +Students,10.26 +Families,130.57 +Retirees,54.57 +Professionals,28.86 +Students,13.84 +Families,76.21 +Retirees,69.06 +Professionals,36.92 +Students,23.10 +Families,98.27 +Retirees,35.71 +Professionals,29.50 +Students,31.28 +Families,100.72 +Retirees,65.58 +Professionals,39.39 +Students,11.18 +Families,126.08 +Retirees,71.56 +Professionals,31.64 +Students,31.11 +Families,96.31 +Retirees,74.67 +Professionals,29.91 +Students,28.16 +Families,104.00 +Retirees,24.53 +Professionals,53.33 +Students,35.20 +Families,65.06 +Retirees,13.32 +Professionals,59.25 +Students,43.60 +Families,71.94 +Retirees,25.58 +Professionals,72.96 +Students,13.80 +Families,119.24 +Retirees,72.04 +Professionals,36.08 diff --git a/agents/evals/fixtures/cases/violin-basic-matplotlib-x10/case.json b/agents/evals/fixtures/cases/violin-basic-matplotlib-x10/case.json new file mode 100644 index 0000000000..aa6ec01035 --- /dev/null +++ b/agents/evals/fixtures/cases/violin-basic-matplotlib-x10/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "violin-basic", + "library": "matplotlib", + "locale": "en", + "perturbation": "x10", + "bindings": [ + { + "role": "category", + "column": "Customer Segment" + }, + { + "role": "value", + "column": "Basket Value (EUR)" + } + ], + "expected": "accepted", + "tags": [ + "violin", + "x10", + "synthetic", + "scaled-values" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 808, x10)" +} diff --git a/agents/evals/fixtures/cases/violin-basic-matplotlib-x10/data.csv b/agents/evals/fixtures/cases/violin-basic-matplotlib-x10/data.csv new file mode 100644 index 0000000000..abbd5353be --- /dev/null +++ b/agents/evals/fixtures/cases/violin-basic-matplotlib-x10/data.csv @@ -0,0 +1,401 @@ +Customer Segment,Basket Value (EUR) +Students,140.71 +Families,986.53 +Retirees,637.72 +Professionals,542.28 +Students,70.26 +Families,898.84 +Retirees,347.68 +Professionals,507.84 +Students,176.87 +Families,1347.47 +Retirees,305.97 +Professionals,621.98 +Students,149.17 +Families,1152.86 +Retirees,219.08 +Professionals,670.90 +Students,191.66 +Families,1107.32 +Retirees,280.16 +Professionals,542.65 +Students,215.11 +Families,791.70 +Retirees,395.27 +Professionals,433.72 +Students,107.97 +Families,495.61 +Retirees,768.35 +Professionals,749.53 +Students,140.49 +Families,467.17 +Retirees,497.76 +Professionals,419.03 +Students,274.56 +Families,762.89 +Retirees,809.81 +Professionals,684.87 +Students,238.26 +Families,567.08 +Retirees,642.99 +Professionals,978.59 +Students,328.25 +Families,703.24 +Retirees,806.71 +Professionals,355.95 +Students,198.95 +Families,760.62 +Retirees,729.01 +Professionals,704.04 +Students,142.09 +Families,812.89 +Retirees,251.09 +Professionals,519.29 +Students,183.72 +Families,850.15 +Retirees,402.25 +Professionals,442.42 +Students,178.57 +Families,936.74 +Retirees,435.65 +Professionals,917.62 +Students,332.76 +Families,1029.66 +Retirees,410.57 +Professionals,1003.26 +Students,332.82 +Families,797.39 +Retirees,628.77 +Professionals,275.52 +Students,411.87 +Families,1074.88 +Retirees,314.83 +Professionals,1215.17 +Students,145.18 +Families,736.26 +Retirees,716.93 +Professionals,461.07 +Students,289.74 +Families,1053.81 +Retirees,661.15 +Professionals,417.59 +Students,244.11 +Families,1064.46 +Retirees,324.99 +Professionals,225.87 +Students,225.10 +Families,893.45 +Retirees,848.91 +Professionals,391.62 +Students,342.36 +Families,1007.05 +Retirees,371.74 +Professionals,247.40 +Students,168.71 +Families,825.31 +Retirees,234.31 +Professionals,318.54 +Students,246.59 +Families,943.48 +Retirees,779.96 +Professionals,1523.89 +Students,215.76 +Families,1097.25 +Retirees,773.82 +Professionals,681.16 +Students,238.67 +Families,991.91 +Retirees,323.74 +Professionals,407.21 +Students,164.74 +Families,882.47 +Retirees,157.30 +Professionals,588.27 +Students,529.82 +Families,893.51 +Retirees,288.67 +Professionals,619.32 +Students,198.29 +Families,932.10 +Retirees,305.53 +Professionals,375.88 +Students,365.97 +Families,679.81 +Retirees,354.71 +Professionals,422.84 +Students,360.49 +Families,782.27 +Retirees,582.59 +Professionals,455.79 +Students,356.81 +Families,1131.06 +Retirees,359.31 +Professionals,448.26 +Students,148.93 +Families,923.99 +Retirees,817.62 +Professionals,370.86 +Students,334.02 +Families,615.33 +Retirees,355.89 +Professionals,606.06 +Students,168.67 +Families,1029.31 +Retirees,876.03 +Professionals,928.56 +Students,218.52 +Families,773.49 +Retirees,337.57 +Professionals,921.04 +Students,225.93 +Families,736.15 +Retirees,325.28 +Professionals,350.01 +Students,298.32 +Families,837.86 +Retirees,792.59 +Professionals,213.40 +Students,235.92 +Families,1128.00 +Retirees,756.87 +Professionals,342.49 +Students,436.10 +Families,969.04 +Retirees,363.61 +Professionals,335.23 +Students,203.66 +Families,837.48 +Retirees,662.20 +Professionals,354.93 +Students,208.75 +Families,999.32 +Retirees,434.87 +Professionals,402.16 +Students,141.93 +Families,864.00 +Retirees,879.21 +Professionals,1045.16 +Students,334.87 +Families,917.85 +Retirees,336.39 +Professionals,685.20 +Students,223.52 +Families,643.16 +Retirees,347.66 +Professionals,593.41 +Students,243.10 +Families,852.06 +Retirees,715.20 +Professionals,509.06 +Students,176.00 +Families,824.77 +Retirees,648.48 +Professionals,582.82 +Students,221.32 +Families,968.37 +Retirees,720.18 +Professionals,573.74 +Students,327.77 +Families,917.53 +Retirees,340.32 +Professionals,424.34 +Students,311.11 +Families,1198.52 +Retirees,228.81 +Professionals,595.97 +Students,119.97 +Families,705.53 +Retirees,604.97 +Professionals,318.89 +Students,413.40 +Families,782.39 +Retirees,414.82 +Professionals,307.52 +Students,128.13 +Families,770.97 +Retirees,325.29 +Professionals,1345.98 +Students,146.90 +Families,889.71 +Retirees,610.32 +Professionals,302.84 +Students,232.77 +Families,758.94 +Retirees,311.45 +Professionals,424.25 +Students,261.04 +Families,829.08 +Retirees,414.77 +Professionals,333.49 +Students,99.57 +Families,1038.18 +Retirees,717.35 +Professionals,856.30 +Students,355.13 +Families,781.36 +Retirees,628.47 +Professionals,525.46 +Students,533.38 +Families,758.96 +Retirees,382.37 +Professionals,755.27 +Students,231.03 +Families,819.90 +Retirees,695.94 +Professionals,739.94 +Students,343.92 +Families,776.86 +Retirees,699.05 +Professionals,710.57 +Students,322.53 +Families,657.07 +Retirees,575.38 +Professionals,372.56 +Students,206.61 +Families,708.64 +Retirees,645.12 +Professionals,1596.83 +Students,347.82 +Families,1004.79 +Retirees,750.69 +Professionals,310.82 +Students,147.83 +Families,955.90 +Retirees,714.71 +Professionals,548.52 +Students,43.21 +Families,706.06 +Retirees,740.05 +Professionals,205.02 +Students,425.10 +Families,754.18 +Retirees,327.99 +Professionals,812.42 +Students,233.18 +Families,613.24 +Retirees,195.79 +Professionals,331.07 +Students,579.06 +Families,936.10 +Retirees,945.29 +Professionals,433.58 +Students,146.04 +Families,714.48 +Retirees,411.10 +Professionals,608.48 +Students,145.97 +Families,846.03 +Retirees,857.05 +Professionals,775.91 +Students,132.25 +Families,892.91 +Retirees,773.48 +Professionals,532.39 +Students,167.43 +Families,590.46 +Retirees,275.05 +Professionals,704.46 +Students,216.06 +Families,1005.83 +Retirees,716.16 +Professionals,799.60 +Students,299.63 +Families,1067.41 +Retirees,391.82 +Professionals,901.35 +Students,379.18 +Families,953.61 +Retirees,627.57 +Professionals,757.11 +Students,169.17 +Families,836.16 +Retirees,832.18 +Professionals,652.74 +Students,312.94 +Families,1064.68 +Retirees,291.18 +Professionals,313.43 +Students,190.94 +Families,1060.42 +Retirees,383.16 +Professionals,608.46 +Students,353.88 +Families,1058.88 +Retirees,378.34 +Professionals,226.94 +Students,358.14 +Families,882.36 +Retirees,380.05 +Professionals,359.41 +Students,156.99 +Families,731.62 +Retirees,697.22 +Professionals,389.33 +Students,143.22 +Families,836.22 +Retirees,429.65 +Professionals,767.50 +Students,93.80 +Families,616.14 +Retirees,807.99 +Professionals,521.67 +Students,272.03 +Families,1084.45 +Retirees,408.15 +Professionals,1405.39 +Students,179.92 +Families,861.50 +Retirees,324.93 +Professionals,410.24 +Students,424.48 +Families,734.04 +Retirees,261.30 +Professionals,759.23 +Students,154.41 +Families,939.92 +Retirees,293.63 +Professionals,1078.47 +Students,231.28 +Families,1010.88 +Retirees,473.10 +Professionals,476.68 +Students,102.57 +Families,1305.73 +Retirees,545.69 +Professionals,288.55 +Students,138.36 +Families,762.11 +Retirees,690.56 +Professionals,369.20 +Students,230.97 +Families,982.70 +Retirees,357.05 +Professionals,294.96 +Students,312.80 +Families,1007.21 +Retirees,655.76 +Professionals,393.87 +Students,111.85 +Families,1260.84 +Retirees,715.56 +Professionals,316.42 +Students,311.08 +Families,963.14 +Retirees,746.66 +Professionals,299.06 +Students,281.64 +Families,1040.00 +Retirees,245.28 +Professionals,533.34 +Students,352.01 +Families,650.60 +Retirees,133.19 +Professionals,592.52 +Students,435.99 +Families,719.42 +Retirees,255.80 +Professionals,729.56 +Students,137.97 +Families,1192.38 +Retirees,720.36 +Professionals,360.81 diff --git a/agents/evals/fixtures/cases/violin-basic-seaborn-date/case.json b/agents/evals/fixtures/cases/violin-basic-seaborn-date/case.json new file mode 100644 index 0000000000..d0d834855e --- /dev/null +++ b/agents/evals/fixtures/cases/violin-basic-seaborn-date/case.json @@ -0,0 +1,26 @@ +{ + "spec_id": "violin-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "date", + "bindings": [ + { + "role": "category", + "column": "Customer Segment" + }, + { + "role": "value", + "column": "Basket Value (EUR)" + } + ], + "expected": "accepted", + "tags": [ + "violin", + "date", + "synthetic", + "dd.mm.yyyy", + "iso-date", + "unbound-dates" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 808, date)" +} diff --git a/agents/evals/fixtures/cases/violin-basic-seaborn-date/data.csv b/agents/evals/fixtures/cases/violin-basic-seaborn-date/data.csv new file mode 100644 index 0000000000..0f22af43f2 --- /dev/null +++ b/agents/evals/fixtures/cases/violin-basic-seaborn-date/data.csv @@ -0,0 +1,401 @@ +Customer Segment,Basket Value (EUR),Purchase Date,Synced On +Students,14.07,26.06.2026,2026-06-26 +Families,98.65,05.04.2026,2026-04-06 +Retirees,63.77,08.03.2026,2026-03-08 +Professionals,54.23,02.05.2026,2026-05-02 +Students,7.03,08.01.2026,2026-01-09 +Families,89.88,25.02.2026,2026-03-01 +Retirees,34.77,30.05.2026,2026-06-01 +Professionals,50.78,17.04.2026,2026-04-18 +Students,17.69,09.04.2026,2026-04-12 +Families,134.75,31.05.2026,2026-06-03 +Retirees,30.60,27.02.2026,2026-03-03 +Professionals,62.20,05.04.2026,2026-04-06 +Students,14.92,19.05.2026,2026-05-21 +Families,115.29,03.05.2026,2026-05-05 +Retirees,21.91,13.04.2026,2026-04-13 +Professionals,67.09,08.06.2026,2026-06-09 +Students,19.17,12.06.2026,2026-06-14 +Families,110.73,11.04.2026,2026-04-11 +Retirees,28.02,14.06.2026,2026-06-15 +Professionals,54.26,27.01.2026,2026-01-31 +Students,21.51,11.01.2026,2026-01-15 +Families,79.17,26.01.2026,2026-01-30 +Retirees,39.53,05.05.2026,2026-05-06 +Professionals,43.37,04.05.2026,2026-05-07 +Students,10.80,05.03.2026,2026-03-09 +Families,49.56,01.07.2026,2026-07-02 +Retirees,76.84,11.05.2026,2026-05-11 +Professionals,74.95,19.04.2026,2026-04-19 +Students,14.05,15.01.2026,2026-01-17 +Families,46.72,07.06.2026,2026-06-08 +Retirees,49.78,02.05.2026,2026-05-03 +Professionals,41.90,12.06.2026,2026-06-13 +Students,27.46,26.06.2026,2026-06-27 +Families,76.29,22.02.2026,2026-02-24 +Retirees,80.98,13.01.2026,2026-01-16 +Professionals,68.49,20.01.2026,2026-01-22 +Students,23.83,20.03.2026,2026-03-20 +Families,56.71,13.03.2026,2026-03-17 +Retirees,64.30,22.03.2026,2026-03-22 +Professionals,97.86,12.01.2026,2026-01-14 +Students,32.82,20.03.2026,2026-03-24 +Families,70.32,09.05.2026,2026-05-09 +Retirees,80.67,17.06.2026,2026-06-20 +Professionals,35.59,16.06.2026,2026-06-19 +Students,19.89,24.04.2026,2026-04-26 +Families,76.06,21.05.2026,2026-05-24 +Retirees,72.90,13.01.2026,2026-01-13 +Professionals,70.40,20.01.2026,2026-01-23 +Students,14.21,07.01.2026,2026-01-07 +Families,81.29,06.05.2026,2026-05-07 +Retirees,25.11,27.05.2026,2026-05-27 +Professionals,51.93,07.01.2026,2026-01-07 +Students,18.37,17.06.2026,2026-06-21 +Families,85.01,02.05.2026,2026-05-05 +Retirees,40.22,06.04.2026,2026-04-10 +Professionals,44.24,23.01.2026,2026-01-23 +Students,17.86,30.01.2026,2026-02-03 +Families,93.67,27.03.2026,2026-03-27 +Retirees,43.56,31.05.2026,2026-06-01 +Professionals,91.76,17.01.2026,2026-01-18 +Students,33.28,12.04.2026,2026-04-12 +Families,102.97,13.02.2026,2026-02-13 +Retirees,41.06,20.01.2026,2026-01-23 +Professionals,100.33,09.03.2026,2026-03-10 +Students,33.28,19.06.2026,2026-06-19 +Families,79.74,02.02.2026,2026-02-05 +Retirees,62.88,14.04.2026,2026-04-14 +Professionals,27.55,20.04.2026,2026-04-20 +Students,41.19,28.03.2026,2026-03-29 +Families,107.49,12.01.2026,2026-01-14 +Retirees,31.48,27.02.2026,2026-02-27 +Professionals,121.52,02.06.2026,2026-06-06 +Students,14.52,20.06.2026,2026-06-24 +Families,73.63,23.06.2026,2026-06-25 +Retirees,71.69,03.05.2026,2026-05-03 +Professionals,46.11,03.02.2026,2026-02-06 +Students,28.97,23.03.2026,2026-03-27 +Families,105.38,01.05.2026,2026-05-04 +Retirees,66.12,16.04.2026,2026-04-18 +Professionals,41.76,06.03.2026,2026-03-09 +Students,24.41,09.06.2026,2026-06-11 +Families,106.45,10.06.2026,2026-06-12 +Retirees,32.50,05.06.2026,2026-06-07 +Professionals,22.59,18.04.2026,2026-04-19 +Students,22.51,28.06.2026,2026-06-30 +Families,89.34,14.06.2026,2026-06-15 +Retirees,84.89,24.01.2026,2026-01-24 +Professionals,39.16,21.06.2026,2026-06-22 +Students,34.24,19.04.2026,2026-04-20 +Families,100.71,20.03.2026,2026-03-24 +Retirees,37.17,19.03.2026,2026-03-19 +Professionals,24.74,11.02.2026,2026-02-12 +Students,16.87,09.02.2026,2026-02-10 +Families,82.53,18.04.2026,2026-04-19 +Retirees,23.43,29.03.2026,2026-03-29 +Professionals,31.85,07.03.2026,2026-03-09 +Students,24.66,21.02.2026,2026-02-23 +Families,94.35,13.04.2026,2026-04-15 +Retirees,78.00,18.05.2026,2026-05-20 +Professionals,152.39,09.03.2026,2026-03-10 +Students,21.58,04.02.2026,2026-02-04 +Families,109.73,22.05.2026,2026-05-24 +Retirees,77.38,22.01.2026,2026-01-23 +Professionals,68.12,12.04.2026,2026-04-12 +Students,23.87,27.01.2026,2026-01-27 +Families,99.19,28.01.2026,2026-01-31 +Retirees,32.37,23.04.2026,2026-04-23 +Professionals,40.72,19.03.2026,2026-03-22 +Students,16.47,30.04.2026,2026-05-04 +Families,88.25,26.03.2026,2026-03-26 +Retirees,15.73,16.03.2026,2026-03-16 +Professionals,58.83,12.02.2026,2026-02-15 +Students,52.98,17.05.2026,2026-05-20 +Families,89.35,28.06.2026,2026-06-29 +Retirees,28.87,06.05.2026,2026-05-09 +Professionals,61.93,03.02.2026,2026-02-07 +Students,19.83,17.06.2026,2026-06-18 +Families,93.21,19.04.2026,2026-04-20 +Retirees,30.55,07.02.2026,2026-02-11 +Professionals,37.59,23.04.2026,2026-04-24 +Students,36.60,07.06.2026,2026-06-10 +Families,67.98,23.05.2026,2026-05-23 +Retirees,35.47,18.02.2026,2026-02-18 +Professionals,42.28,29.03.2026,2026-03-30 +Students,36.05,09.02.2026,2026-02-13 +Families,78.23,29.01.2026,2026-01-30 +Retirees,58.26,16.04.2026,2026-04-17 +Professionals,45.58,19.05.2026,2026-05-21 +Students,35.68,11.01.2026,2026-01-15 +Families,113.11,08.05.2026,2026-05-12 +Retirees,35.93,12.06.2026,2026-06-14 +Professionals,44.83,22.06.2026,2026-06-26 +Students,14.89,27.03.2026,2026-03-31 +Families,92.40,03.05.2026,2026-05-05 +Retirees,81.76,20.02.2026,2026-02-21 +Professionals,37.09,07.04.2026,2026-04-08 +Students,33.40,28.03.2026,2026-03-28 +Families,61.53,11.02.2026,2026-02-13 +Retirees,35.59,13.06.2026,2026-06-13 +Professionals,60.61,24.06.2026,2026-06-25 +Students,16.87,19.06.2026,2026-06-21 +Families,102.93,13.05.2026,2026-05-14 +Retirees,87.60,14.06.2026,2026-06-15 +Professionals,92.86,24.06.2026,2026-06-28 +Students,21.85,28.04.2026,2026-04-29 +Families,77.35,08.05.2026,2026-05-10 +Retirees,33.76,10.04.2026,2026-04-11 +Professionals,92.10,16.01.2026,2026-01-18 +Students,22.59,05.01.2026,2026-01-06 +Families,73.61,17.04.2026,2026-04-20 +Retirees,32.53,01.03.2026,2026-03-01 +Professionals,35.00,21.06.2026,2026-06-23 +Students,29.83,02.03.2026,2026-03-06 +Families,83.79,20.04.2026,2026-04-20 +Retirees,79.26,12.04.2026,2026-04-16 +Professionals,21.34,11.02.2026,2026-02-12 +Students,23.59,17.06.2026,2026-06-17 +Families,112.80,28.02.2026,2026-03-04 +Retirees,75.69,25.02.2026,2026-02-28 +Professionals,34.25,05.01.2026,2026-01-09 +Students,43.61,31.03.2026,2026-03-31 +Families,96.90,29.03.2026,2026-03-29 +Retirees,36.36,04.06.2026,2026-06-05 +Professionals,33.52,22.05.2026,2026-05-24 +Students,20.37,08.05.2026,2026-05-12 +Families,83.75,05.04.2026,2026-04-09 +Retirees,66.22,25.03.2026,2026-03-27 +Professionals,35.49,18.02.2026,2026-02-19 +Students,20.87,14.05.2026,2026-05-18 +Families,99.93,12.06.2026,2026-06-15 +Retirees,43.49,10.05.2026,2026-05-12 +Professionals,40.22,12.04.2026,2026-04-13 +Students,14.19,28.03.2026,2026-03-30 +Families,86.40,23.03.2026,2026-03-27 +Retirees,87.92,04.06.2026,2026-06-05 +Professionals,104.52,09.04.2026,2026-04-12 +Students,33.49,17.04.2026,2026-04-20 +Families,91.78,10.02.2026,2026-02-10 +Retirees,33.64,17.01.2026,2026-01-21 +Professionals,68.52,30.01.2026,2026-02-02 +Students,22.35,29.05.2026,2026-05-30 +Families,64.32,08.05.2026,2026-05-08 +Retirees,34.77,26.03.2026,2026-03-29 +Professionals,59.34,28.03.2026,2026-03-29 +Students,24.31,22.04.2026,2026-04-24 +Families,85.21,10.04.2026,2026-04-12 +Retirees,71.52,11.01.2026,2026-01-11 +Professionals,50.91,19.03.2026,2026-03-21 +Students,17.60,11.06.2026,2026-06-14 +Families,82.48,08.03.2026,2026-03-10 +Retirees,64.85,13.02.2026,2026-02-17 +Professionals,58.28,08.03.2026,2026-03-08 +Students,22.13,17.04.2026,2026-04-18 +Families,96.84,28.05.2026,2026-05-31 +Retirees,72.02,22.02.2026,2026-02-22 +Professionals,57.37,04.06.2026,2026-06-08 +Students,32.78,21.03.2026,2026-03-23 +Families,91.75,16.06.2026,2026-06-16 +Retirees,34.03,28.03.2026,2026-04-01 +Professionals,42.43,06.06.2026,2026-06-09 +Students,31.11,04.06.2026,2026-06-08 +Families,119.85,07.02.2026,2026-02-07 +Retirees,22.88,16.05.2026,2026-05-17 +Professionals,59.60,30.03.2026,2026-03-31 +Students,12.00,05.01.2026,2026-01-05 +Families,70.55,19.06.2026,2026-06-23 +Retirees,60.50,27.01.2026,2026-01-31 +Professionals,31.89,19.02.2026,2026-02-20 +Students,41.34,24.06.2026,2026-06-27 +Families,78.24,26.02.2026,2026-03-01 +Retirees,41.48,26.06.2026,2026-06-27 +Professionals,30.75,30.04.2026,2026-04-30 +Students,12.81,16.05.2026,2026-05-19 +Families,77.10,14.03.2026,2026-03-14 +Retirees,32.53,17.01.2026,2026-01-17 +Professionals,134.60,31.03.2026,2026-04-03 +Students,14.69,13.01.2026,2026-01-17 +Families,88.97,24.06.2026,2026-06-27 +Retirees,61.03,18.02.2026,2026-02-22 +Professionals,30.28,01.02.2026,2026-02-05 +Students,23.28,29.01.2026,2026-01-30 +Families,75.89,29.05.2026,2026-05-30 +Retirees,31.14,15.01.2026,2026-01-16 +Professionals,42.42,20.06.2026,2026-06-20 +Students,26.10,18.01.2026,2026-01-18 +Families,82.91,22.02.2026,2026-02-24 +Retirees,41.48,17.01.2026,2026-01-19 +Professionals,33.35,23.04.2026,2026-04-25 +Students,9.96,11.01.2026,2026-01-13 +Families,103.82,03.03.2026,2026-03-07 +Retirees,71.73,24.03.2026,2026-03-26 +Professionals,85.63,02.03.2026,2026-03-06 +Students,35.51,17.02.2026,2026-02-21 +Families,78.14,18.01.2026,2026-01-21 +Retirees,62.85,24.06.2026,2026-06-24 +Professionals,52.55,16.04.2026,2026-04-16 +Students,53.34,20.05.2026,2026-05-20 +Families,75.90,17.06.2026,2026-06-18 +Retirees,38.24,24.06.2026,2026-06-24 +Professionals,75.53,19.02.2026,2026-02-23 +Students,23.10,08.05.2026,2026-05-09 +Families,81.99,31.01.2026,2026-01-31 +Retirees,69.59,30.04.2026,2026-05-01 +Professionals,73.99,04.04.2026,2026-04-05 +Students,34.39,27.01.2026,2026-01-31 +Families,77.69,23.06.2026,2026-06-27 +Retirees,69.91,16.01.2026,2026-01-19 +Professionals,71.06,01.04.2026,2026-04-04 +Students,32.25,18.04.2026,2026-04-18 +Families,65.71,17.04.2026,2026-04-19 +Retirees,57.54,15.06.2026,2026-06-18 +Professionals,37.26,22.06.2026,2026-06-24 +Students,20.66,14.05.2026,2026-05-17 +Families,70.86,11.06.2026,2026-06-15 +Retirees,64.51,06.06.2026,2026-06-08 +Professionals,159.68,20.02.2026,2026-02-23 +Students,34.78,21.03.2026,2026-03-25 +Families,100.48,18.01.2026,2026-01-21 +Retirees,75.07,26.04.2026,2026-04-26 +Professionals,31.08,28.06.2026,2026-07-01 +Students,14.78,19.01.2026,2026-01-20 +Families,95.59,13.06.2026,2026-06-14 +Retirees,71.47,14.03.2026,2026-03-15 +Professionals,54.85,29.06.2026,2026-07-02 +Students,4.32,27.03.2026,2026-03-31 +Families,70.61,13.05.2026,2026-05-17 +Retirees,74.01,23.02.2026,2026-02-27 +Professionals,20.50,20.02.2026,2026-02-23 +Students,42.51,04.06.2026,2026-06-04 +Families,75.42,03.03.2026,2026-03-07 +Retirees,32.80,24.05.2026,2026-05-28 +Professionals,81.24,16.03.2026,2026-03-19 +Students,23.32,28.02.2026,2026-03-01 +Families,61.32,18.02.2026,2026-02-18 +Retirees,19.58,18.04.2026,2026-04-19 +Professionals,33.11,10.02.2026,2026-02-14 +Students,57.91,28.01.2026,2026-02-01 +Families,93.61,30.05.2026,2026-06-03 +Retirees,94.53,25.01.2026,2026-01-27 +Professionals,43.36,31.01.2026,2026-02-03 +Students,14.60,09.04.2026,2026-04-13 +Families,71.45,26.04.2026,2026-04-29 +Retirees,41.11,13.02.2026,2026-02-15 +Professionals,60.85,10.05.2026,2026-05-14 +Students,14.60,01.06.2026,2026-06-04 +Families,84.60,11.06.2026,2026-06-12 +Retirees,85.70,11.01.2026,2026-01-11 +Professionals,77.59,25.05.2026,2026-05-27 +Students,13.23,21.01.2026,2026-01-22 +Families,89.29,12.06.2026,2026-06-14 +Retirees,77.35,20.01.2026,2026-01-24 +Professionals,53.24,26.04.2026,2026-04-29 +Students,16.74,30.06.2026,2026-06-30 +Families,59.05,19.02.2026,2026-02-19 +Retirees,27.50,24.02.2026,2026-02-25 +Professionals,70.45,26.05.2026,2026-05-27 +Students,21.61,23.05.2026,2026-05-24 +Families,100.58,27.01.2026,2026-01-29 +Retirees,71.62,09.01.2026,2026-01-12 +Professionals,79.96,04.04.2026,2026-04-08 +Students,29.96,07.03.2026,2026-03-11 +Families,106.74,08.01.2026,2026-01-12 +Retirees,39.18,24.04.2026,2026-04-24 +Professionals,90.13,14.05.2026,2026-05-16 +Students,37.92,19.01.2026,2026-01-21 +Families,95.36,25.02.2026,2026-02-25 +Retirees,62.76,18.01.2026,2026-01-20 +Professionals,75.71,10.03.2026,2026-03-10 +Students,16.92,10.02.2026,2026-02-12 +Families,83.62,11.03.2026,2026-03-13 +Retirees,83.22,28.04.2026,2026-04-28 +Professionals,65.27,19.04.2026,2026-04-22 +Students,31.29,27.03.2026,2026-03-28 +Families,106.47,02.03.2026,2026-03-04 +Retirees,29.12,01.02.2026,2026-02-01 +Professionals,31.34,05.05.2026,2026-05-08 +Students,19.09,19.05.2026,2026-05-23 +Families,106.04,08.04.2026,2026-04-09 +Retirees,38.32,02.03.2026,2026-03-04 +Professionals,60.85,01.06.2026,2026-06-04 +Students,35.39,28.03.2026,2026-03-30 +Families,105.89,11.02.2026,2026-02-15 +Retirees,37.83,08.03.2026,2026-03-08 +Professionals,22.69,01.07.2026,2026-07-03 +Students,35.81,26.03.2026,2026-03-26 +Families,88.24,06.05.2026,2026-05-09 +Retirees,38.00,15.03.2026,2026-03-17 +Professionals,35.94,12.06.2026,2026-06-16 +Students,15.70,15.02.2026,2026-02-18 +Families,73.16,02.02.2026,2026-02-02 +Retirees,69.72,12.02.2026,2026-02-15 +Professionals,38.93,31.01.2026,2026-02-03 +Students,14.32,07.04.2026,2026-04-09 +Families,83.62,11.02.2026,2026-02-15 +Retirees,42.96,30.04.2026,2026-05-04 +Professionals,76.75,24.04.2026,2026-04-25 +Students,9.38,10.04.2026,2026-04-14 +Families,61.61,05.05.2026,2026-05-06 +Retirees,80.80,13.02.2026,2026-02-17 +Professionals,52.17,01.06.2026,2026-06-03 +Students,27.20,27.02.2026,2026-03-02 +Families,108.44,09.05.2026,2026-05-10 +Retirees,40.82,07.02.2026,2026-02-11 +Professionals,140.54,20.02.2026,2026-02-22 +Students,17.99,15.05.2026,2026-05-19 +Families,86.15,31.05.2026,2026-06-01 +Retirees,32.49,06.01.2026,2026-01-08 +Professionals,41.02,02.07.2026,2026-07-03 +Students,42.45,29.01.2026,2026-01-29 +Families,73.40,23.06.2026,2026-06-23 +Retirees,26.13,06.02.2026,2026-02-09 +Professionals,75.92,29.06.2026,2026-07-02 +Students,15.44,13.02.2026,2026-02-16 +Families,93.99,08.05.2026,2026-05-11 +Retirees,29.36,27.04.2026,2026-04-30 +Professionals,107.85,09.01.2026,2026-01-12 +Students,23.13,04.02.2026,2026-02-08 +Families,101.09,27.03.2026,2026-03-27 +Retirees,47.31,03.06.2026,2026-06-05 +Professionals,47.67,19.04.2026,2026-04-22 +Students,10.26,01.04.2026,2026-04-05 +Families,130.57,25.01.2026,2026-01-26 +Retirees,54.57,12.05.2026,2026-05-13 +Professionals,28.86,20.04.2026,2026-04-20 +Students,13.84,26.06.2026,2026-06-27 +Families,76.21,09.03.2026,2026-03-11 +Retirees,69.06,02.07.2026,2026-07-06 +Professionals,36.92,18.01.2026,2026-01-20 +Students,23.10,07.06.2026,2026-06-10 +Families,98.27,18.01.2026,2026-01-21 +Retirees,35.71,19.01.2026,2026-01-21 +Professionals,29.50,25.03.2026,2026-03-29 +Students,31.28,14.03.2026,2026-03-18 +Families,100.72,14.03.2026,2026-03-16 +Retirees,65.58,25.06.2026,2026-06-25 +Professionals,39.39,12.06.2026,2026-06-12 +Students,11.18,27.03.2026,2026-03-28 +Families,126.08,01.03.2026,2026-03-05 +Retirees,71.56,20.04.2026,2026-04-20 +Professionals,31.64,09.03.2026,2026-03-12 +Students,31.11,09.01.2026,2026-01-13 +Families,96.31,28.05.2026,2026-05-28 +Retirees,74.67,04.03.2026,2026-03-05 +Professionals,29.91,01.04.2026,2026-04-03 +Students,28.16,05.01.2026,2026-01-06 +Families,104.00,14.03.2026,2026-03-18 +Retirees,24.53,28.05.2026,2026-05-31 +Professionals,53.33,06.05.2026,2026-05-07 +Students,35.20,21.05.2026,2026-05-21 +Families,65.06,24.03.2026,2026-03-26 +Retirees,13.32,01.05.2026,2026-05-04 +Professionals,59.25,21.06.2026,2026-06-23 +Students,43.60,08.03.2026,2026-03-09 +Families,71.94,07.02.2026,2026-02-11 +Retirees,25.58,15.05.2026,2026-05-15 +Professionals,72.96,09.03.2026,2026-03-09 +Students,13.80,28.05.2026,2026-05-31 +Families,119.24,14.04.2026,2026-04-14 +Retirees,72.04,10.06.2026,2026-06-14 +Professionals,36.08,17.04.2026,2026-04-21 diff --git a/agents/evals/fixtures/cases/violin-basic-seaborn-decimal-comma/case.json b/agents/evals/fixtures/cases/violin-basic-seaborn-decimal-comma/case.json new file mode 100644 index 0000000000..0498749692 --- /dev/null +++ b/agents/evals/fixtures/cases/violin-basic-seaborn-decimal-comma/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "violin-basic", + "library": "seaborn", + "locale": "de", + "perturbation": "decimal-comma", + "bindings": [ + { + "role": "category", + "column": "Customer Segment" + }, + { + "role": "value", + "column": "Basket Value (EUR)" + } + ], + "expected": "accepted", + "tags": [ + "violin", + "decimal-comma", + "synthetic", + "semicolon" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 808, decimal-comma)" +} diff --git a/agents/evals/fixtures/cases/violin-basic-seaborn-decimal-comma/data.csv b/agents/evals/fixtures/cases/violin-basic-seaborn-decimal-comma/data.csv new file mode 100644 index 0000000000..356b2725ba --- /dev/null +++ b/agents/evals/fixtures/cases/violin-basic-seaborn-decimal-comma/data.csv @@ -0,0 +1,401 @@ +Customer Segment;Basket Value (EUR) +Students;14,07 +Families;98,65 +Retirees;63,77 +Professionals;54,23 +Students;7,03 +Families;89,88 +Retirees;34,77 +Professionals;50,78 +Students;17,69 +Families;134,75 +Retirees;30,60 +Professionals;62,20 +Students;14,92 +Families;115,29 +Retirees;21,91 +Professionals;67,09 +Students;19,17 +Families;110,73 +Retirees;28,02 +Professionals;54,26 +Students;21,51 +Families;79,17 +Retirees;39,53 +Professionals;43,37 +Students;10,80 +Families;49,56 +Retirees;76,84 +Professionals;74,95 +Students;14,05 +Families;46,72 +Retirees;49,78 +Professionals;41,90 +Students;27,46 +Families;76,29 +Retirees;80,98 +Professionals;68,49 +Students;23,83 +Families;56,71 +Retirees;64,30 +Professionals;97,86 +Students;32,82 +Families;70,32 +Retirees;80,67 +Professionals;35,59 +Students;19,89 +Families;76,06 +Retirees;72,90 +Professionals;70,40 +Students;14,21 +Families;81,29 +Retirees;25,11 +Professionals;51,93 +Students;18,37 +Families;85,01 +Retirees;40,22 +Professionals;44,24 +Students;17,86 +Families;93,67 +Retirees;43,56 +Professionals;91,76 +Students;33,28 +Families;102,97 +Retirees;41,06 +Professionals;100,33 +Students;33,28 +Families;79,74 +Retirees;62,88 +Professionals;27,55 +Students;41,19 +Families;107,49 +Retirees;31,48 +Professionals;121,52 +Students;14,52 +Families;73,63 +Retirees;71,69 +Professionals;46,11 +Students;28,97 +Families;105,38 +Retirees;66,12 +Professionals;41,76 +Students;24,41 +Families;106,45 +Retirees;32,50 +Professionals;22,59 +Students;22,51 +Families;89,34 +Retirees;84,89 +Professionals;39,16 +Students;34,24 +Families;100,71 +Retirees;37,17 +Professionals;24,74 +Students;16,87 +Families;82,53 +Retirees;23,43 +Professionals;31,85 +Students;24,66 +Families;94,35 +Retirees;78,00 +Professionals;152,39 +Students;21,58 +Families;109,73 +Retirees;77,38 +Professionals;68,12 +Students;23,87 +Families;99,19 +Retirees;32,37 +Professionals;40,72 +Students;16,47 +Families;88,25 +Retirees;15,73 +Professionals;58,83 +Students;52,98 +Families;89,35 +Retirees;28,87 +Professionals;61,93 +Students;19,83 +Families;93,21 +Retirees;30,55 +Professionals;37,59 +Students;36,60 +Families;67,98 +Retirees;35,47 +Professionals;42,28 +Students;36,05 +Families;78,23 +Retirees;58,26 +Professionals;45,58 +Students;35,68 +Families;113,11 +Retirees;35,93 +Professionals;44,83 +Students;14,89 +Families;92,40 +Retirees;81,76 +Professionals;37,09 +Students;33,40 +Families;61,53 +Retirees;35,59 +Professionals;60,61 +Students;16,87 +Families;102,93 +Retirees;87,60 +Professionals;92,86 +Students;21,85 +Families;77,35 +Retirees;33,76 +Professionals;92,10 +Students;22,59 +Families;73,61 +Retirees;32,53 +Professionals;35,00 +Students;29,83 +Families;83,79 +Retirees;79,26 +Professionals;21,34 +Students;23,59 +Families;112,80 +Retirees;75,69 +Professionals;34,25 +Students;43,61 +Families;96,90 +Retirees;36,36 +Professionals;33,52 +Students;20,37 +Families;83,75 +Retirees;66,22 +Professionals;35,49 +Students;20,87 +Families;99,93 +Retirees;43,49 +Professionals;40,22 +Students;14,19 +Families;86,40 +Retirees;87,92 +Professionals;104,52 +Students;33,49 +Families;91,78 +Retirees;33,64 +Professionals;68,52 +Students;22,35 +Families;64,32 +Retirees;34,77 +Professionals;59,34 +Students;24,31 +Families;85,21 +Retirees;71,52 +Professionals;50,91 +Students;17,60 +Families;82,48 +Retirees;64,85 +Professionals;58,28 +Students;22,13 +Families;96,84 +Retirees;72,02 +Professionals;57,37 +Students;32,78 +Families;91,75 +Retirees;34,03 +Professionals;42,43 +Students;31,11 +Families;119,85 +Retirees;22,88 +Professionals;59,60 +Students;12,00 +Families;70,55 +Retirees;60,50 +Professionals;31,89 +Students;41,34 +Families;78,24 +Retirees;41,48 +Professionals;30,75 +Students;12,81 +Families;77,10 +Retirees;32,53 +Professionals;134,60 +Students;14,69 +Families;88,97 +Retirees;61,03 +Professionals;30,28 +Students;23,28 +Families;75,89 +Retirees;31,14 +Professionals;42,42 +Students;26,10 +Families;82,91 +Retirees;41,48 +Professionals;33,35 +Students;9,96 +Families;103,82 +Retirees;71,73 +Professionals;85,63 +Students;35,51 +Families;78,14 +Retirees;62,85 +Professionals;52,55 +Students;53,34 +Families;75,90 +Retirees;38,24 +Professionals;75,53 +Students;23,10 +Families;81,99 +Retirees;69,59 +Professionals;73,99 +Students;34,39 +Families;77,69 +Retirees;69,91 +Professionals;71,06 +Students;32,25 +Families;65,71 +Retirees;57,54 +Professionals;37,26 +Students;20,66 +Families;70,86 +Retirees;64,51 +Professionals;159,68 +Students;34,78 +Families;100,48 +Retirees;75,07 +Professionals;31,08 +Students;14,78 +Families;95,59 +Retirees;71,47 +Professionals;54,85 +Students;4,32 +Families;70,61 +Retirees;74,01 +Professionals;20,50 +Students;42,51 +Families;75,42 +Retirees;32,80 +Professionals;81,24 +Students;23,32 +Families;61,32 +Retirees;19,58 +Professionals;33,11 +Students;57,91 +Families;93,61 +Retirees;94,53 +Professionals;43,36 +Students;14,60 +Families;71,45 +Retirees;41,11 +Professionals;60,85 +Students;14,60 +Families;84,60 +Retirees;85,70 +Professionals;77,59 +Students;13,23 +Families;89,29 +Retirees;77,35 +Professionals;53,24 +Students;16,74 +Families;59,05 +Retirees;27,50 +Professionals;70,45 +Students;21,61 +Families;100,58 +Retirees;71,62 +Professionals;79,96 +Students;29,96 +Families;106,74 +Retirees;39,18 +Professionals;90,13 +Students;37,92 +Families;95,36 +Retirees;62,76 +Professionals;75,71 +Students;16,92 +Families;83,62 +Retirees;83,22 +Professionals;65,27 +Students;31,29 +Families;106,47 +Retirees;29,12 +Professionals;31,34 +Students;19,09 +Families;106,04 +Retirees;38,32 +Professionals;60,85 +Students;35,39 +Families;105,89 +Retirees;37,83 +Professionals;22,69 +Students;35,81 +Families;88,24 +Retirees;38,00 +Professionals;35,94 +Students;15,70 +Families;73,16 +Retirees;69,72 +Professionals;38,93 +Students;14,32 +Families;83,62 +Retirees;42,96 +Professionals;76,75 +Students;9,38 +Families;61,61 +Retirees;80,80 +Professionals;52,17 +Students;27,20 +Families;108,44 +Retirees;40,82 +Professionals;140,54 +Students;17,99 +Families;86,15 +Retirees;32,49 +Professionals;41,02 +Students;42,45 +Families;73,40 +Retirees;26,13 +Professionals;75,92 +Students;15,44 +Families;93,99 +Retirees;29,36 +Professionals;107,85 +Students;23,13 +Families;101,09 +Retirees;47,31 +Professionals;47,67 +Students;10,26 +Families;130,57 +Retirees;54,57 +Professionals;28,86 +Students;13,84 +Families;76,21 +Retirees;69,06 +Professionals;36,92 +Students;23,10 +Families;98,27 +Retirees;35,71 +Professionals;29,50 +Students;31,28 +Families;100,72 +Retirees;65,58 +Professionals;39,39 +Students;11,18 +Families;126,08 +Retirees;71,56 +Professionals;31,64 +Students;31,11 +Families;96,31 +Retirees;74,67 +Professionals;29,91 +Students;28,16 +Families;104,00 +Retirees;24,53 +Professionals;53,33 +Students;35,20 +Families;65,06 +Retirees;13,32 +Professionals;59,25 +Students;43,60 +Families;71,94 +Retirees;25,58 +Professionals;72,96 +Students;13,80 +Families;119,24 +Retirees;72,04 +Professionals;36,08 diff --git a/agents/evals/fixtures/cases/violin-basic-seaborn-n12/case.json b/agents/evals/fixtures/cases/violin-basic-seaborn-n12/case.json new file mode 100644 index 0000000000..b46d98b6c6 --- /dev/null +++ b/agents/evals/fixtures/cases/violin-basic-seaborn-n12/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "violin-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "n12", + "bindings": [ + { + "role": "category", + "column": "Customer Segment" + }, + { + "role": "value", + "column": "Basket Value (EUR)" + } + ], + "expected": "accepted", + "tags": [ + "violin", + "n12", + "synthetic", + "small" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 808, n12)" +} diff --git a/agents/evals/fixtures/cases/violin-basic-seaborn-n12/data.csv b/agents/evals/fixtures/cases/violin-basic-seaborn-n12/data.csv new file mode 100644 index 0000000000..5996aed843 --- /dev/null +++ b/agents/evals/fixtures/cases/violin-basic-seaborn-n12/data.csv @@ -0,0 +1,13 @@ +Customer Segment,Basket Value (EUR) +Students,16.29 +Families,97.22 +Retirees,60.68 +Professionals,109.72 +Students,40.49 +Families,69.68 +Retirees,35.05 +Professionals,66.85 +Students,29.06 +Families,98.27 +Retirees,77.34 +Professionals,42.64 diff --git a/agents/evals/fixtures/cases/violin-basic-seaborn-n5000/case.json b/agents/evals/fixtures/cases/violin-basic-seaborn-n5000/case.json new file mode 100644 index 0000000000..d8527fde8d --- /dev/null +++ b/agents/evals/fixtures/cases/violin-basic-seaborn-n5000/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "violin-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "n5000", + "bindings": [ + { + "role": "category", + "column": "Customer Segment" + }, + { + "role": "value", + "column": "Basket Value (EUR)" + } + ], + "expected": "accepted", + "tags": [ + "violin", + "n5000", + "synthetic", + "large" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 808, n5000)" +} diff --git a/agents/evals/fixtures/cases/violin-basic-seaborn-n5000/data.csv b/agents/evals/fixtures/cases/violin-basic-seaborn-n5000/data.csv new file mode 100644 index 0000000000..80d091d1fb --- /dev/null +++ b/agents/evals/fixtures/cases/violin-basic-seaborn-n5000/data.csv @@ -0,0 +1,5001 @@ +Customer Segment,Basket Value (EUR) +Students,29.08 +Families,86.84 +Retirees,32.48 +Professionals,35.15 +Students,22.09 +Families,81.24 +Retirees,34.80 +Professionals,80.35 +Students,22.64 +Families,101.66 +Retirees,79.17 +Professionals,38.22 +Students,27.42 +Families,72.21 +Retirees,40.61 +Professionals,69.36 +Students,31.85 +Families,112.31 +Retirees,33.94 +Professionals,59.29 +Students,13.16 +Families,82.82 +Retirees,30.40 +Professionals,25.08 +Students,15.15 +Families,99.80 +Retirees,72.41 +Professionals,39.46 +Students,30.78 +Families,95.29 +Retirees,32.23 +Professionals,60.47 +Students,30.31 +Families,98.38 +Retirees,37.68 +Professionals,22.07 +Students,14.70 +Families,76.93 +Retirees,33.62 +Professionals,59.68 +Students,24.05 +Families,91.13 +Retirees,67.04 +Professionals,35.21 +Students,42.12 +Families,98.25 +Retirees,35.79 +Professionals,108.69 +Students,35.12 +Families,93.67 +Retirees,38.85 +Professionals,58.85 +Students,25.30 +Families,82.07 +Retirees,89.35 +Professionals,45.72 +Students,18.71 +Families,102.02 +Retirees,75.24 +Professionals,49.87 +Students,18.17 +Families,80.86 +Retirees,68.79 +Professionals,34.74 +Students,20.39 +Families,58.12 +Retirees,19.99 +Professionals,100.83 +Students,25.84 +Families,80.01 +Retirees,34.29 +Professionals,102.74 +Students,17.00 +Families,82.37 +Retirees,71.60 +Professionals,79.69 +Students,19.79 +Families,87.48 +Retirees,33.42 +Professionals,54.15 +Students,26.95 +Families,73.00 +Retirees,43.41 +Professionals,37.44 +Students,34.92 +Families,77.34 +Retirees,67.81 +Professionals,53.65 +Students,28.61 +Families,64.18 +Retirees,54.75 +Professionals,50.26 +Students,16.66 +Families,78.63 +Retirees,43.42 +Professionals,35.23 +Students,9.31 +Families,121.95 +Retirees,38.93 +Professionals,59.66 +Students,18.20 +Families,70.25 +Retirees,49.70 +Professionals,75.94 +Students,32.38 +Families,80.01 +Retirees,39.27 +Professionals,45.46 +Students,7.17 +Families,91.20 +Retirees,46.86 +Professionals,54.86 +Students,23.35 +Families,93.20 +Retirees,64.64 +Professionals,51.11 +Students,33.12 +Families,88.66 +Retirees,61.06 +Professionals,83.31 +Students,15.43 +Families,79.71 +Retirees,33.40 +Professionals,51.49 +Students,19.40 +Families,105.25 +Retirees,81.01 +Professionals,30.06 +Students,23.36 +Families,111.88 +Retirees,26.24 +Professionals,48.29 +Students,39.33 +Families,77.46 +Retirees,76.27 +Professionals,65.05 +Students,32.13 +Families,49.39 +Retirees,84.27 +Professionals,65.04 +Students,17.33 +Families,65.96 +Retirees,31.47 +Professionals,41.52 +Students,25.10 +Families,62.35 +Retirees,31.97 +Professionals,32.72 +Students,56.15 +Families,82.39 +Retirees,71.79 +Professionals,37.83 +Students,16.23 +Families,65.08 +Retirees,41.98 +Professionals,154.68 +Students,42.04 +Families,91.85 +Retirees,69.12 +Professionals,68.10 +Students,26.72 +Families,79.76 +Retirees,77.85 +Professionals,25.81 +Students,21.26 +Families,105.79 +Retirees,27.93 +Professionals,44.14 +Students,26.17 +Families,59.05 +Retirees,29.59 +Professionals,30.89 +Students,17.71 +Families,73.98 +Retirees,38.89 +Professionals,54.43 +Students,10.22 +Families,78.62 +Retirees,37.59 +Professionals,47.55 +Students,9.76 +Families,82.63 +Retirees,63.78 +Professionals,35.17 +Students,36.23 +Families,59.30 +Retirees,27.15 +Professionals,31.05 +Students,37.97 +Families,76.23 +Retirees,34.37 +Professionals,47.28 +Students,36.39 +Families,85.71 +Retirees,35.45 +Professionals,88.59 +Students,40.39 +Families,83.95 +Retirees,37.87 +Professionals,23.24 +Students,50.46 +Families,75.78 +Retirees,17.74 +Professionals,73.64 +Students,34.21 +Families,68.03 +Retirees,36.02 +Professionals,44.71 +Students,27.37 +Families,127.40 +Retirees,60.04 +Professionals,65.16 +Students,20.30 +Families,41.05 +Retirees,73.55 +Professionals,49.07 +Students,20.01 +Families,39.53 +Retirees,25.60 +Professionals,50.75 +Students,24.07 +Families,74.06 +Retirees,38.29 +Professionals,87.15 +Students,11.70 +Families,89.98 +Retirees,19.88 +Professionals,40.13 +Students,13.31 +Families,67.11 +Retirees,30.15 +Professionals,24.61 +Students,25.94 +Families,65.33 +Retirees,42.43 +Professionals,56.94 +Students,28.46 +Families,95.22 +Retirees,31.13 +Professionals,29.84 +Students,30.44 +Families,86.27 +Retirees,39.95 +Professionals,48.03 +Students,20.34 +Families,102.48 +Retirees,35.58 +Professionals,38.36 +Students,23.59 +Families,123.82 +Retirees,40.94 +Professionals,28.31 +Students,32.47 +Families,117.75 +Retirees,62.41 +Professionals,83.27 +Students,21.37 +Families,99.05 +Retirees,39.18 +Professionals,53.36 +Students,14.81 +Families,73.33 +Retirees,83.64 +Professionals,136.38 +Students,17.93 +Families,73.89 +Retirees,58.18 +Professionals,82.99 +Students,20.74 +Families,94.89 +Retirees,41.43 +Professionals,34.88 +Students,22.47 +Families,83.14 +Retirees,29.34 +Professionals,45.81 +Students,16.71 +Families,106.85 +Retirees,76.11 +Professionals,73.18 +Students,13.77 +Families,56.31 +Retirees,71.36 +Professionals,52.51 +Students,27.32 +Families,90.20 +Retirees,41.20 +Professionals,99.65 +Students,13.15 +Families,74.03 +Retirees,27.65 +Professionals,85.94 +Students,15.94 +Families,74.84 +Retirees,73.02 +Professionals,102.06 +Students,21.19 +Families,103.88 +Retirees,25.21 +Professionals,89.50 +Students,36.04 +Families,76.40 +Retirees,78.73 +Professionals,84.35 +Students,39.73 +Families,68.32 +Retirees,42.28 +Professionals,42.64 +Students,15.15 +Families,59.51 +Retirees,72.24 +Professionals,62.12 +Students,21.25 +Families,70.87 +Retirees,18.66 +Professionals,69.88 +Students,41.65 +Families,58.98 +Retirees,74.95 +Professionals,78.18 +Students,15.86 +Families,96.21 +Retirees,24.89 +Professionals,72.14 +Students,12.47 +Families,116.47 +Retirees,39.50 +Professionals,26.22 +Students,10.92 +Families,72.31 +Retirees,24.79 +Professionals,45.69 +Students,11.89 +Families,66.43 +Retirees,26.56 +Professionals,55.52 +Students,24.40 +Families,71.93 +Retirees,32.31 +Professionals,47.88 +Students,17.93 +Families,49.59 +Retirees,37.12 +Professionals,53.72 +Students,25.47 +Families,123.85 +Retirees,74.04 +Professionals,52.85 +Students,16.32 +Families,74.68 +Retirees,30.71 +Professionals,53.60 +Students,19.31 +Families,85.41 +Retirees,40.90 +Professionals,63.20 +Students,20.48 +Families,92.21 +Retirees,65.46 +Professionals,71.92 +Students,13.79 +Families,80.20 +Retirees,30.22 +Professionals,46.43 +Students,21.58 +Families,84.13 +Retirees,75.48 +Professionals,38.26 +Students,13.54 +Families,100.16 +Retirees,37.26 +Professionals,67.56 +Students,21.46 +Families,31.87 +Retirees,35.10 +Professionals,45.99 +Students,13.58 +Families,139.49 +Retirees,31.84 +Professionals,55.02 +Students,9.31 +Families,89.09 +Retirees,66.83 +Professionals,66.40 +Students,41.66 +Families,100.79 +Retirees,35.31 +Professionals,52.31 +Students,19.29 +Families,85.52 +Retirees,70.70 +Professionals,69.73 +Students,14.02 +Families,85.43 +Retirees,18.17 +Professionals,26.14 +Students,24.57 +Families,96.63 +Retirees,38.42 +Professionals,45.13 +Students,50.13 +Families,105.63 +Retirees,41.28 +Professionals,57.76 +Students,13.90 +Families,88.96 +Retirees,59.70 +Professionals,51.44 +Students,6.18 +Families,73.49 +Retirees,83.04 +Professionals,43.50 +Students,43.67 +Families,120.23 +Retirees,70.37 +Professionals,27.57 +Students,14.98 +Families,87.98 +Retirees,43.01 +Professionals,46.62 +Students,10.95 +Families,61.78 +Retirees,25.53 +Professionals,64.54 +Students,27.05 +Families,93.22 +Retirees,42.58 +Professionals,37.05 +Students,41.86 +Families,78.68 +Retirees,81.28 +Professionals,35.79 +Students,15.39 +Families,96.51 +Retirees,80.86 +Professionals,87.10 +Students,29.66 +Families,67.50 +Retirees,77.92 +Professionals,30.93 +Students,27.92 +Families,84.13 +Retirees,30.05 +Professionals,73.20 +Students,11.40 +Families,100.10 +Retirees,82.29 +Professionals,55.75 +Students,28.07 +Families,92.05 +Retirees,35.52 +Professionals,20.79 +Students,8.75 +Families,88.81 +Retirees,31.53 +Professionals,34.54 +Students,25.58 +Families,90.66 +Retirees,38.34 +Professionals,51.33 +Students,19.94 +Families,93.57 +Retirees,70.06 +Professionals,39.74 +Students,25.39 +Families,88.65 +Retirees,79.94 +Professionals,24.29 +Students,34.83 +Families,112.18 +Retirees,40.60 +Professionals,35.95 +Students,27.09 +Families,81.95 +Retirees,35.62 +Professionals,99.39 +Students,11.73 +Families,98.24 +Retirees,54.06 +Professionals,58.07 +Students,13.45 +Families,105.42 +Retirees,75.27 +Professionals,31.29 +Students,31.63 +Families,109.66 +Retirees,75.12 +Professionals,76.82 +Students,16.89 +Families,98.58 +Retirees,56.70 +Professionals,54.89 +Students,26.01 +Families,75.98 +Retirees,44.22 +Professionals,40.29 +Students,26.66 +Families,86.60 +Retirees,31.28 +Professionals,24.54 +Students,21.04 +Families,99.27 +Retirees,41.55 +Professionals,90.72 +Students,26.38 +Families,51.33 +Retirees,72.67 +Professionals,35.25 +Students,21.70 +Families,98.36 +Retirees,74.30 +Professionals,46.18 +Students,14.24 +Families,68.12 +Retirees,74.71 +Professionals,37.73 +Students,36.27 +Families,56.98 +Retirees,81.98 +Professionals,61.02 +Students,35.61 +Families,75.08 +Retirees,40.08 +Professionals,54.44 +Students,16.49 +Families,89.65 +Retirees,82.69 +Professionals,47.49 +Students,36.46 +Families,120.96 +Retirees,26.67 +Professionals,35.03 +Students,14.05 +Families,102.97 +Retirees,73.46 +Professionals,81.47 +Students,19.39 +Families,65.59 +Retirees,37.69 +Professionals,42.08 +Students,20.52 +Families,86.53 +Retirees,75.80 +Professionals,48.19 +Students,18.36 +Families,69.17 +Retirees,34.62 +Professionals,53.81 +Students,43.64 +Families,76.78 +Retirees,30.46 +Professionals,76.45 +Students,27.05 +Families,93.11 +Retirees,69.30 +Professionals,39.56 +Students,19.88 +Families,87.42 +Retirees,31.87 +Professionals,39.33 +Students,21.08 +Families,104.67 +Retirees,48.28 +Professionals,42.48 +Students,23.26 +Families,70.93 +Retirees,75.08 +Professionals,41.74 +Students,10.10 +Families,114.79 +Retirees,28.58 +Professionals,79.92 +Students,12.63 +Families,81.40 +Retirees,39.97 +Professionals,62.97 +Students,22.59 +Families,91.71 +Retirees,73.57 +Professionals,43.15 +Students,14.04 +Families,68.84 +Retirees,46.99 +Professionals,49.18 +Students,32.15 +Families,68.00 +Retirees,30.81 +Professionals,68.54 +Students,19.40 +Families,95.05 +Retirees,32.48 +Professionals,33.31 +Students,9.80 +Families,87.49 +Retirees,26.16 +Professionals,54.36 +Students,30.46 +Families,81.91 +Retirees,87.05 +Professionals,30.10 +Students,18.68 +Families,60.76 +Retirees,91.45 +Professionals,31.91 +Students,13.64 +Families,92.40 +Retirees,36.55 +Professionals,24.57 +Students,10.19 +Families,80.36 +Retirees,32.75 +Professionals,40.14 +Students,24.72 +Families,76.54 +Retirees,51.01 +Professionals,28.35 +Students,33.94 +Families,81.42 +Retirees,19.78 +Professionals,42.96 +Students,33.68 +Families,72.84 +Retirees,83.82 +Professionals,45.95 +Students,11.05 +Families,79.58 +Retirees,39.07 +Professionals,49.49 +Students,21.98 +Families,71.02 +Retirees,79.80 +Professionals,52.71 +Students,25.35 +Families,127.48 +Retirees,76.84 +Professionals,57.44 +Students,18.16 +Families,61.45 +Retirees,39.81 +Professionals,60.51 +Students,20.60 +Families,79.72 +Retirees,69.97 +Professionals,56.40 +Students,25.95 +Families,92.80 +Retirees,45.25 +Professionals,163.27 +Students,23.18 +Families,88.39 +Retirees,86.19 +Professionals,39.49 +Students,25.42 +Families,114.46 +Retirees,38.72 +Professionals,28.34 +Students,51.03 +Families,86.34 +Retirees,22.66 +Professionals,29.43 +Students,8.84 +Families,72.86 +Retirees,53.35 +Professionals,49.57 +Students,11.86 +Families,89.06 +Retirees,43.33 +Professionals,40.48 +Students,12.60 +Families,71.92 +Retirees,31.97 +Professionals,26.04 +Students,34.85 +Families,108.15 +Retirees,71.33 +Professionals,43.96 +Students,38.77 +Families,81.88 +Retirees,87.32 +Professionals,106.38 +Students,24.24 +Families,85.64 +Retirees,34.46 +Professionals,24.48 +Students,29.35 +Families,71.85 +Retirees,61.69 +Professionals,46.75 +Students,17.17 +Families,64.14 +Retirees,60.83 +Professionals,37.82 +Students,11.42 +Families,106.48 +Retirees,52.52 +Professionals,81.66 +Students,16.78 +Families,102.62 +Retirees,27.36 +Professionals,75.76 +Students,24.59 +Families,81.23 +Retirees,34.23 +Professionals,97.49 +Students,39.87 +Families,121.50 +Retirees,85.37 +Professionals,41.60 +Students,25.87 +Families,100.00 +Retirees,37.58 +Professionals,33.91 +Students,14.57 +Families,81.37 +Retirees,41.19 +Professionals,41.94 +Students,18.49 +Families,94.46 +Retirees,93.19 +Professionals,47.54 +Students,15.11 +Families,112.15 +Retirees,54.65 +Professionals,61.90 +Students,12.51 +Families,42.60 +Retirees,83.15 +Professionals,42.85 +Students,13.42 +Families,63.66 +Retirees,45.86 +Professionals,52.79 +Students,21.68 +Families,91.08 +Retirees,30.10 +Professionals,60.56 +Students,18.35 +Families,111.90 +Retirees,31.71 +Professionals,34.15 +Students,29.77 +Families,88.27 +Retirees,39.58 +Professionals,27.26 +Students,37.93 +Families,37.47 +Retirees,25.48 +Professionals,56.07 +Students,24.73 +Families,65.94 +Retirees,41.34 +Professionals,33.84 +Students,33.92 +Families,78.91 +Retirees,72.61 +Professionals,91.55 +Students,21.56 +Families,123.68 +Retirees,32.25 +Professionals,41.82 +Students,20.38 +Families,97.05 +Retirees,32.58 +Professionals,95.39 +Students,12.25 +Families,99.63 +Retirees,74.27 +Professionals,72.23 +Students,57.51 +Families,89.08 +Retirees,58.79 +Professionals,24.92 +Students,35.92 +Families,90.10 +Retirees,34.06 +Professionals,78.43 +Students,24.41 +Families,80.94 +Retirees,38.42 +Professionals,38.85 +Students,29.88 +Families,101.60 +Retirees,72.49 +Professionals,45.95 +Students,24.11 +Families,92.52 +Retirees,76.80 +Professionals,46.73 +Students,16.06 +Families,71.97 +Retirees,51.59 +Professionals,64.99 +Students,20.51 +Families,105.36 +Retirees,35.84 +Professionals,78.11 +Students,28.90 +Families,60.57 +Retirees,65.82 +Professionals,38.22 +Students,10.02 +Families,97.99 +Retirees,71.87 +Professionals,91.77 +Students,15.33 +Families,99.35 +Retirees,80.20 +Professionals,36.45 +Students,10.36 +Families,82.51 +Retirees,62.25 +Professionals,28.91 +Students,11.03 +Families,80.36 +Retirees,26.12 +Professionals,38.20 +Students,12.16 +Families,88.00 +Retirees,70.86 +Professionals,50.31 +Students,18.07 +Families,115.38 +Retirees,38.84 +Professionals,45.68 +Students,27.36 +Families,84.50 +Retirees,61.16 +Professionals,86.58 +Students,19.38 +Families,84.79 +Retirees,50.02 +Professionals,33.94 +Students,34.17 +Families,123.75 +Retirees,71.34 +Professionals,26.48 +Students,37.43 +Families,79.86 +Retirees,41.20 +Professionals,59.42 +Students,16.74 +Families,107.31 +Retirees,67.35 +Professionals,53.07 +Students,15.61 +Families,67.74 +Retirees,68.57 +Professionals,25.63 +Students,19.39 +Families,80.40 +Retirees,29.98 +Professionals,35.68 +Students,21.21 +Families,108.55 +Retirees,26.62 +Professionals,25.83 +Students,19.88 +Families,107.59 +Retirees,73.90 +Professionals,61.57 +Students,20.10 +Families,86.22 +Retirees,33.99 +Professionals,49.32 +Students,15.13 +Families,74.80 +Retirees,57.66 +Professionals,45.97 +Students,50.25 +Families,80.06 +Retirees,59.52 +Professionals,51.10 +Students,8.11 +Families,59.65 +Retirees,35.43 +Professionals,33.37 +Students,15.26 +Families,82.31 +Retirees,42.45 +Professionals,28.58 +Students,25.31 +Families,57.13 +Retirees,54.14 +Professionals,61.58 +Students,31.07 +Families,62.43 +Retirees,25.28 +Professionals,96.01 +Students,30.03 +Families,98.36 +Retirees,40.28 +Professionals,48.60 +Students,22.70 +Families,123.55 +Retirees,15.90 +Professionals,47.95 +Students,11.86 +Families,114.32 +Retirees,56.55 +Professionals,48.03 +Students,14.32 +Families,95.76 +Retirees,20.81 +Professionals,50.11 +Students,26.54 +Families,126.55 +Retirees,37.88 +Professionals,50.46 +Students,23.36 +Families,73.12 +Retirees,83.63 +Professionals,29.70 +Students,11.91 +Families,118.04 +Retirees,64.13 +Professionals,77.09 +Students,18.83 +Families,89.79 +Retirees,68.89 +Professionals,130.14 +Students,13.70 +Families,77.19 +Retirees,41.73 +Professionals,77.37 +Students,17.62 +Families,112.17 +Retirees,71.50 +Professionals,25.13 +Students,71.75 +Families,86.99 +Retirees,80.78 +Professionals,51.19 +Students,26.66 +Families,94.82 +Retirees,28.97 +Professionals,40.60 +Students,26.62 +Families,98.25 +Retirees,86.85 +Professionals,79.22 +Students,34.34 +Families,85.29 +Retirees,29.27 +Professionals,27.05 +Students,24.89 +Families,96.55 +Retirees,37.85 +Professionals,97.15 +Students,9.42 +Families,85.13 +Retirees,32.40 +Professionals,93.72 +Students,27.57 +Families,74.95 +Retirees,31.38 +Professionals,57.82 +Students,34.87 +Families,99.74 +Retirees,34.44 +Professionals,60.13 +Students,22.92 +Families,77.99 +Retirees,64.71 +Professionals,87.38 +Students,24.41 +Families,117.19 +Retirees,24.91 +Professionals,96.08 +Students,46.13 +Families,94.09 +Retirees,69.98 +Professionals,40.25 +Students,12.92 +Families,64.91 +Retirees,28.30 +Professionals,71.50 +Students,19.60 +Families,91.16 +Retirees,37.45 +Professionals,86.80 +Students,21.93 +Families,95.05 +Retirees,26.74 +Professionals,79.25 +Students,23.91 +Families,102.37 +Retirees,86.80 +Professionals,22.45 +Students,14.05 +Families,82.78 +Retirees,33.93 +Professionals,70.84 +Students,28.93 +Families,51.07 +Retirees,42.71 +Professionals,55.90 +Students,16.06 +Families,108.86 +Retirees,39.17 +Professionals,48.84 +Students,18.70 +Families,77.14 +Retirees,23.77 +Professionals,25.11 +Students,24.46 +Families,72.39 +Retirees,70.35 +Professionals,33.94 +Students,23.87 +Families,115.27 +Retirees,36.16 +Professionals,38.46 +Students,16.01 +Families,95.48 +Retirees,41.73 +Professionals,34.19 +Students,33.94 +Families,72.43 +Retirees,72.38 +Professionals,107.91 +Students,25.30 +Families,106.68 +Retirees,62.94 +Professionals,79.46 +Students,36.41 +Families,100.27 +Retirees,77.91 +Professionals,54.65 +Students,32.48 +Families,110.43 +Retirees,40.07 +Professionals,85.38 +Students,25.74 +Families,61.19 +Retirees,87.24 +Professionals,97.01 +Students,20.38 +Families,108.02 +Retirees,70.89 +Professionals,58.84 +Students,21.50 +Families,76.25 +Retirees,88.30 +Professionals,76.12 +Students,23.02 +Families,80.67 +Retirees,69.73 +Professionals,31.56 +Students,37.07 +Families,54.36 +Retirees,81.77 +Professionals,49.63 +Students,31.20 +Families,88.99 +Retirees,71.47 +Professionals,36.91 +Students,12.11 +Families,82.96 +Retirees,35.46 +Professionals,109.60 +Students,19.74 +Families,108.08 +Retirees,78.60 +Professionals,96.02 +Students,7.70 +Families,100.11 +Retirees,37.25 +Professionals,26.89 +Students,14.13 +Families,58.28 +Retirees,73.76 +Professionals,52.63 +Students,16.42 +Families,97.75 +Retirees,34.60 +Professionals,31.37 +Students,15.64 +Families,72.41 +Retirees,72.93 +Professionals,54.76 +Students,39.04 +Families,73.60 +Retirees,92.26 +Professionals,91.13 +Students,26.55 +Families,78.75 +Retirees,40.71 +Professionals,68.09 +Students,26.51 +Families,67.71 +Retirees,27.48 +Professionals,51.54 +Students,21.74 +Families,93.10 +Retirees,67.10 +Professionals,89.74 +Students,19.22 +Families,109.81 +Retirees,64.46 +Professionals,47.19 +Students,32.24 +Families,78.59 +Retirees,70.59 +Professionals,24.79 +Students,22.54 +Families,65.85 +Retirees,36.32 +Professionals,56.34 +Students,32.85 +Families,102.61 +Retirees,45.60 +Professionals,34.86 +Students,15.91 +Families,113.77 +Retirees,19.00 +Professionals,31.36 +Students,12.36 +Families,91.73 +Retirees,64.08 +Professionals,116.46 +Students,13.34 +Families,85.36 +Retirees,43.86 +Professionals,70.64 +Students,18.87 +Families,99.18 +Retirees,34.70 +Professionals,112.70 +Students,72.66 +Families,55.63 +Retirees,55.65 +Professionals,65.65 +Students,15.77 +Families,68.46 +Retirees,50.16 +Professionals,59.78 +Students,10.50 +Families,81.53 +Retirees,36.00 +Professionals,33.41 +Students,36.47 +Families,83.80 +Retirees,29.01 +Professionals,77.62 +Students,21.21 +Families,75.98 +Retirees,79.30 +Professionals,43.26 +Students,27.22 +Families,81.23 +Retirees,31.86 +Professionals,154.29 +Students,42.16 +Families,113.38 +Retirees,70.74 +Professionals,83.31 +Students,13.75 +Families,85.03 +Retirees,34.01 +Professionals,159.36 +Students,37.08 +Families,88.90 +Retirees,26.19 +Professionals,58.53 +Students,30.11 +Families,125.99 +Retirees,79.31 +Professionals,33.75 +Students,15.32 +Families,81.39 +Retirees,36.37 +Professionals,28.91 +Students,22.36 +Families,78.77 +Retirees,33.75 +Professionals,69.73 +Students,17.04 +Families,89.48 +Retirees,34.26 +Professionals,29.19 +Students,27.45 +Families,123.06 +Retirees,29.72 +Professionals,34.27 +Students,25.18 +Families,92.00 +Retirees,40.76 +Professionals,99.01 +Students,15.81 +Families,73.96 +Retirees,72.69 +Professionals,37.50 +Students,25.13 +Families,59.79 +Retirees,30.35 +Professionals,26.31 +Students,29.63 +Families,82.96 +Retirees,70.95 +Professionals,73.84 +Students,20.77 +Families,64.39 +Retirees,76.68 +Professionals,46.67 +Students,12.80 +Families,90.55 +Retirees,24.10 +Professionals,128.30 +Students,18.69 +Families,71.33 +Retirees,33.51 +Professionals,61.67 +Students,41.07 +Families,96.54 +Retirees,70.96 +Professionals,23.72 +Students,23.20 +Families,84.18 +Retirees,43.15 +Professionals,48.17 +Students,11.80 +Families,68.64 +Retirees,71.10 +Professionals,106.30 +Students,22.23 +Families,70.74 +Retirees,27.39 +Professionals,51.47 +Students,62.27 +Families,75.67 +Retirees,41.70 +Professionals,74.35 +Students,8.67 +Families,112.96 +Retirees,30.95 +Professionals,103.18 +Students,18.75 +Families,77.35 +Retirees,80.07 +Professionals,104.89 +Students,17.47 +Families,84.72 +Retirees,35.52 +Professionals,35.15 +Students,29.31 +Families,105.31 +Retirees,82.80 +Professionals,46.05 +Students,22.77 +Families,67.70 +Retirees,23.48 +Professionals,24.89 +Students,16.46 +Families,90.11 +Retirees,25.62 +Professionals,45.01 +Students,17.47 +Families,55.50 +Retirees,33.14 +Professionals,44.53 +Students,17.75 +Families,55.38 +Retirees,32.62 +Professionals,43.57 +Students,33.63 +Families,50.06 +Retirees,42.34 +Professionals,129.18 +Students,9.11 +Families,77.19 +Retirees,77.86 +Professionals,54.34 +Students,23.02 +Families,73.00 +Retirees,76.67 +Professionals,37.40 +Students,21.53 +Families,90.69 +Retirees,67.09 +Professionals,68.11 +Students,24.27 +Families,84.42 +Retirees,22.93 +Professionals,51.16 +Students,59.82 +Families,51.01 +Retirees,31.46 +Professionals,26.12 +Students,36.52 +Families,103.85 +Retirees,27.51 +Professionals,77.67 +Students,10.59 +Families,83.37 +Retirees,39.84 +Professionals,49.61 +Students,34.60 +Families,97.32 +Retirees,73.96 +Professionals,74.30 +Students,16.05 +Families,95.86 +Retirees,36.47 +Professionals,32.50 +Students,20.09 +Families,52.23 +Retirees,35.12 +Professionals,53.01 +Students,45.27 +Families,100.77 +Retirees,14.96 +Professionals,82.16 +Students,14.93 +Families,118.75 +Retirees,75.13 +Professionals,34.83 +Students,18.83 +Families,78.97 +Retirees,44.72 +Professionals,68.65 +Students,19.30 +Families,77.65 +Retirees,39.58 +Professionals,67.81 +Students,21.87 +Families,98.19 +Retirees,70.38 +Professionals,41.20 +Students,19.91 +Families,85.31 +Retirees,18.52 +Professionals,32.59 +Students,10.97 +Families,73.66 +Retirees,26.57 +Professionals,30.87 +Students,18.35 +Families,72.47 +Retirees,78.00 +Professionals,68.52 +Students,20.89 +Families,104.48 +Retirees,29.95 +Professionals,95.46 +Students,43.89 +Families,107.77 +Retirees,75.94 +Professionals,71.08 +Students,24.83 +Families,108.01 +Retirees,42.90 +Professionals,64.67 +Students,21.09 +Families,83.40 +Retirees,59.05 +Professionals,63.11 +Students,24.34 +Families,87.17 +Retirees,71.11 +Professionals,101.79 +Students,19.61 +Families,99.51 +Retirees,36.87 +Professionals,175.08 +Students,13.43 +Families,93.00 +Retirees,72.28 +Professionals,83.81 +Students,26.56 +Families,97.48 +Retirees,35.96 +Professionals,38.90 +Students,55.13 +Families,87.61 +Retirees,78.85 +Professionals,107.07 +Students,26.95 +Families,97.20 +Retirees,52.17 +Professionals,75.07 +Students,56.42 +Families,78.94 +Retirees,68.94 +Professionals,58.28 +Students,42.73 +Families,73.60 +Retirees,82.53 +Professionals,56.72 +Students,17.90 +Families,87.78 +Retirees,38.68 +Professionals,59.41 +Students,14.73 +Families,99.79 +Retirees,62.33 +Professionals,41.39 +Students,24.88 +Families,90.26 +Retirees,56.27 +Professionals,69.61 +Students,38.68 +Families,80.33 +Retirees,30.77 +Professionals,51.89 +Students,50.83 +Families,97.37 +Retirees,37.33 +Professionals,71.71 +Students,27.58 +Families,72.44 +Retirees,37.71 +Professionals,24.57 +Students,17.90 +Families,63.02 +Retirees,59.01 +Professionals,126.38 +Students,16.32 +Families,98.74 +Retirees,43.86 +Professionals,94.67 +Students,16.46 +Families,103.66 +Retirees,86.32 +Professionals,54.95 +Students,27.59 +Families,80.34 +Retirees,26.81 +Professionals,22.56 +Students,13.27 +Families,85.96 +Retirees,20.42 +Professionals,80.51 +Students,18.74 +Families,92.44 +Retirees,29.11 +Professionals,29.04 +Students,18.06 +Families,54.22 +Retirees,75.20 +Professionals,117.87 +Students,31.91 +Families,80.16 +Retirees,66.43 +Professionals,24.57 +Students,19.50 +Families,118.93 +Retirees,38.52 +Professionals,66.45 +Students,39.40 +Families,46.11 +Retirees,76.32 +Professionals,41.05 +Students,17.65 +Families,110.88 +Retirees,38.42 +Professionals,44.65 +Students,19.16 +Families,78.85 +Retirees,26.69 +Professionals,33.19 +Students,20.53 +Families,66.15 +Retirees,73.15 +Professionals,135.48 +Students,20.66 +Families,97.56 +Retirees,65.51 +Professionals,51.68 +Students,35.95 +Families,113.97 +Retirees,62.37 +Professionals,36.49 +Students,13.83 +Families,34.11 +Retirees,27.77 +Professionals,47.44 +Students,12.54 +Families,68.51 +Retirees,81.64 +Professionals,35.49 +Students,40.56 +Families,89.33 +Retirees,66.79 +Professionals,32.55 +Students,27.47 +Families,95.53 +Retirees,70.93 +Professionals,77.30 +Students,22.86 +Families,83.53 +Retirees,62.85 +Professionals,50.29 +Students,17.09 +Families,90.76 +Retirees,60.51 +Professionals,100.66 +Students,17.33 +Families,58.77 +Retirees,74.21 +Professionals,34.43 +Students,21.50 +Families,100.09 +Retirees,27.06 +Professionals,56.12 +Students,26.16 +Families,75.31 +Retirees,89.10 +Professionals,78.01 +Students,13.73 +Families,79.12 +Retirees,73.85 +Professionals,39.61 +Students,18.02 +Families,87.32 +Retirees,84.88 +Professionals,99.05 +Students,31.90 +Families,104.84 +Retirees,37.68 +Professionals,60.32 +Students,38.12 +Families,104.88 +Retirees,31.61 +Professionals,64.34 +Students,27.20 +Families,94.49 +Retirees,24.23 +Professionals,51.34 +Students,40.43 +Families,81.08 +Retirees,39.67 +Professionals,22.92 +Students,11.10 +Families,88.29 +Retirees,30.74 +Professionals,56.33 +Students,23.84 +Families,104.03 +Retirees,40.77 +Professionals,50.36 +Students,25.05 +Families,74.91 +Retirees,37.93 +Professionals,37.23 +Students,17.06 +Families,70.68 +Retirees,73.46 +Professionals,105.02 +Students,18.28 +Families,105.93 +Retirees,35.79 +Professionals,82.42 +Students,21.34 +Families,73.41 +Retirees,36.65 +Professionals,76.58 +Students,19.46 +Families,118.89 +Retirees,61.74 +Professionals,75.08 +Students,15.98 +Families,72.11 +Retirees,73.85 +Professionals,53.58 +Students,25.20 +Families,70.34 +Retirees,28.46 +Professionals,79.26 +Students,19.88 +Families,52.16 +Retirees,66.33 +Professionals,145.03 +Students,11.33 +Families,112.02 +Retirees,75.27 +Professionals,29.07 +Students,17.67 +Families,109.29 +Retirees,77.50 +Professionals,60.53 +Students,16.16 +Families,77.64 +Retirees,36.36 +Professionals,54.27 +Students,23.62 +Families,62.12 +Retirees,46.29 +Professionals,88.62 +Students,23.22 +Families,68.78 +Retirees,75.27 +Professionals,46.27 +Students,18.58 +Families,95.88 +Retirees,47.59 +Professionals,61.96 +Students,14.26 +Families,67.40 +Retirees,30.14 +Professionals,44.47 +Students,40.32 +Families,88.68 +Retirees,55.48 +Professionals,46.28 +Students,17.70 +Families,98.43 +Retirees,76.61 +Professionals,75.21 +Students,31.61 +Families,77.47 +Retirees,33.50 +Professionals,36.06 +Students,28.67 +Families,96.93 +Retirees,67.31 +Professionals,54.47 +Students,14.30 +Families,74.08 +Retirees,32.31 +Professionals,38.88 +Students,18.84 +Families,59.03 +Retirees,35.45 +Professionals,49.59 +Students,9.48 +Families,91.96 +Retirees,18.29 +Professionals,91.58 +Students,29.61 +Families,122.23 +Retirees,75.84 +Professionals,72.54 +Students,23.07 +Families,103.47 +Retirees,41.10 +Professionals,57.79 +Students,42.53 +Families,110.83 +Retirees,26.67 +Professionals,45.35 +Students,14.73 +Families,69.78 +Retirees,28.55 +Professionals,51.49 +Students,13.83 +Families,73.32 +Retirees,26.22 +Professionals,51.11 +Students,6.07 +Families,71.59 +Retirees,30.50 +Professionals,59.18 +Students,43.10 +Families,90.94 +Retirees,57.42 +Professionals,125.47 +Students,28.30 +Families,76.26 +Retirees,83.23 +Professionals,27.14 +Students,26.29 +Families,85.02 +Retirees,69.20 +Professionals,33.82 +Students,13.42 +Families,80.18 +Retirees,85.30 +Professionals,52.73 +Students,15.15 +Families,72.20 +Retirees,42.19 +Professionals,42.16 +Students,13.94 +Families,109.62 +Retirees,70.66 +Professionals,48.46 +Students,48.29 +Families,74.59 +Retirees,34.98 +Professionals,48.24 +Students,45.50 +Families,70.17 +Retirees,62.66 +Professionals,86.12 +Students,18.20 +Families,98.68 +Retirees,67.98 +Professionals,32.60 +Students,21.40 +Families,65.73 +Retirees,59.80 +Professionals,35.73 +Students,27.66 +Families,83.62 +Retirees,31.08 +Professionals,54.57 +Students,28.46 +Families,91.45 +Retirees,39.65 +Professionals,58.43 +Students,20.83 +Families,67.92 +Retirees,78.88 +Professionals,51.60 +Students,19.29 +Families,73.73 +Retirees,62.32 +Professionals,68.45 +Students,53.51 +Families,85.94 +Retirees,31.51 +Professionals,31.30 +Students,21.09 +Families,94.10 +Retirees,27.93 +Professionals,103.78 +Students,17.57 +Families,88.38 +Retirees,58.26 +Professionals,37.63 +Students,24.75 +Families,106.02 +Retirees,28.02 +Professionals,26.64 +Students,22.85 +Families,81.24 +Retirees,76.64 +Professionals,53.46 +Students,24.62 +Families,102.89 +Retirees,29.30 +Professionals,54.86 +Students,14.93 +Families,57.85 +Retirees,48.12 +Professionals,93.81 +Students,20.90 +Families,115.97 +Retirees,38.87 +Professionals,37.46 +Students,16.99 +Families,74.01 +Retirees,33.90 +Professionals,26.17 +Students,10.72 +Families,48.61 +Retirees,40.86 +Professionals,47.11 +Students,27.53 +Families,94.86 +Retirees,60.18 +Professionals,32.68 +Students,18.31 +Families,95.93 +Retirees,38.03 +Professionals,38.17 +Students,21.82 +Families,79.01 +Retirees,34.74 +Professionals,65.86 +Students,38.65 +Families,95.91 +Retirees,67.11 +Professionals,102.21 +Students,24.38 +Families,91.83 +Retirees,65.10 +Professionals,26.02 +Students,34.85 +Families,78.81 +Retirees,69.93 +Professionals,59.47 +Students,8.30 +Families,67.54 +Retirees,33.02 +Professionals,59.62 +Students,33.95 +Families,94.52 +Retirees,74.41 +Professionals,56.25 +Students,43.28 +Families,47.52 +Retirees,34.90 +Professionals,69.15 +Students,26.79 +Families,82.60 +Retirees,35.52 +Professionals,36.44 +Students,36.39 +Families,86.28 +Retirees,66.24 +Professionals,67.83 +Students,21.21 +Families,96.18 +Retirees,71.41 +Professionals,59.21 +Students,23.59 +Families,85.90 +Retirees,24.36 +Professionals,70.98 +Students,9.78 +Families,106.48 +Retirees,82.21 +Professionals,33.11 +Students,43.55 +Families,103.15 +Retirees,73.11 +Professionals,100.66 +Students,32.92 +Families,79.52 +Retirees,46.59 +Professionals,40.20 +Students,17.59 +Families,74.99 +Retirees,40.07 +Professionals,28.54 +Students,19.95 +Families,78.45 +Retirees,98.30 +Professionals,62.91 +Students,21.21 +Families,69.73 +Retirees,42.60 +Professionals,48.61 +Students,17.57 +Families,73.93 +Retirees,88.87 +Professionals,31.98 +Students,15.40 +Families,75.75 +Retirees,38.77 +Professionals,43.79 +Students,8.90 +Families,96.99 +Retirees,27.96 +Professionals,32.40 +Students,60.49 +Families,82.18 +Retirees,28.43 +Professionals,53.50 +Students,21.52 +Families,60.83 +Retirees,69.18 +Professionals,50.40 +Students,35.58 +Families,108.19 +Retirees,79.26 +Professionals,75.77 +Students,14.27 +Families,52.95 +Retirees,67.28 +Professionals,35.63 +Students,20.40 +Families,77.92 +Retirees,26.85 +Professionals,49.15 +Students,11.63 +Families,95.48 +Retirees,30.86 +Professionals,84.82 +Students,27.67 +Families,95.93 +Retirees,37.32 +Professionals,58.44 +Students,11.47 +Families,85.23 +Retirees,75.10 +Professionals,53.55 +Students,6.20 +Families,122.04 +Retirees,68.04 +Professionals,41.45 +Students,27.19 +Families,91.42 +Retirees,70.76 +Professionals,51.60 +Students,34.93 +Families,71.64 +Retirees,73.67 +Professionals,51.89 +Students,11.61 +Families,105.88 +Retirees,68.47 +Professionals,95.43 +Students,46.12 +Families,75.80 +Retirees,64.08 +Professionals,30.50 +Students,19.45 +Families,86.42 +Retirees,29.42 +Professionals,99.88 +Students,20.20 +Families,93.88 +Retirees,36.98 +Professionals,27.29 +Students,12.30 +Families,94.36 +Retirees,29.20 +Professionals,47.36 +Students,15.84 +Families,48.22 +Retirees,62.96 +Professionals,56.23 +Students,17.22 +Families,66.36 +Retirees,41.44 +Professionals,43.75 +Students,16.73 +Families,72.45 +Retirees,68.39 +Professionals,100.32 +Students,19.97 +Families,102.51 +Retirees,33.36 +Professionals,38.84 +Students,15.07 +Families,85.05 +Retirees,61.10 +Professionals,29.70 +Students,19.19 +Families,89.59 +Retirees,83.86 +Professionals,110.65 +Students,28.98 +Families,52.97 +Retirees,53.71 +Professionals,30.17 +Students,16.76 +Families,90.84 +Retirees,43.05 +Professionals,54.83 +Students,21.17 +Families,67.38 +Retirees,37.61 +Professionals,52.49 +Students,10.91 +Families,71.13 +Retirees,70.84 +Professionals,48.81 +Students,40.45 +Families,63.21 +Retirees,25.04 +Professionals,130.90 +Students,31.50 +Families,73.60 +Retirees,41.21 +Professionals,66.86 +Students,9.58 +Families,55.00 +Retirees,24.07 +Professionals,46.65 +Students,65.96 +Families,121.17 +Retirees,31.08 +Professionals,39.55 +Students,22.30 +Families,58.98 +Retirees,36.88 +Professionals,52.85 +Students,15.43 +Families,92.02 +Retirees,87.87 +Professionals,51.03 +Students,30.09 +Families,118.71 +Retirees,33.89 +Professionals,54.73 +Students,27.80 +Families,93.69 +Retirees,35.19 +Professionals,49.25 +Students,18.81 +Families,83.22 +Retirees,89.98 +Professionals,62.11 +Students,22.77 +Families,91.56 +Retirees,60.41 +Professionals,58.04 +Students,27.94 +Families,102.00 +Retirees,62.23 +Professionals,77.08 +Students,14.21 +Families,92.57 +Retirees,66.87 +Professionals,52.85 +Students,15.97 +Families,67.97 +Retirees,38.61 +Professionals,29.77 +Students,8.20 +Families,85.63 +Retirees,38.37 +Professionals,68.55 +Students,20.74 +Families,71.66 +Retirees,57.55 +Professionals,60.39 +Students,30.47 +Families,114.46 +Retirees,59.51 +Professionals,52.68 +Students,19.93 +Families,64.04 +Retirees,20.41 +Professionals,69.53 +Students,22.89 +Families,105.62 +Retirees,30.38 +Professionals,27.19 +Students,55.01 +Families,78.74 +Retirees,71.41 +Professionals,81.66 +Students,14.80 +Families,85.12 +Retirees,39.56 +Professionals,48.34 +Students,11.32 +Families,68.23 +Retirees,82.54 +Professionals,40.32 +Students,10.36 +Families,112.02 +Retirees,57.51 +Professionals,82.60 +Students,16.12 +Families,96.48 +Retirees,65.37 +Professionals,86.21 +Students,34.45 +Families,88.03 +Retirees,81.70 +Professionals,34.39 +Students,28.00 +Families,108.72 +Retirees,94.11 +Professionals,79.70 +Students,27.91 +Families,84.79 +Retirees,83.90 +Professionals,41.61 +Students,36.37 +Families,76.10 +Retirees,70.31 +Professionals,45.14 +Students,14.92 +Families,90.86 +Retirees,31.49 +Professionals,72.61 +Students,13.50 +Families,66.18 +Retirees,25.31 +Professionals,65.21 +Students,21.09 +Families,87.79 +Retirees,42.96 +Professionals,62.86 +Students,42.51 +Families,69.99 +Retirees,66.65 +Professionals,136.01 +Students,10.05 +Families,92.15 +Retirees,79.54 +Professionals,73.29 +Students,10.60 +Families,109.24 +Retirees,38.61 +Professionals,56.72 +Students,10.88 +Families,105.18 +Retirees,51.41 +Professionals,36.65 +Students,11.72 +Families,93.21 +Retirees,25.88 +Professionals,35.80 +Students,22.99 +Families,62.51 +Retirees,72.76 +Professionals,24.95 +Students,23.42 +Families,101.48 +Retirees,38.59 +Professionals,37.62 +Students,13.16 +Families,78.27 +Retirees,80.09 +Professionals,45.75 +Students,14.66 +Families,115.55 +Retirees,31.84 +Professionals,42.30 +Students,11.07 +Families,82.56 +Retirees,28.47 +Professionals,73.12 +Students,15.08 +Families,78.95 +Retirees,31.85 +Professionals,103.06 +Students,19.70 +Families,81.31 +Retirees,77.29 +Professionals,58.09 +Students,22.49 +Families,95.54 +Retirees,37.44 +Professionals,72.73 +Students,15.28 +Families,107.01 +Retirees,28.39 +Professionals,64.40 +Students,36.36 +Families,96.50 +Retirees,55.27 +Professionals,30.75 +Students,29.30 +Families,134.42 +Retirees,64.07 +Professionals,40.65 +Students,16.69 +Families,68.34 +Retirees,50.81 +Professionals,42.03 +Students,38.08 +Families,92.58 +Retirees,55.05 +Professionals,44.96 +Students,25.72 +Families,62.68 +Retirees,77.11 +Professionals,32.21 +Students,21.70 +Families,97.85 +Retirees,45.14 +Professionals,39.85 +Students,16.69 +Families,108.91 +Retirees,25.19 +Professionals,62.29 +Students,45.47 +Families,110.01 +Retirees,24.92 +Professionals,31.42 +Students,33.44 +Families,87.30 +Retirees,25.90 +Professionals,108.55 +Students,39.00 +Families,69.07 +Retirees,17.12 +Professionals,44.67 +Students,12.71 +Families,98.77 +Retirees,54.41 +Professionals,27.00 +Students,11.69 +Families,99.28 +Retirees,68.41 +Professionals,60.09 +Students,20.25 +Families,75.05 +Retirees,76.01 +Professionals,143.85 +Students,19.04 +Families,105.84 +Retirees,38.47 +Professionals,31.49 +Students,19.62 +Families,128.76 +Retirees,39.26 +Professionals,84.34 +Students,16.28 +Families,78.62 +Retirees,43.93 +Professionals,68.25 +Students,15.18 +Families,77.48 +Retirees,35.09 +Professionals,32.64 +Students,18.31 +Families,111.08 +Retirees,26.79 +Professionals,38.03 +Students,26.91 +Families,94.45 +Retirees,75.54 +Professionals,36.22 +Students,13.57 +Families,58.16 +Retirees,69.47 +Professionals,73.27 +Students,42.20 +Families,83.04 +Retirees,35.51 +Professionals,90.18 +Students,20.08 +Families,90.73 +Retirees,51.31 +Professionals,29.79 +Students,29.09 +Families,77.31 +Retirees,37.01 +Professionals,45.04 +Students,32.09 +Families,89.58 +Retirees,74.10 +Professionals,37.01 +Students,30.50 +Families,82.41 +Retirees,32.01 +Professionals,66.71 +Students,28.73 +Families,78.73 +Retirees,94.39 +Professionals,104.79 +Students,23.39 +Families,83.74 +Retirees,30.53 +Professionals,69.54 +Students,56.30 +Families,121.55 +Retirees,41.85 +Professionals,70.70 +Students,20.60 +Families,102.72 +Retirees,61.59 +Professionals,53.18 +Students,15.35 +Families,95.85 +Retirees,30.59 +Professionals,76.85 +Students,26.54 +Families,46.22 +Retirees,40.68 +Professionals,55.90 +Students,43.60 +Families,97.58 +Retirees,30.34 +Professionals,82.51 +Students,29.41 +Families,116.04 +Retirees,33.36 +Professionals,152.91 +Students,16.46 +Families,92.87 +Retirees,74.23 +Professionals,54.50 +Students,13.10 +Families,76.42 +Retirees,27.59 +Professionals,37.40 +Students,23.01 +Families,63.47 +Retirees,42.49 +Professionals,52.06 +Students,20.13 +Families,87.36 +Retirees,73.77 +Professionals,55.89 +Students,21.45 +Families,95.01 +Retirees,31.24 +Professionals,58.09 +Students,16.28 +Families,114.65 +Retirees,78.17 +Professionals,37.29 +Students,34.74 +Families,74.09 +Retirees,60.52 +Professionals,128.29 +Students,16.19 +Families,74.74 +Retirees,36.70 +Professionals,49.81 +Students,10.53 +Families,92.99 +Retirees,57.76 +Professionals,87.62 +Students,15.41 +Families,77.15 +Retirees,37.50 +Professionals,45.48 +Students,27.60 +Families,75.61 +Retirees,32.81 +Professionals,60.05 +Students,17.20 +Families,95.35 +Retirees,34.01 +Professionals,79.09 +Students,17.30 +Families,72.48 +Retirees,79.54 +Professionals,27.55 +Students,19.20 +Families,88.59 +Retirees,35.47 +Professionals,37.59 +Students,39.85 +Families,73.56 +Retirees,30.47 +Professionals,47.33 +Students,45.03 +Families,71.20 +Retirees,34.59 +Professionals,24.14 +Students,14.49 +Families,64.33 +Retirees,76.15 +Professionals,108.26 +Students,27.31 +Families,66.90 +Retirees,21.28 +Professionals,62.78 +Students,11.37 +Families,83.81 +Retirees,40.58 +Professionals,41.98 +Students,29.03 +Families,97.77 +Retirees,41.24 +Professionals,34.56 +Students,22.76 +Families,101.59 +Retirees,72.67 +Professionals,40.89 +Students,14.85 +Families,72.93 +Retirees,64.82 +Professionals,57.96 +Students,39.45 +Families,86.84 +Retirees,32.67 +Professionals,55.73 +Students,38.95 +Families,93.11 +Retirees,63.78 +Professionals,89.40 +Students,15.51 +Families,84.02 +Retirees,63.34 +Professionals,90.96 +Students,15.62 +Families,92.06 +Retirees,63.61 +Professionals,37.19 +Students,30.32 +Families,73.67 +Retirees,31.76 +Professionals,72.58 +Students,30.05 +Families,77.33 +Retirees,62.70 +Professionals,81.10 +Students,14.93 +Families,106.15 +Retirees,36.71 +Professionals,65.37 +Students,17.20 +Families,73.23 +Retirees,59.63 +Professionals,27.01 +Students,11.24 +Families,88.71 +Retirees,92.39 +Professionals,26.28 +Students,17.27 +Families,51.53 +Retirees,61.94 +Professionals,31.08 +Students,22.68 +Families,72.79 +Retirees,74.13 +Professionals,94.78 +Students,19.85 +Families,101.72 +Retirees,65.28 +Professionals,36.51 +Students,29.62 +Families,100.03 +Retirees,98.86 +Professionals,41.97 +Students,31.19 +Families,65.42 +Retirees,80.72 +Professionals,81.46 +Students,14.49 +Families,82.78 +Retirees,29.80 +Professionals,56.52 +Students,44.55 +Families,70.79 +Retirees,61.40 +Professionals,47.04 +Students,37.20 +Families,103.96 +Retirees,35.99 +Professionals,56.80 +Students,58.76 +Families,84.76 +Retirees,71.83 +Professionals,51.10 +Students,31.91 +Families,105.98 +Retirees,66.65 +Professionals,55.11 +Students,22.70 +Families,108.41 +Retirees,88.18 +Professionals,101.28 +Students,20.88 +Families,72.82 +Retirees,76.82 +Professionals,84.77 +Students,17.32 +Families,77.40 +Retirees,21.28 +Professionals,61.06 +Students,37.29 +Families,89.88 +Retirees,35.10 +Professionals,30.35 +Students,23.88 +Families,91.18 +Retirees,81.07 +Professionals,37.77 +Students,17.06 +Families,87.78 +Retirees,41.87 +Professionals,47.16 +Students,31.63 +Families,86.66 +Retirees,27.75 +Professionals,54.20 +Students,19.02 +Families,36.37 +Retirees,31.35 +Professionals,75.60 +Students,13.44 +Families,98.64 +Retirees,66.90 +Professionals,83.22 +Students,13.28 +Families,92.06 +Retirees,74.30 +Professionals,109.86 +Students,26.73 +Families,100.33 +Retirees,33.22 +Professionals,54.75 +Students,12.50 +Families,62.56 +Retirees,29.76 +Professionals,28.79 +Students,12.79 +Families,87.42 +Retirees,32.45 +Professionals,48.28 +Students,15.02 +Families,75.67 +Retirees,67.25 +Professionals,52.28 +Students,25.55 +Families,93.41 +Retirees,80.74 +Professionals,46.00 +Students,23.58 +Families,35.76 +Retirees,23.94 +Professionals,46.63 +Students,17.04 +Families,114.85 +Retirees,73.38 +Professionals,32.07 +Students,15.37 +Families,67.14 +Retirees,34.22 +Professionals,33.41 +Students,11.37 +Families,107.72 +Retirees,26.45 +Professionals,30.80 +Students,19.99 +Families,78.04 +Retirees,38.67 +Professionals,79.03 +Students,14.17 +Families,95.01 +Retirees,35.31 +Professionals,21.82 +Students,13.26 +Families,106.64 +Retirees,83.93 +Professionals,139.63 +Students,21.46 +Families,113.24 +Retirees,82.31 +Professionals,43.36 +Students,29.82 +Families,73.94 +Retirees,37.43 +Professionals,32.21 +Students,11.49 +Families,54.01 +Retirees,68.20 +Professionals,68.44 +Students,24.49 +Families,112.00 +Retirees,22.17 +Professionals,46.66 +Students,9.01 +Families,103.98 +Retirees,40.87 +Professionals,122.17 +Students,21.66 +Families,87.72 +Retirees,41.02 +Professionals,45.32 +Students,17.45 +Families,81.90 +Retirees,79.07 +Professionals,31.84 +Students,16.64 +Families,60.67 +Retirees,68.98 +Professionals,48.51 +Students,15.65 +Families,103.80 +Retirees,60.02 +Professionals,33.23 +Students,25.78 +Families,93.73 +Retirees,76.88 +Professionals,61.38 +Students,18.40 +Families,114.96 +Retirees,22.05 +Professionals,65.88 +Students,23.34 +Families,99.84 +Retirees,29.17 +Professionals,28.87 +Students,22.47 +Families,114.45 +Retirees,37.72 +Professionals,39.48 +Students,17.74 +Families,104.61 +Retirees,43.26 +Professionals,87.82 +Students,12.69 +Families,88.37 +Retirees,40.08 +Professionals,74.46 +Students,8.65 +Families,80.26 +Retirees,39.79 +Professionals,31.54 +Students,22.46 +Families,90.06 +Retirees,67.19 +Professionals,51.48 +Students,10.95 +Families,105.25 +Retirees,76.88 +Professionals,71.50 +Students,10.70 +Families,76.70 +Retirees,63.64 +Professionals,59.87 +Students,30.29 +Families,98.70 +Retirees,71.15 +Professionals,72.85 +Students,19.15 +Families,89.67 +Retirees,31.03 +Professionals,31.28 +Students,42.69 +Families,85.92 +Retirees,78.76 +Professionals,39.14 +Students,30.96 +Families,59.30 +Retirees,61.60 +Professionals,56.16 +Students,14.57 +Families,50.08 +Retirees,31.93 +Professionals,22.53 +Students,28.59 +Families,95.25 +Retirees,46.97 +Professionals,46.49 +Students,25.44 +Families,69.86 +Retirees,32.86 +Professionals,81.68 +Students,18.55 +Families,96.08 +Retirees,75.70 +Professionals,48.79 +Students,19.80 +Families,57.58 +Retirees,30.51 +Professionals,85.48 +Students,16.33 +Families,90.55 +Retirees,34.56 +Professionals,104.30 +Students,36.03 +Families,90.82 +Retirees,45.03 +Professionals,90.59 +Students,25.13 +Families,48.78 +Retirees,35.46 +Professionals,99.30 +Students,15.34 +Families,93.14 +Retirees,35.66 +Professionals,54.49 +Students,31.30 +Families,85.69 +Retirees,85.17 +Professionals,50.68 +Students,14.92 +Families,90.14 +Retirees,33.70 +Professionals,94.40 +Students,38.07 +Families,59.03 +Retirees,33.16 +Professionals,60.49 +Students,16.46 +Families,119.99 +Retirees,61.97 +Professionals,67.45 +Students,17.74 +Families,124.63 +Retirees,71.95 +Professionals,45.90 +Students,26.60 +Families,69.29 +Retirees,81.31 +Professionals,44.13 +Students,31.76 +Families,79.02 +Retirees,34.37 +Professionals,109.87 +Students,10.11 +Families,59.27 +Retirees,23.17 +Professionals,56.72 +Students,41.55 +Families,73.53 +Retirees,23.55 +Professionals,99.66 +Students,20.96 +Families,91.67 +Retirees,47.43 +Professionals,40.21 +Students,22.86 +Families,80.03 +Retirees,61.20 +Professionals,52.24 +Students,29.84 +Families,55.20 +Retirees,30.86 +Professionals,33.43 +Students,25.26 +Families,87.71 +Retirees,72.34 +Professionals,50.35 +Students,19.59 +Families,58.84 +Retirees,47.63 +Professionals,36.33 +Students,23.80 +Families,88.41 +Retirees,37.22 +Professionals,49.71 +Students,8.80 +Families,65.29 +Retirees,69.80 +Professionals,58.84 +Students,17.40 +Families,105.67 +Retirees,37.08 +Professionals,65.99 +Students,11.68 +Families,101.75 +Retirees,39.57 +Professionals,61.54 +Students,37.29 +Families,79.97 +Retirees,69.25 +Professionals,61.34 +Students,46.20 +Families,88.04 +Retirees,35.99 +Professionals,65.82 +Students,21.45 +Families,80.35 +Retirees,36.62 +Professionals,140.12 +Students,21.27 +Families,43.17 +Retirees,28.55 +Professionals,54.80 +Students,21.65 +Families,92.21 +Retirees,61.74 +Professionals,77.43 +Students,13.87 +Families,73.79 +Retirees,44.57 +Professionals,29.74 +Students,24.58 +Families,100.35 +Retirees,15.47 +Professionals,33.32 +Students,14.57 +Families,112.54 +Retirees,46.23 +Professionals,46.01 +Students,26.96 +Families,80.42 +Retirees,30.23 +Professionals,43.91 +Students,38.42 +Families,121.80 +Retirees,70.36 +Professionals,36.99 +Students,16.53 +Families,61.46 +Retirees,37.07 +Professionals,50.37 +Students,26.56 +Families,94.86 +Retirees,34.35 +Professionals,79.72 +Students,42.79 +Families,111.88 +Retirees,44.73 +Professionals,86.28 +Students,19.96 +Families,107.14 +Retirees,60.60 +Professionals,28.07 +Students,32.23 +Families,106.32 +Retirees,87.90 +Professionals,48.02 +Students,29.21 +Families,85.65 +Retirees,44.22 +Professionals,47.10 +Students,14.25 +Families,61.16 +Retirees,42.78 +Professionals,98.77 +Students,26.33 +Families,73.55 +Retirees,28.39 +Professionals,42.31 +Students,21.04 +Families,89.16 +Retirees,73.90 +Professionals,59.37 +Students,28.32 +Families,81.20 +Retirees,37.87 +Professionals,97.97 +Students,20.01 +Families,100.57 +Retirees,69.57 +Professionals,53.43 +Students,31.27 +Families,99.15 +Retirees,70.25 +Professionals,57.11 +Students,35.81 +Families,74.88 +Retirees,69.35 +Professionals,50.85 +Students,20.96 +Families,107.56 +Retirees,30.98 +Professionals,30.93 +Students,65.31 +Families,49.74 +Retirees,26.35 +Professionals,93.20 +Students,21.19 +Families,73.42 +Retirees,28.14 +Professionals,57.15 +Students,19.41 +Families,64.48 +Retirees,68.06 +Professionals,30.69 +Students,23.09 +Families,91.11 +Retirees,85.93 +Professionals,56.55 +Students,20.76 +Families,95.41 +Retirees,48.25 +Professionals,45.02 +Students,33.81 +Families,91.41 +Retirees,75.87 +Professionals,101.01 +Students,29.32 +Families,54.43 +Retirees,31.42 +Professionals,54.88 +Students,20.51 +Families,72.45 +Retirees,23.73 +Professionals,170.41 +Students,8.10 +Families,66.17 +Retirees,30.90 +Professionals,125.93 +Students,44.90 +Families,97.19 +Retirees,34.51 +Professionals,133.14 +Students,25.19 +Families,86.93 +Retirees,71.56 +Professionals,84.59 +Students,9.66 +Families,113.83 +Retirees,80.35 +Professionals,33.68 +Students,18.07 +Families,116.27 +Retirees,70.85 +Professionals,58.69 +Students,32.10 +Families,53.61 +Retirees,73.15 +Professionals,57.11 +Students,13.05 +Families,87.25 +Retirees,31.78 +Professionals,61.49 +Students,19.44 +Families,87.73 +Retirees,30.22 +Professionals,48.20 +Students,47.12 +Families,86.94 +Retirees,35.23 +Professionals,50.52 +Students,21.14 +Families,130.73 +Retirees,45.00 +Professionals,63.73 +Students,19.08 +Families,72.23 +Retirees,20.61 +Professionals,102.63 +Students,27.74 +Families,60.53 +Retirees,31.84 +Professionals,34.91 +Students,23.47 +Families,125.20 +Retirees,82.69 +Professionals,22.33 +Students,33.71 +Families,98.06 +Retirees,78.86 +Professionals,36.86 +Students,7.99 +Families,72.78 +Retirees,20.25 +Professionals,117.51 +Students,13.11 +Families,63.14 +Retirees,51.69 +Professionals,85.01 +Students,28.51 +Families,88.18 +Retirees,82.31 +Professionals,38.26 +Students,21.25 +Families,93.71 +Retirees,29.86 +Professionals,25.44 +Students,33.85 +Families,85.99 +Retirees,76.86 +Professionals,108.09 +Students,7.61 +Families,77.56 +Retirees,28.96 +Professionals,62.46 +Students,30.62 +Families,90.85 +Retirees,37.14 +Professionals,98.26 +Students,31.14 +Families,60.62 +Retirees,25.02 +Professionals,37.63 +Students,9.39 +Families,108.10 +Retirees,86.08 +Professionals,97.98 +Students,9.74 +Families,98.15 +Retirees,79.92 +Professionals,57.51 +Students,12.92 +Families,97.50 +Retirees,27.90 +Professionals,54.30 +Students,56.24 +Families,113.33 +Retirees,38.03 +Professionals,31.75 +Students,16.90 +Families,72.44 +Retirees,68.32 +Professionals,88.41 +Students,26.23 +Families,123.69 +Retirees,72.21 +Professionals,81.01 +Students,20.86 +Families,97.82 +Retirees,16.14 +Professionals,56.99 +Students,52.85 +Families,93.50 +Retirees,74.24 +Professionals,61.17 +Students,39.07 +Families,73.93 +Retirees,32.49 +Professionals,39.80 +Students,22.11 +Families,61.16 +Retirees,88.12 +Professionals,29.04 +Students,57.34 +Families,89.17 +Retirees,74.40 +Professionals,26.84 +Students,14.53 +Families,93.59 +Retirees,49.50 +Professionals,30.19 +Students,26.66 +Families,60.41 +Retirees,70.80 +Professionals,133.89 +Students,48.86 +Families,86.43 +Retirees,72.00 +Professionals,65.62 +Students,18.15 +Families,95.94 +Retirees,80.88 +Professionals,78.42 +Students,14.32 +Families,85.11 +Retirees,75.42 +Professionals,77.32 +Students,21.18 +Families,43.71 +Retirees,54.13 +Professionals,78.98 +Students,67.98 +Families,90.50 +Retirees,76.50 +Professionals,56.56 +Students,30.92 +Families,57.72 +Retirees,32.25 +Professionals,60.50 +Students,30.78 +Families,99.44 +Retirees,26.71 +Professionals,38.99 +Students,23.84 +Families,86.86 +Retirees,82.38 +Professionals,98.35 +Students,12.58 +Families,105.90 +Retirees,37.87 +Professionals,64.57 +Students,30.91 +Families,94.45 +Retirees,75.83 +Professionals,43.95 +Students,14.54 +Families,69.90 +Retirees,42.57 +Professionals,46.59 +Students,41.38 +Families,81.85 +Retirees,34.65 +Professionals,57.90 +Students,24.37 +Families,90.24 +Retirees,27.11 +Professionals,57.77 +Students,21.97 +Families,49.70 +Retirees,29.13 +Professionals,44.49 +Students,34.65 +Families,80.01 +Retirees,18.82 +Professionals,45.33 +Students,29.37 +Families,80.79 +Retirees,37.39 +Professionals,53.39 +Students,32.16 +Families,55.83 +Retirees,33.82 +Professionals,38.54 +Students,10.78 +Families,72.65 +Retirees,50.82 +Professionals,56.83 +Students,28.71 +Families,98.40 +Retirees,73.04 +Professionals,46.87 +Students,80.34 +Families,87.97 +Retirees,20.11 +Professionals,81.25 +Students,22.79 +Families,86.59 +Retirees,32.89 +Professionals,82.75 +Students,45.61 +Families,87.39 +Retirees,40.48 +Professionals,79.16 +Students,10.07 +Families,102.20 +Retirees,32.61 +Professionals,97.79 +Students,42.90 +Families,101.60 +Retirees,32.63 +Professionals,67.20 +Students,22.99 +Families,65.12 +Retirees,34.23 +Professionals,54.02 +Students,34.11 +Families,89.42 +Retirees,32.05 +Professionals,94.67 +Students,18.68 +Families,58.60 +Retirees,31.89 +Professionals,61.91 +Students,16.77 +Families,98.36 +Retirees,70.86 +Professionals,46.00 +Students,49.02 +Families,89.09 +Retirees,28.41 +Professionals,35.83 +Students,13.47 +Families,114.09 +Retirees,48.31 +Professionals,36.24 +Students,43.07 +Families,56.54 +Retirees,54.55 +Professionals,41.13 +Students,14.04 +Families,74.47 +Retirees,63.37 +Professionals,79.48 +Students,28.27 +Families,109.70 +Retirees,51.81 +Professionals,32.96 +Students,14.48 +Families,101.50 +Retirees,72.47 +Professionals,55.97 +Students,13.92 +Families,95.25 +Retirees,71.12 +Professionals,34.96 +Students,31.44 +Families,83.62 +Retirees,71.17 +Professionals,37.53 +Students,25.59 +Families,108.81 +Retirees,73.89 +Professionals,25.64 +Students,23.21 +Families,95.23 +Retirees,82.17 +Professionals,103.65 +Students,44.78 +Families,114.78 +Retirees,27.05 +Professionals,35.79 +Students,15.11 +Families,40.66 +Retirees,33.70 +Professionals,71.17 +Students,21.72 +Families,106.67 +Retirees,24.35 +Professionals,57.04 +Students,21.35 +Families,96.34 +Retirees,29.02 +Professionals,158.25 +Students,24.32 +Families,66.59 +Retirees,86.64 +Professionals,73.51 +Students,44.79 +Families,81.50 +Retirees,88.32 +Professionals,44.59 +Students,12.65 +Families,101.58 +Retirees,48.59 +Professionals,99.17 +Students,21.42 +Families,88.47 +Retirees,70.02 +Professionals,62.10 +Students,10.25 +Families,126.52 +Retirees,38.01 +Professionals,51.59 +Students,20.75 +Families,86.25 +Retirees,31.22 +Professionals,32.84 +Students,35.17 +Families,84.81 +Retirees,67.28 +Professionals,40.47 +Students,11.71 +Families,80.14 +Retirees,41.43 +Professionals,61.85 +Students,30.23 +Families,85.39 +Retirees,76.59 +Professionals,51.71 +Students,26.82 +Families,87.60 +Retirees,41.82 +Professionals,55.14 +Students,13.05 +Families,114.30 +Retirees,31.12 +Professionals,59.08 +Students,23.46 +Families,96.03 +Retirees,55.37 +Professionals,25.11 +Students,34.88 +Families,93.22 +Retirees,36.36 +Professionals,42.94 +Students,17.47 +Families,101.09 +Retirees,21.44 +Professionals,51.61 +Students,31.10 +Families,75.38 +Retirees,73.63 +Professionals,22.54 +Students,24.82 +Families,86.52 +Retirees,74.91 +Professionals,42.70 +Students,20.24 +Families,69.29 +Retirees,79.96 +Professionals,54.60 +Students,40.49 +Families,114.84 +Retirees,44.17 +Professionals,37.56 +Students,26.27 +Families,77.08 +Retirees,66.30 +Professionals,72.26 +Students,42.30 +Families,87.61 +Retirees,31.14 +Professionals,35.29 +Students,20.99 +Families,75.66 +Retirees,25.27 +Professionals,46.17 +Students,23.73 +Families,117.15 +Retirees,26.07 +Professionals,37.39 +Students,19.44 +Families,58.04 +Retirees,27.57 +Professionals,63.00 +Students,23.44 +Families,73.56 +Retirees,80.10 +Professionals,96.47 +Students,14.04 +Families,87.15 +Retirees,28.73 +Professionals,63.04 +Students,14.95 +Families,85.82 +Retirees,30.95 +Professionals,72.07 +Students,32.54 +Families,97.66 +Retirees,40.15 +Professionals,67.87 +Students,14.17 +Families,94.56 +Retirees,77.94 +Professionals,51.98 +Students,8.55 +Families,61.35 +Retirees,43.21 +Professionals,57.04 +Students,22.81 +Families,96.00 +Retirees,41.03 +Professionals,54.20 +Students,17.85 +Families,90.52 +Retirees,29.38 +Professionals,51.44 +Students,25.41 +Families,139.71 +Retirees,29.53 +Professionals,53.84 +Students,17.58 +Families,86.93 +Retirees,59.52 +Professionals,56.89 +Students,11.53 +Families,120.65 +Retirees,34.07 +Professionals,50.34 +Students,14.59 +Families,54.24 +Retirees,40.49 +Professionals,98.12 +Students,13.95 +Families,76.24 +Retirees,82.81 +Professionals,102.48 +Students,12.46 +Families,57.66 +Retirees,78.94 +Professionals,60.71 +Students,28.94 +Families,73.71 +Retirees,27.19 +Professionals,58.43 +Students,14.32 +Families,88.56 +Retirees,41.88 +Professionals,52.76 +Students,17.14 +Families,113.65 +Retirees,31.73 +Professionals,71.33 +Students,92.91 +Families,86.00 +Retirees,40.44 +Professionals,42.22 +Students,18.18 +Families,88.70 +Retirees,35.60 +Professionals,36.23 +Students,25.50 +Families,78.34 +Retirees,75.23 +Professionals,29.71 +Students,6.98 +Families,96.46 +Retirees,26.78 +Professionals,74.72 +Students,22.27 +Families,111.31 +Retirees,65.09 +Professionals,42.99 +Students,17.05 +Families,69.49 +Retirees,34.11 +Professionals,50.94 +Students,25.51 +Families,82.39 +Retirees,73.48 +Professionals,41.86 +Students,24.16 +Families,60.11 +Retirees,71.55 +Professionals,49.24 +Students,25.21 +Families,112.05 +Retirees,35.99 +Professionals,84.22 +Students,20.15 +Families,105.75 +Retirees,69.54 +Professionals,86.67 +Students,27.84 +Families,57.64 +Retirees,24.28 +Professionals,20.22 +Students,25.18 +Families,82.92 +Retirees,40.53 +Professionals,59.85 +Students,15.87 +Families,118.04 +Retirees,66.06 +Professionals,58.81 +Students,8.93 +Families,96.55 +Retirees,32.53 +Professionals,92.15 +Students,29.48 +Families,93.15 +Retirees,31.69 +Professionals,46.90 +Students,44.11 +Families,67.33 +Retirees,31.88 +Professionals,67.86 +Students,26.80 +Families,82.53 +Retirees,39.67 +Professionals,55.95 +Students,15.53 +Families,83.03 +Retirees,28.52 +Professionals,39.22 +Students,39.04 +Families,106.66 +Retirees,33.60 +Professionals,66.83 +Students,12.94 +Families,40.89 +Retirees,76.77 +Professionals,57.02 +Students,10.61 +Families,82.80 +Retirees,68.37 +Professionals,77.35 +Students,13.59 +Families,69.81 +Retirees,59.49 +Professionals,50.69 +Students,13.29 +Families,92.30 +Retirees,54.95 +Professionals,39.65 +Students,13.82 +Families,83.47 +Retirees,60.26 +Professionals,44.69 +Students,29.06 +Families,80.37 +Retirees,77.83 +Professionals,68.42 +Students,34.12 +Families,78.28 +Retirees,81.92 +Professionals,67.69 +Students,13.33 +Families,99.21 +Retirees,29.25 +Professionals,68.25 +Students,30.14 +Families,90.46 +Retirees,65.71 +Professionals,102.65 +Students,20.18 +Families,82.61 +Retirees,69.55 +Professionals,68.22 +Students,15.06 +Families,79.81 +Retirees,75.16 +Professionals,36.46 +Students,29.62 +Families,70.42 +Retirees,42.63 +Professionals,50.26 +Students,27.74 +Families,85.90 +Retirees,65.44 +Professionals,54.02 +Students,66.60 +Families,109.38 +Retirees,43.58 +Professionals,37.96 +Students,13.54 +Families,46.18 +Retirees,60.35 +Professionals,107.29 +Students,28.94 +Families,75.54 +Retirees,26.25 +Professionals,47.75 +Students,38.87 +Families,86.11 +Retirees,78.42 +Professionals,77.16 +Students,9.22 +Families,94.31 +Retirees,35.87 +Professionals,81.54 +Students,32.21 +Families,81.12 +Retirees,44.02 +Professionals,33.20 +Students,35.29 +Families,82.82 +Retirees,69.72 +Professionals,23.43 +Students,19.94 +Families,75.41 +Retirees,92.48 +Professionals,76.96 +Students,17.07 +Families,55.91 +Retirees,32.94 +Professionals,44.96 +Students,42.91 +Families,81.29 +Retirees,30.48 +Professionals,23.02 +Students,35.79 +Families,90.19 +Retirees,68.03 +Professionals,102.19 +Students,12.21 +Families,99.53 +Retirees,70.48 +Professionals,50.21 +Students,15.08 +Families,56.45 +Retirees,74.55 +Professionals,28.12 +Students,11.38 +Families,112.19 +Retirees,43.01 +Professionals,34.80 +Students,44.98 +Families,90.66 +Retirees,66.57 +Professionals,161.54 +Students,20.94 +Families,93.19 +Retirees,67.88 +Professionals,28.61 +Students,29.55 +Families,71.60 +Retirees,36.10 +Professionals,42.52 +Students,42.49 +Families,78.19 +Retirees,76.00 +Professionals,35.66 +Students,7.59 +Families,121.08 +Retirees,60.88 +Professionals,89.34 +Students,48.63 +Families,97.95 +Retirees,45.76 +Professionals,54.99 +Students,20.18 +Families,82.56 +Retirees,90.34 +Professionals,67.80 +Students,14.98 +Families,74.50 +Retirees,69.33 +Professionals,66.01 +Students,34.26 +Families,85.98 +Retirees,81.42 +Professionals,79.80 +Students,58.99 +Families,64.16 +Retirees,37.50 +Professionals,63.11 +Students,22.67 +Families,80.90 +Retirees,76.67 +Professionals,50.49 +Students,15.88 +Families,103.07 +Retirees,37.78 +Professionals,42.85 +Students,20.20 +Families,62.64 +Retirees,69.37 +Professionals,52.11 +Students,34.19 +Families,100.53 +Retirees,36.70 +Professionals,67.44 +Students,14.75 +Families,71.17 +Retirees,72.75 +Professionals,25.02 +Students,10.02 +Families,74.38 +Retirees,27.82 +Professionals,60.68 +Students,37.02 +Families,83.46 +Retirees,70.72 +Professionals,29.22 +Students,19.48 +Families,58.22 +Retirees,71.09 +Professionals,91.12 +Students,46.76 +Families,81.50 +Retirees,30.60 +Professionals,74.30 +Students,27.18 +Families,81.22 +Retirees,75.31 +Professionals,71.70 +Students,29.90 +Families,76.03 +Retirees,28.27 +Professionals,52.10 +Students,29.49 +Families,67.46 +Retirees,71.27 +Professionals,52.00 +Students,24.20 +Families,71.52 +Retirees,58.33 +Professionals,58.13 +Students,24.34 +Families,72.03 +Retirees,74.86 +Professionals,31.79 +Students,10.14 +Families,100.47 +Retirees,67.28 +Professionals,28.46 +Students,29.92 +Families,91.08 +Retirees,69.53 +Professionals,36.93 +Students,13.14 +Families,126.16 +Retirees,44.83 +Professionals,65.85 +Students,18.02 +Families,59.54 +Retirees,67.71 +Professionals,83.18 +Students,37.91 +Families,75.78 +Retirees,43.24 +Professionals,34.49 +Students,22.67 +Families,63.15 +Retirees,69.26 +Professionals,63.94 +Students,29.96 +Families,73.16 +Retirees,60.71 +Professionals,33.59 +Students,27.42 +Families,86.15 +Retirees,56.77 +Professionals,49.01 +Students,26.38 +Families,82.81 +Retirees,68.88 +Professionals,36.00 +Students,20.06 +Families,86.59 +Retirees,31.65 +Professionals,71.42 +Students,20.84 +Families,69.82 +Retirees,28.94 +Professionals,40.76 +Students,13.25 +Families,72.69 +Retirees,87.76 +Professionals,64.65 +Students,23.54 +Families,132.31 +Retirees,38.43 +Professionals,34.27 +Students,10.47 +Families,89.86 +Retirees,84.74 +Professionals,82.51 +Students,13.07 +Families,61.01 +Retirees,62.45 +Professionals,57.86 +Students,14.04 +Families,84.83 +Retirees,89.63 +Professionals,27.36 +Students,24.08 +Families,59.74 +Retirees,25.00 +Professionals,104.12 +Students,11.38 +Families,88.76 +Retirees,42.06 +Professionals,32.03 +Students,63.12 +Families,65.59 +Retirees,81.14 +Professionals,44.24 +Students,13.07 +Families,75.99 +Retirees,32.71 +Professionals,55.76 +Students,29.76 +Families,126.24 +Retirees,25.87 +Professionals,90.92 +Students,20.42 +Families,96.80 +Retirees,60.00 +Professionals,38.07 +Students,20.28 +Families,122.61 +Retirees,37.74 +Professionals,96.00 +Students,15.73 +Families,67.70 +Retirees,28.41 +Professionals,49.47 +Students,9.79 +Families,77.49 +Retirees,38.82 +Professionals,48.49 +Students,20.77 +Families,99.84 +Retirees,77.99 +Professionals,118.37 +Students,23.61 +Families,85.54 +Retirees,59.88 +Professionals,27.18 +Students,34.26 +Families,67.30 +Retirees,78.03 +Professionals,55.11 +Students,13.37 +Families,78.43 +Retirees,37.97 +Professionals,122.96 +Students,61.06 +Families,109.24 +Retirees,35.22 +Professionals,71.92 +Students,42.73 +Families,106.71 +Retirees,41.14 +Professionals,40.71 +Students,17.82 +Families,89.02 +Retirees,71.45 +Professionals,50.05 +Students,16.88 +Families,121.81 +Retirees,48.00 +Professionals,38.53 +Students,25.04 +Families,122.18 +Retirees,73.93 +Professionals,63.47 +Students,24.21 +Families,101.15 +Retirees,65.55 +Professionals,66.23 +Students,36.40 +Families,67.91 +Retirees,88.11 +Professionals,40.07 +Students,33.29 +Families,87.94 +Retirees,34.25 +Professionals,33.28 +Students,32.46 +Families,102.26 +Retirees,41.90 +Professionals,60.53 +Students,24.54 +Families,97.06 +Retirees,70.41 +Professionals,29.08 +Students,23.19 +Families,120.24 +Retirees,39.04 +Professionals,31.16 +Students,17.11 +Families,47.70 +Retirees,91.53 +Professionals,59.01 +Students,27.53 +Families,70.66 +Retirees,19.58 +Professionals,59.39 +Students,26.71 +Families,83.53 +Retirees,37.94 +Professionals,30.93 +Students,40.29 +Families,110.62 +Retirees,32.50 +Professionals,59.43 +Students,19.87 +Families,99.43 +Retirees,33.59 +Professionals,36.45 +Students,18.05 +Families,69.06 +Retirees,45.04 +Professionals,47.14 +Students,33.52 +Families,77.01 +Retirees,72.29 +Professionals,56.18 +Students,29.26 +Families,108.55 +Retirees,75.17 +Professionals,30.57 +Students,40.51 +Families,118.52 +Retirees,44.25 +Professionals,43.47 +Students,12.21 +Families,57.71 +Retirees,20.00 +Professionals,64.59 +Students,20.88 +Families,96.08 +Retirees,41.24 +Professionals,47.12 +Students,58.38 +Families,78.83 +Retirees,72.83 +Professionals,40.17 +Students,15.29 +Families,93.87 +Retirees,76.15 +Professionals,70.55 +Students,17.31 +Families,102.17 +Retirees,84.54 +Professionals,52.78 +Students,17.22 +Families,67.51 +Retirees,82.41 +Professionals,39.64 +Students,17.72 +Families,76.96 +Retirees,35.85 +Professionals,61.60 +Students,21.94 +Families,71.76 +Retirees,63.85 +Professionals,81.56 +Students,34.35 +Families,57.55 +Retirees,39.82 +Professionals,89.22 +Students,17.24 +Families,68.54 +Retirees,69.57 +Professionals,49.97 +Students,18.35 +Families,64.09 +Retirees,80.12 +Professionals,25.72 +Students,18.19 +Families,81.64 +Retirees,57.32 +Professionals,124.35 +Students,8.22 +Families,68.07 +Retirees,67.41 +Professionals,62.45 +Students,14.58 +Families,93.10 +Retirees,41.76 +Professionals,142.49 +Students,18.20 +Families,89.39 +Retirees,31.95 +Professionals,51.11 +Students,17.97 +Families,67.10 +Retirees,77.76 +Professionals,48.68 +Students,7.43 +Families,70.27 +Retirees,26.99 +Professionals,25.96 +Students,32.97 +Families,70.70 +Retirees,64.23 +Professionals,42.96 +Students,21.18 +Families,92.62 +Retirees,67.19 +Professionals,125.84 +Students,32.61 +Families,71.14 +Retirees,67.83 +Professionals,41.62 +Students,15.40 +Families,93.32 +Retirees,30.50 +Professionals,52.33 +Students,11.79 +Families,102.14 +Retirees,69.96 +Professionals,38.81 +Students,17.67 +Families,85.65 +Retirees,79.24 +Professionals,42.23 +Students,31.04 +Families,69.34 +Retirees,24.75 +Professionals,30.20 +Students,62.07 +Families,86.59 +Retirees,23.00 +Professionals,40.47 +Students,23.73 +Families,95.73 +Retirees,65.40 +Professionals,71.67 +Students,18.29 +Families,72.46 +Retirees,50.41 +Professionals,52.30 +Students,22.23 +Families,49.58 +Retirees,38.16 +Professionals,87.89 +Students,26.74 +Families,92.54 +Retirees,45.48 +Professionals,29.40 +Students,31.33 +Families,85.45 +Retirees,23.02 +Professionals,102.86 +Students,12.71 +Families,84.49 +Retirees,72.87 +Professionals,42.71 +Students,39.69 +Families,101.33 +Retirees,76.12 +Professionals,22.12 +Students,33.64 +Families,72.89 +Retirees,70.33 +Professionals,79.36 +Students,16.66 +Families,82.73 +Retirees,90.00 +Professionals,32.24 +Students,16.58 +Families,102.77 +Retirees,73.11 +Professionals,46.13 +Students,20.11 +Families,87.33 +Retirees,69.52 +Professionals,57.86 +Students,34.35 +Families,82.98 +Retirees,39.89 +Professionals,49.56 +Students,16.14 +Families,113.06 +Retirees,20.93 +Professionals,84.41 +Students,20.91 +Families,90.89 +Retirees,29.02 +Professionals,70.29 +Students,21.54 +Families,93.67 +Retirees,35.31 +Professionals,47.75 +Students,29.93 +Families,109.44 +Retirees,34.19 +Professionals,42.09 +Students,16.47 +Families,75.92 +Retirees,44.11 +Professionals,86.15 +Students,19.18 +Families,106.12 +Retirees,36.36 +Professionals,27.38 +Students,19.09 +Families,69.30 +Retirees,27.23 +Professionals,79.14 +Students,15.60 +Families,108.70 +Retirees,55.83 +Professionals,22.93 +Students,33.09 +Families,65.72 +Retirees,74.78 +Professionals,67.19 +Students,16.06 +Families,110.43 +Retirees,74.50 +Professionals,38.62 +Students,26.97 +Families,80.03 +Retirees,31.99 +Professionals,26.04 +Students,18.58 +Families,67.22 +Retirees,23.31 +Professionals,49.58 +Students,27.19 +Families,69.54 +Retirees,82.26 +Professionals,52.83 +Students,19.22 +Families,79.25 +Retirees,73.54 +Professionals,31.68 +Students,20.72 +Families,64.57 +Retirees,22.83 +Professionals,37.93 +Students,19.64 +Families,93.23 +Retirees,74.86 +Professionals,61.90 +Students,19.38 +Families,104.75 +Retirees,36.77 +Professionals,34.16 +Students,9.63 +Families,68.51 +Retirees,26.98 +Professionals,103.67 +Students,13.66 +Families,66.07 +Retirees,59.81 +Professionals,46.78 +Students,23.07 +Families,115.17 +Retirees,20.04 +Professionals,47.79 +Students,17.75 +Families,92.10 +Retirees,73.18 +Professionals,45.93 +Students,26.74 +Families,79.02 +Retirees,37.46 +Professionals,92.23 +Students,14.86 +Families,90.66 +Retirees,37.54 +Professionals,59.18 +Students,27.52 +Families,98.92 +Retirees,34.29 +Professionals,41.60 +Students,17.51 +Families,72.76 +Retirees,44.97 +Professionals,65.76 +Students,23.10 +Families,83.71 +Retirees,34.23 +Professionals,52.10 +Students,43.08 +Families,78.52 +Retirees,31.95 +Professionals,38.13 +Students,46.36 +Families,73.39 +Retirees,24.14 +Professionals,33.82 +Students,22.13 +Families,116.55 +Retirees,26.88 +Professionals,45.06 +Students,15.85 +Families,95.09 +Retirees,25.05 +Professionals,28.47 +Students,42.59 +Families,88.29 +Retirees,92.29 +Professionals,40.92 +Students,32.12 +Families,107.41 +Retirees,89.12 +Professionals,45.22 +Students,24.95 +Families,91.45 +Retirees,59.42 +Professionals,40.89 +Students,15.02 +Families,93.25 +Retirees,71.28 +Professionals,52.88 +Students,11.57 +Families,49.73 +Retirees,84.31 +Professionals,56.84 +Students,9.33 +Families,89.68 +Retirees,59.95 +Professionals,64.13 +Students,13.54 +Families,69.31 +Retirees,19.97 +Professionals,95.65 +Students,14.20 +Families,109.91 +Retirees,31.19 +Professionals,27.78 +Students,20.86 +Families,118.53 +Retirees,59.15 +Professionals,119.92 +Students,23.43 +Families,64.61 +Retirees,28.15 +Professionals,59.56 +Students,27.31 +Families,78.33 +Retirees,67.46 +Professionals,40.28 +Students,20.41 +Families,65.47 +Retirees,69.99 +Professionals,33.86 +Students,38.53 +Families,93.02 +Retirees,62.84 +Professionals,52.87 +Students,17.74 +Families,75.83 +Retirees,80.23 +Professionals,47.67 +Students,38.29 +Families,83.77 +Retirees,36.15 +Professionals,53.13 +Students,48.07 +Families,61.63 +Retirees,46.59 +Professionals,26.37 +Students,34.73 +Families,80.13 +Retirees,72.82 +Professionals,45.20 +Students,18.78 +Families,96.23 +Retirees,43.28 +Professionals,63.59 +Students,41.59 +Families,86.97 +Retirees,69.93 +Professionals,57.67 +Students,10.07 +Families,91.80 +Retirees,24.17 +Professionals,56.65 +Students,20.73 +Families,93.51 +Retirees,68.97 +Professionals,78.06 +Students,24.71 +Families,66.60 +Retirees,63.04 +Professionals,127.24 +Students,14.83 +Families,68.44 +Retirees,63.66 +Professionals,40.44 +Students,55.60 +Families,96.26 +Retirees,80.24 +Professionals,67.81 +Students,42.44 +Families,81.67 +Retirees,54.00 +Professionals,66.93 +Students,19.48 +Families,107.11 +Retirees,30.07 +Professionals,30.47 +Students,13.48 +Families,104.96 +Retirees,33.99 +Professionals,26.78 +Students,12.56 +Families,94.11 +Retirees,31.56 +Professionals,57.14 +Students,34.32 +Families,87.11 +Retirees,65.55 +Professionals,38.66 +Students,26.65 +Families,80.57 +Retirees,37.54 +Professionals,83.43 +Students,16.67 +Families,98.72 +Retirees,75.11 +Professionals,66.20 +Students,12.77 +Families,102.25 +Retirees,35.07 +Professionals,55.64 +Students,10.59 +Families,81.36 +Retirees,74.81 +Professionals,99.09 +Students,14.24 +Families,76.90 +Retirees,35.19 +Professionals,33.75 +Students,25.75 +Families,78.60 +Retirees,75.82 +Professionals,55.08 +Students,62.76 +Families,49.66 +Retirees,32.81 +Professionals,92.75 +Students,46.69 +Families,100.17 +Retirees,79.16 +Professionals,59.67 +Students,43.18 +Families,74.86 +Retirees,71.59 +Professionals,84.04 +Students,19.67 +Families,109.29 +Retirees,71.76 +Professionals,49.00 +Students,13.99 +Families,74.46 +Retirees,88.54 +Professionals,51.91 +Students,30.47 +Families,93.63 +Retirees,31.33 +Professionals,70.71 +Students,28.66 +Families,90.63 +Retirees,26.08 +Professionals,124.04 +Students,14.08 +Families,76.64 +Retirees,56.09 +Professionals,70.61 +Students,18.13 +Families,101.30 +Retirees,49.16 +Professionals,34.39 +Students,27.94 +Families,91.61 +Retirees,58.19 +Professionals,92.08 +Students,30.82 +Families,127.10 +Retirees,59.72 +Professionals,42.82 +Students,25.61 +Families,72.88 +Retirees,45.58 +Professionals,55.43 +Students,20.83 +Families,47.25 +Retirees,86.01 +Professionals,37.88 +Students,24.49 +Families,95.31 +Retirees,49.19 +Professionals,56.75 +Students,41.19 +Families,105.79 +Retirees,39.49 +Professionals,23.15 +Students,16.95 +Families,79.04 +Retirees,47.37 +Professionals,43.73 +Students,45.09 +Families,94.21 +Retirees,71.43 +Professionals,92.06 +Students,19.94 +Families,78.22 +Retirees,64.90 +Professionals,36.16 +Students,20.26 +Families,68.44 +Retirees,63.82 +Professionals,127.95 +Students,44.54 +Families,97.03 +Retirees,73.63 +Professionals,48.33 +Students,27.39 +Families,77.14 +Retirees,42.25 +Professionals,75.16 +Students,61.41 +Families,97.27 +Retirees,62.02 +Professionals,40.67 +Students,33.31 +Families,81.63 +Retirees,34.99 +Professionals,70.73 +Students,27.64 +Families,100.34 +Retirees,37.90 +Professionals,74.40 +Students,18.62 +Families,67.82 +Retirees,23.13 +Professionals,28.17 +Students,18.13 +Families,102.41 +Retirees,82.75 +Professionals,45.65 +Students,18.63 +Families,69.31 +Retirees,66.75 +Professionals,97.03 +Students,26.98 +Families,99.96 +Retirees,47.26 +Professionals,40.29 +Students,18.55 +Families,50.10 +Retirees,30.47 +Professionals,40.71 +Students,13.87 +Families,86.48 +Retirees,35.63 +Professionals,66.88 +Students,19.89 +Families,73.98 +Retirees,74.53 +Professionals,77.34 +Students,25.96 +Families,91.33 +Retirees,32.61 +Professionals,86.43 +Students,23.55 +Families,86.02 +Retirees,37.97 +Professionals,32.83 +Students,14.56 +Families,75.28 +Retirees,14.97 +Professionals,59.54 +Students,23.67 +Families,83.85 +Retirees,31.93 +Professionals,40.28 +Students,19.76 +Families,78.86 +Retirees,25.46 +Professionals,37.91 +Students,14.82 +Families,85.40 +Retirees,32.84 +Professionals,36.03 +Students,20.22 +Families,85.52 +Retirees,78.44 +Professionals,25.23 +Students,16.99 +Families,94.45 +Retirees,52.50 +Professionals,43.06 +Students,29.39 +Families,109.14 +Retirees,71.36 +Professionals,42.31 +Students,23.71 +Families,66.66 +Retirees,74.48 +Professionals,34.52 +Students,20.79 +Families,105.11 +Retirees,77.51 +Professionals,93.47 +Students,29.14 +Families,60.39 +Retirees,40.55 +Professionals,57.07 +Students,22.72 +Families,100.79 +Retirees,29.81 +Professionals,81.71 +Students,18.35 +Families,96.05 +Retirees,73.36 +Professionals,151.55 +Students,22.14 +Families,116.88 +Retirees,37.95 +Professionals,60.14 +Students,25.67 +Families,78.32 +Retirees,73.00 +Professionals,37.62 +Students,26.40 +Families,103.86 +Retirees,77.00 +Professionals,27.37 +Students,19.08 +Families,79.46 +Retirees,85.02 +Professionals,46.48 +Students,23.64 +Families,111.24 +Retirees,89.65 +Professionals,39.79 +Students,20.39 +Families,105.40 +Retirees,82.91 +Professionals,95.08 +Students,15.27 +Families,113.55 +Retirees,43.30 +Professionals,68.63 +Students,51.75 +Families,125.23 +Retirees,88.42 +Professionals,51.60 +Students,17.31 +Families,75.10 +Retirees,81.24 +Professionals,74.25 +Students,62.72 +Families,77.78 +Retirees,35.51 +Professionals,76.63 +Students,12.58 +Families,93.04 +Retirees,37.96 +Professionals,39.30 +Students,29.11 +Families,80.79 +Retirees,78.30 +Professionals,64.79 +Students,23.04 +Families,67.61 +Retirees,19.51 +Professionals,42.50 +Students,27.64 +Families,86.86 +Retirees,33.32 +Professionals,68.98 +Students,12.35 +Families,60.63 +Retirees,36.87 +Professionals,144.60 +Students,12.23 +Families,77.64 +Retirees,27.85 +Professionals,57.59 +Students,13.80 +Families,120.51 +Retirees,80.02 +Professionals,66.29 +Students,46.38 +Families,60.35 +Retirees,35.50 +Professionals,129.81 +Students,29.50 +Families,83.88 +Retirees,62.89 +Professionals,61.65 +Students,46.24 +Families,103.04 +Retirees,30.89 +Professionals,119.57 +Students,13.56 +Families,82.87 +Retirees,20.60 +Professionals,46.18 +Students,14.25 +Families,92.02 +Retirees,36.71 +Professionals,50.94 +Students,28.81 +Families,75.20 +Retirees,42.02 +Professionals,59.14 +Students,12.20 +Families,105.75 +Retirees,71.04 +Professionals,41.44 +Students,18.26 +Families,95.35 +Retirees,80.83 +Professionals,64.57 +Students,19.47 +Families,87.89 +Retirees,84.56 +Professionals,45.30 +Students,9.40 +Families,67.98 +Retirees,74.58 +Professionals,56.41 +Students,23.44 +Families,83.94 +Retirees,77.08 +Professionals,40.84 +Students,32.27 +Families,100.02 +Retirees,69.45 +Professionals,45.14 +Students,13.90 +Families,96.70 +Retirees,27.18 +Professionals,56.97 +Students,17.21 +Families,93.19 +Retirees,44.68 +Professionals,69.76 +Students,40.42 +Families,69.99 +Retirees,52.60 +Professionals,53.34 +Students,31.90 +Families,91.15 +Retirees,29.43 +Professionals,28.91 +Students,11.15 +Families,90.34 +Retirees,36.99 +Professionals,33.63 +Students,9.25 +Families,92.92 +Retirees,38.69 +Professionals,99.75 +Students,18.30 +Families,58.85 +Retirees,77.33 +Professionals,74.26 +Students,8.37 +Families,85.05 +Retirees,74.67 +Professionals,58.89 +Students,18.10 +Families,95.56 +Retirees,32.25 +Professionals,105.26 +Students,13.13 +Families,93.95 +Retirees,67.15 +Professionals,66.09 +Students,11.95 +Families,66.13 +Retirees,38.27 +Professionals,76.23 +Students,39.57 +Families,71.55 +Retirees,37.52 +Professionals,43.51 +Students,36.89 +Families,94.19 +Retirees,76.23 +Professionals,27.90 +Students,32.88 +Families,92.95 +Retirees,39.50 +Professionals,35.89 +Students,17.11 +Families,76.61 +Retirees,66.60 +Professionals,42.24 +Students,28.46 +Families,80.44 +Retirees,58.78 +Professionals,39.91 +Students,16.83 +Families,79.03 +Retirees,25.18 +Professionals,54.92 +Students,35.59 +Families,110.12 +Retirees,25.08 +Professionals,110.40 +Students,16.92 +Families,116.13 +Retirees,35.66 +Professionals,118.37 +Students,25.98 +Families,77.09 +Retirees,55.59 +Professionals,54.27 +Students,20.23 +Families,60.29 +Retirees,71.52 +Professionals,111.82 +Students,12.64 +Families,83.00 +Retirees,31.12 +Professionals,39.66 +Students,33.27 +Families,87.89 +Retirees,41.88 +Professionals,44.34 +Students,23.65 +Families,92.43 +Retirees,79.36 +Professionals,47.64 +Students,28.54 +Families,99.42 +Retirees,68.81 +Professionals,47.71 +Students,7.51 +Families,99.50 +Retirees,43.19 +Professionals,41.18 +Students,31.81 +Families,66.27 +Retirees,85.46 +Professionals,106.76 +Students,46.05 +Families,92.13 +Retirees,31.30 +Professionals,63.73 +Students,44.03 +Families,99.04 +Retirees,16.75 +Professionals,64.83 +Students,10.18 +Families,65.32 +Retirees,34.29 +Professionals,29.01 +Students,28.06 +Families,119.95 +Retirees,36.50 +Professionals,33.61 +Students,24.79 +Families,87.51 +Retirees,26.41 +Professionals,37.25 +Students,32.56 +Families,74.29 +Retirees,83.78 +Professionals,25.97 +Students,25.03 +Families,68.13 +Retirees,29.14 +Professionals,127.28 +Students,40.55 +Families,85.53 +Retirees,62.93 +Professionals,114.39 +Students,11.55 +Families,74.18 +Retirees,67.02 +Professionals,54.68 +Students,30.21 +Families,84.21 +Retirees,34.02 +Professionals,69.45 +Students,15.09 +Families,79.32 +Retirees,73.89 +Professionals,89.53 +Students,32.11 +Families,90.65 +Retirees,27.71 +Professionals,50.93 +Students,36.52 +Families,75.58 +Retirees,40.29 +Professionals,40.63 +Students,26.13 +Families,82.93 +Retirees,61.58 +Professionals,47.58 +Students,36.30 +Families,105.93 +Retirees,50.91 +Professionals,71.24 +Students,31.42 +Families,92.96 +Retirees,55.15 +Professionals,79.37 +Students,41.32 +Families,29.25 +Retirees,69.19 +Professionals,53.20 +Students,27.90 +Families,57.58 +Retirees,33.05 +Professionals,24.12 +Students,32.08 +Families,107.58 +Retirees,40.47 +Professionals,108.77 +Students,25.78 +Families,82.95 +Retirees,34.13 +Professionals,33.32 +Students,11.71 +Families,68.06 +Retirees,64.66 +Professionals,52.76 +Students,8.63 +Families,131.75 +Retirees,27.51 +Professionals,49.30 +Students,19.69 +Families,122.29 +Retirees,83.01 +Professionals,28.47 +Students,74.84 +Families,70.47 +Retirees,67.93 +Professionals,49.57 +Students,22.17 +Families,88.77 +Retirees,42.04 +Professionals,83.17 +Students,19.01 +Families,92.64 +Retirees,67.23 +Professionals,94.31 +Students,30.30 +Families,107.03 +Retirees,38.99 +Professionals,79.65 +Students,11.69 +Families,58.21 +Retirees,77.41 +Professionals,36.39 +Students,23.66 +Families,88.23 +Retirees,63.42 +Professionals,28.73 +Students,12.77 +Families,65.77 +Retirees,53.89 +Professionals,47.29 +Students,32.57 +Families,62.67 +Retirees,77.20 +Professionals,82.46 +Students,19.02 +Families,78.16 +Retirees,32.47 +Professionals,67.57 +Students,26.54 +Families,86.89 +Retirees,63.76 +Professionals,42.04 +Students,30.24 +Families,106.41 +Retirees,61.04 +Professionals,77.01 +Students,30.62 +Families,99.96 +Retirees,78.07 +Professionals,42.89 +Students,13.28 +Families,78.25 +Retirees,73.12 +Professionals,73.89 +Students,16.62 +Families,90.40 +Retirees,59.17 +Professionals,45.92 +Students,10.71 +Families,128.27 +Retirees,32.31 +Professionals,46.86 +Students,26.83 +Families,87.26 +Retirees,35.13 +Professionals,47.60 +Students,10.80 +Families,107.84 +Retirees,29.43 +Professionals,92.14 +Students,12.01 +Families,116.70 +Retirees,71.94 +Professionals,31.51 +Students,11.62 +Families,83.60 +Retirees,86.03 +Professionals,64.99 +Students,23.69 +Families,76.75 +Retirees,27.09 +Professionals,54.22 +Students,12.08 +Families,77.48 +Retirees,72.76 +Professionals,77.56 +Students,38.42 +Families,87.86 +Retirees,71.49 +Professionals,51.68 +Students,22.89 +Families,77.92 +Retirees,56.04 +Professionals,33.12 +Students,12.68 +Families,81.72 +Retirees,80.94 +Professionals,41.46 +Students,19.78 +Families,76.62 +Retirees,82.60 +Professionals,56.36 +Students,19.52 +Families,61.25 +Retirees,44.39 +Professionals,67.68 +Students,16.19 +Families,78.96 +Retirees,32.36 +Professionals,61.81 +Students,22.74 +Families,73.14 +Retirees,26.22 +Professionals,131.59 +Students,17.93 +Families,111.31 +Retirees,27.90 +Professionals,47.77 +Students,11.85 +Families,83.47 +Retirees,35.49 +Professionals,104.97 +Students,17.29 +Families,34.94 +Retirees,30.59 +Professionals,32.44 +Students,21.41 +Families,100.47 +Retirees,40.92 +Professionals,42.00 +Students,22.49 +Families,53.26 +Retirees,49.81 +Professionals,33.24 +Students,23.21 +Families,76.44 +Retirees,43.24 +Professionals,89.71 +Students,13.09 +Families,57.97 +Retirees,83.90 +Professionals,70.87 +Students,23.48 +Families,74.88 +Retirees,34.16 +Professionals,66.52 +Students,26.30 +Families,59.29 +Retirees,29.50 +Professionals,114.81 +Students,46.14 +Families,81.99 +Retirees,76.99 +Professionals,36.59 +Students,29.03 +Families,89.62 +Retirees,72.63 +Professionals,64.46 +Students,30.48 +Families,85.68 +Retirees,77.84 +Professionals,69.04 +Students,10.32 +Families,104.92 +Retirees,34.47 +Professionals,42.50 +Students,16.74 +Families,19.81 +Retirees,31.51 +Professionals,78.40 +Students,12.00 +Families,97.02 +Retirees,72.76 +Professionals,55.79 +Students,59.65 +Families,93.33 +Retirees,40.58 +Professionals,40.36 +Students,13.57 +Families,63.48 +Retirees,27.85 +Professionals,55.90 +Students,14.24 +Families,93.57 +Retirees,26.16 +Professionals,76.47 +Students,15.87 +Families,116.40 +Retirees,29.74 +Professionals,23.16 +Students,16.44 +Families,61.65 +Retirees,34.01 +Professionals,83.52 +Students,8.78 +Families,110.22 +Retirees,67.71 +Professionals,99.38 +Students,15.49 +Families,90.03 +Retirees,67.06 +Professionals,54.17 +Students,17.86 +Families,96.83 +Retirees,58.86 +Professionals,34.45 +Students,26.70 +Families,124.13 +Retirees,50.75 +Professionals,31.43 +Students,22.20 +Families,91.17 +Retirees,31.06 +Professionals,40.44 +Students,30.91 +Families,115.20 +Retirees,86.17 +Professionals,89.57 +Students,21.38 +Families,86.21 +Retirees,56.91 +Professionals,76.33 +Students,14.50 +Families,71.77 +Retirees,27.04 +Professionals,46.48 +Students,22.01 +Families,110.17 +Retirees,94.17 +Professionals,64.28 +Students,53.51 +Families,102.68 +Retirees,31.78 +Professionals,44.19 +Students,21.16 +Families,91.50 +Retirees,36.09 +Professionals,64.95 +Students,51.95 +Families,69.50 +Retirees,42.32 +Professionals,39.93 +Students,24.27 +Families,96.80 +Retirees,28.31 +Professionals,92.35 +Students,9.85 +Families,71.31 +Retirees,65.72 +Professionals,64.36 +Students,28.77 +Families,47.46 +Retirees,27.97 +Professionals,41.95 +Students,33.05 +Families,53.74 +Retirees,78.07 +Professionals,51.79 +Students,20.23 +Families,97.86 +Retirees,24.92 +Professionals,54.77 +Students,17.10 +Families,91.45 +Retirees,64.00 +Professionals,75.75 +Students,41.91 +Families,49.63 +Retirees,64.68 +Professionals,37.48 +Students,22.22 +Families,62.43 +Retirees,65.32 +Professionals,112.75 +Students,26.71 +Families,65.83 +Retirees,66.30 +Professionals,52.39 +Students,17.96 +Families,82.11 +Retirees,79.22 +Professionals,47.43 +Students,14.02 +Families,97.98 +Retirees,73.20 +Professionals,173.06 +Students,18.41 +Families,86.44 +Retirees,43.61 +Professionals,113.15 +Students,6.77 +Families,86.80 +Retirees,27.95 +Professionals,56.72 +Students,44.58 +Families,62.78 +Retirees,73.02 +Professionals,42.28 +Students,24.80 +Families,105.11 +Retirees,35.14 +Professionals,94.24 +Students,32.34 +Families,89.36 +Retirees,78.54 +Professionals,40.18 +Students,20.14 +Families,84.46 +Retirees,76.15 +Professionals,61.36 +Students,31.88 +Families,68.35 +Retirees,69.22 +Professionals,47.20 +Students,15.58 +Families,108.67 +Retirees,34.79 +Professionals,47.03 +Students,16.72 +Families,89.77 +Retirees,66.94 +Professionals,88.97 +Students,47.72 +Families,69.54 +Retirees,24.67 +Professionals,83.66 diff --git a/agents/evals/fixtures/cases/violin-basic-seaborn-renamed/case.json b/agents/evals/fixtures/cases/violin-basic-seaborn-renamed/case.json new file mode 100644 index 0000000000..d3c3ef58b0 --- /dev/null +++ b/agents/evals/fixtures/cases/violin-basic-seaborn-renamed/case.json @@ -0,0 +1,24 @@ +{ + "spec_id": "violin-basic", + "library": "seaborn", + "locale": "de", + "perturbation": "renamed", + "bindings": [ + { + "role": "category", + "column": "segment" + }, + { + "role": "value", + "column": "basket_eur" + } + ], + "expected": "accepted", + "tags": [ + "violin", + "renamed", + "synthetic", + "renamed-headers" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 808, renamed)" +} diff --git a/agents/evals/fixtures/cases/violin-basic-seaborn-renamed/data.csv b/agents/evals/fixtures/cases/violin-basic-seaborn-renamed/data.csv new file mode 100644 index 0000000000..f88e643436 --- /dev/null +++ b/agents/evals/fixtures/cases/violin-basic-seaborn-renamed/data.csv @@ -0,0 +1,401 @@ +segment,basket_eur +Students,14.07 +Families,98.65 +Retirees,63.77 +Professionals,54.23 +Students,7.03 +Families,89.88 +Retirees,34.77 +Professionals,50.78 +Students,17.69 +Families,134.75 +Retirees,30.60 +Professionals,62.20 +Students,14.92 +Families,115.29 +Retirees,21.91 +Professionals,67.09 +Students,19.17 +Families,110.73 +Retirees,28.02 +Professionals,54.26 +Students,21.51 +Families,79.17 +Retirees,39.53 +Professionals,43.37 +Students,10.80 +Families,49.56 +Retirees,76.84 +Professionals,74.95 +Students,14.05 +Families,46.72 +Retirees,49.78 +Professionals,41.90 +Students,27.46 +Families,76.29 +Retirees,80.98 +Professionals,68.49 +Students,23.83 +Families,56.71 +Retirees,64.30 +Professionals,97.86 +Students,32.82 +Families,70.32 +Retirees,80.67 +Professionals,35.59 +Students,19.89 +Families,76.06 +Retirees,72.90 +Professionals,70.40 +Students,14.21 +Families,81.29 +Retirees,25.11 +Professionals,51.93 +Students,18.37 +Families,85.01 +Retirees,40.22 +Professionals,44.24 +Students,17.86 +Families,93.67 +Retirees,43.56 +Professionals,91.76 +Students,33.28 +Families,102.97 +Retirees,41.06 +Professionals,100.33 +Students,33.28 +Families,79.74 +Retirees,62.88 +Professionals,27.55 +Students,41.19 +Families,107.49 +Retirees,31.48 +Professionals,121.52 +Students,14.52 +Families,73.63 +Retirees,71.69 +Professionals,46.11 +Students,28.97 +Families,105.38 +Retirees,66.12 +Professionals,41.76 +Students,24.41 +Families,106.45 +Retirees,32.50 +Professionals,22.59 +Students,22.51 +Families,89.34 +Retirees,84.89 +Professionals,39.16 +Students,34.24 +Families,100.71 +Retirees,37.17 +Professionals,24.74 +Students,16.87 +Families,82.53 +Retirees,23.43 +Professionals,31.85 +Students,24.66 +Families,94.35 +Retirees,78.00 +Professionals,152.39 +Students,21.58 +Families,109.73 +Retirees,77.38 +Professionals,68.12 +Students,23.87 +Families,99.19 +Retirees,32.37 +Professionals,40.72 +Students,16.47 +Families,88.25 +Retirees,15.73 +Professionals,58.83 +Students,52.98 +Families,89.35 +Retirees,28.87 +Professionals,61.93 +Students,19.83 +Families,93.21 +Retirees,30.55 +Professionals,37.59 +Students,36.60 +Families,67.98 +Retirees,35.47 +Professionals,42.28 +Students,36.05 +Families,78.23 +Retirees,58.26 +Professionals,45.58 +Students,35.68 +Families,113.11 +Retirees,35.93 +Professionals,44.83 +Students,14.89 +Families,92.40 +Retirees,81.76 +Professionals,37.09 +Students,33.40 +Families,61.53 +Retirees,35.59 +Professionals,60.61 +Students,16.87 +Families,102.93 +Retirees,87.60 +Professionals,92.86 +Students,21.85 +Families,77.35 +Retirees,33.76 +Professionals,92.10 +Students,22.59 +Families,73.61 +Retirees,32.53 +Professionals,35.00 +Students,29.83 +Families,83.79 +Retirees,79.26 +Professionals,21.34 +Students,23.59 +Families,112.80 +Retirees,75.69 +Professionals,34.25 +Students,43.61 +Families,96.90 +Retirees,36.36 +Professionals,33.52 +Students,20.37 +Families,83.75 +Retirees,66.22 +Professionals,35.49 +Students,20.87 +Families,99.93 +Retirees,43.49 +Professionals,40.22 +Students,14.19 +Families,86.40 +Retirees,87.92 +Professionals,104.52 +Students,33.49 +Families,91.78 +Retirees,33.64 +Professionals,68.52 +Students,22.35 +Families,64.32 +Retirees,34.77 +Professionals,59.34 +Students,24.31 +Families,85.21 +Retirees,71.52 +Professionals,50.91 +Students,17.60 +Families,82.48 +Retirees,64.85 +Professionals,58.28 +Students,22.13 +Families,96.84 +Retirees,72.02 +Professionals,57.37 +Students,32.78 +Families,91.75 +Retirees,34.03 +Professionals,42.43 +Students,31.11 +Families,119.85 +Retirees,22.88 +Professionals,59.60 +Students,12.00 +Families,70.55 +Retirees,60.50 +Professionals,31.89 +Students,41.34 +Families,78.24 +Retirees,41.48 +Professionals,30.75 +Students,12.81 +Families,77.10 +Retirees,32.53 +Professionals,134.60 +Students,14.69 +Families,88.97 +Retirees,61.03 +Professionals,30.28 +Students,23.28 +Families,75.89 +Retirees,31.14 +Professionals,42.42 +Students,26.10 +Families,82.91 +Retirees,41.48 +Professionals,33.35 +Students,9.96 +Families,103.82 +Retirees,71.73 +Professionals,85.63 +Students,35.51 +Families,78.14 +Retirees,62.85 +Professionals,52.55 +Students,53.34 +Families,75.90 +Retirees,38.24 +Professionals,75.53 +Students,23.10 +Families,81.99 +Retirees,69.59 +Professionals,73.99 +Students,34.39 +Families,77.69 +Retirees,69.91 +Professionals,71.06 +Students,32.25 +Families,65.71 +Retirees,57.54 +Professionals,37.26 +Students,20.66 +Families,70.86 +Retirees,64.51 +Professionals,159.68 +Students,34.78 +Families,100.48 +Retirees,75.07 +Professionals,31.08 +Students,14.78 +Families,95.59 +Retirees,71.47 +Professionals,54.85 +Students,4.32 +Families,70.61 +Retirees,74.01 +Professionals,20.50 +Students,42.51 +Families,75.42 +Retirees,32.80 +Professionals,81.24 +Students,23.32 +Families,61.32 +Retirees,19.58 +Professionals,33.11 +Students,57.91 +Families,93.61 +Retirees,94.53 +Professionals,43.36 +Students,14.60 +Families,71.45 +Retirees,41.11 +Professionals,60.85 +Students,14.60 +Families,84.60 +Retirees,85.70 +Professionals,77.59 +Students,13.23 +Families,89.29 +Retirees,77.35 +Professionals,53.24 +Students,16.74 +Families,59.05 +Retirees,27.50 +Professionals,70.45 +Students,21.61 +Families,100.58 +Retirees,71.62 +Professionals,79.96 +Students,29.96 +Families,106.74 +Retirees,39.18 +Professionals,90.13 +Students,37.92 +Families,95.36 +Retirees,62.76 +Professionals,75.71 +Students,16.92 +Families,83.62 +Retirees,83.22 +Professionals,65.27 +Students,31.29 +Families,106.47 +Retirees,29.12 +Professionals,31.34 +Students,19.09 +Families,106.04 +Retirees,38.32 +Professionals,60.85 +Students,35.39 +Families,105.89 +Retirees,37.83 +Professionals,22.69 +Students,35.81 +Families,88.24 +Retirees,38.00 +Professionals,35.94 +Students,15.70 +Families,73.16 +Retirees,69.72 +Professionals,38.93 +Students,14.32 +Families,83.62 +Retirees,42.96 +Professionals,76.75 +Students,9.38 +Families,61.61 +Retirees,80.80 +Professionals,52.17 +Students,27.20 +Families,108.44 +Retirees,40.82 +Professionals,140.54 +Students,17.99 +Families,86.15 +Retirees,32.49 +Professionals,41.02 +Students,42.45 +Families,73.40 +Retirees,26.13 +Professionals,75.92 +Students,15.44 +Families,93.99 +Retirees,29.36 +Professionals,107.85 +Students,23.13 +Families,101.09 +Retirees,47.31 +Professionals,47.67 +Students,10.26 +Families,130.57 +Retirees,54.57 +Professionals,28.86 +Students,13.84 +Families,76.21 +Retirees,69.06 +Professionals,36.92 +Students,23.10 +Families,98.27 +Retirees,35.71 +Professionals,29.50 +Students,31.28 +Families,100.72 +Retirees,65.58 +Professionals,39.39 +Students,11.18 +Families,126.08 +Retirees,71.56 +Professionals,31.64 +Students,31.11 +Families,96.31 +Retirees,74.67 +Professionals,29.91 +Students,28.16 +Families,104.00 +Retirees,24.53 +Professionals,53.33 +Students,35.20 +Families,65.06 +Retirees,13.32 +Professionals,59.25 +Students,43.60 +Families,71.94 +Retirees,25.58 +Professionals,72.96 +Students,13.80 +Families,119.24 +Retirees,72.04 +Professionals,36.08 diff --git a/agents/evals/fixtures/cases/violin-basic-seaborn-x10/case.json b/agents/evals/fixtures/cases/violin-basic-seaborn-x10/case.json new file mode 100644 index 0000000000..a7ab12b843 --- /dev/null +++ b/agents/evals/fixtures/cases/violin-basic-seaborn-x10/case.json @@ -0,0 +1,25 @@ +{ + "spec_id": "violin-basic", + "library": "seaborn", + "locale": "en", + "perturbation": "x10", + "bindings": [ + { + "role": "category", + "column": "Customer Segment" + }, + { + "role": "value", + "column": "Basket Value (EUR)" + } + ], + "expected": "accepted", + "tags": [ + "violin", + "x10", + "synthetic", + "scaled-values", + "smoke" + ], + "source": "synthetic: agents/evals/make_fixtures.py (seed 808, x10)" +} diff --git a/agents/evals/fixtures/cases/violin-basic-seaborn-x10/data.csv b/agents/evals/fixtures/cases/violin-basic-seaborn-x10/data.csv new file mode 100644 index 0000000000..abbd5353be --- /dev/null +++ b/agents/evals/fixtures/cases/violin-basic-seaborn-x10/data.csv @@ -0,0 +1,401 @@ +Customer Segment,Basket Value (EUR) +Students,140.71 +Families,986.53 +Retirees,637.72 +Professionals,542.28 +Students,70.26 +Families,898.84 +Retirees,347.68 +Professionals,507.84 +Students,176.87 +Families,1347.47 +Retirees,305.97 +Professionals,621.98 +Students,149.17 +Families,1152.86 +Retirees,219.08 +Professionals,670.90 +Students,191.66 +Families,1107.32 +Retirees,280.16 +Professionals,542.65 +Students,215.11 +Families,791.70 +Retirees,395.27 +Professionals,433.72 +Students,107.97 +Families,495.61 +Retirees,768.35 +Professionals,749.53 +Students,140.49 +Families,467.17 +Retirees,497.76 +Professionals,419.03 +Students,274.56 +Families,762.89 +Retirees,809.81 +Professionals,684.87 +Students,238.26 +Families,567.08 +Retirees,642.99 +Professionals,978.59 +Students,328.25 +Families,703.24 +Retirees,806.71 +Professionals,355.95 +Students,198.95 +Families,760.62 +Retirees,729.01 +Professionals,704.04 +Students,142.09 +Families,812.89 +Retirees,251.09 +Professionals,519.29 +Students,183.72 +Families,850.15 +Retirees,402.25 +Professionals,442.42 +Students,178.57 +Families,936.74 +Retirees,435.65 +Professionals,917.62 +Students,332.76 +Families,1029.66 +Retirees,410.57 +Professionals,1003.26 +Students,332.82 +Families,797.39 +Retirees,628.77 +Professionals,275.52 +Students,411.87 +Families,1074.88 +Retirees,314.83 +Professionals,1215.17 +Students,145.18 +Families,736.26 +Retirees,716.93 +Professionals,461.07 +Students,289.74 +Families,1053.81 +Retirees,661.15 +Professionals,417.59 +Students,244.11 +Families,1064.46 +Retirees,324.99 +Professionals,225.87 +Students,225.10 +Families,893.45 +Retirees,848.91 +Professionals,391.62 +Students,342.36 +Families,1007.05 +Retirees,371.74 +Professionals,247.40 +Students,168.71 +Families,825.31 +Retirees,234.31 +Professionals,318.54 +Students,246.59 +Families,943.48 +Retirees,779.96 +Professionals,1523.89 +Students,215.76 +Families,1097.25 +Retirees,773.82 +Professionals,681.16 +Students,238.67 +Families,991.91 +Retirees,323.74 +Professionals,407.21 +Students,164.74 +Families,882.47 +Retirees,157.30 +Professionals,588.27 +Students,529.82 +Families,893.51 +Retirees,288.67 +Professionals,619.32 +Students,198.29 +Families,932.10 +Retirees,305.53 +Professionals,375.88 +Students,365.97 +Families,679.81 +Retirees,354.71 +Professionals,422.84 +Students,360.49 +Families,782.27 +Retirees,582.59 +Professionals,455.79 +Students,356.81 +Families,1131.06 +Retirees,359.31 +Professionals,448.26 +Students,148.93 +Families,923.99 +Retirees,817.62 +Professionals,370.86 +Students,334.02 +Families,615.33 +Retirees,355.89 +Professionals,606.06 +Students,168.67 +Families,1029.31 +Retirees,876.03 +Professionals,928.56 +Students,218.52 +Families,773.49 +Retirees,337.57 +Professionals,921.04 +Students,225.93 +Families,736.15 +Retirees,325.28 +Professionals,350.01 +Students,298.32 +Families,837.86 +Retirees,792.59 +Professionals,213.40 +Students,235.92 +Families,1128.00 +Retirees,756.87 +Professionals,342.49 +Students,436.10 +Families,969.04 +Retirees,363.61 +Professionals,335.23 +Students,203.66 +Families,837.48 +Retirees,662.20 +Professionals,354.93 +Students,208.75 +Families,999.32 +Retirees,434.87 +Professionals,402.16 +Students,141.93 +Families,864.00 +Retirees,879.21 +Professionals,1045.16 +Students,334.87 +Families,917.85 +Retirees,336.39 +Professionals,685.20 +Students,223.52 +Families,643.16 +Retirees,347.66 +Professionals,593.41 +Students,243.10 +Families,852.06 +Retirees,715.20 +Professionals,509.06 +Students,176.00 +Families,824.77 +Retirees,648.48 +Professionals,582.82 +Students,221.32 +Families,968.37 +Retirees,720.18 +Professionals,573.74 +Students,327.77 +Families,917.53 +Retirees,340.32 +Professionals,424.34 +Students,311.11 +Families,1198.52 +Retirees,228.81 +Professionals,595.97 +Students,119.97 +Families,705.53 +Retirees,604.97 +Professionals,318.89 +Students,413.40 +Families,782.39 +Retirees,414.82 +Professionals,307.52 +Students,128.13 +Families,770.97 +Retirees,325.29 +Professionals,1345.98 +Students,146.90 +Families,889.71 +Retirees,610.32 +Professionals,302.84 +Students,232.77 +Families,758.94 +Retirees,311.45 +Professionals,424.25 +Students,261.04 +Families,829.08 +Retirees,414.77 +Professionals,333.49 +Students,99.57 +Families,1038.18 +Retirees,717.35 +Professionals,856.30 +Students,355.13 +Families,781.36 +Retirees,628.47 +Professionals,525.46 +Students,533.38 +Families,758.96 +Retirees,382.37 +Professionals,755.27 +Students,231.03 +Families,819.90 +Retirees,695.94 +Professionals,739.94 +Students,343.92 +Families,776.86 +Retirees,699.05 +Professionals,710.57 +Students,322.53 +Families,657.07 +Retirees,575.38 +Professionals,372.56 +Students,206.61 +Families,708.64 +Retirees,645.12 +Professionals,1596.83 +Students,347.82 +Families,1004.79 +Retirees,750.69 +Professionals,310.82 +Students,147.83 +Families,955.90 +Retirees,714.71 +Professionals,548.52 +Students,43.21 +Families,706.06 +Retirees,740.05 +Professionals,205.02 +Students,425.10 +Families,754.18 +Retirees,327.99 +Professionals,812.42 +Students,233.18 +Families,613.24 +Retirees,195.79 +Professionals,331.07 +Students,579.06 +Families,936.10 +Retirees,945.29 +Professionals,433.58 +Students,146.04 +Families,714.48 +Retirees,411.10 +Professionals,608.48 +Students,145.97 +Families,846.03 +Retirees,857.05 +Professionals,775.91 +Students,132.25 +Families,892.91 +Retirees,773.48 +Professionals,532.39 +Students,167.43 +Families,590.46 +Retirees,275.05 +Professionals,704.46 +Students,216.06 +Families,1005.83 +Retirees,716.16 +Professionals,799.60 +Students,299.63 +Families,1067.41 +Retirees,391.82 +Professionals,901.35 +Students,379.18 +Families,953.61 +Retirees,627.57 +Professionals,757.11 +Students,169.17 +Families,836.16 +Retirees,832.18 +Professionals,652.74 +Students,312.94 +Families,1064.68 +Retirees,291.18 +Professionals,313.43 +Students,190.94 +Families,1060.42 +Retirees,383.16 +Professionals,608.46 +Students,353.88 +Families,1058.88 +Retirees,378.34 +Professionals,226.94 +Students,358.14 +Families,882.36 +Retirees,380.05 +Professionals,359.41 +Students,156.99 +Families,731.62 +Retirees,697.22 +Professionals,389.33 +Students,143.22 +Families,836.22 +Retirees,429.65 +Professionals,767.50 +Students,93.80 +Families,616.14 +Retirees,807.99 +Professionals,521.67 +Students,272.03 +Families,1084.45 +Retirees,408.15 +Professionals,1405.39 +Students,179.92 +Families,861.50 +Retirees,324.93 +Professionals,410.24 +Students,424.48 +Families,734.04 +Retirees,261.30 +Professionals,759.23 +Students,154.41 +Families,939.92 +Retirees,293.63 +Professionals,1078.47 +Students,231.28 +Families,1010.88 +Retirees,473.10 +Professionals,476.68 +Students,102.57 +Families,1305.73 +Retirees,545.69 +Professionals,288.55 +Students,138.36 +Families,762.11 +Retirees,690.56 +Professionals,369.20 +Students,230.97 +Families,982.70 +Retirees,357.05 +Professionals,294.96 +Students,312.80 +Families,1007.21 +Retirees,655.76 +Professionals,393.87 +Students,111.85 +Families,1260.84 +Retirees,715.56 +Professionals,316.42 +Students,311.08 +Families,963.14 +Retirees,746.66 +Professionals,299.06 +Students,281.64 +Families,1040.00 +Retirees,245.28 +Professionals,533.34 +Students,352.01 +Families,650.60 +Retirees,133.19 +Professionals,592.52 +Students,435.99 +Families,719.42 +Retirees,255.80 +Professionals,729.56 +Students,137.97 +Families,1192.38 +Retirees,720.36 +Professionals,360.81 diff --git a/agents/evals/make_fixtures.py b/agents/evals/make_fixtures.py new file mode 100644 index 0000000000..a97c9b0f20 --- /dev/null +++ b/agents/evals/make_fixtures.py @@ -0,0 +1,644 @@ +"""Generate the synthetic spike-X fixture cases: 10 specs x matplotlib and seaborn x 6 perturbations. + +Every dataset is invented and drawn from a seeded NumPy generator, so a rerun writes +byte-identical files. Run it from the repository root: + + uv run --extra agents python -m agents.evals.make_fixtures # (re)write the 120 cases + uv run --extra agents python -m agents.evals.make_fixtures --check # exit 1 when a file is stale + +It writes `agents/evals/fixtures/cases/--/` with +`case.json` and `data.csv` and leaves every other case directory alone (the two +hand-written cases `scatter-basic-matplotlib` and `bar-grouped-seaborn` stay as they +are). A NumPy upgrade that changes a random stream makes `--check` and the unit test +fail; rerun the generator and commit the result. + +**The ten specs.** Each covers another plot family, and the readiness scan +(`agents/anyplot/code/readiness.py`) marks both its matplotlib and its seaborn file +`clean` or `coupled`, never `blocked` (`tests/unit/agents/evals/test_make_fixtures.py` +asserts it): + +| Spec | Family | matplotlib | seaborn | +|---|---|---|---| +| `scatter-basic` | scatter | coupled | coupled | +| `line-basic` | line (numeric x) | coupled | coupled | +| `bar-grouped` | bar (grouped) | coupled | coupled | +| `histogram-basic` | histogram | coupled | coupled | +| `box-basic` | box | coupled | coupled | +| `heatmap-basic` | heatmap | clean | coupled | +| `area-basic` | area | coupled | coupled | +| `violin-basic` | violin | coupled | coupled | +| `pie-basic` | pie | coupled | clean | +| `line-timeseries` | time series | coupled | coupled | + +**The six perturbations** (the datasets of the design's spike-X row): + +| Id | Dataset | +|---|---| +| `renamed` | the base data with other headers: German with umlauts, units and punctuation, or snake_case | +| `x10` | the base data with every measured value multiplied by 10 (catches literal axis limits) | +| `n12` | 12 rows | +| `n5000` | 5,000 rows; for bar, heatmap and pie these are raw records the plot must aggregate | +| `date` | the base data with a `DD.MM.YYYY` date column and an ISO date column: the plot's own time axis where the spec has one (`line-basic`, `area-basic`, `line-timeseries`), otherwise two unbound columns the adaptation must leave alone | +| `decimal-comma` | the base data as semicolon-separated text with decimal commas and `DD.MM.YYYY` dates | + +The base data, which `renamed`, `x10`, `date` and `decimal-comma` share, is not a case +of its own. Every generated case expects `accepted`: each dataset is one a user could +paste for that spec. No real people, organisations or politics: stores, products, +customers and stations are invented. +""" + +import argparse +import csv +import io +import itertools +import json +import math +import sys +from collections.abc import Callable +from dataclasses import dataclass, replace +from datetime import date, datetime, timedelta +from pathlib import Path +from typing import Literal + +import numpy as np + +from agents.anyplot.data.parse import MAX_INPUT_BYTES +from agents.anyplot.schemas import MAX_COLUMN_NAME_CHARS, MAX_ROWS + + +CASES_DIR = Path(__file__).resolve().parent / "fixtures" / "cases" +LIBRARIES: tuple[str, ...] = ("matplotlib", "seaborn") +PERTURBATIONS: tuple[str, ...] = ("renamed", "x10", "n12", "n5000", "date", "decimal-comma") +SMOKE_TAG = "smoke" +SOURCE = "synthetic: agents/evals/make_fixtures.py" + +Value = float | int | str | date | datetime +DateStyle = Literal["iso", "dmy"] + + +@dataclass(frozen=True) +class Column: + """One dataset column: its header, values, the spec role it binds (if any) and how it is written.""" + + name: str + values: tuple[Value, ...] + role: str | None = None + decimals: int = 1 + measure: bool = False + """Multiplied by 10 in the `x10` perturbation.""" + date_style: DateStyle = "iso" + + +Maker = Callable[[np.random.Generator, int], list[Column]] +ToDate = Callable[[Value], date | datetime] + + +@dataclass(frozen=True) +class SpecFixture: + """How the cases of one spec are generated.""" + + spec_id: str + family: str + seed: int + base_rows: int + make: Maker + renamed: dict[str, str] + date_mode: Literal["extra", "x", "native"] + """`extra`: two unbound date columns; `x`: the numeric x column becomes a date; `native`: the spec's date column.""" + date_names: tuple[str, str] + """The `DD.MM.YYYY` column (for `x`, the new x column) and the ISO column of the `date` perturbation.""" + aggregates: bool = False + """Whether `n5000` holds raw records the plot must aggregate (one mark per group, not per row).""" + to_date: ToDate | None = None + """For `date_mode="x"`: the date of one x value.""" + + +# --- Spec data ----------------------------------------------------------------------------- + + +def _floats(values: np.ndarray) -> tuple[float, ...]: + return tuple(float(value) for value in values) + + +def _scatter(rng: np.random.Generator, n: int) -> list[Column]: + """Advertising spend against revenue of invented stores, r about 0.7.""" + spend = rng.uniform(5, 120, n) + revenue = np.clip(40 + 2.1 * spend + rng.normal(0, 70, n), 5, None) + return [ + Column("Store", tuple(f"S{index:04d}" for index in range(1, n + 1))), + Column("Ad Spend (kCHF)", _floats(spend), role="x", measure=True), + Column("Revenue (kCHF)", _floats(revenue), role="y", measure=True), + ] + + +def _line(rng: np.random.Generator, n: int) -> list[Column]: + """A tank heating up over two hours: an exponential approach with sensor noise.""" + minutes = np.linspace(0, 120, n) + temperature = 20 + 65 * (1 - np.exp(-minutes / 35)) + rng.normal(0, 0.6, n) + return [ + Column("Elapsed Time (min)", _floats(minutes), role="x", decimals=3 if n > 1000 else 2), + Column("Tank Temperature (°C)", _floats(temperature), role="y", measure=True), + ] + + +SUBJECTS = ("Mathematics", "Physics", "Chemistry", "Biology", "History") +SUBJECT_MEANS = (68.0, 64.0, 66.0, 72.0, 75.0) +GRADES = ("Grade 7", "Grade 8", "Grade 9") +GRADE_OFFSETS = (0.0, 3.0, 6.0) + + +def _bar(rng: np.random.Generator, n: int) -> list[Column]: + """Test scores by subject and grade: one mean per bar, or (n5000) individual scores to average.""" + if n <= len(SUBJECTS) * len(GRADES): + cells = list(itertools.product(range(n // len(GRADES)), range(len(GRADES)))) + scores = [SUBJECT_MEANS[s] + GRADE_OFFSETS[g] + rng.normal(0, 2.5) for s, g in cells] + else: + subjects, grades = rng.integers(0, len(SUBJECTS), n), rng.integers(0, len(GRADES), n) + cells = list(zip(subjects.tolist(), grades.tolist(), strict=True)) + scores = np.clip([SUBJECT_MEANS[s] + GRADE_OFFSETS[g] + rng.normal(0, 11) for s, g in cells], 0, 100).tolist() + return [ + Column("Subject", tuple(SUBJECTS[s] for s, _ in cells), role="category"), + Column("Grade Level", tuple(GRADES[g] for _, g in cells), role="group"), + Column("Test Score", tuple(float(score) for score in scores), role="value", measure=True), + ] + + +def _histogram(rng: np.random.Generator, n: int) -> list[Column]: + """Delivery times of an invented shop: right-skewed, with a floor of eight minutes.""" + minutes = 8 + rng.gamma(3.0, 9.0, n) + return [ + Column("Order ID", tuple(f"O-{10001 + index}" for index in range(n))), + Column("Delivery Time (min)", _floats(minutes), role="values", measure=True), + ] + + +LINES = ("Line A", "Line B", "Line C", "Line D") +LINE_MEANS = (500.4, 501.2, 499.1, 502.0) +LINE_SDS = (1.2, 2.0, 1.5, 0.9) + + +def _box(rng: np.random.Generator, n: int) -> list[Column]: + """Fill weights of four bottling lines, with a few outliers.""" + lines = [index % len(LINES) for index in range(n)] + weights = [rng.normal(LINE_MEANS[line], LINE_SDS[line]) for line in lines] + outliers = rng.random(n) < 0.02 + shifts = rng.choice([-1.0, 1.0], n) * rng.uniform(6, 9, n) + weights = [ + weight + (shift if outlier else 0.0) for weight, shift, outlier in zip(weights, shifts, outliers, strict=True) + ] + return [ + Column("Production Line", tuple(LINES[line] for line in lines), role="category"), + Column("Fill Weight (g)", tuple(float(weight) for weight in weights), role="value", measure=True), + ] + + +WEEKDAYS = ("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday") + + +def _response_profile(day: int, hour: int) -> float: + """Mean minutes to the first answer of an invented support desk, by weekday and hour.""" + load = 6 + 10 * math.exp(-(((hour - 11) / 3) ** 2)) + 6 * math.exp(-(((hour - 15) / 2.5) ** 2)) + if day >= 5: + load = load * 0.6 + 2 + if hour < 7 or hour > 20: + load += 8 # the night shift is thin + return load + + +def _heatmap(rng: np.random.Generator, n: int) -> list[Column]: + """Response times by weekday and hour: one mean per cell, or (n5000) single tickets to average.""" + if n == 12: + cells = list(itertools.product((0, 2, 4), (8, 12, 16, 20))) + elif n <= len(WEEKDAYS) * 24: + cells = list(itertools.product(range(len(WEEKDAYS)), range(24))) + else: + hour_weights = np.array([0.4 if hour < 7 or hour > 20 else 2.0 for hour in range(24)]) + days = rng.integers(0, len(WEEKDAYS), n) + hours = rng.choice(24, n, p=hour_weights / hour_weights.sum()) + cells = list(zip(days.tolist(), hours.tolist(), strict=True)) + times = [rng.gamma(2.0, _response_profile(day, hour) / 2.0) for day, hour in cells] + return _heatmap_columns(cells, times) + times = [max(0.5, _response_profile(day, hour) + rng.normal(0, 0.8)) for day, hour in cells] + return _heatmap_columns(cells, times) + + +def _heatmap_columns(cells: list[tuple[int, int]], times: list[float]) -> list[Column]: + return [ + Column("Weekday", tuple(WEEKDAYS[day] for day, _ in cells), role="y"), + Column("Hour", tuple(hour for _, hour in cells), role="x"), + Column("Response Time (min)", tuple(float(time) for time in times), role="value", measure=True), + ] + + +def _area(rng: np.random.Generator, n: int) -> list[Column]: + """Daily energy use of an invented district: a yearly and a weekly cycle on a slow trend.""" + day = np.arange(1, n + 1) + energy = ( + 120 + + 25 * np.sin(2 * np.pi * day / 365 + 1.2) + + 6 * np.sin(2 * np.pi * day / 7) + + 0.01 * day + + rng.normal(0, 4, n) + ) + return [ + Column("Day", tuple(int(value) for value in day), role="x"), + Column("Energy Use (MWh)", _floats(energy), role="y", measure=True), + ] + + +SEGMENTS = ("Students", "Families", "Retirees", "Professionals") + + +def _basket(rng: np.random.Generator, segment: int) -> float: + if segment == 0: + return float(rng.lognormal(math.log(22), 0.45)) + if segment == 1: + return float(max(10.0, rng.normal(85, 18))) + if segment == 2: + return float(rng.normal(34, 7) if rng.random() < 0.55 else rng.normal(72, 9)) + return float(20 + rng.gamma(2.2, 18)) + + +def _violin(rng: np.random.Generator, n: int) -> list[Column]: + """Basket values of four customer segments with distinct shapes (skewed, normal, bimodal, long tail).""" + segments = [index % len(SEGMENTS) for index in range(n)] + values = [max(1.0, _basket(rng, segment)) for segment in segments] + return [ + Column("Customer Segment", tuple(SEGMENTS[segment] for segment in segments), role="category"), + Column("Basket Value (EUR)", tuple(values), role="value", decimals=2, measure=True), + ] + + +EXPENSES = ("Housing", "Food", "Transport", "Leisure", "Health", "Savings") +EXPENSE_AMOUNTS = (1850.0, 720.0, 410.0, 330.0, 260.0, 600.0) +MORE_EXPENSES = ("Insurance", "Education", "Clothing", "Utilities", "Gifts", "Other") +MORE_AMOUNTS = (380.0, 150.0, 120.0, 210.0, 60.0, 90.0) +RECORD_MEANS = (925.0, 38.0, 24.0, 45.0, 65.0, 300.0) +"""Mean amount of one booking per category in the raw records of `n5000`.""" + + +def _pie(rng: np.random.Generator, n: int) -> list[Column]: + """A household budget: one amount per category, or (n5000) single bookings to sum up.""" + if n <= len(EXPENSES) + len(MORE_EXPENSES): + names = (EXPENSES + MORE_EXPENSES)[:n] + amounts = [base * rng.uniform(0.9, 1.1) for base in (EXPENSE_AMOUNTS + MORE_AMOUNTS)[:n]] + else: + weights = np.array(EXPENSE_AMOUNTS) / np.array(RECORD_MEANS) + picks = rng.choice(len(EXPENSES), n, p=weights / weights.sum()) + names = tuple(EXPENSES[pick] for pick in picks) + amounts = [max(1.0, rng.gamma(2.0, RECORD_MEANS[pick] / 2.0)) for pick in picks] + return [ + Column("Expense Category", tuple(names), role="category"), + Column("Amount (CHF)", tuple(float(amount) for amount in amounts), role="value", decimals=2, measure=True), + ] + + +def _timeseries(rng: np.random.Generator, n: int) -> list[Column]: + """Fine dust at an invented station: daily means, or (n5000) hourly readings with a daily cycle.""" + if n <= 400: + stamps: list[date | datetime] = [date(2025, 1, 1) + timedelta(days=index) for index in range(n)] + values = [14 + 9 * math.cos(2 * math.pi * index / 365) + rng.normal(0, 3) for index in range(n)] + else: + start = datetime(2025, 1, 1) + stamps = [start + timedelta(hours=index) for index in range(n)] + values = [ + 14 + + 9 * math.cos(2 * math.pi * index / 8760) + + 4 * math.sin(2 * math.pi * (index % 24 - 6) / 24) + + rng.normal(0, 2.5) + for index in range(n) + ] + return [ + Column("Date", tuple(stamps), role="date"), + Column("PM2.5 (µg/m³)", tuple(max(1.0, float(value)) for value in values), role="value", measure=True), + ] + + +def _minutes_to_timestamp(value: Value) -> datetime: + assert isinstance(value, float | int) + return datetime(2026, 3, 14, 6, 0) + timedelta(minutes=round(float(value))) + + +def _day_to_date(value: Value) -> date: + assert isinstance(value, int) + return date(2026, 1, 1) + timedelta(days=value - 1) + + +SPECS: tuple[SpecFixture, ...] = ( + SpecFixture( + "scatter-basic", + "scatter", + 101, + 150, + _scatter, + {"Store": "Filiale", "Ad Spend (kCHF)": "Werbebudget in Tsd. CHF", "Revenue (kCHF)": "Umsatz in Tsd. CHF"}, + "extra", + ("Campaign Start", "Reported On"), + ), + SpecFixture( + "line-basic", + "line", + 202, + 61, + _line, + {"Elapsed Time (min)": "t [min]", "Tank Temperature (°C)": "T_tank [°C]"}, + "x", + ("Timestamp", "Logged At"), + to_date=_minutes_to_timestamp, + ), + SpecFixture( + "bar-grouped", + "bar", + 303, + 15, + _bar, + {"Subject": "Fach", "Grade Level": "Jahrgangsstufe", "Test Score": "Punkte (Ø)"}, + "extra", + ("Exam Date", "Graded On"), + aggregates=True, + ), + SpecFixture( + "histogram-basic", + "histogram", + 404, + 400, + _histogram, + {"Order ID": "Bestellnummer", "Delivery Time (min)": "Lieferzeit / Minuten"}, + "extra", + ("Order Date", "Delivered On"), + ), + SpecFixture( + "box-basic", + "box", + 505, + 240, + _box, + {"Production Line": "Abfülllinie", "Fill Weight (g)": "Füllgewicht [g]"}, + "extra", + ("Shift Date", "Checked On"), + ), + SpecFixture( + "heatmap-basic", + "heatmap", + 606, + 168, + _heatmap, + {"Weekday": "Wochentag", "Hour": "Stunde", "Response Time (min)": "Antwortzeit Ø (min)"}, + "extra", + ("Week Of", "Exported On"), + aggregates=True, + ), + SpecFixture( + "area-basic", + "area", + 707, + 90, + _area, + {"Day": "tag_nr", "Energy Use (MWh)": "energieverbrauch_mwh"}, + "x", + ("Date", "Metered On"), + to_date=_day_to_date, + ), + SpecFixture( + "violin-basic", + "violin", + 808, + 400, + _violin, + {"Customer Segment": "segment", "Basket Value (EUR)": "basket_eur"}, + "extra", + ("Purchase Date", "Synced On"), + ), + SpecFixture( + "pie-basic", + "pie", + 909, + 6, + _pie, + {"Expense Category": "Ausgabenposten", "Amount (CHF)": "Betrag CHF"}, + "extra", + ("Booking Date", "Imported On"), + aggregates=True, + ), + SpecFixture( + "line-timeseries", + "time-series", + 1010, + 365, + _timeseries, + {"Date": "Messdatum", "PM2.5 (µg/m³)": "Feinstaub PM2,5 (µg/m³)"}, + "native", + ("Date", "Validated On"), + ), +) + + +# --- Perturbations -------------------------------------------------------------------------- + + +def _rng(spec: SpecFixture, stream: int) -> np.random.Generator: + """An independent generator per spec and data stream, so no case depends on the generation order.""" + return np.random.default_rng([spec.seed, stream]) + + +def _base(spec: SpecFixture) -> list[Column]: + return spec.make(_rng(spec, 0), spec.base_rows) + + +def _with_dates(spec: SpecFixture, columns: list[Column]) -> list[Column]: + """The `date` perturbation: a `DD.MM.YYYY` column and an ISO column, placed by the spec's date mode.""" + rng = _rng(spec, 99) + rows = len(columns[0].values) + dmy_name, iso_name = spec.date_names + if spec.date_mode == "extra": + start = date(2026, 1, 5) + dmy = tuple(start + timedelta(days=int(offset)) for offset in rng.integers(0, 180, rows)) + lag = rng.integers(0, 5, rows) + iso = tuple(day + timedelta(days=int(days)) for day, days in zip(dmy, lag, strict=True)) + return [*columns, Column(dmy_name, dmy, date_style="dmy"), Column(iso_name, iso, date_style="iso")] + out: list[Column] = [] + for column in columns: + if spec.date_mode == "x" and column.role == "x": + assert spec.to_date is not None + stamps = tuple(spec.to_date(value) for value in column.values) + out.append(Column(dmy_name, stamps, role="x", date_style="dmy")) + out.append(Column(iso_name, tuple(_shift(stamp, 1) for stamp in stamps), date_style="iso")) + elif spec.date_mode == "native" and column.role == "date": + out.append(replace(column, date_style="dmy")) + out.append(Column(iso_name, tuple(_shift(stamp, 2) for stamp in column.values), date_style="iso")) + else: + out.append(column) + return out + + +def _times_ten(value: Value) -> float: + if not isinstance(value, float | int): + raise TypeError("only numeric columns are measures") + return float(value) * 10 + + +def _shift(value: Value, days: int) -> date | datetime: + assert isinstance(value, date) # datetime is a date subclass + return value + timedelta(days=days) + + +def perturbed(spec: SpecFixture, perturbation: str) -> tuple[list[Column], str]: + """The columns of one perturbation and its delimiter.""" + if perturbation == "renamed": + return [replace(column, name=spec.renamed.get(column.name, column.name)) for column in _base(spec)], "," + if perturbation == "x10": + scaled = [ + replace(column, values=tuple(_times_ten(value) for value in column.values)) if column.measure else column + for column in _base(spec) + ] + return scaled, "," + if perturbation == "n12": + return spec.make(_rng(spec, 12), 12), "," + if perturbation == "n5000": + return spec.make(_rng(spec, 5000), 5000), "," + if perturbation == "date": + return _with_dates(spec, _base(spec)), "," + if perturbation == "decimal-comma": + return [replace(column, date_style="dmy") for column in _base(spec)], ";" + raise ValueError(f"unknown perturbation {perturbation!r}") + + +# --- Writing --------------------------------------------------------------------------------- + + +def cell(value: Value, column: Column, *, decimal_comma: bool) -> str: + """One value as text: fixed decimals for floats, ISO or `DD.MM.YYYY` for dates and timestamps.""" + if isinstance(value, datetime): + return value.strftime("%d.%m.%Y %H:%M") if column.date_style == "dmy" else value.strftime("%Y-%m-%dT%H:%M") + if isinstance(value, date): + return value.strftime("%d.%m.%Y") if column.date_style == "dmy" else value.isoformat() + if isinstance(value, float): + text = f"{value:.{column.decimals}f}" + return text.replace(".", ",") if decimal_comma else text + return str(value) + + +def to_csv(columns: list[Column], delimiter: str) -> str: + """The dataset as delimited text with `\\n` line ends, quoted only where a field needs it.""" + decimal_comma = delimiter == ";" + buffer = io.StringIO() + writer = csv.writer(buffer, delimiter=delimiter, lineterminator="\n", quoting=csv.QUOTE_MINIMAL) + writer.writerow([column.name for column in columns]) + for row in zip(*(column.values for column in columns), strict=True): + writer.writerow( + [cell(value, column, decimal_comma=decimal_comma) for value, column in zip(row, columns, strict=True)] + ) + return buffer.getvalue() + + +def _tags(spec: SpecFixture, perturbation: str, columns: list[Column], smoke: bool) -> list[str]: + tags = [spec.family, perturbation, "synthetic"] + if perturbation == "renamed": + tags.append("renamed-headers") + if any(not column.name.isascii() for column in columns): + tags.append("non-ascii-headers") + elif perturbation == "x10": + tags.append("scaled-values") + elif perturbation == "n12": + tags.append("small") + elif perturbation == "n5000": + tags.append("large") + if spec.aggregates: + tags.append("aggregation") + elif perturbation == "date": + tags += ["dd.mm.yyyy", "iso-date", "unbound-dates" if spec.date_mode == "extra" else "date-axis"] + elif perturbation == "decimal-comma": + tags.append("semicolon") + if any(isinstance(column.values[0], date) for column in columns): + tags.append("dd.mm.yyyy") + if smoke: + tags.append(SMOKE_TAG) + return tags + + +def _is_smoke(index: int, library: str, perturbation: str) -> bool: + """One smoke case per spec, cycling through the perturbations and alternating the library.""" + return perturbation == PERTURBATIONS[index % len(PERTURBATIONS)] and library == LIBRARIES[index % len(LIBRARIES)] + + +def case_id(spec_id: str, library: str, perturbation: str) -> str: + return f"{spec_id}-{library}-{perturbation}" + + +def render_cases() -> dict[str, str]: + """Every generated file as `{"/": text}`, built in memory.""" + files: dict[str, str] = {} + for index, spec in enumerate(SPECS): + for perturbation in PERTURBATIONS: + columns, delimiter = perturbed(spec, perturbation) + data = to_csv(columns, delimiter) + _check_limits(spec, perturbation, columns, data) + bindings = [{"role": column.role, "column": column.name} for column in columns if column.role] + for library in LIBRARIES: + case = { + "spec_id": spec.spec_id, + "library": library, + "locale": "de" if perturbation in ("renamed", "decimal-comma") else "en", + "perturbation": perturbation, + "bindings": bindings, + "expected": "accepted", + "tags": _tags(spec, perturbation, columns, _is_smoke(index, library, perturbation)), + "source": f"{SOURCE} (seed {spec.seed}, {perturbation})", + } + directory = case_id(spec.spec_id, library, perturbation) + files[f"{directory}/case.json"] = json.dumps(case, indent=2, ensure_ascii=False) + "\n" + files[f"{directory}/data.csv"] = data + return files + + +def _check_limits(spec: SpecFixture, perturbation: str, columns: list[Column], data: str) -> None: + """Every dataset fits the parser's limits, so a case never fails on its own size.""" + where = f"{spec.spec_id}/{perturbation}" + if len(data.encode("utf-8")) > MAX_INPUT_BYTES: + raise ValueError(f"{where}: {len(data.encode('utf-8'))} bytes is over the parser's {MAX_INPUT_BYTES}") + if len(columns[0].values) > MAX_ROWS: + raise ValueError(f"{where}: more than {MAX_ROWS} rows") + if any(len(column.name) > MAX_COLUMN_NAME_CHARS for column in columns): + raise ValueError(f"{where}: a header is longer than {MAX_COLUMN_NAME_CHARS} characters") + + +def write_cases(target: Path = CASES_DIR) -> list[Path]: + """Write every generated file under `target`; other case directories are left alone.""" + written = [] + for relative, text in render_cases().items(): + path = target / relative + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(text, encoding="utf-8", newline="") + written.append(path) + return written + + +def stale_files(target: Path = CASES_DIR) -> list[str]: + """The generated files that are missing under `target` or differ from what the generator writes.""" + stale = [] + for relative, text in render_cases().items(): + path = target / relative + if not path.is_file() or path.read_bytes() != text.encode("utf-8"): + stale.append(relative) + return stale + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser(description=__doc__.split("\n", 1)[0]) + parser.add_argument("--check", action="store_true", help="exit 1 when a committed file differs from the generator") + parser.add_argument("--out", type=Path, default=CASES_DIR, help="target directory (default: the fixture cases)") + args = parser.parse_args(argv) + if args.check: + stale = stale_files(args.out) + for relative in stale: + print(f"stale: {relative}", file=sys.stderr) + if stale: + print("rerun: uv run --extra agents python -m agents.evals.make_fixtures", file=sys.stderr) + return 1 if stale else 0 + written = write_cases(args.out) + print(f"wrote {len(written)} files for {len(written) // 2} cases under {args.out}") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/agents/evals/matrix.py b/agents/evals/matrix.py new file mode 100644 index 0000000000..afec6f2b88 --- /dev/null +++ b/agents/evals/matrix.py @@ -0,0 +1,1165 @@ +"""The regression matrix: every selected eval case through the real `/v1` flow, in process. + +Run it from the repository root. It calls the configured models, so it spends tokens: + + uv run --extra agents python -m agents.evals.matrix --cases smoke --renderer remote --render-url URL + uv run --extra agents python -m agents.evals.matrix --cases full --provider gemini --renderer remote ... + +Each case opens a session on `agents.main:app` through httpx's `ASGITransport` +(`POST /v1/sessions` with the catalogue snapshot, `/dataset` with `data.csv`, `PUT +/bindings` with the case's bindings, then `POST /messages {"action": "create_plot"}`, +and a free-text turn when the case has a `change_request.txt`), so the run takes the +same path as a user's: the ScopeGuard, Budget and ToolSafety plugins, the run queue, +the data judge, the pipeline and its gates. The models come from the settings, the +render backend from `AGENT_RENDERER`: `remote` renders on a deployed renderer, `local` +in Docker, `fake` returns fixture PNGs (a dry run of everything but the render; the +models are still real). Per run it records the status and reason, attempts, gate +failures by gate, validator rejections, edit-apply failures, the reviewer's verdict, +LLM calls, tokens by kind, `model_version`, the cost at list price +(`agents/evals/pricing.py`), the time to the first event, the end-to-end time, and +the render times, read from the stream and from the content-free attribution log +lines of that run's request ids. + +Outputs, under `--out` (default `agents/evals/reports/`, git-ignored): + +* `-.json`, the report (`-2`, `-3`, ... when the name is taken), and + `-.md`, its Markdown summary; +* `renders/-r.png`, the shipped PNG of every run that shipped one; +* `gallery.html`, a blind review page with a random sample of `--gallery-size` (30) + renders that passed the gates and an accept and reject pair each, exported as JSON + with one button; `gallery-all.html` lists every run. Both are rewritten by the next + run in the same directory, so give each run its own `--out` when you keep its + gallery. `python -m agents.evals.report blind` merges two runs into one gallery that + hides which arm made a render. + +**Before the first case** the harness renders the catalogue file of the first case of +each library in the selection through the configured backend (no model call). A +backend that cannot render (unreachable, the caller refused, a library missing in the +image) ends the run with exit code 2 before any token is spent. **During the run** a +case whose pipeline ended in `RendererUnavailable` (the `error` field of its +`pipeline_result` line), or three runs in a row that ended in an error, stop the run +with exit code 4, so an outage never turns the rest of the matrix into `failed (error)` +runs. `--gcloud-token` mints the renderer's ID token with `gcloud auth +print-identity-token` and mints a new one whenever it is within 10 minutes of its +one-hour expiry, so a full run outlasts a token. + +With a baseline (`--baseline FILE`, by default `agents/evals/baselines/.json` +when it exists) the run prints the diff table over the cases both reports hold: pass +rate, accept-match rate, cost per successful plot, latency percentiles and every case +that flipped. `--save-baseline` writes the report to +`agents/evals/baselines/.json`; it refuses a run that stopped early, holds +promoted cases, or has any run that ended in an error. + +Exit codes: 0 done; 1 the run did not hold: its pass rate on the shared cases fell +below the baseline's minus `--tolerance` (5 percentage points by default), or a run +crashed in the harness; 2 a setup error (settings, renderer, preflight, price, cases); +3 stopped early by `--budget-usd`; 4 stopped by an outage (see above). Ctrl-C writes +the partial report before it stops. + +For its own process the harness lifts the run queue's start rate +(`AGENT_RUNS_PER_MINUTE`, `--runs-per-minute`, 60) and the service-wide daily token +budget, and gives every case and repeat its own user id, so the per-user daily +budgets never trip; the per-request limits (12 LLM calls, 80k tokens, the deadlines) +stay at their production values. It sets `ENVIRONMENT=development` for the `remote` +and `local` renderers unless it runs on Cloud Run (`K_SERVICE`), because a developer's +renderer token is accepted only in development, and defaults it to `development` +otherwise; it never loads a `.env` file, and leaves the caller check out, because the +requests never leave the process. +""" + +import argparse +import asyncio +import base64 +import binascii +import codecs +import hashlib +import importlib.metadata +import json +import logging +import os +import platform +import secrets +import subprocess +import sys +import time +from collections import Counter +from collections.abc import Callable, MutableMapping +from dataclasses import dataclass, field +from datetime import UTC, datetime +from pathlib import Path +from typing import TYPE_CHECKING, Any + +import httpx +from starlette.types import ASGIApp, Message, Receive, Scope, Send + +from agents.evals.pricing import LOCATION_SURCHARGE, TOKEN_KINDS, UnknownPrice, call_cost, judge_cost, price_of +from agents.evals.report import ( + GALLERY_SIZE, + REPORT_SCHEMA, + SHIPPED, + Diff, + compare, + diff_markdown, + gallery_all_html, + gallery_html, + summarize, + summary_markdown, +) + + +if TYPE_CHECKING: # importing agents.anyplot builds the agents, so the runtime imports wait for `configure` + from agents.anyplot.services import Services + from agents.anyplot.settings import AgentSettings + from agents.evals.cases import EvalCase + from agents.main import Runtime + + +EVALS_DIR = Path(__file__).resolve().parent +REPO_ROOT = EVALS_DIR.parents[1] +DEFAULT_OUT = EVALS_DIR / "reports" +BASELINES_DIR = EVALS_DIR / "baselines" +RENDERERS: tuple[str, ...] = ("remote", "local", "fake") +PROVIDER_DEFAULTS: dict[str, tuple[str, str]] = { + "anthropic-vertex": ("claude-haiku-5-5", "claude-haiku-5-5"), + "gemini": ("gemini-3.8-flash", "gemini-3.5-flash-lite"), +} +MODEL_PROVIDERS: dict[str, str] = {"claude-": "anthropic-vertex", "gemini-": "gemini"} +DEFAULT_TOLERANCE = 0.05 +EVAL_RUNS_PER_MINUTE = 60 +EVAL_GLOBAL_DAILY_TOKENS = 1_000_000_000 +ATTRIBUTION_LOGGER = "anyplot.agents.attribution" +MODEL_TOKEN_KINDS: tuple[str, ...] = ("prompt", "candidates", "thoughts", "cached", "cache_write", "tool_use_prompt") +EXIT_OK, EXIT_REGRESSION, EXIT_SETUP, EXIT_STOPPED, EXIT_OUTAGE = 0, 1, 2, 3, 4 +RENDERER_OUTAGE = "RendererUnavailable" +REFUSAL_STATUSES = frozenset({403, 409, 413, 422}) +"""HTTP statuses with which the service refuses a request on its merits (the data, the bindings), the case's own outcome. +Any other failure (a 5xx, a judge outage) is the service's and counts as an error (`is_error`).""" +ERROR_STATUSES = frozenset({"harness_error", "error"}) +"""The pipeline's `error` class that means the renderer is down, not that the model failed.""" +MAX_ERRORS_IN_A_ROW = 3 +"""Runs in a row that ended in an error (pipeline or harness) before the matrix stops as an outage.""" +DEVELOPER_RENDERERS: tuple[str, ...] = ("remote", "local") +GCLOUD_TOKEN_COMMAND: tuple[str, ...] = ("gcloud", "auth", "print-identity-token") +TOKEN_REFRESH_MARGIN_S = 600.0 +"""`--gcloud-token` mints a new token when the current one expires within this many seconds.""" +PREFLIGHT_DATA = "x\n1\n" +"""The preflight renders the normalised catalogue file, which makes its own data; this only fills the slot.""" + +logger = logging.getLogger("anyplot.evals") + + +class SetupError(Exception): + """A harness invocation that cannot run: its message says what to change.""" + + +# --- Configuration --------------------------------------------------------------------------- + + +def parse_args(argv: list[str] | None) -> argparse.Namespace: + parser = argparse.ArgumentParser( + prog="python -m agents.evals.matrix", + description="Run eval cases through the agent network's /v1 flow and report against a baseline.", + ) + parser.add_argument("--provider", choices=sorted(PROVIDER_DEFAULTS), help="model family (default: the settings)") + parser.add_argument("--model", help="model of every agent; the provider's default when only --provider is given") + parser.add_argument("--judge-model", help="model of the scope and dataset judge; the provider's default") + parser.add_argument("--location", choices=sorted(LOCATION_SURCHARGE), help="Vertex AI location (default eu)") + parser.add_argument( + "--renderer", + choices=RENDERERS, + help="render backend (default: AGENT_RENDERER when it is one of these, else remote)", + ) + parser.add_argument("--render-url", help="the deployed renderer's URL for --renderer remote (AGENT_RENDER_URL)") + parser.add_argument( + "--gcloud-token", + action="store_true", + help="mint AGENT_RENDER_TOKEN with `gcloud auth print-identity-token` and renew it before it expires", + ) + parser.add_argument("--no-preflight", action="store_true", help="skip the model-free preflight render") + parser.add_argument("--cases", default="smoke", help="smoke, full, or comma-separated globs over case ids") + parser.add_argument("--repeats", type=int, default=1, help="runs per case (default 1)") + parser.add_argument( + "--budget-usd", + type=float, + help="stop before a case that could take the estimated list-price cost past this (spent + costliest case)", + ) + parser.add_argument("--out", type=Path, default=DEFAULT_OUT, help="output directory (default agents/evals/reports)") + parser.add_argument("--baseline", type=Path, help="baseline report (default: baselines/.json)") + parser.add_argument("--no-baseline", action="store_true", help="do not compare with any baseline") + parser.add_argument("--tolerance", type=float, default=DEFAULT_TOLERANCE, help="allowed pass-rate drop (0.05)") + parser.add_argument("--save-baseline", action="store_true", help="write the report as baselines/.json") + parser.add_argument("--seed", type=int, default=0, help="seed of the gallery sample (default 0)") + parser.add_argument("--gallery-size", type=int, default=GALLERY_SIZE, help="renders in the gallery (default 30)") + parser.add_argument( + "--runs-per-minute", type=int, default=EVAL_RUNS_PER_MINUTE, help="run queue start rate for this process" + ) + args = parser.parse_args(argv) + if args.repeats < 1: + parser.error("--repeats must be at least 1") + if args.budget_usd is not None and args.budget_usd <= 0: + parser.error("--budget-usd must be positive") + if not 0 <= args.tolerance < 1: + parser.error("--tolerance is a fraction between 0 and 1") + if args.gallery_size < 0 or args.runs_per_minute < 1: + parser.error("--gallery-size must be 0 or more and --runs-per-minute at least 1") + return args + + +def configure(args: argparse.Namespace, environ: MutableMapping[str, str]) -> None: + """Write the flags into the `AGENT_*` environment the settings read; runs before any `agents.anyplot` import. + + `--provider` alone selects that provider's default model and judge; `--model` alone + implies its provider. The environment's own `AGENT_*` values stay for everything + no flag names. With the `remote` or `local` renderer the process runs as + `ENVIRONMENT=development` (outside Cloud Run), whatever the shell exported: only + development accepts a developer's renderer token and the `local` backend. + """ + environ["PYTHON_DOTENV_DISABLED"] = "1" + environ["ADK_DISABLE_LOAD_DOTENV"] = "1" + environ.pop("AGENT_DEV_FIXTURE", None) + provider = args.provider + if provider is None and args.model: + provider = next((name for prefix, name in MODEL_PROVIDERS.items() if args.model.startswith(prefix)), None) + if provider is None: + raise SetupError(f"cannot tell the provider of {args.model!r}; pass --provider") + if provider is not None: + default_model, default_judge = PROVIDER_DEFAULTS[provider] + environ["AGENT_PROVIDER"] = provider + environ["AGENT_MODEL"] = args.model or default_model + environ["AGENT_JUDGE_MODEL"] = args.judge_model or default_judge + elif args.judge_model: + environ["AGENT_JUDGE_MODEL"] = args.judge_model + if args.location: + environ["AGENT_LOCATION"] = args.location + configured = environ.get("AGENT_RENDERER") + renderer = args.renderer or (configured if configured in RENDERERS else "remote") + environ["AGENT_RENDERER"] = renderer + if renderer in DEVELOPER_RENDERERS and "K_SERVICE" not in environ: + environ["ENVIRONMENT"] = "development" + else: + environ.setdefault("ENVIRONMENT", "development") + if args.render_url: + if renderer != "remote": + raise SetupError("--render-url needs --renderer remote") + environ["AGENT_RENDER_URL"] = args.render_url + if args.gcloud_token and renderer != "remote": + raise SetupError("--gcloud-token needs --renderer remote") + environ["AGENT_RUNS_PER_MINUTE"] = str(args.runs_per_minute) + environ["AGENT_GLOBAL_DAILY_TOKEN_BUDGET"] = str(EVAL_GLOBAL_DAILY_TOKENS) + + +@dataclass +class MatrixConfig: + """What one matrix run does besides running the cases.""" + + cases: str = "smoke" + repeats: int = 1 + budget_usd: float | None = None + out: Path = DEFAULT_OUT + baseline: dict[str, Any] | None = None + baseline_path: Path | None = None + tolerance: float = DEFAULT_TOLERANCE + seed: int = 0 + gallery_size: int = GALLERY_SIZE + save_baseline: bool = False + baselines_dir: Path = BASELINES_DIR + preflight: bool = True + render_token: "RenderToken | None" = None + argv: list[str] = field(default_factory=list) + + +# --- The renderer: token and preflight ------------------------------------------------------- + + +def token_expiry(token: str) -> float | None: + """The `exp` claim of a JWT, read without verifying it; None when it has none.""" + parts = token.split(".") + if len(parts) != 3: + return None + try: + claims = json.loads(base64.urlsafe_b64decode(parts[1] + "=" * (-len(parts[1]) % 4))) + except (ValueError, binascii.Error): + return None + expiry = claims.get("exp") if isinstance(claims, dict) else None + return float(expiry) if isinstance(expiry, int | float) and not isinstance(expiry, bool) else None + + +def gcloud_token() -> str: + """A fresh ID token of your gcloud account (`gcloud auth print-identity-token`); never printed or logged.""" + try: + done = subprocess.run(list(GCLOUD_TOKEN_COMMAND), capture_output=True, text=True, timeout=60, check=False) + except (OSError, subprocess.SubprocessError) as exc: + raise SetupError(f"`gcloud auth print-identity-token` did not run ({type(exc).__name__})") from None + token = done.stdout.strip() + if done.returncode != 0 or token.count(".") != 2: + raise SetupError( + f"`gcloud auth print-identity-token` failed (exit {done.returncode}); run `gcloud auth login` first" + ) + return token + + +def token_note(environ: MutableMapping[str, str], clock: Callable[[], float] = time.time) -> str | None: + """A warning when a static `AGENT_RENDER_TOKEN` will expire during a long run.""" + token = environ.get("AGENT_RENDER_TOKEN") + expiry = token_expiry(token) if token else None + if expiry is None: + return None + minutes = max(0, int((expiry - clock()) // 60)) + return ( + f"AGENT_RENDER_TOKEN expires in {minutes} min; a run that outlasts it stops with exit code 4. " + "Pass --gcloud-token to renew it during the run." + ) + + +@dataclass +class RenderToken: + """Keeps `AGENT_RENDER_TOKEN` fresh for a run that outlasts the token's hour (`--gcloud-token`). + + Before each case `renew` checks the token's `exp`; within `margin_s` of it, it mints + a new one, rebuilds the settings and swaps the backend inside the one + `SerialRenderer`, so the render semaphore stays the same object. + """ + + environ: MutableMapping[str, str] + mint: Callable[[], str] = gcloud_token + clock: Callable[[], float] = time.time + margin_s: float = TOKEN_REFRESH_MARGIN_S + renewed: int = 0 + + def due(self) -> bool: + token = self.environ.get("AGENT_RENDER_TOKEN") + expiry = token_expiry(token) if token else None + return expiry is None or expiry - self.clock() < self.margin_s + + async def renew(self, services: "Services") -> bool: + """Mint and install a new token when the current one is due; True when it did.""" + if not self.due(): + return False + from agents.anyplot.settings import get_settings + + self.environ["AGENT_RENDER_TOKEN"] = await asyncio.to_thread(self.mint) + get_settings.cache_clear() + serial = services.backend + old, serial.backend = serial.backend, services.backend_factory() + close = getattr(old, "aclose", None) + if old is not serial.backend and close is not None: + await close() + self.renewed += 1 + return True + + +async def preflight(cases: list["EvalCase"], services: "Services", echo: Callable[[str], None]) -> None: + """Render the catalogue file of each library's first case once, before any model call; SetupError if it fails. + + The job is the normalised original (it makes its own data) in the light theme, + through `services.backend`, the same path as the pipeline's renders. It proves the + backend renders at all: reachable, the caller accepted, the library in the image. + """ + from agents.anyplot.code.normalise import normalise + from agents.anyplot.render import PythonRuntime + from agents.anyplot.render.contract import RendererUnavailable, RenderJob + from agents.anyplot.render.gates import error_summary + from agents.anyplot.settings import get_settings + + firsts: dict[str, EvalCase] = {} + for case in cases: + firsts.setdefault(case.library, case) + timeout = float(get_settings().render_timeout_s) + for library, case in firsts.items(): + job = RenderJob( + job_id=secrets.token_hex(8), + language=PythonRuntime.language, + library=library, + source=normalise(case.snapshot().code, library=library), + data_csv=PREFLIGHT_DATA, + themes=("light",), + timeout_s=timeout, + ) + started = time.monotonic() + try: + result = await services.backend.render(job) + except RendererUnavailable as exc: + raise SetupError(f"preflight render of {case.spec_id} ({library}): {exc}") from None + except Exception as exc: + raise SetupError(f"preflight render of {case.spec_id} ({library}) failed: {type(exc).__name__}") from None + output = result.outputs.get("light") + if output is None or output.exit_code != 0 or not output.png: + why = "no output" if output is None else f"exit code {output.exit_code}" + if output is not None and output.timed_out: + why += ", timed out" + if output is not None and output.stderr_tail: + why += f", {error_summary(output.stderr_tail)}" + raise SetupError(f"preflight render of {case.spec_id} ({library}) failed: {why}") + echo(f"preflight: {case.spec_id} ({library}) rendered in {time.monotonic() - started:.1f} s") + + +# --- Observation ----------------------------------------------------------------------------- + + +class AttributionCollector(logging.Handler): + """Collects the attribution log's JSON lines by request id (the harness sets one per request).""" + + def __init__(self) -> None: + super().__init__(level=logging.INFO) + self.lines: dict[str, list[dict[str, Any]]] = {} + + def emit(self, record: logging.LogRecord) -> None: + try: + data = json.loads(record.getMessage()) + except (TypeError, ValueError): + return + if isinstance(data, dict) and isinstance(data.get("request_id"), str): + self.lines.setdefault(data["request_id"], []).append(data) + + def take(self, request_id: str) -> list[dict[str, Any]]: + return self.lines.pop(request_id, []) + + +class TimedApp: + """An ASGI wrapper that timestamps every response body chunk. + + httpx's `ASGITransport` hands the client the whole body at once, so the client + cannot see when each SSE event left the service; the wrapper can. The harness runs + one request at a time and clears `chunks` before each streamed turn. + """ + + def __init__(self, app: ASGIApp) -> None: + self.app = app + self.chunks: list[tuple[float, bytes]] = [] + + async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None: + async def timed(message: Message) -> None: + if message["type"] == "http.response.body" and message.get("body"): + self.chunks.append((time.monotonic(), message["body"])) + await send(message) + + await self.app(scope, receive, timed) + + +Event = tuple[float, str, dict[str, Any]] + + +def parse_events(chunks: list[tuple[float, bytes]], started: float) -> list[Event]: + """The SSE events of a stream as `(seconds since started, name, data)`, each timed by the chunk that ended it.""" + decoder = codecs.getincrementaldecoder("utf-8")() + events: list[Event] = [] + buffer = "" + for at, body in chunks: + buffer += decoder.decode(body) + while "\n\n" in buffer: + block, buffer = buffer.split("\n\n", 1) + name, data = None, None + for line in block.splitlines(): + if line.startswith("event: "): + name = line[len("event: ") :] + elif line.startswith("data: "): + data = line[len("data: ") :] + if name is None or data is None: + continue + try: + payload = json.loads(data) + except ValueError: + payload = {} + events.append((at - started, name, payload if isinstance(payload, dict) else {})) + return events + + +# --- One case -------------------------------------------------------------------------------- + + +def base_record(case: "EvalCase", repeat: int) -> dict[str, Any]: + """A run record before the run: every field the report reads, with its empty value.""" + return { + "case_id": case.case_id, + "repeat": repeat, + "spec_id": case.spec_id, + "library": case.library, + "perturbation": case.perturbation, + "expected": case.expected, + "tags": list(case.tags), + "origin": case.origin, + "status": "harness_error", + "reason": None, + "attempts": 0, + "passed": False, + "accepted": False, + "accept_match": None, + "padded": False, + "adaptation": [], + "advisory": [], + "residual_defects": [], + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": {}, + "edit_apply_failures": 0, + "reviewer": {"verdict": None, "defects": []}, + "llm_calls": 0, + "llm_calls_by_agent": {}, + "tokens": dict.fromkeys(TOKEN_KINDS, 0), + "model_versions": [], + "cost_usd": 0.0, + "ttfe_s": None, + "e2e_s": None, + "queue_s": None, + "render_s": [], + "render_wall_s": [], + "turns": 0, + "png": None, + "error": None, + "pipeline_error": None, + } + + +def _int(value: Any) -> int: + return value if isinstance(value, int) and not isinstance(value, bool) and value > 0 else 0 + + +def _number(value: Any) -> float: + return float(value) if isinstance(value, int | float) and not isinstance(value, bool) else 0.0 + + +def book_attribution(record: dict[str, Any], lines: list[dict[str, Any]], settings: "AgentSettings") -> None: + """Add one request's attribution lines to the run record: calls, tokens, cost, and the pipeline's findings.""" + gates: Counter[str] = Counter(record["gate_failures"]) + validator: Counter[str] = Counter(record["validator_rejections"]) + adapter: Counter[str] = Counter(record["adapter_outcomes"]) + agents: Counter[str] = Counter(record["llm_calls_by_agent"]) + versions = set(record["model_versions"]) + tokens = record["tokens"] + for line in lines: + hook = line.get("hook") + if hook == "model": + record["llm_calls"] += 1 + agents[str(line.get("agent"))] += 1 + for kind in MODEL_TOKEN_KINDS: + tokens[kind] += _int(line.get(kind)) + if line.get("model_version"): + versions.add(str(line["model_version"])) + record["cost_usd"] += call_cost(settings.model, settings.location, line) + elif hook in ("data_judge", "scope_guard"): + judge_in, judge_out = _int(line.get("judge_input")), _int(line.get("judge_output")) + if not judge_in and not judge_out: + judge_in = _int(line.get("judge_tokens")) # a line without the split prices everything as input + tokens["judge_input"] += judge_in + tokens["judge_output"] += judge_out + record["cost_usd"] += judge_cost(settings.judge_model, settings.location, judge_in, judge_out) + elif hook == "pipeline_adapt": + adapter[str(line.get("outcome"))] += 1 + elif hook == "pipeline_check": + record["edit_apply_failures"] += _int(line.get("edit_failures")) + validator.update(str(rule) for rule in line.get("validator") or []) + if line.get("outcome") == "loader_failed": + validator["loader"] += 1 + elif hook == "pipeline_render": + gates.update(str(gate) for gate in line.get("gates") or []) + record["render_s"].append(_number(line.get("render_s"))) + wall = line.get("wall_s") + if isinstance(wall, dict): + record["render_wall_s"] += [_number(value) for value in wall.values()] + elif hook == "pipeline_review": + record["reviewer"] = {"verdict": line.get("verdict"), "defects": list(line.get("defects") or [])} + elif hook == "pipeline_result": + record["padded"] = bool(line.get("padded")) + record["adaptation"] = [str(rule) for rule in line.get("adaptation") or []] + record["advisory"] = [str(gate) for gate in line.get("advisory") or []] + if line.get("error"): + record["pipeline_error"] = str(line["error"]) + elif hook == "queue": + record["queue_s"] = (record["queue_s"] or 0.0) + _number(line.get("waited_s")) + record["gate_failures"] = dict(sorted(gates.items())) + record["validator_rejections"] = dict(sorted(validator.items())) + record["adapter_outcomes"] = dict(sorted(adapter.items())) + record["llm_calls_by_agent"] = dict(sorted(agents.items())) + record["model_versions"] = sorted(versions) + + +@dataclass +class Turn: + """One `/messages` request: its HTTP status, the error detail, and the timed events.""" + + status_code: int + detail: str | None + events: list[Event] + + +def _detail(response: httpx.Response) -> str: + try: + body = response.json() + except ValueError: + return f"http {response.status_code}" + detail = body.get("detail") if isinstance(body, dict) else None + return detail if isinstance(detail, str) else f"http {response.status_code}" + + +def book_turn(record: dict[str, Any], turn: Turn) -> dict[str, Any] | None: + """Read one turn's stream into the record; the `plot` event's data, if there was one.""" + record["turns"] += 1 + if turn.status_code != 200: + record["status"], record["reason"] = "error", turn.detail + return None + plot = refusal = error = None + first = done = last = None + for at, name, data in turn.events: + last = at + if first is None and name != "ready" and not (name == "status" and data.get("step") == "queued"): + first = at + if name == "plot": + plot = data + elif name == "refusal": + refusal = data + elif name == "error": + error = data + elif name == "done": + done = at + if record["turns"] == 1: + record["ttfe_s"] = first + elapsed = done if done is not None else last + if elapsed is not None: + record["e2e_s"] = (record["e2e_s"] or 0.0) + elapsed + if plot is not None: + record["status"] = plot.get("status") + record["reason"] = plot.get("reason") + record["attempts"] = int(plot.get("attempts") or 0) + record["residual_defects"] = list(plot.get("residual_defects") or []) + if error is not None: + record["error"] = error.get("code") + elif refusal is not None: + record["status"], record["reason"] = "refused", refusal.get("code") + elif error is not None: + record["status"], record["reason"] = "error", error.get("code") + else: + record["status"], record["reason"] = "error", "no_result" + return plot + + +def finish_record(record: dict[str, Any]) -> None: + """Derive pass, the harness outcome and the accept match from the booked fields (see `report.py`).""" + if record["status"] == "harness_error": + return + record["accepted"] = record["status"] == "ok" + record["passed"] = record["status"] in SHIPPED and not record["padded"] and not record["adaptation"] + expected = record["expected"] + record["accept_match"] = None if expected == "unknown" else record["accepted"] == (expected == "accepted") + + +@dataclass +class CaseRunner: + """Runs cases one at a time against the in-process app.""" + + client: httpx.AsyncClient + timed: TimedApp + collector: AttributionCollector + settings: "AgentSettings" + renders_dir: Path + + async def run(self, case: "EvalCase", repeat: int) -> dict[str, Any]: + """One case and repeat, from opening the session to deleting it; never raises for a broken case.""" + record = base_record(case, repeat) + digest = hashlib.sha256(f"{case.case_id}#{repeat}".encode()).hexdigest() + user = f"eval_{digest[:12]}_{repeat}" + tag = f"ev-{digest[:10]}-{repeat}" + opened: list[str] = [] + + def headers(step: str) -> dict[str, str]: + return {"X-Anyplot-User": user, "X-Request-Id": f"{tag}-{step}"} + + try: + await self._steps(record, case, repeat, user, headers, opened) + except Exception as exc: # one broken case must not end the matrix; the type is enough to find it + logger.warning("case %s failed in the harness: %s", case.case_id, type(exc).__name__) + record["status"], record["error"] = "harness_error", type(exc).__name__ + finally: + for sid in opened: + try: + await self.client.delete(f"/v1/sessions/{sid}", headers=headers("x")) + except Exception as exc: + logger.warning("deleting the session of %s failed: %s", case.case_id, type(exc).__name__) + for step in ("s", "d", "b", "m1", "m2", "a", "x"): + self.collector.take(f"{tag}-{step}") + finish_record(record) + return record + + async def _steps( + self, + record: dict[str, Any], + case: "EvalCase", + repeat: int, + user: str, + headers: Callable[[str], dict[str, str]], + opened: list[str], + ) -> None: + sid = await self._open(record, case, user, headers("s")) + if sid is None: + return + opened.append(sid) + if not await self._dataset(record, case, sid, headers("d")): + return + if not await self._bindings(record, case, sid, headers("b")): + return + plot = await self._turn(record, sid, {"action": "create_plot"}, headers("m1")) + if case.change_request and record["status"] in SHIPPED: + plot = await self._turn(record, sid, {"text": case.change_request}, headers("m2")) + if plot is not None and record["status"] in SHIPPED: + await self._save_png(record, case, repeat, sid, plot, headers("a")) + + async def _open(self, record: dict[str, Any], case: "EvalCase", user: str, headers: dict[str, str]) -> str | None: + body = { + "user": user, + "spec_id": case.spec_id, + "library": case.library, + "locale": case.locale, + "snapshot": case.snapshot().model_dump(), + } + response = await self.client.post("/v1/sessions", headers=headers, json=body) + if response.status_code != 200: + detail = _detail(response) + record["status"] = "not_eligible" if detail == "not_eligible" else "error" + record["reason"] = detail + return None + session_id: str = response.json()["session_id"] + return session_id + + async def _dataset(self, record: dict[str, Any], case: "EvalCase", sid: str, headers: dict[str, str]) -> bool: + response = await self.client.post(f"/v1/sessions/{sid}/dataset", headers=headers, json={"text": case.data_text}) + book_attribution(record, self.collector.take(headers["X-Request-Id"]), self.settings) + if response.status_code != 200: + # A refusal of the data (the judge's `403 data_refused`, `413 too_long`, + # `422 unparseable`) is the case's outcome; anything else, such as the + # judge's own `503 guard_unavailable`, is the service's error: it counts + # towards the outage stop and keeps the run out of a baseline. + kind = "dataset_refused" if response.status_code in REFUSAL_STATUSES else "error" + record["status"], record["reason"] = kind, _detail(response) + return False + return True + + async def _bindings(self, record: dict[str, Any], case: "EvalCase", sid: str, headers: dict[str, str]) -> bool: + if case.bindings is None: + return True # the default bindings the dataset route proposed stay + payload = [binding.model_dump() for binding in case.bindings] + response = await self.client.put(f"/v1/sessions/{sid}/bindings", headers=headers, json=payload) + if response.status_code != 200: + kind = "bindings_invalid" if response.status_code in REFUSAL_STATUSES else "error" + record["status"], record["reason"] = kind, _detail(response) + return False + answer = response.json() + if not answer.get("complete"): + record["status"] = "bindings_invalid" + record["reason"] = "missing roles: " + ", ".join(answer.get("missing_roles") or []) + return False + return True + + async def _turn( + self, record: dict[str, Any], sid: str, body: dict[str, str], headers: dict[str, str] + ) -> dict[str, Any] | None: + self.timed.chunks.clear() + started = time.monotonic() + response = await self.client.post(f"/v1/sessions/{sid}/messages", headers=headers, json=body) + turn = Turn( + response.status_code, + None if response.status_code == 200 else _detail(response), + parse_events(self.timed.chunks, started) if response.status_code == 200 else [], + ) + plot = book_turn(record, turn) + book_attribution(record, self.collector.take(headers["X-Request-Id"]), self.settings) + return plot + + async def _save_png( + self, + record: dict[str, Any], + case: "EvalCase", + repeat: int, + sid: str, + plot: dict[str, Any], + headers: dict[str, str], + ) -> None: + # A shipped result without its PNG is not a pass: the galleries could not + # show it and a baseline must not count it, so it becomes an error. + names = [name for name in plot.get("artifacts") or [] if str(name).endswith(".png")] + if not names: + record["status"], record["reason"], record["error"] = "error", "no_png", "plot_without_png" + return + response = await self.client.get(f"/v1/sessions/{sid}/artifacts/{names[0]}", headers=headers) + if response.status_code != 200: + record["status"], record["reason"], record["error"] = ( + "error", + "no_png", + f"artifact http {response.status_code}", + ) + return + self.renders_dir.mkdir(parents=True, exist_ok=True) + file_name = f"{case.case_id}-r{repeat}.png" + (self.renders_dir / file_name).write_bytes(response.content) + record["png"] = f"{self.renders_dir.name}/{file_name}" + + +# --- The matrix ------------------------------------------------------------------------------ + + +@dataclass +class MatrixResult: + """A finished matrix run: the report, where it went, the diff and the exit code.""" + + report: dict[str, Any] + report_path: Path + summary_path: Path + gallery_path: Path + diff: Diff | None + exit_code: int + baseline_written: Path | None = None + notes: list[str] = field(default_factory=list) + + +def _echo(text: str) -> None: + print(text, file=sys.stderr, flush=True) + + +def _git_sha() -> str | None: + try: + done = subprocess.run( + ["git", "rev-parse", "HEAD"], cwd=REPO_ROOT, capture_output=True, text=True, timeout=5, check=False + ) + except (OSError, subprocess.SubprocessError): + return None + return done.stdout.strip() or None + + +def _version(package: str) -> str | None: + try: + return importlib.metadata.version(package) + except importlib.metadata.PackageNotFoundError: + return None + + +def build_stamp( + settings: "AgentSettings", config: MatrixConfig, cases: list["EvalCase"], started: datetime +) -> dict[str, Any]: + """What produced the report: the configuration, the versions, the prompts and the prices.""" + from agents import main as service + + return { + "run_id": hashlib.sha256(f"{started.isoformat()}-{secrets.token_hex(8)}".encode()).hexdigest()[:12], + "date": started.date().isoformat(), + "started_at": started.isoformat(timespec="seconds"), + "finished_at": None, + "provider": settings.provider, + "model": settings.model, + "judge_model": settings.judge_model, + "location": settings.location, + "renderer": settings.renderer, + "render_url": getattr(settings, "render_url", None), + "adk_version": _version("google-adk"), + "anthropic_version": _version("anthropic"), + "service_version": _version("anyplot"), + "python": platform.python_version(), + "git_sha": _git_sha(), + "prompt_hashes": service._prompt_hashes(), + "prices_usd_per_mtok": { + model: {"input": price_of(model).input, "output": price_of(model).output} + for model in sorted({settings.model, settings.judge_model}) + }, + "location_surcharge": LOCATION_SURCHARGE.get(settings.location, 0.0), + "cases": config.cases, + "case_count": len(cases), + "repeats": config.repeats, + "budget_usd": config.budget_usd, + "tolerance": config.tolerance, + "gallery_seed": config.seed, + "baseline": str(config.baseline_path) if config.baseline_path else None, + "argv": list(config.argv), + } + + +def _unique(path: Path) -> Path: + if not path.exists(): + return path + for index in range(2, 1000): + candidate = path.with_name(f"{path.stem}-{index}{path.suffix}") + if not candidate.exists(): + return candidate + raise SetupError(f"too many reports named {path.stem} in {path.parent}") + + +def is_error(run: dict[str, Any]) -> bool: + """A run that ended in an error, which measures an outage or a bug rather than the model. + + The harness's own crash (`harness_error`), the service's refusal of a request + (`status == "error"`: a session that could not open, a judge outage, a turn that + ended with `capacity` or without a result, a shipped plot without its PNG), the + pipeline's `failed (error)`, and an `error` event that came with a plot all count. + """ + return ( + run.get("status") in ERROR_STATUSES + or run.get("reason") == "error" + or bool(run.get("error")) + or bool(run.get("pipeline_error")) + ) + + +def write_baseline(report: dict[str, Any], baselines_dir: Path) -> tuple[Path | None, str | None]: + """Write the report as `/.json`; refused for a partial run, errors or users' cases.""" + runs = report.get("runs") or [] + if report.get("stopped"): + return None, f"not saved as a baseline: the run stopped early ({report['stopped']})" + if any(run.get("origin") != "fixtures" for run in runs): + return None, "not saved as a baseline: the run includes promoted cases, which hold users' data" + errors = sorted({str(run.get("case_id")) for run in runs if is_error(run)}) + if errors: + return None, ( + f"not saved as a baseline: {len(errors)} cases ended in an error ({', '.join(errors[:5])}" + + (", ..." if len(errors) > 5 else "") + + "); rerun once the cause is fixed" + ) + baselines_dir.mkdir(parents=True, exist_ok=True) + path = baselines_dir / f"{report['stamp']['model']}.json" + path.write_text(json.dumps(report, indent=2, ensure_ascii=False) + "\n", encoding="utf-8") + return path, None + + +async def run_matrix( + cases: list["EvalCase"], + config: MatrixConfig, + *, + services: "Services | None" = None, + runtime: "Runtime | None" = None, + echo: Callable[[str], None] = _echo, +) -> MatrixResult: + """Run every case `config.repeats` times, write the report, the summary and the galleries, compare and decide.""" + from agents import main as service + from agents.anyplot.services import Services, set_services + from agents.anyplot.settings import get_settings + + settings = get_settings() + services = services or Services() + set_services(services) + if config.render_token is not None: + await config.render_token.renew(services) + if config.preflight: + await preflight(cases, services, echo) + runtime = runtime or service.Runtime() + saved_overrides = dict(service.app.dependency_overrides) + service.app.dependency_overrides[service.get_runtime] = lambda: runtime + service.app.dependency_overrides[service.check_caller] = lambda: None # in process: there is no caller to check + collector = AttributionCollector() + attribution_logger = logging.getLogger(ATTRIBUTION_LOGGER) + saved_level = attribution_logger.level + attribution_logger.setLevel(logging.INFO) + attribution_logger.addHandler(collector) + config.out.mkdir(parents=True, exist_ok=True) + started = datetime.now(UTC) + stamp = build_stamp(settings, config, cases, started) + timed = TimedApp(service.app) + runs: list[dict[str, Any]] = [] + stopped: str | None = None + total = costliest = 0.0 + errors_in_a_row = 0 + plan = [(case, repeat) for repeat in range(1, config.repeats + 1) for case in cases] + try: + transport = httpx.ASGITransport(app=timed) + async with httpx.AsyncClient(transport=transport, base_url="http://agents", timeout=None) as client: + runner = CaseRunner(client, timed, collector, settings, config.out / "renders") + for index, (case, repeat) in enumerate(plan, start=1): + if config.budget_usd is not None and runs and total + costliest > config.budget_usd: + stopped = "budget" + echo( + f"stopped: ${total:.4f} spent, and the costliest case so far (${costliest:.4f}) " + f"could pass --budget-usd {config.budget_usd}" + ) + break + if config.render_token is not None: + try: + if await config.render_token.renew(services): + echo("renewed the renderer token") + except SetupError as exc: + stopped = "outage" + echo(f"stopped: the renderer token could not be renewed: {exc}") + break + record = await runner.run(case, repeat) + runs.append(record) + total += record["cost_usd"] + costliest = max(costliest, record["cost_usd"]) + echo( + f"[{index}/{len(plan)}] {case.case_id} r{repeat}: {record['status']}" + + (f" ({record['reason']})" if record["reason"] else "") + + f", {'pass' if record['passed'] else 'fail'}, attempts {record['attempts']}, " + f"${record['cost_usd']:.4f}, {record['e2e_s'] or 0:.1f} s (total ${total:.4f})" + ) + errors_in_a_row = errors_in_a_row + 1 if is_error(record) else 0 + if record.get("pipeline_error") == RENDERER_OUTAGE: + stopped = "outage" + echo( + f"stopped: the renderer became unavailable during {case.case_id} ({RENDERER_OUTAGE}); " + "check its URL and your token (AGENT_RENDER_TOKEN lasts one hour; --gcloud-token renews it)" + ) + break + if errors_in_a_row >= MAX_ERRORS_IN_A_ROW: + stopped = "outage" + echo( + f"stopped: {errors_in_a_row} runs in a row ended in an error " + f"(last: {record.get('pipeline_error') or record.get('error') or record.get('reason')}); " + "check the models' quota and the renderer before you rerun" + ) + break + if config.budget_usd is not None and total > config.budget_usd and index < len(plan): + stopped = "budget" + echo(f"stopped: the estimated cost ${total:.4f} passed --budget-usd {config.budget_usd}") + break + except asyncio.CancelledError: + stopped = "interrupted" + finally: + service.app.dependency_overrides.clear() + service.app.dependency_overrides.update(saved_overrides) + attribution_logger.removeHandler(collector) + attribution_logger.setLevel(saved_level) + stamp["finished_at"] = datetime.now(UTC).isoformat(timespec="seconds") + summary = summarize(runs) + report = {"schema": REPORT_SCHEMA, "stamp": stamp, "summary": summary, "runs": runs, "stopped": stopped} + diff = compare(config.baseline, report, tolerance=config.tolerance) if config.baseline is not None else None + result = write_outputs(report, config, diff) + if stopped == "interrupted": + echo(f"interrupted: the partial report is {result.report_path}") + raise asyncio.CancelledError + if config.save_baseline: + result.baseline_written, note = write_baseline(report, config.baselines_dir) + if note: + result.notes.append(note) + harness_errors = summary["harness_errors"] + if harness_errors: + result.notes.append( + f"{harness_errors} runs crashed in the harness (the `error` field of each run names the class); " + "they count as failures" + ) + if stopped == "outage": + result.exit_code = EXIT_OUTAGE + elif stopped: + result.exit_code = EXIT_STOPPED + elif (diff is not None and diff.regression) or harness_errors: + result.exit_code = EXIT_REGRESSION + return result + + +def write_outputs(report: dict[str, Any], config: MatrixConfig, diff: Diff | None) -> MatrixResult: + """Write the JSON report, its Markdown summary and the two gallery pages under `config.out`.""" + stamp = report["stamp"] + report_path = _unique(config.out / f"{stamp['date']}-{stamp['model']}.json") + report_path.write_text(json.dumps(report, indent=2, ensure_ascii=False) + "\n", encoding="utf-8") + summary_path = report_path.with_suffix(".md") + summary_path.write_text(summary_markdown(report, diff), encoding="utf-8") + gallery_path = config.out / "gallery.html" + gallery_path.write_text( + gallery_html(report, config.out, size=config.gallery_size, seed=config.seed), encoding="utf-8" + ) + (config.out / "gallery-all.html").write_text(gallery_all_html(report), encoding="utf-8") + return MatrixResult(report, report_path, summary_path, gallery_path, diff, EXIT_OK) + + +def load_baseline(path: Path) -> dict[str, Any]: + """A saved report to compare against; refuses another schema version.""" + try: + baseline = json.loads(path.read_text(encoding="utf-8")) + except (OSError, ValueError) as exc: + raise SetupError(f"cannot read the baseline {path} ({type(exc).__name__})") from exc + if not isinstance(baseline, dict) or baseline.get("schema") != REPORT_SCHEMA or "summary" not in baseline: + raise SetupError(f"{path} is not a report of schema {REPORT_SCHEMA}") + return baseline + + +def main(argv: list[str] | None = None) -> int: + args = parse_args(argv) + try: + configure(args, os.environ) + if args.gcloud_token: + os.environ["AGENT_RENDER_TOKEN"] = gcloud_token() + except SetupError as exc: + _echo(f"setup: {exc}") + return EXIT_SETUP + from pydantic import ValidationError + + from agents.anyplot.settings import get_settings + + get_settings.cache_clear() + try: + settings = get_settings() + except ValidationError as exc: + _echo(f"settings: {exc}") + return EXIT_SETUP + try: + result = _prepare_and_run(args, settings, argv) + except (SetupError, UnknownPrice) as exc: + _echo(f"setup: {exc}") + return EXIT_SETUP + except KeyboardInterrupt: + return 130 + stamp_model = result.report["stamp"]["model"] + summary = result.report["summary"] + print(f"Report: {result.report_path}") + print(f"Summary: {result.summary_path}") + print(f"Gallery: {result.gallery_path}") + if result.baseline_written: + print(f"Baseline: {result.baseline_written}") + for note in result.notes: + print(note) + rate = summary.get("pass_rate") + print( + f"{stamp_model}: {summary['passed']} of {summary['runs']} runs passed" + + (f" ({rate * 100:.1f} %)" if rate is not None else "") + + f", ${summary['cost_total_usd']:.4f} at list price" + ) + if result.diff is not None: + print(diff_markdown(result.diff)) + if result.exit_code == EXIT_STOPPED: + print("Stopped early by --budget-usd: the report covers the runs that finished.") + if result.exit_code == EXIT_OUTAGE: + print("Stopped by an outage: the report covers the runs that finished; fix the cause and rerun.") + return result.exit_code + + +def _prepare_and_run(args: argparse.Namespace, settings: "AgentSettings", argv: list[str] | None) -> MatrixResult: + """The checks that need the settings, then the run.""" + from agents.anyplot.render import make_backend + from agents.anyplot.render.contract import RendererUnavailable + from agents.anyplot.settings import AgentSettings + from agents.evals.cases import CaseError, load_cases, select_cases + + price_of(settings.model) + price_of(settings.judge_model) + if args.render_url and "render_url" not in AgentSettings.model_fields: + raise SetupError( + "this checkout's AgentSettings has no render_url, so the remote renderer is not built here; " + "merge the renderer change first" + ) + try: + make_backend(settings) + except RendererUnavailable as exc: + raise SetupError(f"renderer {settings.renderer}: {exc}") from exc + try: + cases = select_cases(load_cases(), args.cases) + except CaseError as exc: + raise SetupError(str(exc)) from exc + if not cases: + raise SetupError(f"no case matches --cases {args.cases!r}") + baseline_path: Path | None = None + if not args.no_baseline: + pinned = BASELINES_DIR / f"{AgentSettings.model_fields['model'].default}.json" + baseline_path = args.baseline or (pinned if pinned.is_file() else None) + if settings.renderer == "remote" and not args.gcloud_token and (note := token_note(os.environ)): + _echo(note) + config = MatrixConfig( + cases=args.cases, + repeats=args.repeats, + budget_usd=args.budget_usd, + out=args.out, + baseline=load_baseline(baseline_path) if baseline_path else None, + baseline_path=baseline_path, + tolerance=args.tolerance, + seed=args.seed, + gallery_size=args.gallery_size, + save_baseline=args.save_baseline, + preflight=not args.no_preflight, + render_token=RenderToken(os.environ) if args.gcloud_token else None, + argv=list(sys.argv[1:] if argv is None else argv), + ) + return asyncio.run(run_matrix(cases, config)) + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/agents/evals/pricing.py b/agents/evals/pricing.py new file mode 100644 index 0000000000..0e4e4905d2 --- /dev/null +++ b/agents/evals/pricing.py @@ -0,0 +1,95 @@ +"""List prices of the agent network's models, and the cost of one model call at list price. + +Prices are USD per million tokens at the `global` endpoint, as of 2026-10-10 (the +owner's brief and docs/concepts/agent-network.md): Claude Haiku 5.5 $0.10 input and +$0.50 output; Gemini 3.8 Flash $1.50 and $7.50; Gemini 3.5 Flash-Lite $0.30 and $2.50. +The `eu` and `us` multi-regions add 10 % (`LOCATION_SURCHARGE`), which gives the eu +prices the design names ($1.65 and $8.25 for Gemini 3.8 Flash, $0.33 and $2.75 for the +judge). The spend cap counts list price, never the 50 % Gemini promotion, so neither +does the harness. + +A call is priced from the attribution line's token counts (`plugins/ledger.usage_breakdown`): + +* input: `prompt` (which includes cached and cache-write tokens) plus `tool_use_prompt`; + `cached` tokens at `CACHE_READ_FACTOR` (0.1) of the input price, Anthropic + `cache_write` tokens at `CACHE_WRITE_FACTOR` (1.25), the rest at the input price; +* output: `candidates` plus `thoughts`, at the output price. + +The cache factors are Anthropic's published multipliers; Gemini's implicit cache is +billed at the same 10 %. Not modelled: Claude Haiku 5.5's long-prompt tier ($0.50 input +and $2.50 output above 100,000 prompt tokens), which no call reaches while the request +budget is 80,000 tokens (`AGENT_REQUEST_TOKEN_BUDGET`); raise that budget and this +module must price the tier. Re-check every number here, including Vertex AI's partner +pricing for Claude, before a spend decision: prices change on a monthly cadence. +""" + +from dataclasses import dataclass +from typing import Any + + +@dataclass(frozen=True) +class Price: + """USD per million tokens at the global endpoint.""" + + input: float + output: float + + +PRICES: dict[str, Price] = { + "claude-haiku-5-5": Price(input=0.10, output=0.50), + "gemini-3.8-flash": Price(input=1.50, output=7.50), + "gemini-3.5-flash-lite": Price(input=0.30, output=2.50), +} +LOCATION_SURCHARGE: dict[str, float] = {"global": 0.0, "eu": 0.10, "us": 0.10} +CACHE_READ_FACTOR = 0.10 +CACHE_WRITE_FACTOR = 1.25 +PER_TOKEN = 1e-6 + +TOKEN_KINDS: tuple[str, ...] = ( + "prompt", + "candidates", + "thoughts", + "cached", + "cache_write", + "tool_use_prompt", + "judge_input", + "judge_output", +) +"""The token counts a run record keeps; the two `judge_` kinds are the dataset and scope judge's.""" + + +class UnknownPrice(KeyError): + """No list price is recorded for a model; add it to `PRICES`.""" + + +def price_of(model: str) -> Price: + try: + return PRICES[model] + except KeyError: + raise UnknownPrice(f"no list price for {model!r}; add it to agents/evals/pricing.py") from None + + +def surcharge(location: str) -> float: + """The location's multiplier on the global list price.""" + return 1.0 + LOCATION_SURCHARGE.get(location, 0.0) + + +def call_cost(model: str, location: str, tokens: dict[str, Any]) -> float: + """USD at list price of one model call, from its attribution line's token counts.""" + price = price_of(model) + + def count(name: str) -> int: + value = tokens.get(name, 0) + return value if isinstance(value, int) and value > 0 else 0 + + cached, cache_write = count("cached"), count("cache_write") + uncached = max(0, count("prompt") + count("tool_use_prompt") - cached - cache_write) + input_cost = price.input * (uncached + cached * CACHE_READ_FACTOR + cache_write * CACHE_WRITE_FACTOR) + output_cost = price.output * (count("candidates") + count("thoughts")) + return (input_cost + output_cost) * PER_TOKEN * surcharge(location) + + +def judge_cost(model: str, location: str, input_tokens: int, output_tokens: int) -> float: + """USD at list price of one judge call (no cache).""" + price = price_of(model) + return (price.input * max(0, input_tokens) + price.output * max(0, output_tokens)) * PER_TOKEN * surcharge(location) diff --git a/agents/evals/report.py b/agents/evals/report.py new file mode 100644 index 0000000000..9731fd2a49 --- /dev/null +++ b/agents/evals/report.py @@ -0,0 +1,802 @@ +"""Reports of the matrix harness: the summary, the diff against a baseline, Markdown, and the review galleries. + +No import of `agents.anyplot` (importing that package builds the agents from the +settings, which the harness configures first), so the report code also works on a +saved report alone. + +A report is the JSON `matrix.py` writes: `{"schema", "stamp", "summary", "runs", +"stopped"}`; a baseline is a report kept under `agents/evals/baselines/`. Each run +record is one case and repeat (see `matrix.base_record` for its fields). + +**Pass.** A run passes when it shipped a render (`ok` or `needs_attention`) that +passed every deterministic gate: the host gates R1 to R3 without a padded canvas, and +no ADAPTATION validator finding on the shipped code. The advisory probe gates (G3, +G5, G7, G8) and the reviewer's verdict do not decide a pass; the owner's blind +judgement in the gallery does that for the sample, which holds passed renders only. +Every rate counts all runs: a run that crashed in the harness did not pass. +**Accept-match** compares the harness outcome (`accepted` when the status is `ok`, the +reviewer's pass) with a case's `expected` value; cases that expect `unknown` are left +out. + +**Diff.** `compare` measures both reports over the case ids they share (all repeats of +each), so a smoke run is judged against the same 12 cases of a full baseline, not +against the baseline's whole-matrix rate; each report's own full rate is an extra row. + +Run as a module, it merges two reports into one blind gallery and scores the export: + + python -m agents.evals.report blind --report A.json --report B.json --out DIR + python -m agents.evals.report score --key DIR/blind-key.json judgements.json +""" + +import argparse +import base64 +import hashlib +import html +import io +import json +import math +import random +import statistics +import sys +from collections import Counter +from collections.abc import Callable, Iterable +from dataclasses import dataclass, field +from pathlib import Path +from typing import Any, NamedTuple + + +REPORT_SCHEMA = 1 +SHIPPED = ("ok", "needs_attention") +GALLERY_SIZE = 30 +GALLERY_MAX_WIDTH = 1600 +"""The gallery embeds each render scaled to at most this width; the full-size PNG stays in `renders/`.""" + + +# --- Summary ------------------------------------------------------------------------------- + + +def percentile(values: Iterable[float], q: float) -> float | None: + """The `q` quantile (0 to 1) with linear interpolation, or None without values.""" + ordered = sorted(values) + if not ordered: + return None + position = (len(ordered) - 1) * q + low, high = math.floor(position), math.ceil(position) + return ordered[low] + (ordered[high] - ordered[low]) * (position - low) + + +def _rate(part: int, whole: int) -> float | None: + return part / whole if whole else None + + +def _group(runs: list[dict[str, Any]], key: Callable[[dict[str, Any]], str]) -> dict[str, dict[str, Any]]: + groups: dict[str, list[dict[str, Any]]] = {} + for run in runs: + groups.setdefault(key(run), []).append(run) + return { + name: { + "runs": len(items), + "passed": sum(1 for run in items if run.get("passed")), + "ok": sum(1 for run in items if run.get("status") == "ok"), + "pass_rate": _rate(sum(1 for run in items if run.get("passed")), len(items)), + } + for name, items in sorted(groups.items()) + } + + +def _counter(runs: list[dict[str, Any]], field_name: str) -> dict[str, int]: + total: Counter[str] = Counter() + for run in runs: + total.update(run.get(field_name) or {}) + return dict(sorted(total.items())) + + +def summarize(runs: list[dict[str, Any]]) -> dict[str, Any]: + """The headline numbers of a run list. + + The pass and ok rates count every run, so harness errors count as failures and a + run list that mostly crashed cannot look healthy. Latencies and calls per run + cover the `counted` runs, the ones that finished in the service. + """ + counted = [run for run in runs if run.get("status") != "harness_error"] + passed = [run for run in runs if run.get("passed")] + judged = [run for run in runs if run.get("accept_match") is not None] + cost_total = sum(float(run.get("cost_usd") or 0.0) for run in runs) + e2e = [run["e2e_s"] for run in counted if isinstance(run.get("e2e_s"), int | float)] + ttfe = [run["ttfe_s"] for run in counted if isinstance(run.get("ttfe_s"), int | float)] + renders = [value for run in counted for value in run.get("render_s") or []] + tokens: Counter[str] = Counter() + for run in runs: + tokens.update(run.get("tokens") or {}) + reviewer = Counter(str((run.get("reviewer") or {}).get("verdict")) for run in counted) + return { + "runs": len(runs), + "counted": len(counted), + "harness_errors": len(runs) - len(counted), + "pipeline_errors": sum(1 for run in counted if run.get("reason") == "error"), + "statuses": dict(sorted(Counter(str(run.get("status")) for run in runs).items())), + "passed": len(passed), + "pass_rate": _rate(len(passed), len(runs)), + "repaired_passes": sum(1 for run in passed if run.get("attempts") == 2), + "ok_rate": _rate(sum(1 for run in runs if run.get("status") == "ok"), len(runs)), + "accept_judged": len(judged), + "accept_match_rate": _rate(sum(1 for run in judged if run.get("accept_match")), len(judged)), + "cost_total_usd": cost_total, + "cost_per_run_usd": cost_total / len(runs) if runs else None, + "cost_per_success_usd": cost_total / len(passed) if passed else None, + "median_cost_per_success_usd": statistics.median(float(run.get("cost_usd") or 0.0) for run in passed) + if passed + else None, + "latency_s": { + "e2e_p50": percentile(e2e, 0.5), + "e2e_p95": percentile(e2e, 0.95), + "ttfe_p50": percentile(ttfe, 0.5), + "ttfe_p95": percentile(ttfe, 0.95), + "render_p50": percentile(renders, 0.5), + "render_p95": percentile(renders, 0.95), + }, + "llm_calls_per_run": statistics.fmean(int(run.get("llm_calls") or 0) for run in counted) if counted else None, + "tokens": dict(sorted(tokens.items())), + "gate_failures": _counter(runs, "gate_failures"), + "validator_rejections": _counter(runs, "validator_rejections"), + "adapter_outcomes": _counter(runs, "adapter_outcomes"), + "edit_apply_failures": sum(int(run.get("edit_apply_failures") or 0) for run in runs), + "reviewer": dict(sorted(reviewer.items())), + "model_versions": sorted({version for run in runs for version in run.get("model_versions") or []}), + "by_perturbation": _group(runs, lambda run: str(run.get("perturbation") or "custom")), + "by_library": _group(runs, lambda run: str(run.get("library"))), + "by_spec": _group(runs, lambda run: str(run.get("spec_id"))), + } + + +# --- Diff --------------------------------------------------------------------------------- + + +class Flip(NamedTuple): + """A shared case whose share of passed runs changed: `passed` of `runs` in the baseline and in this run.""" + + case_id: str + base_passed: int + base_runs: int + cand_passed: int + cand_runs: int + + +@dataclass +class Diff: + """A candidate report against a baseline over their shared cases: rows, flipped cases, the regression verdict.""" + + rows: list[tuple[str, str, str, str]] + flipped: list[Flip] + regression: bool + tolerance: float + baseline_label: str + shared_cases: int = 0 + only_in_baseline: int = 0 + only_in_candidate: int = 0 + notes: list[str] = field(default_factory=list) + + +def _pct(value: float | None) -> str: + return "n/a" if value is None else f"{value * 100:.1f} %" + + +def _usd(value: float | None) -> str: + return "n/a" if value is None else f"${value:.4f}" + + +def _secs(value: float | None) -> str: + return "n/a" if value is None else f"{value:.1f} s" + + +def _num(value: float | None) -> str: + return "n/a" if value is None else f"{value:.2f}" + + +def _change(base: float | None, cand: float | None, kind: str) -> str: + if base is None or cand is None: + return "" + delta = cand - base + if kind == "pct": + return f"{delta * 100:+.1f} pp" + if kind == "usd": + relative = f" ({delta / base * 100:+.0f} %)" if base else "" + return f"{'+' if delta >= 0 else '-'}${abs(delta):.4f}{relative}" + if kind == "secs": + return f"{delta:+.1f} s" + return f"{delta:+.2f}" + + +METRICS: tuple[tuple[str, Callable[[dict[str, Any]], float | None], str], ...] = ( + ("Pass rate", lambda s: s.get("pass_rate"), "pct"), + ("Accept-match rate", lambda s: s.get("accept_match_rate"), "pct"), + ("ok rate", lambda s: s.get("ok_rate"), "pct"), + ("Cost per successful plot", lambda s: s.get("cost_per_success_usd"), "usd"), + ("Median cost per successful plot", lambda s: s.get("median_cost_per_success_usd"), "usd"), + ("p50 end to end", lambda s: (s.get("latency_s") or {}).get("e2e_p50"), "secs"), + ("p95 end to end", lambda s: (s.get("latency_s") or {}).get("e2e_p95"), "secs"), + ("p50 time to first event", lambda s: (s.get("latency_s") or {}).get("ttfe_p50"), "secs"), + ("LLM calls per run", lambda s: s.get("llm_calls_per_run"), "num"), +) +FORMATS: dict[str, Callable[[float | None], str]] = {"pct": _pct, "usd": _usd, "secs": _secs, "num": _num} + + +def _by_case(report: dict[str, Any]) -> dict[str, list[dict[str, Any]]]: + """A report's runs grouped by case id (every repeat, harness errors included).""" + groups: dict[str, list[dict[str, Any]]] = {} + for run in report.get("runs") or []: + groups.setdefault(str(run.get("case_id")), []).append(run) + return groups + + +def _row(label: str, base: float | None, cand: float | None, kind: str) -> tuple[str, str, str, str]: + return (label, FORMATS[kind](base), FORMATS[kind](cand), _change(base, cand, kind)) + + +def compare(baseline: dict[str, Any], candidate: dict[str, Any], *, tolerance: float) -> Diff: + """The diff of `candidate` against `baseline` over the case ids both hold. + + Both sides are summarised afresh over those cases (all their repeats), so the rows + and the regression verdict (the shared pass rate below the baseline's minus + `tolerance`) compare like with like. A case flips when its share of passed runs + changed. Each report's pass rate over all of its own runs is an extra row when the + case sets differ. + """ + base_cases, cand_cases = _by_case(baseline), _by_case(candidate) + shared = sorted(base_cases.keys() & cand_cases.keys()) + base_runs = [run for case in shared for run in base_cases[case]] + cand_runs = [run for case in shared for run in cand_cases[case]] + base_summary, cand_summary = summarize(base_runs), summarize(cand_runs) + rows = [("Runs compared", str(len(base_runs)), str(len(cand_runs)), "")] + rows += [_row(label, read(base_summary), read(cand_summary), kind) for label, read, kind in METRICS] + only_base, only_cand = len(base_cases.keys() - cand_cases.keys()), len(cand_cases.keys() - base_cases.keys()) + if only_base or only_cand: + rows.append( + _row( + "Pass rate, all runs of each report", + summarize([run for runs in base_cases.values() for run in runs])["pass_rate"], + summarize([run for runs in cand_cases.values() for run in runs])["pass_rate"], + "pct", + ) + ) + flipped = [] + for case in shared: + base_passed = sum(1 for run in base_cases[case] if run.get("passed")) + cand_passed = sum(1 for run in cand_cases[case] if run.get("passed")) + base_total, cand_total = len(base_cases[case]), len(cand_cases[case]) + if base_passed * cand_total != cand_passed * base_total: + flipped.append(Flip(case, base_passed, base_total, cand_passed, cand_total)) + base_rate, cand_rate = base_summary["pass_rate"], cand_summary["pass_rate"] + regression = base_rate is not None and cand_rate is not None and cand_rate < base_rate - tolerance + stamp = baseline.get("stamp") or {} + diff = Diff( + rows=rows, + flipped=flipped, + regression=regression, + tolerance=tolerance, + baseline_label=f"{stamp.get('model', '?')} ({stamp.get('date', '?')})", + shared_cases=len(shared), + only_in_baseline=only_base, + only_in_candidate=only_cand, + ) + if not shared: + diff.notes.append("No case is in both reports, so nothing was compared.") + elif only_base or only_cand: + diff.notes.append( + f"The rows compare the {len(shared)} cases both reports hold; {only_base} cases are only in the " + f"baseline and {only_cand} only in this run." + ) + if cand_runs and 1 / len(cand_runs) > tolerance: + diff.notes.append( + f"One run is {100 / len(cand_runs):.1f} pp of the {len(cand_runs)} compared runs, more than the " + f"{tolerance * 100:.1f} pp tolerance: a single run that flips from pass to fail is a regression." + ) + return diff + + +def _flip_text(flip: Flip) -> str: + if flip.base_runs == flip.cand_runs == 1: + return f"{'pass' if flip.base_passed else 'fail'} → {'pass' if flip.cand_passed else 'fail'}" + return f"{flip.base_passed} of {flip.base_runs} passed → {flip.cand_passed} of {flip.cand_runs}" + + +def diff_markdown(diff: Diff) -> str: + """The diff as a Markdown table, readable in a terminal and in a job summary.""" + lines = [ + f"Baseline {diff.baseline_label}, over the {diff.shared_cases} cases both reports hold; a pass-rate drop " + f"of more than {diff.tolerance * 100:.1f} pp is a regression.", + "", + "| Metric | Baseline | This run | Change |", + "|---|---|---|---|", + *(f"| {label} | {base} | {cand} | {change} |" for label, base, cand, change in diff.rows), + "", + ] + if diff.flipped: + lines.append(f"Flipped cases ({len(diff.flipped)}):") + lines.append("") + lines += [f"- `{flip.case_id}`: {_flip_text(flip)}" for flip in diff.flipped] + else: + lines.append("No case flipped between pass and fail.") + lines += ["", *diff.notes] if diff.notes else [] + lines += [ + "", + "**Regression**: the pass rate dropped below the baseline minus the tolerance." if diff.regression else "", + ] + return "\n".join(lines).rstrip() + "\n" + + +# --- Markdown summary ---------------------------------------------------------------------- + + +def _table(header: list[str], rows: list[list[str]]) -> list[str]: + return [ + "| " + " | ".join(header) + " |", + "|" + "---|" * len(header), + *("| " + " | ".join(row) + " |" for row in rows), + "", + ] + + +def _groups_table(groups: dict[str, dict[str, Any]], label: str) -> list[str]: + rows = [ + [name, str(item["runs"]), str(item["passed"]), _pct(item["pass_rate"]), str(item["ok"])] + for name, item in groups.items() + ] + return _table([label, "Runs", "Passed", "Pass rate", "ok"], rows) + + +def _failure_reason(run: dict[str, Any]) -> str: + """The reason column of a run that did not pass, with the error class when there was one.""" + reason = str(run.get("reason") or ("canvas padded" if run.get("padded") else "")) + error = run.get("pipeline_error") or (run.get("error") if run.get("status") == "harness_error" else None) + return f"{reason} ({error})" if reason and error else reason or str(error or "") + + +def summary_markdown(report: dict[str, Any], diff: Diff | None = None) -> str: + """The Markdown summary written next to the JSON report.""" + stamp, summary = report.get("stamp") or {}, report.get("summary") or {} + latency = summary.get("latency_s") or {} + lines = [ + f"# Eval run {stamp.get('date', '')}: {stamp.get('model', '')}", + "", + f"Provider `{stamp.get('provider')}`, model `{stamp.get('model')}`, judge `{stamp.get('judge_model')}`, " + f"location `{stamp.get('location')}`, renderer `{stamp.get('renderer')}`; cases `{stamp.get('cases')}` " + f"({stamp.get('case_count')} cases, {stamp.get('repeats')} runs each); ADK {stamp.get('adk_version')}, " + f"commit `{str(stamp.get('git_sha') or '')[:12]}`.", + "", + ] + if report.get("stopped"): + lines += [f"**Stopped early** ({report['stopped']}): the rates cover the runs that finished.", ""] + lines += ["## Results", ""] + lines += _table( + ["Metric", "Value"], + [ + [ + "Runs", + f"{summary.get('runs')} ({summary.get('harness_errors')} harness errors, " + f"{summary.get('pipeline_errors', 0)} pipeline errors)", + ], + [ + "Pass rate", + f"{_pct(summary.get('pass_rate'))} ({summary.get('passed')} passed, " + f"{summary.get('repaired_passes')} of them after a repair)", + ], + ["ok rate", _pct(summary.get("ok_rate"))], + ["Accept-match rate", f"{_pct(summary.get('accept_match_rate'))} of {summary.get('accept_judged')}"], + ["Statuses", ", ".join(f"{name} {count}" for name, count in (summary.get("statuses") or {}).items())], + ["Cost at list price", _usd(summary.get("cost_total_usd"))], + ["Cost per successful plot", _usd(summary.get("cost_per_success_usd"))], + ["Median cost per successful plot", _usd(summary.get("median_cost_per_success_usd"))], + ["End to end p50 / p95", f"{_secs(latency.get('e2e_p50'))} / {_secs(latency.get('e2e_p95'))}"], + ["Time to first event p50 / p95", f"{_secs(latency.get('ttfe_p50'))} / {_secs(latency.get('ttfe_p95'))}"], + ["Render p50 / p95", f"{_secs(latency.get('render_p50'))} / {_secs(latency.get('render_p95'))}"], + ["LLM calls per run", _num(summary.get("llm_calls_per_run"))], + ["Tokens", ", ".join(f"{name} {count:,}" for name, count in (summary.get("tokens") or {}).items())], + ["Model versions", ", ".join(summary.get("model_versions") or []) or "n/a"], + ], + ) + lines += ["## By perturbation", "", *_groups_table(summary.get("by_perturbation") or {}, "Perturbation")] + lines += ["## By library", "", *_groups_table(summary.get("by_library") or {}, "Library")] + lines += ["## By spec", "", *_groups_table(summary.get("by_spec") or {}, "Spec")] + lines += ["## Gates, validator and reviewer", ""] + counts = [ + *(["Gate " + name, str(count)] for name, count in (summary.get("gate_failures") or {}).items()), + *(["Validator " + name, str(count)] for name, count in (summary.get("validator_rejections") or {}).items()), + *(["Adapter " + name, str(count)] for name, count in (summary.get("adapter_outcomes") or {}).items()), + ["Edit-apply failure lines", str(summary.get("edit_apply_failures"))], + *(["Reviewer " + name, str(count)] for name, count in (summary.get("reviewer") or {}).items()), + ] + lines += _table(["Finding", "Count"], counts) + if diff is not None: + lines += ["## Against the baseline", "", diff_markdown(diff)] + failures = [run for run in report.get("runs") or [] if not run.get("passed")] + if failures: + lines += ["## Runs that did not pass", ""] + lines += _table( + ["Case", "Repeat", "Status", "Reason", "Attempts", "Gates", "Validator"], + [ + [ + f"`{run.get('case_id')}`", + str(run.get("repeat")), + str(run.get("status")), + _failure_reason(run), + str(run.get("attempts")), + ", ".join(f"{name} {count}" for name, count in (run.get("gate_failures") or {}).items()), + ", ".join(f"{name} {count}" for name, count in (run.get("validator_rejections") or {}).items()), + ] + for run in failures + ], + ) + return "\n".join(lines).rstrip() + "\n" + + +# --- Galleries ---------------------------------------------------------------------------- + +_STYLE = """ +:root { color-scheme: light dark; --bg: #faf8f1; --card: #ffffff; --ink: #1a1a17; --muted: #5d5b52; + --line: #d9d6cb; --accept: #1d7a46; --reject: #b71d27; } +@media (prefers-color-scheme: dark) { :root { --bg: #1a1a17; --card: #24241f; --ink: #f0efe8; + --muted: #b3b1a6; --line: #3b3a33; --accept: #5cc98a; --reject: #f07178; } } +* { box-sizing: border-box; } +body { margin: 0; background: var(--bg); color: var(--ink); font: 15px/1.5 system-ui, sans-serif; } +header, main { max-width: 1240px; margin: 0 auto; padding: 16px; } +header { position: sticky; top: 0; background: var(--bg); border-bottom: 1px solid var(--line); z-index: 1; } +@media (max-width: 700px) { header { position: static; } } +a { color: inherit; } +h1 { font-size: 20px; margin: 0 0 4px; } +p { margin: 4px 0; color: var(--muted); } +.bar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 8px; } +button { font: inherit; padding: 6px 14px; border-radius: 6px; border: 1px solid var(--line); + background: var(--card); color: var(--ink); cursor: pointer; } +.card { background: var(--card); border: 1px solid var(--line); border-radius: 10px; margin: 16px 0; padding: 12px; } +.card img { width: 100%; height: auto; display: block; border-radius: 6px; border: 1px solid var(--line); } +.meta { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 8px 0; font-size: 14px; } +.meta b { font-weight: 600; } +ul.residual { margin: 4px 0 8px 20px; padding: 0; font-size: 13px; color: var(--muted); } +.choice { display: flex; gap: 20px; font-weight: 600; } +.choice label { display: flex; gap: 6px; align-items: center; cursor: pointer; } +.choice .accept { color: var(--accept); } .choice .reject { color: var(--reject); } +table { width: 100%; border-collapse: collapse; font-size: 13px; } +th, td { text-align: left; padding: 6px; border-bottom: 1px solid var(--line); vertical-align: top; } +td img { width: 160px; height: auto; border: 1px solid var(--line); border-radius: 4px; } +.scroll { overflow-x: auto; } +""" + +_SCRIPT = """ +(function () { + var items = JSON.parse(document.getElementById("items").textContent); + var key = "anyplot-eval-gallery:" + document.body.dataset.run; + var choices = {}; + try { choices = JSON.parse(window.localStorage.getItem(key) || "{}") || {}; } catch (e) { choices = {}; } + function save() { try { window.localStorage.setItem(key, JSON.stringify(choices)); } catch (e) {} } + function count() { + var accepted = 0, rejected = 0; + items.forEach(function (item) { + if (choices[item.key] === "accept") accepted++; + if (choices[item.key] === "reject") rejected++; + }); + document.getElementById("progress").textContent = + accepted + " accepted, " + rejected + " rejected, " + (items.length - accepted - rejected) + " open"; + return { accepted: accepted, rejected: rejected }; + } + document.querySelectorAll("input[data-choice]").forEach(function (box) { + var itemKey = box.dataset.key; + box.checked = choices[itemKey] === box.dataset.choice; + box.addEventListener("change", function () { + document.querySelectorAll('input[data-key="' + itemKey + '"]').forEach(function (other) { + if (other !== box) other.checked = false; + }); + choices[itemKey] = box.checked ? box.dataset.choice : null; + save(); + count(); + }); + }); + document.getElementById("export").addEventListener("click", function () { + var totals = count(); + var judged = totals.accepted + totals.rejected; + var payload = { + run_id: document.body.dataset.run, + sample_seed: Number(document.body.dataset.seed), + accepted: totals.accepted, + rejected: totals.rejected, + open: items.length - judged, + acceptance_rate: judged ? totals.accepted / judged : null, + judgements: items.map(function (item) { + return { key: item.key, case_id: item.case_id, repeat: item.repeat, choice: choices[item.key] || null }; + }) + }; + var blob = new Blob([JSON.stringify(payload, null, 2) + "\\n"], { type: "application/json" }); + var link = document.createElement("a"); + link.href = URL.createObjectURL(blob); + link.download = "judgements-" + document.body.dataset.run + ".json"; + document.body.appendChild(link); + link.click(); + link.remove(); + }); + count(); +})(); +""" + + +def _esc(value: Any) -> str: + return html.escape(str(value), quote=True) + + +def passed_runs(report: dict[str, Any]) -> list[dict[str, Any]]: + """The runs whose render passed the deterministic gates and was saved, in report order. + + The gallery samples only these: a padded canvas or an ADAPTATION finding already + failed the run, so the owner's acceptance rate measures the renders that passed. + """ + return [run for run in report.get("runs") or [] if run.get("passed") and run.get("png")] + + +def sample_runs(report: dict[str, Any], *, size: int = GALLERY_SIZE, seed: int = 0) -> list[dict[str, Any]]: + """A seeded random sample of `size` passed runs, in random order.""" + candidates = passed_runs(report) + return random.Random(seed).sample(candidates, min(size, len(candidates))) + + +def png_data_uri(path: Path, max_width: int = GALLERY_MAX_WIDTH) -> str: + """The PNG at `path` as a data URI, scaled down to `max_width` (Pillow) when it is wider.""" + data = path.read_bytes() + try: + from PIL import Image + + with Image.open(io.BytesIO(data)) as image: + if image.width > max_width: + image.thumbnail((max_width, max_width * image.height // image.width)) + buffer = io.BytesIO() + image.save(buffer, format="PNG", optimize=True) + data = buffer.getvalue() + except (OSError, ValueError): + pass # not a decodable PNG: embed it as it is + return "data:image/png;base64," + base64.b64encode(data).decode("ascii") + + +def _meta(run: dict[str, Any]) -> str: + fields = [ + ("Spec", run.get("spec_id")), + ("Library", run.get("library")), + ("Perturbation", run.get("perturbation") or "custom"), + ("Status", run.get("status")), + ] + return "".join(f"{_esc(label)} {_esc(value)}" for label, value in fields) + + +JUDGE_HINT = ( + "Judge each plot as a user would: accept it when you would use it as it is. Your choices stay in this " + "browser until you export them." +) + + +def _review_page( + entries: list[tuple[str, dict[str, Any], Path]], *, page_id: str, seed: int, title: str, intro: str +) -> str: + """A self-contained review page: one card per `(key, run, png path)` with an accept and reject pair. + + The CSS, the script and the PNGs (as data URIs) are inline. The page names no + provider and no model; the export lists every key with its choice. + """ + items = [] + cards = [] + for index, (key, run, png) in enumerate(entries, start=1): + items.append( + { + "key": key, + "case_id": run.get("case_id"), + "repeat": run.get("repeat"), + "spec_id": run.get("spec_id"), + "library": run.get("library"), + "perturbation": run.get("perturbation"), + "status": run.get("status"), + } + ) + residual = "".join(f"
  • {_esc(line)}
  • " for line in run.get("residual_defects") or []) + cards.append( + f'
    ' + f'{_esc(run.get(' + f'
    #{index}{_meta(run)}
    ' + + (f'
      {residual}
    ' if residual else "") + + f'
    ' + ) + items_json = json.dumps(items, ensure_ascii=False).replace("\n" + '\n\n\n' + '\n' + f"{_esc(title)}\n" + f"\n\n" + f'\n' + f"

    {_esc(title)}

    {intro}

    " + '
    ' + '
    \n' + f"
    {''.join(cards) or '

    No passed render to review.

    '}
    \n" + f'\n' + f"\n" + "\n\n" + ) + + +def gallery_html(report: dict[str, Any], out_dir: Path, *, size: int = GALLERY_SIZE, seed: int = 0) -> str: + """The review page of one run: a sample of passed renders with an accept and reject pair each. + + It never names the provider or the model; the folder it sits in may, so use + `blind_gallery` to compare two arms without knowing which is which. + """ + stamp = report.get("stamp") or {} + sample = sample_runs(report, size=size, seed=seed) + entries = [(f"k{index:02d}", run, out_dir / str(run["png"])) for index, run in enumerate(sample, start=1)] + intro = ( + f"{len(sample)} renders sampled at random from the {len(passed_runs(report))} renders that passed the " + f'gates (seed {seed}). {JUDGE_HINT} All renders' + ) + return _review_page( + entries, page_id=str(stamp.get("run_id") or "run"), seed=seed, title="Render review", intro=intro + ) + + +ARMS: tuple[str, str] = ("a", "b") + + +def _passed_by_key(report: dict[str, Any]) -> dict[str, dict[str, Any]]: + return {f"{run.get('case_id')}#{run.get('repeat')}": run for run in passed_runs(report)} + + +def blind_gallery( + reports: list[tuple[dict[str, Any], Path]], *, size: int = GALLERY_SIZE, seed: int = 0 +) -> tuple[str, dict[str, Any]]: + """One review page over two runs, and the key that says which render came from which run. + + `reports` is two `(report, the directory its renders/ folder is in)` pairs. The page + samples `size` case runs (`case_id#repeat`) that passed in both reports and shows + both renders of each, all shuffled; it names neither run. The key (written next to + the page, never into it) maps every card to its run, for `score`. + """ + if len(reports) != len(ARMS): + raise ValueError("a blind gallery compares exactly two reports") + passed = [_passed_by_key(report) for report, _ in reports] + common = sorted(passed[0].keys() & passed[1].keys()) + chosen = random.Random(seed).sample(common, min(size, len(common))) + cards = [(arm, case_key) for case_key in chosen for arm in range(len(ARMS))] + random.Random(seed + 1).shuffle(cards) + run_ids = [str((report.get("stamp") or {}).get("run_id")) for report, _ in reports] + page_id = hashlib.sha256(f"{run_ids[0]}|{run_ids[1]}|{seed}".encode()).hexdigest()[:12] + entries = [] + key_items: dict[str, dict[str, Any]] = {} + for index, (arm, case_key) in enumerate(cards, start=1): + run = passed[arm][case_key] + card = f"k{index:03d}" + entries.append((card, run, reports[arm][1] / str(run["png"]))) + key_items[card] = {"arm": ARMS[arm], "case_id": run.get("case_id"), "repeat": run.get("repeat")} + intro = ( + f"{len(chosen)} cases that passed in both runs, each shown twice (once from each run, in random order: " + f"{len(entries)} renders, seed {seed}). The page does not say which run made a render; judge every plot " + f"on its own. {JUDGE_HINT}" + ) + page = _review_page(entries, page_id=page_id, seed=seed, title="Blind render review", intro=intro) + key: dict[str, Any] = { + "blind_id": page_id, + "seed": seed, + "cases": len(chosen), + "common_cases": len(common), + "arms": { + ARMS[index]: { + "provider": (report.get("stamp") or {}).get("provider"), + "model": (report.get("stamp") or {}).get("model"), + "run_id": run_ids[index], + "passed": len(passed[index]), + } + for index, (report, _) in enumerate(reports) + }, + "items": key_items, + } + return page, key + + +def score(key: dict[str, Any], judgements: dict[str, Any]) -> dict[str, dict[str, Any]]: + """The acceptance per run of a blind gallery's export, joined to its key by card key.""" + if judgements.get("run_id") != key.get("blind_id"): + raise ValueError("the judgements belong to another gallery (run_id differs from the key's blind_id)") + choices = {str(item.get("key")): item.get("choice") for item in judgements.get("judgements") or []} + result: dict[str, dict[str, Any]] = {} + for arm, about in (key.get("arms") or {}).items(): + cards = [card for card, item in (key.get("items") or {}).items() if item.get("arm") == arm] + accepted = sum(1 for card in cards if choices.get(card) == "accept") + rejected = sum(1 for card in cards if choices.get(card) == "reject") + result[arm] = { + "provider": about.get("provider"), + "model": about.get("model"), + "renders": len(cards), + "accepted": accepted, + "rejected": rejected, + "open": len(cards) - accepted - rejected, + "acceptance_rate": _rate(accepted, accepted + rejected), + } + return result + + +def _load_json(path: Path) -> dict[str, Any]: + data = json.loads(path.read_text(encoding="utf-8")) + if not isinstance(data, dict): + raise ValueError(f"{path} is not a JSON object") + return data + + +def main(argv: list[str] | None = None) -> int: + """`blind`: write a two-run blind gallery and its key; `score`: acceptance per run from an export.""" + parser = argparse.ArgumentParser(prog="python -m agents.evals.report", description=main.__doc__) + commands = parser.add_subparsers(dest="command", required=True) + blind = commands.add_parser("blind", help="merge two reports into one blind review page") + blind.add_argument("--report", type=Path, action="append", required=True, help="a report JSON (twice)") + blind.add_argument("--out", type=Path, required=True, help="directory for blind.html and blind-key.json") + blind.add_argument("--size", type=int, default=GALLERY_SIZE, help="cases to sample, two renders each (30)") + blind.add_argument("--seed", type=int, default=0, help="seed of the sample and the order (0)") + scored = commands.add_parser("score", help="acceptance per run from a blind gallery's export") + scored.add_argument("--key", type=Path, required=True, help="the blind-key.json next to the page") + scored.add_argument("judgements", type=Path, help="the exported judgements JSON") + args = parser.parse_args(argv) + try: + if args.command == "blind": + if len(args.report) != len(ARMS): + parser.error("pass --report exactly twice") + reports = [(_load_json(path), path.resolve().parent) for path in args.report] + page, key = blind_gallery(reports, size=args.size, seed=args.seed) + args.out.mkdir(parents=True, exist_ok=True) + (args.out / "blind.html").write_text(page, encoding="utf-8") + (args.out / "blind-key.json").write_text(json.dumps(key, indent=2) + "\n", encoding="utf-8") + print(f"Page: {args.out / 'blind.html'} ({len(key['items'])} renders of {key['cases']} cases)") + print(f"Key: {args.out / 'blind-key.json'} (do not open it before you have judged the page)") + return 0 + result = score(_load_json(args.key), _load_json(args.judgements)) + except (OSError, ValueError) as exc: + print(f"error: {exc}", file=sys.stderr) + return 2 + print("| Run | Provider | Model | Renders | Accepted | Rejected | Open | Acceptance |") + print("|---|---|---|---|---|---|---|---|") + for arm, row in result.items(): + print( + f"| {arm} | {row['provider']} | {row['model']} | {row['renders']} | {row['accepted']} | " + f"{row['rejected']} | {row['open']} | {_pct(row['acceptance_rate'])} |" + ) + return 0 + + +def gallery_all_html(report: dict[str, Any]) -> str: + """The second page: every run with its status and a thumbnail from `renders/` (not embedded, so it stays small).""" + rows = [] + for run in report.get("runs") or []: + image = ( + f'' + if run.get("png") + else "" + ) + residual = "
    ".join(_esc(line) for line in run.get("residual_defects") or []) + rows.append( + "" + f"{image}{_esc(run.get('case_id'))}
    repeat {_esc(run.get('repeat'))}" + f"{_esc(run.get('status'))}{('
    ' + _esc(run.get('reason'))) if run.get('reason') else ''}" + f"{'pass' if run.get('passed') else 'fail'}{_esc(run.get('attempts'))}" + f"{residual}" + ) + return ( + "\n" + '\n\n\n' + '\n' + "All renders\n" + f"\n\n\n" + "

    All renders

    " + f'

    {len(rows)} runs. Thumbnails load from the renders folder next to this page. ' + "Back to the review

    \n" + '
    ' + "" + + "".join(rows) + + "
    RenderCaseStatusPassAttemptsResidual notes
    \n\n\n" + ) + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/agents/main.py b/agents/main.py index f4275d7b77..ba96d1eb21 100644 --- a/agents/main.py +++ b/agents/main.py @@ -568,7 +568,14 @@ async def upload_dataset( attribution("data_judge", ledger, verdict="guard_unavailable") raise AgentsError(503, "guard_unavailable") from None services.usage.add_tokens(user, verdict.tokens) - attribution("data_judge", ledger, verdict=verdict.verdict, judge_tokens=verdict.tokens) + attribution( + "data_judge", + ledger, + verdict=verdict.verdict, + judge_tokens=verdict.tokens, + judge_input=verdict.input_tokens, + judge_output=verdict.output_tokens, + ) if verdict.verdict != "in_scope": # fail closed, like the scope guard raise AgentsError(403, "data_refused") try: diff --git a/changelog.d/agents-evals.md b/changelog.d/agents-evals.md new file mode 100644 index 0000000000..0d1b856973 --- /dev/null +++ b/changelog.d/agents-evals.md @@ -0,0 +1,57 @@ +### Added + +- **A model-regression harness for the agent network.** `uv run --extra + agents python -m agents.evals.matrix` runs eval cases through the real + `/v1` flow in process (the same plugins, run queue, judge, pipeline and + gates as a user's request) with the models the flags name (`--provider`, + `--model`, `--judge-model`, `--location`) and the render backend + `--renderer` names (`remote`, `local`, or `fake` for a dry run). Per case it + records the status, attempts, gate failures by gate, validator rejections, + edit-apply failures, the reviewer's verdict, LLM calls, tokens by kind, + `model_version`, the cost at list price and the latencies, writes a JSON + report and a Markdown summary, prints a diff table against the pinned + model's baseline over the cases both runs hold, and exits non-zero when the + pass rate on those cases drops below it or a run crashes in the harness. + A preflight render before the first case, an outage stop (the renderer + unavailable, or three errors in a row) and `--gcloud-token`, which renews + the developer's renderer token during a long run, keep an outage from + turning into a matrix of failed runs or a baseline. `--budget-usd` stops a + run before a case that could take the estimated cost past the budget. A + review page samples 30 renders that passed the gates with an accept and + reject pair each and exports the owner's judgements as JSON, so one command + answers spike X and every later model or prompt comparison. (#12116) +- **A blind two-run review gallery.** `python -m agents.evals.report blind` + merges two harness reports into one page that shows both runs' renders of + the same cases in random order without naming the run, and `report score` + turns the exported judgements into an acceptance rate per run, so spike X + picks the phase-1 model by an unbiased judgement. (#12116) +- **A catalogue eligibility sweep.** `python -m agents.evals.eligibility` + normalises and scans every matplotlib and seaborn file in `plots/`, without + a model call, and counts the eligible, coupled and blocked pairs, the + blocked ones by reason (SECURITY findings by rule id, a missing `THEME` + block, a savefig target other than `f"plot-{THEME}.png"`, the map specs). + (#12116) +- **The spike-X eval cases and the first baseline.** 120 synthetic cases: 10 specs from 10 plot + families, each eligible in matplotlib and seaborn, times six datasets + (renamed headers, values times 10, 12 rows, 5,000 rows, `DD.MM.YYYY` and ISO + dates, and semicolon text with decimal commas), written by the seeded, + rerunnable `agents/evals/make_fixtures.py`, which a unit test keeps in sync + with the committed files. The smoke set is 12 of them plus the two + hand-written cases. `agents/evals/baselines/claude-haiku-5-5.json` is the + first baseline: the spike-X run of 2026-10-10 on the Claude Haiku 5.5 arm, + where 102 of the 122 runs passed the gates (83.6 %) at $0.52 list price. + (#12116) + +### Changed + +- **Content-free attribution lines for every pipeline step.** The plot + pipeline now logs the adapter's outcome, edit-apply failures, blocking + validator rules, the gate ids that failed or reported with the render time, + the reviewer's verdict and defect ids, and the run's result with the + exception class of a run that ended in an error; the model line carries the + token counts by kind, and the judges report input and output tokens + separately. The harness prices and counts from these lines, and none of + them carries code, data or model text. (#12116) +- **The eval harness stays out of the container images.** `.dockerignore` + excludes `agents/evals/` (about 3 MB of fixture cases, local reports, and + promoted cases that hold users' data) from the root build context. (#12116) diff --git a/docs/concepts/agent-network.md b/docs/concepts/agent-network.md index bf58a54c2b..d4f3fc0950 100644 --- a/docs/concepts/agent-network.md +++ b/docs/concepts/agent-network.md @@ -1,6 +1,6 @@ # Agent network design -> **Status (2026-10-10):** design, with the runtime core built and running locally and the renderer service built but not deployed. Built: the `agents/` package (ADK pin, `AgentSettings` and the Pydantic contracts in `agents/anyplot/schemas.py`); the deterministic data layer in `agents/anyplot/data/` (the parser, data roles, default bindings and the dataset store described under [Parse](#parse)) and `bindings.apply` (`session_state.apply_bindings`, called by `PUT /v1/sessions/{sid}/bindings` and the `set_bindings` tool); the deterministic code layer in `agents/anyplot/code/` (the two-profile AST validator in `validate.py`, plus the protected regions, the canvas normaliser, the readiness scan, the edit applier, the loader and the export in `regions.py`, `normalise.py`, `readiness.py`, `edits.py`, `loader.py` and `export.py`); the runtime core (the root agent, the adapters and the reviewer, the plot pipeline, the ScopeGuard, Budget and ToolSafety plugins, the render layer with the probe harness, the host gates and the `fake` and `local` Docker backends, the private `/v1` service with its `anyplot/1` stream, the run queue in front of whole pipeline runs, and one-theme renders with an on-demand theme toggle; see `agents/README.md`); the `anyplot-renderer` service in `agents/renderer/` (the sandbox executor with the kill path, the run watchdog and the launcher retry from spikes S and S2, one render slot, cancellation on disconnect, the caller check, its image, its CI image job and its Cloud Build config) and the `remote` render backend that calls it (see [Render](#render)); the `/debug/agent` BFF router in `api/routers/agent.py` (shipped dark behind `AGENT_ENABLED`); and two shared building blocks, `core/canvas.py` (the canvas gate and the PNG auto-reject checks) and `core/defects.py` (the review feedback grammar). Every agent runs on Claude Haiku 5.5 on Vertex AI by default, with Gemini 3.8 Flash as the second arm behind `AGENT_PROVIDER` (see the Model row under [Goals and fixed decisions](#goals-and-fixed-decisions)). Not built: the agents image, the deploy of either service, `core/catalogue`, the regression harness and the evals, quick-feedback storage and triage, the React page and the button, the analytics events, and everything in phase 2. The research behind it was verified against ADK v2.11.0 and the Vertex AI documentation on 2026-10-08; re-check version-sensitive facts (model ids, prices, ADK APIs) before you implement a section. +> **Status (2026-10-10):** design, with the runtime core, the renderer service and the regression harness built and running locally (the renderer is not deployed). Built: the `agents/` package (ADK pin, `AgentSettings` and the Pydantic contracts in `agents/anyplot/schemas.py`); the deterministic data layer in `agents/anyplot/data/` (the parser, data roles, default bindings and the dataset store described under [Parse](#parse)) and `bindings.apply` (`session_state.apply_bindings`, called by `PUT /v1/sessions/{sid}/bindings` and the `set_bindings` tool); the deterministic code layer in `agents/anyplot/code/` (the two-profile AST validator in `validate.py`, plus the protected regions, the canvas normaliser, the readiness scan, the edit applier, the loader and the export in `regions.py`, `normalise.py`, `readiness.py`, `edits.py`, `loader.py` and `export.py`); the runtime core (the root agent, the adapters and the reviewer, the plot pipeline, the ScopeGuard, Budget and ToolSafety plugins, the render layer with the probe harness, the host gates and the `fake` and `local` Docker backends, the private `/v1` service with its `anyplot/1` stream, the run queue in front of whole pipeline runs, and one-theme renders with an on-demand theme toggle; see `agents/README.md`); the `anyplot-renderer` service in `agents/renderer/` (the sandbox executor with the kill path, the run watchdog and the launcher retry from spikes S and S2, one render slot, cancellation on disconnect, the caller check, its image, its CI image job and its Cloud Build config) and the `remote` render backend that calls it (see [Render](#render)); the model-regression harness `agents/evals/matrix.py` with the 120 synthetic spike-X cases its seeded generator `agents/evals/make_fixtures.py` writes, the blind two-run review gallery and the catalogue eligibility sweep `agents/evals/eligibility.py` (see [Model-version regression harness](#model-version-regression-harness)), with the Claude Haiku 5.5 baseline from the first spike-X run of 2026-10-10 committed in `agents/evals/baselines/`; the `/debug/agent` BFF router in `api/routers/agent.py` (shipped dark behind `AGENT_ENABLED`); and two shared building blocks, `core/canvas.py` (the canvas gate and the PNG auto-reject checks) and `core/defects.py` (the review feedback grammar). Every agent runs on Claude Haiku 5.5 on Vertex AI by default, with Gemini 3.8 Flash as the second arm behind `AGENT_PROVIDER` (see the Model row under [Goals and fixed decisions](#goals-and-fixed-decisions)). Not built: the agents image, the deploy of either service, `core/catalogue`, the Gemini baseline, the scope evalset and the flow evals, `agents-eval.yml`, quick-feedback storage and triage, the React page and the button, the analytics events, and everything in phase 2. The research behind it was verified against ADK v2.11.0 and the Vertex AI documentation on 2026-10-08; re-check version-sensitive facts (model ids, prices, ADK APIs) before you implement a section. This document describes the agent network that lets a visitor paste their own data on a plot page and get that plot adapted, rendered and reviewed ("Use with my data"), and later helps them find the right plot type. It is built with [Google ADK](https://adk.dev) (Python) on Vertex AI (now branded Gemini Enterprise Agent Platform) inside the `anyplot` GCP project: on Claude Haiku 5.5 by default, with Gemini 3.8 Flash as the second arm. @@ -290,11 +290,13 @@ Every agent result can be reported with one click and a short text, and the repo Testing a newer model version, the other provider's arm, a different judge model, or a prompt or validator change is one command locally or one workflow dispatch in CI, and the answer is a diff against the pinned baseline. -- **Fixture cases**, each a directory with `case.json` (spec, library, bindings, expected `accepted` or `rejected`, tags), `data.csv`, and an optional `change_request.txt`. Two sources: the committed synthetic fixtures in `agents/evals/fixtures/cases//`, seeded from spike X (10 specs times 5 perturbation datasets), and the promoted feedback cases synced from the private bucket into the gitignored `agents/evals/.cases/` directory (never committed, because they hold users' data). The scope, injection and code-escape sets stay as evalsets. -- **Harness** (`agents/evals/matrix.py`, the spike-X runner made permanent): runs every case through the real `/v1` flow in-process (httpx `ASGITransport`, the Docker local renderer, the same plugins) with candidate settings that are passed only to the harness: `--provider` (the settings refuse a model from the other provider, so a candidate from the other arm names both), `--model`, `--judge-model`, `--location`, `--prompts `, `--cases smoke|full|`, `--repeats N`. Per case it records the deterministic gate results, the reviewer verdict, attempts, edit-apply failures, validator rejections, `model_version`, tokens (prompt, candidates, thoughts, cached), cost at list price and latency per step. It writes `reports/-.json` and prints a diff table against `agents/evals/baselines/.json`: pass rate, accept-match rate (cases whose outcome matches the owner's recorded reaction), cost per successful plot, p50 and p95 latency, refusal recall and false-refusal rate on the scope set, and every case that flipped. The exit code is non-zero when the pass rate or the safety recall drops below the baseline minus a tolerance. -- **Baselines.** `agents/evals/baselines/claude-haiku-5-5.json` is committed with the default model, and `gemini-3.8-flash.json` with the Gemini arm, so the price and quality comparison is a diff between two reports. A model bump is a PR that changes the `AGENT_MODEL` default and adds the new baseline file; a unit test asserts that a baseline exists for the pinned model. The same mechanism covers judge-model bumps and ADK upgrades, because the ADK version is part of the report stamp. +Built on 2026-10-10: the harness, the fixture generator and the 122 fixture cases, the reports, the diff, the review gallery, the blind two-run gallery with its scoring, and the model-free catalogue eligibility sweep `agents/evals/eligibility.py` (`agents/README.md`, "Run the regression harness"). Not built yet: `--prompts `, the scope-set metrics (refusal recall and false-refusal rate), `sync_cases.py`, the committed baselines, and the CI workflow. + +- **Fixture cases**, each a directory with `case.json` (spec, library, bindings, expected `accepted`, `rejected` or `unknown`, tags, the perturbation and the source of the data), `data.csv`, and an optional `change_request.txt`. Two sources: the committed synthetic fixtures in `agents/evals/fixtures/cases//`, which are the spike-X matrix (10 specs times matplotlib and seaborn times 6 perturbation datasets, written by the seeded generator `agents/evals/make_fixtures.py`) plus two hand-written cases, and the promoted feedback cases synced from the private bucket into the gitignored `agents/evals/.cases/` directory (never committed, because they hold users' data). The tag `smoke` marks the 12 cases of the smoke set. The scope, injection and code-escape sets stay as evalsets. +- **Harness** (`agents/evals/matrix.py`, the spike-X runner made permanent): runs every case through the real `/v1` flow in-process (httpx `ASGITransport` against `agents.main:app`, the same plugins and run queue, the models from the settings, and the render backend `--renderer` names: `remote` against a deployed renderer, `local` in Docker, or `fake` for a dry run of everything but the render) with candidate settings that are passed only to the harness: `--provider` (alone it selects that provider's default models; the settings refuse a model from the other provider), `--model`, `--judge-model`, `--location`, `--cases smoke|full|`, `--repeats N`, `--budget-usd` (stop before a case that could take the estimated list-price cost past it), and `--gcloud-token` (mint the developer's renderer token with the gcloud CLI and renew it before its one-hour expiry). Before the first case it renders each library's catalogue file once through the configured backend, without a model call, and stops with exit code 2 when that fails; during the run a pipeline that ended in `RendererUnavailable` (the `error` class on its `pipeline_result` attribution line), or three errors in a row, stop it with exit code 4, so an outage never becomes a matrix of failed runs or a baseline. Per case it records the status and reason, attempts, gate failures by gate, validator rejections, edit-apply failures, the reviewer verdict, LLM calls, `model_version`, tokens (prompt, candidates, thoughts, cached, cache writes, the judge's input and output), cost at list price, the time to the first event, the end-to-end time and the render time. It reads them from the stream and from the content-free attribution lines that the pipeline, the Budget plugin and the judges write per request id. It writes `/-.json`, a Markdown summary, and a review gallery of 30 renders sampled at random from the runs that passed, with an accept and reject pair each and a JSON export, and prints a diff table against `agents/evals/baselines/.json` (or `--baseline`) over the cases both reports hold: pass rate, accept-match rate (cases whose outcome matches the case's expected outcome), cost per successful plot, p50 and p95 latency, and every case that flipped. A run passes when it ships a render that passed every deterministic gate (no padded canvas, no ADAPTATION finding); every rate counts harness errors as runs that did not pass. The owner's judgement is the acceptance measure: to compare two arms, `python -m agents.evals.report blind` merges both reports into one gallery of the same cases with the arm hidden in a separate key file, and `report score` gives the acceptance per arm. The exit code is 1 when the pass rate on the shared cases drops below the baseline minus a tolerance (5 percentage points by default) or a run crashed in the harness, 2 for a setup error, 3 when the budget stopped the run, and 4 for an outage. +- **Baselines.** `agents/evals/baselines/claude-haiku-5-5.json` is committed with the default model (the first spike-X run writes it with `--save-baseline`), and `gemini-3.8-flash.json` with the Gemini arm, so the price and quality comparison is a diff between two reports. `--save-baseline` refuses a run that stopped early, holds promoted cases, or has a run that ended in an error. A model bump is a PR that changes the `AGENT_MODEL` default and adds the new baseline file; a unit test asserts that a baseline exists for the pinned model once any baseline is committed. The same mechanism covers judge-model bumps and ADK upgrades, because the ADK version is part of the report stamp. - **CI.** `.github/workflows/agents-eval.yml` has `workflow_dispatch` inputs `provider`, `model`, `judge_model`, `location`, `cases` (smoke or full) and `repeats`, and a nightly `smoke` run on the pinned model. It authenticates through Workload Identity Federation, sets `GOOGLE_CLOUD_LOCATION=eu`, uploads the report as an artifact and writes the diff table into the job summary. It mirrors the candidate-versus-baseline pattern of `review-retest.yml` (see [Review retest](../workflows/review-retest.md)). A lifecycle probe in the nightly run calls `models.get` on the pinned model and fails loudly on a 404 or a retirement notice, so a forced bump of the pinned model, or of the Gemini arm's short-term 3.8 Flash tier, is noticed before users are. -- **Cost.** A full run is about 50 cases times at most 3 attempts, about $3 to $8 at list price; `smoke` is about $0.50. Both fit inside the spend cap. +- **Cost.** A full run is 122 cases times at most 2 attempts. Measured on 2026-10-10: $0.52 at list price for the full matrix on the Claude Haiku 5.5 arm ($0.0051 per passed plot, 4.77 model calls per run); the Gemini arm is still estimated at $10 to $15; `smoke` (12 cases) is about a tenth of a full run. Both fit inside the spend cap. ## Serving and infrastructure @@ -327,8 +329,10 @@ agents/anyplot/data/{parse.py, roles.py, bindings.py, store.py} # no A agents/anyplot/code/{regions.py, normalise.py, readiness.py, edits.py, validate.py, loader.py, export.py} # no ADK import; built agents/anyplot/render/{contract.py, gates.py, png.py, harness.py, serial.py, runtimes/python.py, backends/{remote.py, local.py, sandbox.py, fake.py}} agents/renderer/{main.py, executor.py, auth.py, settings.py, wire.py, Dockerfile, cloudbuild.yaml} # anyplot-renderer; no ADK import, no __init__.py; built -agents/evals/{scope.evalset.json, test_config.json, harness/test_flows.py, matrix.py, sync_cases.py, - baselines/{claude-haiku-5-5,gemini-3.8-flash}.json, fixtures/cases//{case.json, data.csv} (synthetic only), .cases/ (gitignored, synced from the bucket)} +agents/evals/{matrix.py, make_fixtures.py, cases.py, pricing.py, report.py, eligibility.py} # built +agents/evals/{scope.evalset.json, test_config.json, harness/test_flows.py, sync_cases.py, + baselines/{claude-haiku-5-5,gemini-3.8-flash}.json, fixtures/cases//{case.json, data.csv} (synthetic only), + reports/ (gitignored), .cases/ (gitignored, synced from the bucket)} core/catalogue/{__init__.py, queries.py} # shared by api/mcp/server.py and agents/ core/canvas.py core/defects.py # lifted from impl-review.yml and automation/scripts/regen_gate.py (which keeps a parity-tested copy) core/database/models.py (AgentFeedback) alembic/versions/_agent_feedback.py @@ -355,7 +359,7 @@ Owner tasks 1 to 6 come first. Then run the spikes: | M | One call on `eu` and `global` for both arms: `claude-haiku-5-5` through the Anthropic Vertex SDK and gemini-3.8-flash plus gemini-3.5-flash-lite through google-genai (and, for the record, the alias); the reported model version and usage; free `countTokens` on the adapter and reviewer prefixes | Recorded; under $0.01 (done on 2026-10-09: both arms answer on `eu`) | | S | A Cloud Run sandbox in europe-west4: the deploy works; matplotlib and seaborn render with egress blocked; a blocked fetch fails fast; RSS and time at 2 and 4 vCPU; concurrent sandboxes before OOM; cold start; whether the IAM-forwarded ID-token claims are visible to the container and in what signature state; a probe suite (metadata server, DNS and HTTP egress, `/proc/1/environ`, writes outside `/work`, sudo, fork and memory bombs). Run `gcloud components update` first, because the local SDK 534 lacks the flag; ideally in a throwaway project | Everything blocked or contained | | G | Can a sandbox read sibling run directories or files the host writes at runtime? | No; otherwise use `--rootfs` with a toolchain-only tree or one render per instance | -| X | Adaptation: 10 specs times matplotlib and seaborn times 5 datasets (renamed, x10, n=12, n=5000, date, decimal comma) on both arms, `claude-haiku-5-5` and gemini-3.8-flash, so the owner picks the phase-1 default by cost and acceptance; plotly only on figure-level gates because the phase-1 image has no Chrome. Pass means all deterministic gates plus an owner blind accept or reject on a sample of 30 renders. Also reports post-normaliser eligibility under the SECURITY profile and the files blocked for a missing `THEME` block or a non-literal savefig target | Under $25 | +| X | Adaptation: 10 specs times matplotlib and seaborn times 6 datasets (renamed, x10, n=12, n=5000, date, decimal comma; the cases are in `agents/evals/fixtures/cases/` and run with `agents/evals/matrix.py`, see `agents/README.md`) on both arms, `claude-haiku-5-5` and gemini-3.8-flash, so the owner picks the phase-1 default by cost and acceptance; plotly only on figure-level gates because the phase-1 image has no Chrome. Pass means all deterministic gates plus an owner blind accept or reject on a sample of 30 renders (`python -m agents.evals.report blind` shows both arms' renders of the same cases without naming the arm). Also reports post-normaliser eligibility under the SECURITY profile and the files blocked for a missing `THEME` block or a non-literal savefig target (`agents/evals/eligibility.py`, no model call) | Under $25 | | C | Does a NodeTool `Event(message)` arrive before the function response under `StreamingMode.NONE`? | Yes | | F | Does a plugin's `on_tool_error` catch a `ValueError`? Is the content returned when `before_run` halts emitted? | Both observed | | A′ | Does the reviewer read a canary string from callback-injected images on a single-turn agent with `include_contents='none'` while its structured output still applies (the native `response_schema` on Gemini, the forced tool call on Claude)? | Exact match; fallback is a `view_render` tool returning Parts, which reintroduces the Preview multimodal-function-response path | @@ -364,6 +368,8 @@ Scaffold `agents/`, run `adk web --port 8002 --session_service_uri memory:// --a Exit criteria: both arms and the location confirmed by spike M; spikes S and G all blocked with a p95 render under 10 s at 2 vCPU; spike X at least 80 % pass after at most one repair on eligible pairs with owner acceptance of at least 75 % on the sample and a median cost of at most $0.05 per successful plot; scope evals with 100 % of adversarial cases refused and at most 5 % false refusals (guard outages excluded); the validator corpus at 100 % including every named bypass. +Spike X, first run (2026-10-10, Claude Haiku 5.5 on `eu`, the 122 cases through the throwaway renderer, $0.52): 102 runs passed the gates (83.6 %, 93 of them after the one repair), with a median cost of $0.0041 per passed plot and an end-to-end p50 of 18.5 s, so the pass and cost lines of the criterion hold; the owner's acceptance on the 30-render sample is still open. Only 14 runs ended `ok`: 98 ended `needs_attention`, mostly because the probe gate G3 (text beyond the canvas) failed in 60 runs and reported in 56 more, the reviewer's answer could not be read in 18 runs, and the adapter's answer missed its schema in 23 of 141 calls; 10 runs ended `failed (validation)`, 5 of them `box-basic` in matplotlib, where the adapter replaces the `df = load_user_data()` line (`placeholder-count`). seaborn passed 88.5 % and matplotlib 78.7 %; the 12-row dataset was the weakest perturbation (70 %) and values times 10 the strongest (95 %). The Gemini arm has not run yet. + ### Phase 1: admin-only production (about 3 to 4 weeks) 1. The design doc (this document). @@ -389,7 +395,7 @@ Hard gates before any non-owner use: the legal-page PR (`LegalPage.tsx` plus a p ## Verification -- **Regression harness.** `uv run --extra agents-eval python -m agents.evals.matrix --model claude-haiku-5-5 --cases smoke` must reproduce the committed baseline within tolerance on every PR that touches `agents/anyplot/prompts/`, `code/` or `render/` (run through `workflow_dispatch`, not automatically, because it spends money). A candidate run with `--model ` prints the diff table and exits non-zero on regressions. +- **Regression harness.** `uv run --extra agents python -m agents.evals.matrix --model claude-haiku-5-5 --cases smoke --renderer remote --render-url ` must reproduce the committed baseline within tolerance on every PR that touches `agents/anyplot/prompts/`, `code/` or `render/` (run through `workflow_dispatch`, not automatically, because it spends money). A candidate run with `--model ` prints the diff table and exits non-zero on regressions. - **Evals.** `adk eval` runs only the scope set (`uv run --extra agents-eval adk eval agents/anyplot agents/evals/scope.evalset.json --config_file_path agents/evals/test_config.json`, after confirming that the loader picks up `app` with its plugins; `judge_model_options.judge_model="gemini-3.8-flash"`, never the retiring 2.5 Flash default): 50 off-topic cases, 50 jailbreaks (German, role-play, base64, multi-turn drift), 50 in-scope cases, plus general-programming requests framed as plot-code questions; a refusal must equal the fixed string. The flow evals (`use_with_my_data`, `injection` through CSV cells, headers, image labels and catalogue-style comments, and `code_escape`) run as a pytest harness against the real `/v1` routes in-process with fixture CSVs, because the pipeline reads the snapshot, dataset and bindings from server-set state; trajectory, `token_usage_v1` and `inference_call_count_v1` are tracked as regressions. A full eval run costs about $1 to $3. - **Unit tests on every PR.** The parser (decimal comma with `DD.MM.YYYY`, header canonicalisation, bidi and zero-width names, caps); the bindings heuristic and `bindings.apply`; the edit applier (ambiguity, protected regions by AST, palette prefix); the validator allow and deny corpus for both profiles (dunder walks, `__builtins__`, `string.Formatter`, `.format`, patsy, `pd.eval`, file-read calls); loader substitution and the working and run forms; the canvas normaliser on the 137 legacy matplotlib files; gate fixtures; the stream translator (author filter, dropped function calls, code-block stripping); the plugins with fake clients (judge timeout or garbage gives `guard_unavailable`; the budget halts the root only; tool errors are mapped; one `plot_pipeline` per invocation); the agent registry test; the BFF (401 and 403, the CSRF header, the 404 kill switch and unset key, user-id derivation, the body allowlist, ownership on artifact routes, SSE re-framing); the caller-claims check; a log and span canary; `find_specs` AND semantics; Vitest for the SSE parser, the page, the result card and button gating. - **Run locally.** @@ -455,7 +461,7 @@ Defaults apply until the owner decides otherwise. | Risk | Mitigation | |---|---| | Cloud Run sandboxes are in Preview with undocumented regions, isolation technology and cross-run visibility | Spikes S and G plus the probe suite gate phase 1; the `RenderBackend` protocol; the fallback is a gen2 service with Direct VPC egress deny or `GkeCodeExecutor` with a custom image; the sandboxes run in `anyplot-renderer`, a service of its own with a zero-role account, from phase 1 | -| The model adapts poorly (only proxy evidence so far) | Spike X is the go or no-go with owner blind acceptance; an eligibility filter (statically clean data-generation pairs: matplotlib 65 of 251, seaborn 84 of 267; the dpi normaliser removes the canvas condition; plotly's 102 count only in phase 2); hints from the readiness scan; the normalisation workstream; an honest `needs_attention` status | +| The model adapts poorly (spike X on the Claude arm: 83.6 % pass the gates, but only 14 of 122 runs end `ok`; the G3 clipping gate, unreadable reviewer answers and adapter schema misses are the first prompt and validator items) | Spike X is the go or no-go with owner blind acceptance; an eligibility filter (statically clean data-generation pairs: matplotlib 65 of 251, seaborn 84 of 267; the dpi normaliser removes the canvas condition; plotly's 102 count only in phase 2); hints from the readiness scan; the normalisation workstream; an honest `needs_attention` status | | Gemini 3.8 Flash, the second arm, is a short-term tier not on the tier list, and `eu` has its own capacity pool | One `AGENT_MODEL` value, `retry_options` with backoff from day one, `error{code:"capacity"}` on persistent 429s, no fallback model unless the owner names one, the lifecycle probe, an eval gate on every bump | | The reviewer is a weak judge (expert correlation about 0.43) | Deterministic gates first, a short checklist, at most one repair, residual defects shown as notes, owner acceptance as the real metric | | ADK ships weekly with feature-flag drift | An exact pin to 2.11.0; re-check `FUNCTION_TOOL_ARG_VALIDATION` and `JSON_SCHEMA_FOR_FUNC_DECL` on upgrade; plain-code modules without ADK imports; the harness report stamps the ADK version | diff --git a/docs/reference/repository.md b/docs/reference/repository.md index b0565d231e..cf1d3f8c3a 100644 --- a/docs/reference/repository.md +++ b/docs/reference/repository.md @@ -100,7 +100,16 @@ anyplot/ ├── agents/ # Agent network on Google ADK (see concepts/agent-network.md) │ ├── main.py # anyplot-agents service: the private /v1 API around the ADK runner │ ├── stream.py # anyplot/1 SSE translator and output sanitiser -│ ├── evals/fixtures/cases/ # Eval fixture cases (case.json + data.csv), also the adk web seed +│ ├── evals/ # Model-regression harness (see agents/README.md) +│ │ ├── matrix.py # Runs eval cases through /v1 in process; report, diff, gallery +│ │ ├── make_fixtures.py # Generates the 120 synthetic spike-X cases (seeded, rerunnable) +│ │ ├── cases.py # Case loading and --cases selection +│ │ ├── pricing.py # List prices and the cost of one model call +│ │ ├── report.py # Summary, baseline diff, Markdown, galleries; blind two-run gallery +│ │ ├── eligibility.py # Model-free sweep: which catalogue files can be adapted, and why not +│ │ ├── baselines/ # Committed baseline reports, one per model +│ │ ├── fixtures/cases/ # Eval cases (case.json + data.csv), also the adk web seed +│ │ └── reports/ # Run reports, renders and galleries (git-ignored) │ ├── renderer/ # anyplot-renderer service: runs the code in Cloud Run sandboxes, no ADK import │ │ ├── main.py # POST /render and GET /status behind the IAM caller check, one render slot │ │ ├── executor.py # sandbox do per theme: kill path, byte watchdog, launcher retry, bounded output diff --git a/tests/unit/agents/evals/__init__.py b/tests/unit/agents/evals/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/unit/agents/evals/conftest.py b/tests/unit/agents/evals/conftest.py new file mode 100644 index 0000000000..37123fd71f --- /dev/null +++ b/tests/unit/agents/evals/conftest.py @@ -0,0 +1,52 @@ +"""The runtime tests' fixtures, shared: a hermetic development environment, fake services, scripted models. + +The matrix harness drives the real `/v1` app, so its tests need exactly what +`tests/unit/agents/runtime/conftest.py` provides; the redundant aliases re-export +those fixtures here instead of copying them. +""" + +from html.parser import HTMLParser + +from ..runtime.conftest import backend as backend +from ..runtime.conftest import development_env as development_env +from ..runtime.conftest import judge as judge +from ..runtime.conftest import services as services +from ..runtime.conftest import swap_models as swap_models + + +VOID_ELEMENTS = frozenset({"area", "base", "br", "col", "embed", "hr", "img", "input", "link", "meta", "source", "wbr"}) + + +class HtmlChecker(HTMLParser): + """A strict-enough HTML check: a doctype, a title, and every non-void element closed in order.""" + + def __init__(self) -> None: + super().__init__(convert_charrefs=True) + self.stack: list[str] = [] + self.errors: list[str] = [] + self.doctype = False + self.titles = 0 + self.tags: list[tuple[str, dict[str, str | None]]] = [] + + def handle_decl(self, decl: str) -> None: + self.doctype = self.doctype or decl.lower() == "doctype html" + + def handle_starttag(self, tag: str, attrs: list[tuple[str, str | None]]) -> None: + self.tags.append((tag, dict(attrs))) + self.titles += tag == "title" + if tag not in VOID_ELEMENTS: + self.stack.append(tag) + + def handle_endtag(self, tag: str) -> None: + if not self.stack or self.stack[-1] != tag: + self.errors.append(f"unexpected with open {self.stack[-3:]}") + return + self.stack.pop() + + +def check_html(text: str) -> HtmlChecker: + """Parse `text` and return the checker; the caller asserts on it.""" + checker = HtmlChecker() + checker.feed(text) + checker.close() + return checker diff --git a/tests/unit/agents/evals/test_baselines.py b/tests/unit/agents/evals/test_baselines.py new file mode 100644 index 0000000000..3e583f1a32 --- /dev/null +++ b/tests/unit/agents/evals/test_baselines.py @@ -0,0 +1,22 @@ +"""The committed baselines: the pinned model has one, and each is a full report on synthetic cases only. + +`agents/evals/baselines/claude-haiku-5-5.json` is the first spike-X run on the Claude +arm (2026-10-10, written with `--save-baseline`). A model bump adds the new model's +baseline in the same PR, or this test fails on the new default. +""" + +from agents.anyplot.settings import AgentSettings +from agents.evals.matrix import BASELINES_DIR, is_error, load_baseline + + +def test_the_pinned_model_has_a_baseline() -> None: + committed = sorted(BASELINES_DIR.glob("*.json")) + assert committed, "no baseline is committed; the spike-X run of the pinned model writes it with --save-baseline" + pinned = AgentSettings.model_fields["model"].default + assert (BASELINES_DIR / f"{pinned}.json").is_file(), f"add baselines/{pinned}.json for the pinned model" + for path in committed: + baseline = load_baseline(path) + assert baseline["stamp"]["model"] == path.stem + assert not baseline.get("stopped"), f"{path.name} is a partial run" + assert {run["origin"] for run in baseline["runs"]} == {"fixtures"}, f"{path.name} holds promoted cases" + assert not any(is_error(run) for run in baseline["runs"]), f"{path.name} has runs that ended in an error" diff --git a/tests/unit/agents/evals/test_cases.py b/tests/unit/agents/evals/test_cases.py new file mode 100644 index 0000000000..da007308a5 --- /dev/null +++ b/tests/unit/agents/evals/test_cases.py @@ -0,0 +1,106 @@ +"""Eval case loading, validation and selection.""" + +import json +import shutil +from pathlib import Path + +import pytest + +from agents.anyplot.dev_fixture import CASES_DIR +from agents.evals.cases import CaseError, load_case, load_cases, select_cases + + +def _write(directory: Path, case: dict, data: str = "a,b\n1,2\n") -> Path: + directory.mkdir(parents=True) + (directory / "case.json").write_text(json.dumps(case)) + (directory / "data.csv").write_text(data) + return directory + + +VALID = { + "spec_id": "scatter-basic", + "library": "matplotlib", + "bindings": [{"role": "x", "column": "a"}, {"role": "y", "column": "b"}], + "expected": "rejected", + "tags": ["custom"], +} + + +def test_every_committed_case_loads() -> None: + cases = load_cases(promoted_dir=Path("/nonexistent")) + + assert len(cases) == 122 # 120 generated plus the two hand-written cases + assert [case.case_id for case in cases] == sorted(case.case_id for case in cases) + assert {case.origin for case in cases} == {"fixtures"} + hand_written = {case.case_id: case for case in cases if case.perturbation is None} + assert set(hand_written) == {"scatter-basic-matplotlib", "bar-grouped-seaborn"} + assert hand_written["bar-grouped-seaborn"].locale == "de" + + +def test_selection_by_smoke_full_and_globs() -> None: + cases = load_cases(promoted_dir=Path("/nonexistent")) + + smoke = select_cases(cases, "smoke") + assert len(smoke) == 12 and all("smoke" in case.tags for case in smoke) + assert select_cases(cases, "full") == cases + assert len(select_cases(cases, "*-seaborn-n5000")) == 10 + picked = select_cases(cases, "pie-basic-*, scatter-basic-matplotlib") + assert len(picked) == 13 and picked[-1].case_id == "scatter-basic-matplotlib" + assert select_cases(cases, "nothing-*") == [] + + +def test_a_case_reads_its_fields_and_builds_its_snapshot(tmp_path: Path) -> None: + directory = _write(tmp_path / "my-case", VALID) + (directory / "change_request.txt").write_text("make the markers bigger\n") + + case = load_case(directory, "promoted") + + assert (case.case_id, case.spec_id, case.library, case.locale) == ("my-case", "scatter-basic", "matplotlib", "en") + assert case.expected == "rejected" and case.tags == ("custom",) and case.origin == "promoted" + assert [binding.column for binding in case.bindings or []] == ["a", "b"] + assert case.change_request == "make the markers bigger" + assert case.data_text == "a,b\n1,2\n" + snapshot = case.snapshot() + assert snapshot.spec_id == "scatter-basic" and "THEME" in snapshot.code + + +@pytest.mark.parametrize( + ("change", "message"), + [ + ({"library": "excel"}, "not a catalogue library"), + ({"expected": "maybe"}, "expected must be one of"), + ({"spec_id": "Bad Spec"}, "spec_id is missing or invalid"), + ({"tags": "smoke"}, "tags must be a list"), + ({"bindings": [{"role": "x"}]}, "invalid binding"), + ], +) +def test_invalid_fields_are_refused(tmp_path: Path, change: dict, message: str) -> None: + directory = _write(tmp_path / "bad-case", {**VALID, **change}) + + with pytest.raises(CaseError, match=message): + load_case(directory) + + +def test_missing_files_and_bad_ids_are_refused(tmp_path: Path) -> None: + directory = tmp_path / "no-data" + directory.mkdir() + (directory / "case.json").write_text(json.dumps(VALID)) + with pytest.raises(CaseError, match="case.json and data.csv"): + load_case(directory) + with pytest.raises(CaseError, match="not a case id"): + load_case(_write(tmp_path / "Upper_Case", VALID)) + + +def test_promoted_cases_join_and_may_not_shadow_a_fixture(tmp_path: Path) -> None: + fixtures, promoted = tmp_path / "fixtures", tmp_path / ".cases" + shutil.copytree(CASES_DIR / "scatter-basic-matplotlib", fixtures / "scatter-basic-matplotlib") + _write(promoted / "user-case-1", VALID) + + cases = load_cases(fixtures, promoted) + assert [(case.case_id, case.origin) for case in cases] == [ + ("scatter-basic-matplotlib", "fixtures"), + ("user-case-1", "promoted"), + ] + shutil.copytree(fixtures / "scatter-basic-matplotlib", promoted / "scatter-basic-matplotlib") + with pytest.raises(CaseError, match="exists in both"): + load_cases(fixtures, promoted) diff --git a/tests/unit/agents/evals/test_eligibility.py b/tests/unit/agents/evals/test_eligibility.py new file mode 100644 index 0000000000..fbef102e0b --- /dev/null +++ b/tests/unit/agents/evals/test_eligibility.py @@ -0,0 +1,87 @@ +"""The catalogue eligibility sweep over a small catalogue: statuses, reason categories, rule ids, outputs.""" + +import json +import shutil +from pathlib import Path + +from agents.evals.eligibility import main, markdown, reason_category, security_rule, sweep + + +REPO_PLOTS = Path(__file__).resolve().parents[4] / "plots" +NO_THEME = """import matplotlib.pyplot as plt + +fig, ax = plt.subplots(figsize=(8, 4.5), dpi=400) +ax.plot([1, 2, 3], [4, 5, 6]) +plt.savefig("plot.png") +""" + + +def catalogue(root: Path) -> Path: + """Three pairs: an eligible original, a file without THEME and a single-theme target, and a banned import.""" + plots = root / "plots" + for spec, library, text in ( + ( + "scatter-basic", + "matplotlib", + (REPO_PLOTS / "scatter-basic/implementations/python/matplotlib.py").read_text(), + ), + ("plain-line", "matplotlib", NO_THEME), + ( + "scatter-basic", + "seaborn", + "import subprocess\n" + (REPO_PLOTS / "scatter-basic/implementations/python/seaborn.py").read_text(), + ), + ): + target = plots / spec / "implementations" / "python" / f"{library}.py" + target.parent.mkdir(parents=True, exist_ok=True) + target.write_text(text) + return plots + + +def test_reason_parsing() -> None: + assert reason_category('no-theme: no module-level THEME = os.getenv("ANYPLOT_THEME", ...)') == "no-theme" + assert security_rule("security: banned-import at line 1: import of subprocess") == "banned-import" + assert security_rule("security: url-literal: a URL literal") == "url-literal" + assert security_rule("security: 3 more findings") is None + assert security_rule("savefig-target: no savefig call") is None + + +def test_sweep_counts_statuses_categories_and_rules(tmp_path: Path) -> None: + result = sweep(catalogue(tmp_path)) + + matplotlib, seaborn = result["by_library"]["matplotlib"], result["by_library"]["seaborn"] + assert matplotlib["files"] == 2 and matplotlib["eligible"] == 1 and matplotlib["statuses"]["blocked"] == 1 + assert {"no-theme", "savefig-target"} <= set(matplotlib["blocked_by_category"]) + assert seaborn["statuses"]["blocked"] == 1 and seaborn["eligible_rate"] == 0.0 + assert seaborn["security_rules"] == {"banned-import": 1} + assert {(item["spec_id"], item["library"]) for item in result["blocked"]} == { + ("plain-line", "matplotlib"), + ("scatter-basic", "seaborn"), + } + text = markdown(result, "2026-10-10") + assert "| matplotlib | 2 | 1 (50.0 %) |" in text and "| `banned-import` | 0 | 1 |" in text + + +def test_main_writes_the_report(tmp_path: Path) -> None: + plots = catalogue(tmp_path) + + assert main(["--plots", str(plots), "--out", str(tmp_path / "out")]) == 0 + + (report_path,) = (tmp_path / "out").glob("*-eligibility.json") + report = json.loads(report_path.read_text()) + assert report["by_library"]["matplotlib"]["files"] == 2 + assert report_path.with_suffix(".md").read_text().startswith("# Catalogue eligibility") + assert main(["--plots", str(tmp_path / "missing"), "--out", str(tmp_path / "out")]) == 2 + + +def test_the_real_catalogue_keeps_most_pairs_eligible(tmp_path: Path) -> None: + """A smoke check over a copy of five real specs: the sweep runs on catalogue files as they are.""" + plots = tmp_path / "plots" + for spec in ("scatter-basic", "line-basic", "bar-grouped", "heatmap-basic", "pie-basic"): + shutil.copytree(REPO_PLOTS / spec / "implementations" / "python", plots / spec / "implementations" / "python") + + result = sweep(plots) + + for library in ("matplotlib", "seaborn"): + assert result["by_library"][library]["files"] == 5 + assert result["by_library"][library]["eligible"] == 5 diff --git a/tests/unit/agents/evals/test_make_fixtures.py b/tests/unit/agents/evals/test_make_fixtures.py new file mode 100644 index 0000000000..5d05e4aafc --- /dev/null +++ b/tests/unit/agents/evals/test_make_fixtures.py @@ -0,0 +1,158 @@ +"""The spike-X fixture generator: determinism, the committed files, the schema, and that every case can run.""" + +import csv +import io +import json +from collections import Counter + +import pytest + +from agents.anyplot.data.bindings import check_bindings +from agents.anyplot.data.parse import parse_dataset +from agents.anyplot.data.roles import parse_roles +from agents.anyplot.dev_fixture import CASES_DIR, snapshot_from_repo +from agents.anyplot.opening import assess +from agents.anyplot.schemas import Binding +from agents.anyplot.settings import AgentSettings +from agents.evals import make_fixtures +from agents.evals.make_fixtures import LIBRARIES, PERTURBATIONS, SMOKE_TAG, SPECS, case_id, render_cases + + +CASE_KEYS = {"spec_id", "library", "locale", "perturbation", "bindings", "expected", "tags", "source"} +FAMILIES = {"scatter", "line", "bar", "histogram", "box", "heatmap", "area", "violin", "pie", "time-series"} + + +@pytest.fixture(scope="module") +def files() -> dict[str, str]: + return render_cases() + + +def _rows(text: str, delimiter: str = ",") -> list[list[str]]: + return list(csv.reader(io.StringIO(text), delimiter=delimiter)) + + +def test_two_runs_write_identical_files(files: dict[str, str]) -> None: + assert render_cases() == files + + +def test_the_committed_cases_are_what_the_generator_writes() -> None: + """Rerun `uv run --extra agents python -m agents.evals.make_fixtures` after changing it or upgrading NumPy.""" + assert make_fixtures.stale_files() == [] + + +def test_check_mode_reports_a_stale_file(tmp_path, capsys: pytest.CaptureFixture[str]) -> None: + make_fixtures.write_cases(tmp_path) + assert make_fixtures.main(["--check", "--out", str(tmp_path)]) == 0 + (tmp_path / "pie-basic-seaborn-n12" / "data.csv").write_text("Expense Category,Amount (CHF)\n") + + assert make_fixtures.main(["--check", "--out", str(tmp_path)]) == 1 + assert "stale: pie-basic-seaborn-n12/data.csv" in capsys.readouterr().err + + +def test_ten_specs_of_ten_families_times_two_libraries_times_six_perturbations(files: dict[str, str]) -> None: + assert len(SPECS) == 10 and {spec.family for spec in SPECS} == FAMILIES + ids = {name.split("/")[0] for name in files} + assert len(ids) == 120 + assert ids == { + case_id(spec.spec_id, library, perturbation) + for spec in SPECS + for library in LIBRARIES + for perturbation in PERTURBATIONS + } + + +def test_case_json_schema(files: dict[str, str]) -> None: + for name, text in files.items(): + if not name.endswith("case.json"): + continue + case = json.loads(text) + assert set(case) == CASE_KEYS, name + assert case["expected"] == "accepted" + assert case["perturbation"] in PERTURBATIONS + assert case["library"] in LIBRARIES + assert case["bindings"] and all(set(item) == {"role", "column"} for item in case["bindings"]) + assert case["perturbation"] in case["tags"] and "synthetic" in case["tags"] + assert case["source"].startswith("synthetic: agents/evals/make_fixtures.py") + assert name.split("/")[0] == case_id(case["spec_id"], case["library"], case["perturbation"]) + + +def test_smoke_covers_every_perturbation_and_both_libraries(files: dict[str, str]) -> None: + smoke = [json.loads(text) for name, text in files.items() if name.endswith("case.json")] + smoke = [case for case in smoke if SMOKE_TAG in case["tags"]] + + assert len(smoke) == len(SPECS) + assert {case["spec_id"] for case in smoke} == {spec.spec_id for spec in SPECS} + assert {case["perturbation"] for case in smoke} == set(PERTURBATIONS) + assert {case["library"] for case in smoke} == set(LIBRARIES) + + +@pytest.mark.parametrize("spec", SPECS, ids=lambda spec: spec.spec_id) +def test_every_case_parses_binds_and_is_eligible(spec: make_fixtures.SpecFixture, files: dict[str, str]) -> None: + """The cases test the adaptation, never the parser: no warning, complete bindings, an eligible pair.""" + settings = AgentSettings() + for library in LIBRARIES: + snapshot = snapshot_from_repo(spec.spec_id, library) + eligibility, _ = assess(snapshot, library, settings) + assert eligibility.status in ("clean", "coupled"), (library, eligibility.reasons) + roles = parse_roles(snapshot.data_roles) + for perturbation in PERTURBATIONS: + directory = case_id(spec.spec_id, library, perturbation) + case = json.loads(files[f"{directory}/case.json"]) + parsed = parse_dataset(files[f"{directory}/data.csv"]) + assert parsed.warnings == [], directory + check = check_bindings([Binding(**item) for item in case["bindings"]], roles, parsed.profile) + assert check.complete and not check.errors, (directory, check.errors) + + +@pytest.mark.parametrize("spec", SPECS, ids=lambda spec: spec.spec_id) +def test_perturbations_change_what_they_name(spec: make_fixtures.SpecFixture, files: dict[str, str]) -> None: + def data(perturbation: str, delimiter: str = ",") -> list[list[str]]: + return _rows(files[f"{case_id(spec.spec_id, 'matplotlib', perturbation)}/data.csv"], delimiter) + + renamed, scaled = data("renamed"), data("x10") + assert renamed[0] != scaled[0] and len(renamed) == len(scaled) == spec.base_rows + 1 + columns = spec.make(make_fixtures._rng(spec, 0), spec.base_rows) + measures = [(index, column.decimals) for index, column in enumerate(columns) if column.measure] + assert measures + for index, decimals in measures: + rounding = 6 * 10**-decimals # both sides are rounded to the column's decimals + for before, after in zip(renamed[1:], scaled[1:], strict=True): + assert float(after[index]) == pytest.approx(float(before[index]) * 10, abs=rounding) + assert len(data("n12")) == 13 and len(data("n5000")) == 5001 + + dated = data("date") + header = dated[0] + dmy, iso = header.index(spec.date_names[0]), header.index(spec.date_names[1]) + assert all(row[dmy][2] == "." and row[dmy][5] == "." for row in dated[1:]) + assert all(row[iso][4] == "-" for row in dated[1:]) + + semicolon = data("decimal-comma", ";") + assert semicolon[0] == scaled[0] # the base headers + assert all(len(row) == len(semicolon[0]) for row in semicolon) + assert any("," in cell for row in semicolon[1:] for cell in row) + assert parse_dataset(files[f"{case_id(spec.spec_id, 'seaborn', 'decimal-comma')}/data.csv"]).profile.decimal == "," + + +def test_n5000_needs_aggregation_where_the_spec_draws_one_mark_per_group(files: dict[str, str]) -> None: + for spec in SPECS: + directory = case_id(spec.spec_id, "seaborn", "n5000") + rows = _rows(files[f"{directory}/data.csv"])[1:] + columns = spec.make(make_fixtures._rng(spec, 0), spec.base_rows) + groups = [index for index, column in enumerate(columns) if column.role and not column.measure] + repeats = Counter(tuple(row[index] for index in groups) for row in rows) + base = Counter(tuple(row[index] for index in groups) for row in _rows(to_text(spec, files))[1:]) + if spec.aggregates: + assert max(repeats.values()) > 1 and max(base.values()) == 1, spec.spec_id + tags = json.loads(files[f"{directory}/case.json"])["tags"] + assert ("aggregation" in tags) == spec.aggregates + + +def to_text(spec: make_fixtures.SpecFixture, files: dict[str, str]) -> str: + """The base data (the `x10` case keeps the base headers and rows).""" + return files[f"{case_id(spec.spec_id, 'seaborn', 'x10')}/data.csv"] + + +def test_the_hand_written_cases_stay() -> None: + for name in ("scatter-basic-matplotlib", "bar-grouped-seaborn"): + case = json.loads((CASES_DIR / name / "case.json").read_text()) + assert SMOKE_TAG in case["tags"] and case["expected"] == "accepted" diff --git a/tests/unit/agents/evals/test_matrix.py b/tests/unit/agents/evals/test_matrix.py new file mode 100644 index 0000000000..116ed2d177 --- /dev/null +++ b/tests/unit/agents/evals/test_matrix.py @@ -0,0 +1,623 @@ +"""The matrix harness over the two hand-written fixtures, with scripted models and the fake renderer. + +The models are the real `VertexClaude` over a fake Anthropic client (every call +reports 100 input and 20 output tokens), so the token booking and the cost come from +the same attribution lines a real run writes. Nothing here calls a model or a renderer. +""" + +import asyncio +import base64 +import json +import os +import subprocess +from pathlib import Path +from types import SimpleNamespace +from typing import Any +from unittest.mock import patch + +import httpx +import pytest + +from agents.anyplot.render.backends.fake import FakeBackend, FakeOutcome +from agents.anyplot.render.contract import RendererUnavailable, RenderJob, RenderResult +from agents.anyplot.run_queue import RunQueue +from agents.anyplot.services import Services +from agents.evals import matrix +from agents.evals.cases import EvalCase, load_cases, select_cases +from agents.evals.matrix import ( + EXIT_OK, + EXIT_OUTAGE, + EXIT_REGRESSION, + EXIT_SETUP, + EXIT_STOPPED, + MatrixConfig, + RenderToken, + configure, + parse_args, + parse_events, + run_matrix, +) +from agents.evals.report import Flip +from agents.main import Runtime + +from ..runtime.fakes import ROOT_REPLY, SCATTER_PLAN, VERDICT_OK +from .conftest import check_html + + +CALL_COST = (100 * 0.10 + 20 * 0.50) / 1e6 * 1.10 # one scripted call on claude-haiku-5-5 at eu list price +BAD_PLAN: dict[str, Any] = { + "edits": [{"find": "this text is not in the code", "replace": "df = load_user_data()"}], + "title": "Revenue by Quarter", + "changes": ["Plotted your data"], +} +EMPTY_PLAN: dict[str, Any] = {"edits": [], "changes": []} + + +def two_fixtures() -> list: + cases = select_cases(load_cases(promoted_dir=Path("/nonexistent")), "bar-grouped-seaborn,scatter-basic-matplotlib") + assert [case.case_id for case in cases] == ["bar-grouped-seaborn", "scatter-basic-matplotlib"] + return cases + + +def runtime() -> Runtime: + """One run at a time, without the one-start-a-minute window between the cases.""" + return Runtime(queue=RunQueue(concurrency=1, per_minute=1_000, max_wait_s=600)) + + +def script() -> dict[str, list[Any]]: + """bar-grouped: two plans whose edit matches nothing; scatter-basic: the working plan and a passing review.""" + return { + "root": [ + {"call": "plot_pipeline", "args": {}}, + {"text": "The plot could not be made."}, + {"call": "plot_pipeline", "args": {}}, + {"text": ROOT_REPLY}, + ], + "adapter": [{"json": BAD_PLAN}, {"json": BAD_PLAN}, {"json": SCATTER_PLAN}], + "reviewer": [{"json": VERDICT_OK}], + } + + +def config(tmp_path: Path, **fields: Any) -> MatrixConfig: + fields.setdefault("cases", "bar-grouped-seaborn,scatter-basic-matplotlib") + return MatrixConfig(out=tmp_path, **fields) + + +async def test_two_fixtures_through_the_real_flow( + tmp_path: Path, services: Services, swap_models, backend: FakeBackend +) -> None: + swap_models("anthropic-vertex", script()) + + result = await run_matrix( + two_fixtures(), config(tmp_path), services=services, runtime=runtime(), echo=lambda _: None + ) + + assert result.exit_code == EXIT_OK and result.diff is None + bar, scatter = result.report["runs"] + + assert (scatter["status"], scatter["attempts"], scatter["passed"], scatter["accept_match"]) == ("ok", 1, True, True) + assert scatter["llm_calls"] == 4 + assert scatter["llm_calls_by_agent"] == {"adapter_matplotlib": 1, "anyplot": 2, "reviewer": 1} + assert scatter["tokens"]["prompt"] == 400 and scatter["tokens"]["candidates"] == 80 + assert scatter["cost_usd"] == pytest.approx(4 * CALL_COST) + assert scatter["model_versions"] == ["claude-haiku-5-5"] + assert scatter["reviewer"] == {"verdict": "ok", "defects": []} + assert scatter["gate_failures"] == {} and scatter["adapter_outcomes"] == {"plan": 1} + assert len(scatter["render_s"]) == 1 and scatter["render_wall_s"] == [0.0] + assert 0 < scatter["ttfe_s"] <= scatter["e2e_s"] + assert scatter["png"] == "renders/scatter-basic-matplotlib-r1.png" + assert (tmp_path / scatter["png"]).read_bytes().startswith(b"\x89PNG") + + assert (bar["status"], bar["reason"], bar["attempts"]) == ("failed", "validation", 2) + assert bar["passed"] is False and bar["accept_match"] is False # it expects accepted, the run rejected + assert bar["edit_apply_failures"] >= 2 and bar["adapter_outcomes"] == {"plan": 2} + assert bar["llm_calls"] == 4 and bar["cost_usd"] == pytest.approx(4 * CALL_COST) + assert bar["png"] is None and bar["render_s"] == [] + + summary = result.report["summary"] + assert (summary["pass_rate"], summary["accept_match_rate"]) == (0.5, 0.5) + assert summary["cost_total_usd"] == pytest.approx(8 * CALL_COST) + assert summary["cost_per_success_usd"] == pytest.approx(8 * CALL_COST) + # The preflight renders each library's catalogue file once; then bar-grouped never reached the renderer. + assert [job.library for job in backend.jobs] == ["seaborn", "matplotlib", "matplotlib"] + assert [(job.themes, job.data_csv) for job in backend.jobs[:2]] == [(("light",), matrix.PREFLIGHT_DATA)] * 2 + assert "THEME" in backend.jobs[0].source and "load_user_data" not in backend.jobs[0].source + + stamp = result.report["stamp"] + assert (stamp["provider"], stamp["model"], stamp["location"], stamp["case_count"]) == ( + "anthropic-vertex", + "claude-haiku-5-5", + "eu", + 2, + ) + assert result.report_path.name == f"{stamp['date']}-claude-haiku-5-5.json" + assert json.loads(result.report_path.read_text())["runs"][1]["case_id"] == "scatter-basic-matplotlib" + assert "## Runs that did not pass" in result.summary_path.read_text() + + +async def test_outputs_include_both_gallery_pages(tmp_path: Path, services: Services, swap_models) -> None: + swap_models("anthropic-vertex", script()) + + result = await run_matrix( + two_fixtures(), config(tmp_path), services=services, runtime=runtime(), echo=lambda _: None + ) + + gallery = result.gallery_path.read_text() + checker = check_html(gallery) + assert checker.doctype and checker.errors == [] and checker.stack == [] + assert gallery.count('class="card"') == 1 # only scatter-basic shipped a render + assert "claude" not in gallery.lower() + every = (tmp_path / "gallery-all.html").read_text() + assert check_html(every).errors == [] and "bar-grouped-seaborn" in every + + +async def test_gate_failures_and_a_padded_canvas_do_not_pass( + tmp_path: Path, services: Services, swap_models, backend: FakeBackend +) -> None: + backend.script = lambda job, theme: FakeOutcome(size=(3100, 1800)) + swap_models( + "anthropic-vertex", + { + "root": [{"call": "plot_pipeline", "args": {}}, {"text": ROOT_REPLY}], + "adapter": [{"json": SCATTER_PLAN}, {"json": EMPTY_PLAN}], + "reviewer": [], + }, + ) + cases = select_cases(load_cases(promoted_dir=Path("/nonexistent")), "scatter-basic-matplotlib") + + result = await run_matrix( + cases, config(tmp_path, cases="scatter-basic-matplotlib"), services=services, runtime=runtime(), echo=print + ) + + (record,) = result.report["runs"] + assert (record["status"], record["attempts"]) == ("needs_attention", 2) + assert record["padded"] is True and record["passed"] is False + assert record["gate_failures"] == {"R3": 2} + assert record["reviewer"]["verdict"] is None # a padded canvas is never reviewed + assert record["residual_defects"][0] == "canvas padded after render (light)" + + +async def test_a_regression_against_the_baseline_exits_non_zero( + tmp_path: Path, services: Services, swap_models +) -> None: + swap_models("anthropic-vertex", script()) + first = await run_matrix( + two_fixtures(), config(tmp_path / "a"), services=services, runtime=runtime(), echo=lambda _: None + ) + baseline = json.loads(first.report_path.read_text()) + baseline["runs"][0]["passed"] = True # pretend bar-grouped passed in the baseline + baseline["summary"]["pass_rate"] = 1.0 + + swap_models("anthropic-vertex", script()) + second = await run_matrix( + two_fixtures(), + config(tmp_path / "b", baseline=baseline, baseline_path=Path("baseline.json")), + services=Services(backend_factory=FakeBackend, judge_factory=services.judge_factory), + runtime=runtime(), + echo=lambda _: None, + ) + + assert second.exit_code == EXIT_REGRESSION + assert second.diff is not None and second.diff.flipped == [Flip("bar-grouped-seaborn", 1, 1, 0, 1)] + assert "Against the baseline" in second.summary_path.read_text() + + swap_models("anthropic-vertex", script()) + same = await run_matrix( + two_fixtures(), + config(tmp_path / "c", baseline=json.loads(first.report_path.read_text())), + services=Services(backend_factory=FakeBackend, judge_factory=services.judge_factory), + runtime=runtime(), + echo=lambda _: None, + ) + assert same.exit_code == EXIT_OK and same.diff is not None and same.diff.flipped == [] + + +async def test_the_budget_stops_the_matrix(tmp_path: Path, services: Services, swap_models) -> None: + swap_models("anthropic-vertex", script()) + + result = await run_matrix( + two_fixtures(), + config(tmp_path, budget_usd=CALL_COST), # the first case alone costs four calls + services=services, + runtime=runtime(), + echo=lambda _: None, + ) + + assert result.exit_code == EXIT_STOPPED + assert result.report["stopped"] == "budget" and len(result.report["runs"]) == 1 + assert "Stopped early" in result.summary_path.read_text() + + +async def test_save_baseline_writes_the_model_file(tmp_path: Path, services: Services, swap_models) -> None: + swap_models("anthropic-vertex", script()) + + result = await run_matrix( + two_fixtures(), + config(tmp_path, save_baseline=True, baselines_dir=tmp_path / "baselines"), + services=services, + runtime=runtime(), + echo=lambda _: None, + ) + + assert result.baseline_written == tmp_path / "baselines" / "claude-haiku-5-5.json" + assert matrix.load_baseline(result.baseline_written)["summary"]["passed"] == 1 + + +def test_parse_events_times_each_event_by_its_chunk() -> None: + chunks = [ + (10.0, b'event: ready\ndata: {"v":"anyplot/1"}\n\n'), + (10.5, b'event: status\ndata: {"step":"queued","position":1,"waiting":1}\n\n'), + (11.0, b'event: status\ndata: {"step":"adapting","attempt":1}\n\nevent: do'), + (12.0, 'ne\ndata: {"llm_calls":4,"tokens":10,"note":"é"}\n\n'.encode()), + ] + + events = parse_events(chunks, started=9.0) + + assert [(at, name) for at, name, _ in events] == [(1.0, "ready"), (1.5, "status"), (2.0, "status"), (3.0, "done")] + assert events[-1][2]["note"] == "é" + + +def test_configure_picks_the_provider_defaults_and_keeps_the_rest() -> None: + environ: dict[str, str] = {"AGENT_RENDERER": "fake", "AGENT_DEV_FIXTURE": "scatter-basic-matplotlib"} + configure(parse_args(["--provider", "gemini"]), environ) + + assert (environ["AGENT_PROVIDER"], environ["AGENT_MODEL"], environ["AGENT_JUDGE_MODEL"]) == ( + "gemini", + "gemini-3.8-flash", + "gemini-3.5-flash-lite", + ) + assert environ["AGENT_RENDERER"] == "fake" # the environment's renderer stays when no flag names one + assert environ["ENVIRONMENT"] == "development" and environ["PYTHON_DOTENV_DISABLED"] == "1" + assert "AGENT_DEV_FIXTURE" not in environ + assert environ["AGENT_RUNS_PER_MINUTE"] == "60" + + claude: dict[str, str] = {"ENVIRONMENT": "test"} + configure(parse_args(["--model", "claude-haiku-5-5", "--renderer", "remote", "--render-url", "https://r"]), claude) + assert (claude["AGENT_PROVIDER"], claude["AGENT_JUDGE_MODEL"]) == ("anthropic-vertex", "claude-haiku-5-5") + # A developer's renderer token is accepted only in development, whatever the shell exported. + assert (claude["AGENT_RENDERER"], claude["AGENT_RENDER_URL"], claude["ENVIRONMENT"]) == ( + "remote", + "https://r", + "development", + ) + + fake: dict[str, str] = {"ENVIRONMENT": "test"} + configure(parse_args(["--renderer", "fake"]), fake) + assert fake["ENVIRONMENT"] == "test" # the fake renderer runs in test as well + + on_cloud_run: dict[str, str] = {"ENVIRONMENT": "production", "K_SERVICE": "anyplot-agents"} + configure(parse_args(["--renderer", "remote"]), on_cloud_run) + assert on_cloud_run["ENVIRONMENT"] == "production" + + +def test_configure_refuses_contradictions() -> None: + with pytest.raises(matrix.SetupError, match="needs --renderer remote"): + configure(parse_args(["--renderer", "fake", "--render-url", "https://r"]), {}) + with pytest.raises(matrix.SetupError, match="--gcloud-token needs --renderer remote"): + configure(parse_args(["--renderer", "fake", "--gcloud-token"]), {}) + with pytest.raises(matrix.SetupError, match="cannot tell the provider"): + configure(parse_args(["--model", "llama-9"]), {}) + with pytest.raises(SystemExit): + parse_args(["--repeats", "0"]) + + +def test_main_exits_2_when_no_case_matches(tmp_path: Path) -> None: + with patch.dict(os.environ): + code = matrix.main(["--cases", "no-such-case-*", "--renderer", "fake", "--out", str(tmp_path)]) + + assert code == EXIT_SETUP + assert not any(tmp_path.iterdir()) # nothing ran, nothing was written + + +def test_interrupt_writes_the_partial_report(tmp_path: Path, services: Services, swap_models) -> None: + swap_models("anthropic-vertex", script()) + + async def interrupted() -> None: + task = asyncio.ensure_future( + run_matrix(two_fixtures(), config(tmp_path), services=services, runtime=runtime(), echo=lambda _: None) + ) + await asyncio.sleep(0) + task.cancel() + with pytest.raises(asyncio.CancelledError): + await task + + asyncio.run(interrupted()) + + (report_path,) = tmp_path.glob("*.json") + assert json.loads(report_path.read_text())["stopped"] == "interrupted" + + +# --- Preflight, outages, harness errors, the budget and the renderer token --------------------- + + +class DownBackend: + """A renderer that refuses every job, as the remote backend does with an expired token.""" + + name = "remote" + + def __init__(self) -> None: + self.jobs: list[RenderJob] = [] + + async def render(self, job: RenderJob) -> RenderResult: + self.jobs.append(job) + raise RendererUnavailable("the renderer refused this caller (HTTP 401)") + + +def jwt(expiry: float) -> str: + """An unsigned token shape with an `exp` claim, as `gcloud auth print-identity-token` prints one.""" + payload = base64.urlsafe_b64encode(json.dumps({"exp": expiry}).encode()).decode().rstrip("=") + return f"e30.{payload}.c2ln" + + +def scripted_records(outcome: dict[str, dict[str, Any]]) -> Any: + """A `CaseRunner.run` replacement: each case's record takes the fields `outcome` gives its case id.""" + + async def run(self: matrix.CaseRunner, case: EvalCase, repeat: int) -> dict[str, Any]: + record = matrix.base_record(case, repeat) + record.update(outcome[case.case_id]) + matrix.finish_record(record) + return record + + return run + + +async def test_a_preflight_that_cannot_render_stops_before_the_first_case( + tmp_path: Path, services: Services, swap_models, backend: FakeBackend +) -> None: + backend.script = lambda job, theme: FakeOutcome( + exit_code=1, stderr_tail="Traceback (most recent call last):\nModuleNotFoundError: No module named 'seaborn'" + ) + swap_models("anthropic-vertex", script()) + + with pytest.raises(matrix.SetupError, match=r"preflight render of bar-grouped \(seaborn\) failed: exit code 1"): + await run_matrix(two_fixtures(), config(tmp_path), services=services, runtime=runtime(), echo=lambda _: None) + + assert len(backend.jobs) == 1 and not any(tmp_path.iterdir()) # no case ran, nothing was written + + down = DownBackend() + with pytest.raises(matrix.SetupError, match="HTTP 401"): + await run_matrix( + two_fixtures(), + config(tmp_path), + services=Services(backend_factory=lambda: down, judge_factory=services.judge_factory), + runtime=runtime(), + echo=lambda _: None, + ) + + +async def test_a_renderer_outage_stops_the_run_and_saves_no_baseline( + tmp_path: Path, services: Services, swap_models +) -> None: + swap_models("anthropic-vertex", script()) + lines: list[str] = [] + + result = await run_matrix( + two_fixtures(), + config(tmp_path, preflight=False, save_baseline=True, baselines_dir=tmp_path / "baselines"), + services=Services(backend_factory=DownBackend, judge_factory=services.judge_factory), + runtime=runtime(), + echo=lines.append, + ) + + assert result.exit_code == EXIT_OUTAGE and result.report["stopped"] == "outage" + scatter = result.report["runs"][1] + assert (scatter["status"], scatter["reason"], scatter["pipeline_error"]) == ( + "failed", + "error", + "RendererUnavailable", + ) + assert scatter["render_s"] == [] and scatter["gate_failures"] == {} + assert any("renderer became unavailable during scatter-basic-matplotlib" in line for line in lines) + assert result.baseline_written is None and not (tmp_path / "baselines").exists() + assert "(RendererUnavailable)" in result.summary_path.read_text() + + +async def test_three_errors_in_a_row_stop_the_run( + tmp_path: Path, services: Services, monkeypatch: pytest.MonkeyPatch +) -> None: + failed = {"status": "failed", "reason": "error", "attempts": 1, "pipeline_error": "InternalServerError"} + monkeypatch.setattr( + matrix.CaseRunner, "run", scripted_records({"bar-grouped-seaborn": failed, "scatter-basic-matplotlib": failed}) + ) + + result = await run_matrix( + two_fixtures(), config(tmp_path, repeats=2), services=services, runtime=runtime(), echo=lambda _: None + ) + + assert result.exit_code == EXIT_OUTAGE and len(result.report["runs"]) == matrix.MAX_ERRORS_IN_A_ROW + + +async def test_harness_errors_count_as_failures_and_exit_1( + tmp_path: Path, services: Services, monkeypatch: pytest.MonkeyPatch +) -> None: + monkeypatch.setattr( + matrix.CaseRunner, + "run", + scripted_records( + { + "bar-grouped-seaborn": {"error": "KeyError"}, # the base record's status is harness_error + "scatter-basic-matplotlib": {"status": "ok", "attempts": 1}, + } + ), + ) + + result = await run_matrix( + two_fixtures(), + config(tmp_path, save_baseline=True, baselines_dir=tmp_path / "baselines"), + services=services, + runtime=runtime(), + echo=lambda _: None, + ) + + summary = result.report["summary"] + assert (summary["harness_errors"], summary["passed"], summary["pass_rate"]) == (1, 1, 0.5) + assert result.exit_code == EXIT_REGRESSION + assert any("crashed in the harness" in note for note in result.notes) + assert result.baseline_written is None and any("ended in an error" in note for note in result.notes) + + +async def test_the_budget_stops_before_a_case_that_could_pass_it( + tmp_path: Path, services: Services, swap_models +) -> None: + swap_models("anthropic-vertex", script()) + lines: list[str] = [] + + result = await run_matrix( + two_fixtures(), + config(tmp_path, budget_usd=6 * CALL_COST), # the first case costs 4 calls; another like it would pass 6 + services=services, + runtime=runtime(), + echo=lines.append, + ) + + assert result.exit_code == EXIT_STOPPED and len(result.report["runs"]) == 1 + assert any("costliest case so far" in line for line in lines) + + +async def test_the_render_token_is_renewed_before_it_expires(services: Services) -> None: + built: list[FakeBackend] = [] + + def factory() -> FakeBackend: + built.append(FakeBackend()) + return built[-1] + + environ = {"AGENT_RENDER_TOKEN": jwt(1_300)} + minted: list[str] = [] + + def mint() -> str: + minted.append(jwt(4_600)) + return minted[-1] + + current = Services(backend_factory=factory, judge_factory=services.judge_factory) + serial = current.backend + token = RenderToken(environ, mint=mint, clock=lambda: 1_000.0) + + assert token.due() # 300 s left, inside the 600 s margin + assert await token.renew(current) is True + assert current.backend is serial and serial.backend is built[1] # same semaphore, a backend with the new token + assert environ["AGENT_RENDER_TOKEN"] == minted[0] and matrix.token_expiry(minted[0]) == 4_600 + assert await token.renew(current) is False and len(minted) == 1 + + +def test_token_helpers_never_print_the_token(monkeypatch: pytest.MonkeyPatch) -> None: + assert matrix.token_expiry("not-a-jwt") is None and matrix.token_expiry("a.%%%.c") is None + note = matrix.token_note({"AGENT_RENDER_TOKEN": jwt(1_000 + 1_800)}, clock=lambda: 1_000.0) + assert note is not None and "expires in 30 min" in note and "e30." not in note + assert matrix.token_note({}) is None + + def failing(*args: Any, **kwargs: Any) -> subprocess.CompletedProcess[str]: + return subprocess.CompletedProcess(args[0], 1, stdout="", stderr="ERROR: not logged in") + + monkeypatch.setattr(matrix.subprocess, "run", failing) + with pytest.raises(matrix.SetupError, match="exit 1"): + matrix.gcloud_token() + + +def test_a_baseline_is_refused_for_runs_that_ended_in_an_error(tmp_path: Path) -> None: + good = {"case_id": "a-matplotlib-x", "origin": "fixtures", "status": "ok", "reason": None} + report = {"stamp": {"model": "claude-haiku-5-5"}, "stopped": None, "runs": [good]} + + path, note = matrix.write_baseline(report, tmp_path) + assert path == tmp_path / "claude-haiku-5-5.json" and note is None + + report["runs"] = [good, {**good, "case_id": "b-seaborn-x", "status": "failed", "reason": "error"}] + path, note = matrix.write_baseline(report, tmp_path / "other") + assert path is None and note is not None and "b-seaborn-x" in note + + +def test_is_error_counts_the_services_errors_and_an_error_event_with_a_plot() -> None: + """An outage or a bug, never the model's quality: these runs stop the matrix and keep a baseline from being written.""" + for run in ( + {"status": "error", "reason": "capacity"}, # the turn was refused + {"status": "error", "reason": "no_result"}, + {"status": "error", "reason": "no_png"}, # a shipped plot without its PNG + {"status": "harness_error", "error": "KeyError"}, + {"status": "failed", "reason": "error"}, # the pipeline's own error + {"status": "ok", "error": "deadline"}, # an error event came with the plot + ): + assert matrix.is_error(run), run + for run in ( + {"status": "ok", "reason": None, "error": None, "pipeline_error": None}, + {"status": "failed", "reason": "validation"}, + {"status": "dataset_refused", "reason": "data_refused"}, + {"status": "bindings_invalid", "reason": "invalid"}, + {"status": "not_eligible", "reason": "not_eligible"}, + ): + assert not matrix.is_error(run), run + + +def runner_over(handler: Any, tmp_path: Path) -> matrix.CaseRunner: + """A case runner whose requests `handler` answers; the attribution is not booked.""" + client = httpx.AsyncClient(transport=httpx.MockTransport(handler), base_url="http://evals") + return matrix.CaseRunner( + client=client, + timed=SimpleNamespace(chunks=[]), # type: ignore[arg-type] + collector=SimpleNamespace(take=lambda _: []), # type: ignore[arg-type] + settings=None, # type: ignore[arg-type] + renders_dir=tmp_path / "renders", + ) + + +async def test_a_judge_outage_on_the_dataset_route_is_an_error_not_a_refusal( + tmp_path: Path, monkeypatch: pytest.MonkeyPatch +) -> None: + """`503 guard_unavailable` is the service's failure: it counts towards the outage stop, unlike a refusal of the data.""" + monkeypatch.setattr(matrix, "book_attribution", lambda *_: None) + case = two_fixtures()[0] + outcomes = [] + answers = iter([(503, "guard_unavailable"), (403, "data_refused"), (422, "unparseable"), (413, "too_long")]) + + def handler(_: httpx.Request) -> httpx.Response: + status, detail = next(answers) + return httpx.Response(status, json={"detail": detail}) + + runner = runner_over(handler, tmp_path) + for _ in range(4): + record = matrix.base_record(case, 1) + went_on = await runner._dataset(record, case, "sid", {"X-Anyplot-User": "u", "X-Request-Id": "r-d"}) + outcomes.append((went_on, record["status"], record["reason"], matrix.is_error(record))) + + assert outcomes == [ + (False, "error", "guard_unavailable", True), + (False, "dataset_refused", "data_refused", False), + (False, "dataset_refused", "unparseable", False), + (False, "dataset_refused", "too_long", False), + ] + + +async def test_a_service_failure_on_the_bindings_route_is_an_error(tmp_path: Path) -> None: + answers = iter([(503, "capacity"), (422, "invalid")]) + + def handler(_: httpx.Request) -> httpx.Response: + status, detail = next(answers) + return httpx.Response(status, json={"detail": detail}) + + runner = runner_over(handler, tmp_path) + case = next(case for case in two_fixtures() if case.bindings) + outcomes = [] + for _ in range(2): + record = matrix.base_record(case, 1) + went_on = await runner._bindings(record, case, "sid", {"X-Anyplot-User": "u", "X-Request-Id": "r-b"}) + outcomes.append((went_on, record["status"], matrix.is_error(record))) + + assert outcomes == [(False, "error", True), (False, "bindings_invalid", False)] + + +async def test_a_shipped_plot_without_its_png_is_an_error_not_a_pass(tmp_path: Path) -> None: + """The galleries cannot show such a run and a baseline must not count it.""" + runner = runner_over(lambda _: httpx.Response(404, json={"detail": "not_found"}), tmp_path) + case = two_fixtures()[0] + headers = {"X-Anyplot-User": "u", "X-Request-Id": "r-a"} + + without = matrix.base_record(case, 1) + without["status"] = "ok" + await runner._save_png(without, case, 1, "sid", {"artifacts": ["plot.py", "data.csv"]}, headers) + unfetchable = matrix.base_record(case, 1) + unfetchable["status"] = "needs_attention" + await runner._save_png(unfetchable, case, 1, "sid", {"artifacts": ["plot-light.png", "plot.py"]}, headers) + + for record in (without, unfetchable): + matrix.finish_record(record) + assert (record["status"], record["reason"], record["passed"]) == ("error", "no_png", False) + assert matrix.is_error(record) and record["png"] is None + assert not (tmp_path / "renders").exists() diff --git a/tests/unit/agents/evals/test_report.py b/tests/unit/agents/evals/test_report.py new file mode 100644 index 0000000000..b662b2556b --- /dev/null +++ b/tests/unit/agents/evals/test_report.py @@ -0,0 +1,359 @@ +"""Pricing, the report summary, the baseline diff, the Markdown and the review galleries, on synthetic runs.""" + +import json +import re +from pathlib import Path +from typing import Any + +import pytest + +from agents.anyplot.render.backends.fake import fixture_png +from agents.evals import pricing +from agents.evals.report import ( + Flip, + blind_gallery, + compare, + diff_markdown, + gallery_all_html, + gallery_html, + main, + passed_runs, + percentile, + sample_runs, + score, + summarize, + summary_markdown, +) + +from .conftest import check_html + + +def run(case_id: str, **fields: Any) -> dict[str, Any]: + record: dict[str, Any] = { + "case_id": case_id, + "repeat": 1, + "spec_id": case_id.rsplit("-", 2)[0], + "library": "matplotlib", + "perturbation": "renamed", + "expected": "accepted", + "origin": "fixtures", + "status": "ok", + "reason": None, + "attempts": 1, + "passed": True, + "accept_match": True, + "cost_usd": 0.001, + "e2e_s": 20.0, + "ttfe_s": 1.0, + "render_s": [3.0], + "llm_calls": 4, + "tokens": {"prompt": 1000, "candidates": 100}, + "gate_failures": {}, + "validator_rejections": {}, + "adapter_outcomes": {"plan": 1}, + "edit_apply_failures": 0, + "reviewer": {"verdict": "ok", "defects": []}, + "residual_defects": [], + "png": None, + } + record.update(fields) + return record + + +def report_of(runs: list[dict[str, Any]], **stamp: Any) -> dict[str, Any]: + return { + "schema": 1, + "stamp": {"model": "claude-haiku-5-5", "date": "2026-10-10", "run_id": "abc123def456", **stamp}, + "summary": summarize(runs), + "runs": runs, + "stopped": None, + } + + +# --- Pricing ------------------------------------------------------------------------------- + + +def test_claude_call_at_list_price_on_eu() -> None: + cost = pricing.call_cost("claude-haiku-5-5", "eu", {"prompt": 10_000, "candidates": 2_000}) + + assert cost == pytest.approx((10_000 * 0.10 + 2_000 * 0.50) / 1e6 * 1.10) + + +def test_cached_and_cache_write_tokens_have_their_own_rate() -> None: + tokens = {"prompt": 10_000, "cached": 8_000, "cache_write": 1_000, "candidates": 500, "thoughts": 500} + + cost = pricing.call_cost("gemini-3.8-flash", "global", tokens) + + expected_input = 1_000 * 1.50 + 8_000 * 1.50 * 0.10 + 1_000 * 1.50 * 1.25 + assert cost == pytest.approx((expected_input + 1_000 * 7.50) / 1e6) + + +def test_the_eu_prices_of_the_design() -> None: + assert pricing.call_cost("gemini-3.8-flash", "eu", {"prompt": 1_000_000}) == pytest.approx(1.65) + assert pricing.call_cost("gemini-3.8-flash", "eu", {"candidates": 1_000_000}) == pytest.approx(8.25) + assert pricing.judge_cost("gemini-3.5-flash-lite", "eu", 1_000_000, 1_000_000) == pytest.approx(0.33 + 2.75) + + +def test_an_unpriced_model_is_an_error() -> None: + with pytest.raises(pricing.UnknownPrice, match="add it to agents/evals/pricing.py"): + pricing.call_cost("gemini-9-flash", "eu", {"prompt": 1}) + + +# --- Summary and diff ---------------------------------------------------------------------- + + +def test_percentile_interpolates() -> None: + assert percentile([], 0.5) is None + assert percentile([4.0, 1.0, 3.0, 2.0], 0.5) == 2.5 + assert percentile(list(range(1, 101)), 0.95) == pytest.approx(95.05) + + +def test_summary_counts_rates_and_cost() -> None: + runs = [ + run("scatter-basic-matplotlib-renamed", cost_usd=0.002), + run("pie-basic-seaborn-n12", library="seaborn", perturbation="n12", attempts=2, status="needs_attention"), + run("box-basic-matplotlib-x10", perturbation="x10", status="failed", passed=False, accept_match=False), + run("line-basic-seaborn-date", status="harness_error", passed=False, accept_match=None, cost_usd=0.0), + ] + + summary = summarize(runs) + + assert (summary["runs"], summary["counted"], summary["harness_errors"]) == (4, 3, 1) + assert summary["pass_rate"] == pytest.approx(2 / 4) # the harness error counts as a run that did not pass + assert summary["repaired_passes"] == 1 + assert summary["ok_rate"] == pytest.approx(1 / 4) + assert summary["accept_match_rate"] == pytest.approx(2 / 3) # a harness error has no outcome to match + assert summary["cost_total_usd"] == pytest.approx(0.004) + assert summary["cost_per_success_usd"] == pytest.approx(0.002) + assert summary["median_cost_per_success_usd"] == pytest.approx(0.0015) + assert summary["by_perturbation"]["x10"] == {"runs": 1, "passed": 0, "ok": 0, "pass_rate": 0.0} + assert summary["statuses"] == {"failed": 1, "harness_error": 1, "needs_attention": 1, "ok": 1} + + +def test_diff_flags_a_regression_beyond_the_tolerance_and_lists_flips() -> None: + baseline = report_of([run("a-matplotlib-x"), run("b-matplotlib-x"), run("c-matplotlib-x")]) + candidate = report_of([run("a-matplotlib-x"), run("b-matplotlib-x", passed=False), run("c-matplotlib-x")]) + + diff = compare(baseline, candidate, tolerance=0.05) + + assert diff.regression + assert diff.flipped == [Flip("b-matplotlib-x", 1, 1, 0, 1)] + rows = {label: (base, cand, change) for label, base, cand, change in diff.rows} + assert rows["Pass rate"] == ("100.0 %", "66.7 %", "-33.3 pp") + assert rows["Runs compared"] == ("3", "3", "") + markdown = diff_markdown(diff) + assert "| Metric | Baseline | This run | Change |" in markdown + assert "- `b-matplotlib-x`: pass → fail" in markdown and "**Regression**" in markdown + assert "One run is 33.3 pp of the 3 compared runs" in markdown + + assert not compare(baseline, candidate, tolerance=0.5).regression + assert not compare(baseline, baseline, tolerance=0.0).regression + + +def test_diff_without_a_shared_case_compares_nothing() -> None: + diff = compare(report_of([run("a-matplotlib-x")]), report_of([run("b-matplotlib-x")]), tolerance=0.05) + + assert (diff.shared_cases, diff.only_in_baseline, diff.only_in_candidate) == (0, 1, 1) + assert diff.flipped == [] and not diff.regression and "No case is in both" in diff.notes[0] + + +def test_a_smoke_run_is_compared_on_the_baselines_same_cases() -> None: + full = [run(f"case-{index:02d}-matplotlib-x") for index in range(20)] + for index in (0, 5, 9): + full[index] = run(f"case-{index:02d}-matplotlib-x", passed=False, status="failed") + baseline = report_of(full) # 17 of 20 passed: 85 % + smoke = report_of([dict(full[index]) for index in (0, 1, 2, 3)]) # the same outcomes: 3 of 4 passed + + diff = compare(baseline, smoke, tolerance=0.05) + + assert diff.shared_cases == 4 and diff.flipped == [] and not diff.regression + rows = {label: (base, cand) for label, base, cand, _ in diff.rows} + assert rows["Pass rate"] == ("75.0 %", "75.0 %") + assert rows["Pass rate, all runs of each report"] == ("85.0 %", "75.0 %") + assert "16 cases are only in the baseline" in " ".join(diff.notes) + + worse = report_of([dict(full[index]) for index in (0, 1, 2)] + [run("case-03-matplotlib-x", passed=False)]) + assert compare(baseline, worse, tolerance=0.05).flipped == [Flip("case-03-matplotlib-x", 1, 1, 0, 1)] + assert compare(baseline, worse, tolerance=0.05).regression + + +def test_harness_errors_cannot_hide_a_regression() -> None: + baseline = report_of([run(f"case-{index:02d}-matplotlib-x") for index in range(20)]) + crashed = [run(f"case-{index:02d}-matplotlib-x") for index in range(4)] + crashed += [ + run(f"case-{index:02d}-matplotlib-x", status="harness_error", passed=False, accept_match=None) + for index in range(4, 20) + ] + + diff = compare(baseline, report_of(crashed), tolerance=0.05) + + assert diff.regression and len(diff.flipped) == 16 + + +def test_flips_with_repeats_compare_the_share_of_passed_runs() -> None: + baseline = report_of([run("a-matplotlib-x", repeat=1), run("a-matplotlib-x", repeat=2, passed=False)]) + same_share = report_of([run("a-matplotlib-x", repeat=1, passed=False), run("a-matplotlib-x", repeat=2)]) + worse = report_of([run("a-matplotlib-x", repeat=1, passed=False), run("a-matplotlib-x", repeat=2, passed=False)]) + + assert compare(baseline, same_share, tolerance=0.05).flipped == [] + (flip,) = compare(baseline, worse, tolerance=0.05).flipped + assert flip == Flip("a-matplotlib-x", 1, 2, 0, 2) + assert "1 of 2 passed → 0 of 2" in diff_markdown(compare(baseline, worse, tolerance=0.05)) + + +def test_summary_markdown_has_every_section() -> None: + runs = [run("a-matplotlib-x"), run("b-matplotlib-x", status="failed", reason="render", passed=False)] + report = report_of(runs, provider="anthropic-vertex", location="eu", renderer="fake") + diff = compare(report, report, tolerance=0.05) + + text = summary_markdown(report, diff) + + for heading in ("## Results", "## By perturbation", "## By library", "## By spec", "## Against the baseline"): + assert heading in text + assert "## Runs that did not pass" in text and "`b-matplotlib-x`" in text + + +# --- Galleries ------------------------------------------------------------------------------ + + +@pytest.fixture +def rendered(tmp_path: Path) -> dict[str, Any]: + (tmp_path / "renders").mkdir() + png = fixture_png("light", (320, 180)) + runs = [] + for index in range(40): + name = f"case-{index:02d}-matplotlib-x10" + (tmp_path / "renders" / f"{name}-r1.png").write_bytes(png) + runs.append(run(name, png=f"renders/{name}-r1.png", residual_defects=["VQ-03 (light): markers"])) + runs.append(run("failed-matplotlib-x10", status="failed", passed=False)) + (tmp_path / "renders" / "padded-matplotlib-x10-r1.png").write_bytes(png) + runs.append( + run( + "padded-matplotlib-x10", + status="needs_attention", + passed=False, + padded=True, + png="renders/padded-matplotlib-x10-r1.png", + ) + ) + return report_of(runs, provider="anthropic-vertex") + + +def test_gallery_is_valid_blind_html_with_thirty_judgeable_renders(rendered: dict[str, Any], tmp_path: Path) -> None: + text = gallery_html(rendered, tmp_path, seed=7) + + checker = check_html(text) + assert checker.doctype and checker.titles == 1 and checker.errors == [] and checker.stack == [] + images = [attrs for tag, attrs in checker.tags if tag == "img"] + assert len(images) == 30 and all(str(attrs["src"]).startswith("data:image/png;base64,") for attrs in images) + boxes = [attrs for tag, attrs in checker.tags if tag == "input"] + assert len(boxes) == 60 and {attrs["data-choice"] for attrs in boxes} == {"accept", "reject"} + items = json.loads(re.search(r'', text, re.S).group(1)) + assert len(items) == 30 and len({item["key"] for item in items}) == 30 + assert "<small>" in text # residual lines are escaped + assert "claude" not in text.lower() and "anthropic" not in text.lower() # blind to the arm + assert 'id="export"' in text and "acceptance_rate" in text + + +def test_gallery_sample_is_seeded_and_holds_passed_renders_only(rendered: dict[str, Any]) -> None: + first = [item["case_id"] for item in sample_runs(rendered, seed=3)] + assert first == [item["case_id"] for item in sample_runs(rendered, seed=3)] + assert first != [item["case_id"] for item in sample_runs(rendered, seed=4)] + assert len(sample_runs(rendered, size=50)) == 40 # never more than the passed renders + assert "padded-matplotlib-x10" not in {run["case_id"] for run in passed_runs(rendered)} # shipped, not passed + + +def test_gallery_all_lists_every_run(rendered: dict[str, Any]) -> None: + text = gallery_all_html(rendered) + + checker = check_html(text) + assert checker.doctype and checker.errors == [] and checker.stack == [] + assert text.count("") == 43 # the header row and 42 runs + assert 'src="renders/case-00-matplotlib-x10-r1.png"' in text + + +def test_an_empty_report_still_renders(tmp_path: Path) -> None: + empty = report_of([]) + + assert check_html(gallery_html(empty, tmp_path)).errors == [] + assert "No passed render" in gallery_html(empty, tmp_path) + + +# --- The blind gallery over two runs --------------------------------------------------------- + + +def two_arms(tmp_path: Path) -> list[tuple[dict[str, Any], Path]]: + """Two runs in their own folders: 12 cases pass in both, 3 only in the first, 2 only in the second.""" + png = fixture_png("light", (320, 180)) + arms = [] + for arm, model, provider, cases in ( + ("claude", "claude-haiku-5-5", "anthropic-vertex", [*range(12), 12, 13, 14]), + ("gemini", "gemini-3.8-flash", "gemini", [*range(12), 15, 16]), + ): + folder = tmp_path / arm + (folder / "renders").mkdir(parents=True) + runs = [] + for index in cases: + name = f"case-{index:02d}-seaborn-n12" + (folder / "renders" / f"{name}-r1.png").write_bytes(png) + runs.append(run(name, library="seaborn", png=f"renders/{name}-r1.png")) + arms.append((report_of(runs, model=model, provider=provider, run_id=f"run-{arm}"), folder)) + return arms + + +def test_blind_gallery_shows_both_runs_of_the_same_cases_without_naming_them(tmp_path: Path) -> None: + page, key = blind_gallery(two_arms(tmp_path), size=5, seed=1) + + checker = check_html(page) + assert checker.doctype and checker.errors == [] and checker.stack == [] + assert len([attrs for tag, attrs in checker.tags if tag == "img"]) == 10 + for word in ("claude", "anthropic", "gemini", "run-claude", "run-gemini"): + assert word not in page.lower() + assert (key["cases"], key["common_cases"], len(key["items"])) == (5, 12, 10) + by_case: dict[str, set[str]] = {} + for item in key["items"].values(): + by_case.setdefault(item["case_id"], set()).add(item["arm"]) + assert len(by_case) == 5 and all(arms == {"a", "b"} for arms in by_case.values()) + assert all(int(case[5:7]) < 12 for case in by_case) # only cases both runs passed + assert key["arms"]["a"]["model"] == "claude-haiku-5-5" and key["arms"]["b"]["model"] == "gemini-3.8-flash" + assert f'data-run="{key["blind_id"]}"' in page + + +def test_score_joins_the_export_to_the_key(tmp_path: Path) -> None: + _, key = blind_gallery(two_arms(tmp_path), size=4, seed=2) + judgements = { + "run_id": key["blind_id"], + "judgements": [ + {"key": card, "choice": "accept" if item["arm"] == "a" else ("reject" if index % 2 else None)} + for index, (card, item) in enumerate(sorted(key["items"].items())) + ], + } + + result = score(key, judgements) + + assert (result["a"]["renders"], result["a"]["accepted"], result["a"]["acceptance_rate"]) == (4, 4, 1.0) + assert result["b"]["accepted"] == 0 and result["b"]["rejected"] + result["b"]["open"] == 4 + with pytest.raises(ValueError, match="another gallery"): + score(key, {**judgements, "run_id": "other"}) + + +def test_blind_and_score_commands(tmp_path: Path, capsys: pytest.CaptureFixture[str]) -> None: + arms = two_arms(tmp_path) + paths = [] + for report, folder in arms: + paths.append(folder / "report.json") + paths[-1].write_text(json.dumps(report)) + + code = main(["blind", "--report", str(paths[0]), "--report", str(paths[1]), "--out", str(tmp_path / "blind")]) + + assert code == 0 + key = json.loads((tmp_path / "blind" / "blind-key.json").read_text()) + assert check_html((tmp_path / "blind" / "blind.html").read_text()).errors == [] + export = {"run_id": key["blind_id"], "judgements": [{"key": card, "choice": "accept"} for card in key["items"]]} + (tmp_path / "judgements.json").write_text(json.dumps(export)) + capsys.readouterr() + + assert main(["score", "--key", str(tmp_path / "blind" / "blind-key.json"), str(tmp_path / "judgements.json")]) == 0 + table = capsys.readouterr().out + assert "| a | anthropic-vertex | claude-haiku-5-5 | 12 | 12 | 0 | 0 | 100.0 % |" in table # 12 common cases + assert main(["score", "--key", str(tmp_path / "missing.json"), str(tmp_path / "judgements.json")]) == 2 diff --git a/tests/unit/agents/runtime/test_models.py b/tests/unit/agents/runtime/test_models.py index 77ac6ef3e8..7202461f10 100644 --- a/tests/unit/agents/runtime/test_models.py +++ b/tests/unit/agents/runtime/test_models.py @@ -196,6 +196,7 @@ async def test_anthropic_judge_parses_the_forced_tool(self) -> None: assert verdict.verdict == "out_of_scope" assert verdict.tokens == 120 + assert (verdict.input_tokens, verdict.output_tokens) == (100, 20) # the split the eval harness prices assert client.calls[0]["tool_choice"]["type"] == "tool" def test_adapter_full_cap(self) -> None: diff --git a/tests/unit/agents/runtime/test_render.py b/tests/unit/agents/runtime/test_render.py index ac86fe976d..6109613fba 100644 --- a/tests/unit/agents/runtime/test_render.py +++ b/tests/unit/agents/runtime/test_render.py @@ -240,6 +240,7 @@ def test_timeout_and_missing_png(self) -> None: assert not report.passed_host_gates assert "time limit" in report.blocking[0] and "saved no plot-dark.png" in report.blocking[1] + assert report.failed_gates == ["R1-timeout", "R1"] def test_canvas_miss_is_a_defect_with_a_padded_copy(self) -> None: report = evaluate( @@ -252,6 +253,7 @@ def test_canvas_miss_is_a_defect_with_a_padded_copy(self) -> None: assert report.passed_host_gates and not report.canvas_ok assert len(report.canvas_defects) == 1 and report.canvas_defects[0].startswith("VQ-05 (both)") assert size_of(report.padded_pngs["light"]) == (3200, 1800) + assert report.failed_gates == ["R3", "R3"] # one entry per theme, for the attribution log def test_advisory_probe_lines(self) -> None: probe = { @@ -275,6 +277,7 @@ def test_advisory_probe_lines(self) -> None: "DQ-03 (both)", "DQ-03 (code)", ] + assert report.failed_gates == ["G3", "G7", "G5", "G8"] * 2 # per theme, in the probe's check order @pytest.mark.parametrize( "probe",